mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-17 02:40:50 +12:00
Merge pull request #43 from jojo-kep/master
Improved border block glitch fix and Cat vs Dog Beauty Fixes
This commit is contained in:
commit
7cd95d1561
|
@ -2082,17 +2082,12 @@ LoadMapHeader::
|
|||
ld a, [wCurMap]
|
||||
call SwitchToMapRomBank
|
||||
ld a, [wCurMapTileset]
|
||||
ld b, a
|
||||
bit 7, a
|
||||
res 7, a
|
||||
ld [wCurMapTileset], a
|
||||
ldh [hPreviousTileset], a
|
||||
bit 7, b
|
||||
|
||||
;replace the conditional return with a nop in order to always load the map header data...
|
||||
;...even when selecting CONTINUE from the main menu
|
||||
; ret nz
|
||||
nop
|
||||
|
||||
; ret nz ;comment this out so that the header data always loads
|
||||
push af ;preserve the bit check for later to tell if CONTINUE is being selected
|
||||
ld hl, MapHeaderPointers
|
||||
ld a, [wCurMap]
|
||||
sla a
|
||||
|
@ -2150,7 +2145,7 @@ LoadMapHeader::
|
|||
ld [wObjectDataPointerTemp], a
|
||||
ld a, [hli]
|
||||
ld [wObjectDataPointerTemp + 1], a
|
||||
push hl
|
||||
; push hl ; save hl before going to the warp/sign/sprite data (this value is saved for seemingly no purpose)
|
||||
ld a, [wObjectDataPointerTemp]
|
||||
ld l, a
|
||||
ld a, [wObjectDataPointerTemp + 1]
|
||||
|
@ -2158,6 +2153,9 @@ LoadMapHeader::
|
|||
ld de, wMapBackgroundTile
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
pop af ;we're done if loading from the CONTINUE option of the main menu
|
||||
ret nz
|
||||
nop ;padding
|
||||
.loadWarpData
|
||||
ld a, [hli]
|
||||
ld [wNumberOfWarps], a
|
||||
|
@ -2330,7 +2328,7 @@ LoadMapHeader::
|
|||
.finishUp
|
||||
predef LoadTilesetHeader
|
||||
callfar LoadWildData
|
||||
pop hl ; restore hl from before going to the warp/sign/sprite data (this value was saved for seemingly no purpose)
|
||||
; pop hl ; restore hl from before going to the warp/sign/sprite data (this value was saved for seemingly no purpose)
|
||||
ld a, [wCurMapHeight] ; map height in 4x4 tile blocks
|
||||
add a ; double it
|
||||
ld [wCurrentMapHeight2], a ; store map height in 2x2 tile blocks
|
||||
|
|
|
@ -309,8 +309,8 @@ SilphCo7TrainerHeader3:
|
|||
SilphCo7Text1:
|
||||
; lapras guy
|
||||
text_asm
|
||||
ld a, [wd72c]
|
||||
bit 2, a
|
||||
ld a, [wd72e]
|
||||
bit 0, a
|
||||
jr z, .givelapras
|
||||
CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
|
||||
jr nz, .savedsilph
|
||||
|
@ -329,8 +329,8 @@ SilphCo7Text1:
|
|||
call EnableAutoTextBoxDrawing
|
||||
ld hl, .HeresYourLaprasText
|
||||
call PrintText
|
||||
ld hl, wd72c
|
||||
set 2, [hl]
|
||||
ld hl, wd72e
|
||||
set 0, [hl]
|
||||
jr .done
|
||||
.savedsilph
|
||||
ld hl, .LaprasGuySavedText
|
||||
|
|
|
@ -370,14 +370,23 @@ VermilionBeauty:
|
|||
; All it really achieves is weird architecture for like 3-4 less machine cycles.
|
||||
ld a, [wBeautyCounter] ; Alright, if you got here, then the event is in progress.
|
||||
cp 5 ; Do you have 5 of the scrunklies?
|
||||
jr z, .eventIsFinished ; Big if true.
|
||||
jr nz, .eventInProgress ; Small if false.
|
||||
; jr z, .eventIsFinished ; Big if true.
|
||||
; jr nz, .eventInProgress ; Small if false.
|
||||
jr nc, .eventIsFinished ; A set z flag happens for exactly 5. A cleared carry flag happens for values 5 to 255.
|
||||
jr c, .eventInProgress ; And a set carry flag happens for values 0 to 4.
|
||||
|
||||
; Let us start the game.
|
||||
.eventStart
|
||||
ld hl, BeautyText1 ; Let's open the text.
|
||||
call PrintText
|
||||
call CatsDogsChoice
|
||||
|
||||
;account for cancelling with the B button
|
||||
ld hl, _BeautyWait
|
||||
ldh a, [hJoyHeld]
|
||||
and B_BUTTON
|
||||
jr nz, .skip5
|
||||
|
||||
ld a, [wCurrentMenuItem] ; Let's load what they picked. 0 is cats, 1 is dogs.
|
||||
and a
|
||||
jr nz, .getArcanine ; Skip storing Growlithe if dogs.
|
||||
|
@ -401,7 +410,8 @@ VermilionBeauty:
|
|||
|
||||
; Now if the event is finished, she needs to hand the Pokemon over.
|
||||
.eventIsFinished
|
||||
call SaveScreenTilesToBuffer1 ; saves us from some corruption disasters if nicknaming.
|
||||
; call SaveScreenTilesToBuffer1 ; saves us from some corruption disasters if nicknaming.
|
||||
; ...not needed anymore as this was fixed in commit dd71684
|
||||
ld hl, BeautyFinish1
|
||||
ld a, [wBeautyChoice]
|
||||
cp GROWLITHE
|
||||
|
@ -418,10 +428,10 @@ VermilionBeauty:
|
|||
.skip3
|
||||
call GivePokemon
|
||||
jr nc, .done
|
||||
call LoadScreenTilesFromBuffer1 ; saves us from some corruption disasters if nicknaming.
|
||||
; call LoadScreenTilesFromBuffer1 ; saves us from some corruption disasters if nicknaming.
|
||||
SetEvent EVENT_VERMILION_BEAUTY_DONE ; and now we can finally rest.
|
||||
ld hl, wd72e
|
||||
set 0, [hl]
|
||||
; ld hl, wd72e ;not needed since EVENT_VERMILION_BEAUTY_DONE is the event bit for this.
|
||||
; set 0, [hl]
|
||||
jr .done
|
||||
|
||||
; Now if it's already been said and done, we go here.
|
||||
|
@ -435,6 +445,7 @@ VermilionBeauty:
|
|||
.skip4
|
||||
call PrintText
|
||||
ld hl, BeautyExplainCont
|
||||
.skip5
|
||||
call PrintText
|
||||
;fallthrough
|
||||
.done
|
||||
|
@ -490,3 +501,9 @@ BeautyExplain2:
|
|||
BeautyExplainCont:
|
||||
text_far _BeautyExplainCont
|
||||
text_end
|
||||
|
||||
_BeautyWait:
|
||||
text "I can wait on"
|
||||
line "your answer."
|
||||
done
|
||||
db "@"
|
|
@ -136,7 +136,7 @@ _BeautyText2::
|
|||
prompt ; needed for text to scroll correctly - it looks and acts fine in-game, don't worry.
|
||||
|
||||
_BeautyChoice:: ; this is separate for the in-progress event.
|
||||
text "If you catch 5"
|
||||
text "If you catch 5 new"
|
||||
line "@"
|
||||
text_ram wcd6d ; efficiency - means we don't need two separate texts...
|
||||
text ", I'll"
|
||||
|
|
Loading…
Reference in a new issue