Remove most static wram addresses. Use labels instead.
For unknown addresses, use "w<address>". Label overleads are still an issue.
This commit is contained in:
parent
52ba96f5f4
commit
40c17c906b
32
audio.asm
32
audio.asm
|
@ -365,9 +365,9 @@ SECTION "Audio Engine 1", ROMX, BANK[AUDIO_1]
|
|||
PlayBattleMusic:: ; 0x90c6
|
||||
xor a
|
||||
ld [wMusicHeaderPointer], a
|
||||
ld [$d083], a
|
||||
ld [wd083], a
|
||||
dec a
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound ; stop music
|
||||
call DelayFrame
|
||||
ld c, BANK(Music_GymLeaderBattle)
|
||||
|
@ -406,7 +406,7 @@ Music_RivalAlternateStart:: ; 0x9b47
|
|||
ld c, BANK(Music_MeetRival)
|
||||
ld a, MUSIC_MEET_RIVAL
|
||||
call PlayMusic
|
||||
ld hl, $c006
|
||||
ld hl, wc006
|
||||
ld de, Music_MeetRival_branch_b1a2
|
||||
call Music2_OverwriteChannelPointer
|
||||
ld de, Music_MeetRival_branch_b21d
|
||||
|
@ -425,22 +425,22 @@ Music_RivalAlternateTempo:: ; 0x9b65
|
|||
ld c, BANK(Music_MeetRival)
|
||||
ld a, MUSIC_MEET_RIVAL
|
||||
call PlayMusic
|
||||
ld hl, $c006
|
||||
ld hl, wc006
|
||||
ld de, Music_MeetRival_branch_b119
|
||||
jp Music2_OverwriteChannelPointer
|
||||
|
||||
; applies both the alternate start and alternate tempo
|
||||
Music_RivalAlternateStartAndTempo:: ; 0x9b75
|
||||
call Music_RivalAlternateStart
|
||||
ld hl, $c006
|
||||
ld hl, wc006
|
||||
ld de, Music_MeetRival_branch_b19b
|
||||
jp Music2_OverwriteChannelPointer
|
||||
|
||||
; an alternate tempo for Cities1 which is used for the Hall of Fame room
|
||||
Music_Cities1AlternateTempo:: ; 0x9b81
|
||||
ld a, $a
|
||||
ld [$cfc8], a
|
||||
ld [$cfc9], a
|
||||
ld [wcfc8], a
|
||||
ld [wcfc9], a
|
||||
ld a, $ff
|
||||
ld [wMusicHeaderPointer], a
|
||||
ld c, $64
|
||||
|
@ -448,7 +448,7 @@ Music_Cities1AlternateTempo:: ; 0x9b81
|
|||
ld c, BANK(Music_Cities1)
|
||||
ld a, MUSIC_CITIES1
|
||||
call PlayMusic
|
||||
ld hl, $c006
|
||||
ld hl, wc006
|
||||
ld de, Music_Cities1_branch_aa6f
|
||||
jp Music2_OverwriteChannelPointer
|
||||
|
||||
|
@ -456,7 +456,7 @@ Music_Cities1AlternateTempo:: ; 0x9b81
|
|||
SECTION "Audio Engine 2", ROMX, BANK[AUDIO_2]
|
||||
|
||||
Func_2136e:: ; 2136e (8:536e)
|
||||
ld a, [$d083]
|
||||
ld a, [wd083]
|
||||
cp $ff
|
||||
jr z, .asm_2139b
|
||||
bit 7, a
|
||||
|
@ -472,18 +472,18 @@ Func_2136e:: ; 2136e (8:536e)
|
|||
call Func_213ac
|
||||
.asm_2138a
|
||||
ld a, $86
|
||||
ld [$c02a], a
|
||||
ld a, [$d083]
|
||||
ld [wc02a], a
|
||||
ld a, [wd083]
|
||||
and $7f
|
||||
dec a
|
||||
.asm_21395
|
||||
set 7, a
|
||||
ld [$d083], a
|
||||
ld [wd083], a
|
||||
ret
|
||||
.asm_2139b
|
||||
xor a
|
||||
ld [$d083], a
|
||||
ld [$c02a], a
|
||||
ld [wd083], a
|
||||
ld [wc02a], a
|
||||
ld de, Unknown_213c4 ; $53c4
|
||||
jr asm_213af
|
||||
|
||||
|
@ -523,7 +523,7 @@ INCLUDE "audio/engine_2.asm"
|
|||
Music_PokeFluteInBattle:: ; 22306 (8:6306)
|
||||
ld a, (SFX_08_46 - SFX_Headers_08) / 3 ; PokeFlute outside of battle
|
||||
call PlaySoundWaitForCurrent
|
||||
ld hl, $c00e
|
||||
ld hl, wc00e
|
||||
ld de, SFX_08_PokeFlute_Ch1
|
||||
call Music8_OverwriteChannelPointer
|
||||
ld de, SFX_08_PokeFlute_Ch2
|
||||
|
@ -553,7 +553,7 @@ Func_7d13b:: ; 7d13b (1f:513b)
|
|||
.gotSfxPointer
|
||||
push bc
|
||||
ld a, $ff
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySoundWaitForCurrent
|
||||
pop bc
|
||||
ld b, $0
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,10 +1,14 @@
|
|||
|
||||
SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile)
|
||||
|
||||
; Overload W_GRASSMONS
|
||||
wd893 EQU $d893 ; W_GRASSMONS + 11
|
||||
wd896 EQU $d896 ; W_GRASSMONS + 14
|
||||
|
||||
; Overload enemy party data
|
||||
W_WATERRATE EQU $d8a4
|
||||
W_WATERMONS EQU $d8a5
|
||||
W_WATERRATE EQU $d8a4 ; wEnemyMon1Species
|
||||
W_WATERMONS EQU $d8a5 ; wEnemyMon1Species + 1
|
||||
|
||||
; Overload enemy stat modifiers
|
||||
wTradeMonNick EQU $cd1e
|
||||
wTradeMonNick EQU $cd1e ; wPlayerMonAccuracyMod
|
||||
|
||||
|
|
|
@ -263,7 +263,7 @@ MapHSPointers: ; c8f5 (3:48f5)
|
|||
; a) Map_ID = $FF
|
||||
; b) Map_ID ≠ currentMapID
|
||||
;
|
||||
; This Data is loaded into RAM at $D5CE-$D5F?. (W_MISSABLEOBJECTLIST)
|
||||
; This Data is loaded into RAM at wd5ce-$D5F?. (W_MISSABLEOBJECTLIST)
|
||||
|
||||
; These constants come from the bytes for Predef functions:
|
||||
Hide equ $11
|
||||
|
|
|
@ -16,7 +16,7 @@ HallOfFameComputer: ; 7405c (1d:405c)
|
|||
call FillMemory
|
||||
ld hl, wTileMap
|
||||
call Func_7417b
|
||||
FuncCoord 0, 14 ; $c4b8
|
||||
FuncCoord 0, 14
|
||||
ld hl, Coord
|
||||
call Func_7417b
|
||||
ld a, $c0
|
||||
|
@ -30,8 +30,8 @@ HallOfFameComputer: ; 7405c (1d:405c)
|
|||
ld c, $80
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [$cd3e], a
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wTrainerEngageDistance], a
|
||||
jp Credits
|
||||
|
||||
Func_740ba: ; 740ba (1d:40ba)
|
||||
|
@ -53,16 +53,16 @@ DisplayCreditsMon: ; 740cb (1d:40cb)
|
|||
call FillMiddleOfScreenWithWhite
|
||||
|
||||
; display the next monster from CreditsMons
|
||||
ld hl,$CD3E
|
||||
ld hl,wTrainerEngageDistance
|
||||
ld c,[hl] ; how many monsters have we displayed so far?
|
||||
inc [hl]
|
||||
ld b,0
|
||||
ld hl,CreditsMons
|
||||
add hl,bc ; go that far in the list of monsters and get the next one
|
||||
ld a,[hl]
|
||||
ld [$CF91],a
|
||||
ld [$D0B5],a
|
||||
FuncCoord 8, 6 ; $c420
|
||||
ld [wcf91],a
|
||||
ld [wd0b5],a
|
||||
FuncCoord 8, 6
|
||||
ld hl,Coord
|
||||
call GetMonHeader
|
||||
call LoadFrontSpriteByMonIndex
|
||||
|
@ -153,7 +153,7 @@ Func_7417b: ; 7417b (1d:417b)
|
|||
jp FillMemory
|
||||
|
||||
FillMiddleOfScreenWithWhite: ; 74183 (1d:4183)
|
||||
FuncCoord 0, 4 ; $c3f0
|
||||
FuncCoord 0, 4
|
||||
ld hl, Coord
|
||||
ld bc, $c8 ; 10 rows of 20 tiles each
|
||||
ld a, $7f ; blank white tile
|
||||
|
@ -164,7 +164,7 @@ Credits: ; 7418e (1d:418e)
|
|||
push de
|
||||
.asm_74192
|
||||
pop de
|
||||
FuncCoord 9, 6 ; $c421
|
||||
FuncCoord 9, 6
|
||||
ld hl, Coord
|
||||
push hl
|
||||
call FillMiddleOfScreenWithWhite
|
||||
|
@ -241,11 +241,11 @@ Credits: ; 7418e (1d:418e)
|
|||
ld hl, $9600
|
||||
ld bc, (BANK(TheEndGfx) << 8) + $0a
|
||||
call CopyVideoData
|
||||
FuncCoord 4, 8 ; $c444
|
||||
FuncCoord 4, 8
|
||||
ld hl, Coord
|
||||
ld de, UnnamedText_74229 ; $4229
|
||||
call PlaceString
|
||||
FuncCoord 4, 9 ; $c458
|
||||
FuncCoord 4, 9
|
||||
ld hl, Coord
|
||||
inc de
|
||||
call PlaceString
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
DrainHPEffect_: ; 783f (1:783f)
|
||||
ld hl, W_DAMAGE ; $d0d7
|
||||
ld hl, W_DAMAGE ; W_DAMAGE
|
||||
ld a, [hl]
|
||||
srl a ; divide damage by 2
|
||||
ld [hli], a
|
||||
|
@ -11,13 +11,13 @@ DrainHPEffect_: ; 783f (1:783f)
|
|||
inc hl
|
||||
inc [hl]
|
||||
.asm_784f
|
||||
ld hl, W_PLAYERMONCURHP ; $d015
|
||||
ld de, W_PLAYERMONMAXHP ; $d023
|
||||
ld hl, W_PLAYERMONCURHP ; wd015
|
||||
ld de, W_PLAYERMONMAXHP ; wd023
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jp z, Func_7861
|
||||
ld hl, W_ENEMYMONCURHP ; $cfe6
|
||||
ld de, W_ENEMYMONMAXHP ; $cff4
|
||||
ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
|
||||
ld de, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
|
||||
|
||||
Func_7861: ; 7861 (1:7861)
|
||||
ld bc, wHPBarOldHP+1
|
||||
|
@ -33,12 +33,12 @@ Func_7861: ; 7861 (1:7861)
|
|||
ld a, [de]
|
||||
dec bc
|
||||
ld [bc], a
|
||||
ld a, [$d0d8]
|
||||
ld a, [wd0d8]
|
||||
ld b, [hl]
|
||||
add b
|
||||
ld [hld], a
|
||||
ld [wHPBarNewHP], a
|
||||
ld a, [W_DAMAGE] ; $d0d7
|
||||
ld a, [W_DAMAGE] ; W_DAMAGE
|
||||
ld b, [hl]
|
||||
adc b
|
||||
ld [hli], a
|
||||
|
@ -67,15 +67,15 @@ Func_7861: ; 7861 (1:7861)
|
|||
.asm_789c
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
FuncCoord 10, 9 ; $c45e
|
||||
FuncCoord 10, 9
|
||||
ld hl, Coord
|
||||
ld a, $1
|
||||
jr z, .asm_78aa
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
xor a
|
||||
.asm_78aa
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
ld a, $48
|
||||
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
|
||||
ld a, $0
|
||||
|
@ -86,9 +86,9 @@ Func_7861: ; 7861 (1:7861)
|
|||
ld hl, SuckedHealthText ; $78dc
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
|
||||
ld a, [W_PLAYERMOVEEFFECT] ; wcfd3
|
||||
jr z, .asm_78d2
|
||||
ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
|
||||
ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
|
||||
.asm_78d2
|
||||
cp DREAM_EATER_EFFECT
|
||||
jr nz, .asm_78d9
|
||||
|
|
|
@ -1,52 +1,52 @@
|
|||
Func_525af: ; 525af (14:65af)
|
||||
ld a, [$ffd7]
|
||||
ld [$d0d4], a
|
||||
ld [wd0d4], a
|
||||
xor a
|
||||
ld [$cd6a], a
|
||||
ld [$cf0b], a
|
||||
ld hl, $cc2b
|
||||
ld [wcd6a], a
|
||||
ld [wcf0b], a
|
||||
ld hl, wcc2b
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld [wListScrollOffset], a ; $cc36
|
||||
ld [$d05e], a
|
||||
ld [wListScrollOffset], a ; wcc36
|
||||
ld [wd05e], a
|
||||
ld [W_PLAYERMONID], a
|
||||
ld [W_PLAYERMONSALIVEFLAGS], a
|
||||
ld [wPlayerMonNumber], a ; $cc2f
|
||||
ld [$d078], a
|
||||
ld [$d35d], a
|
||||
ld hl, $cf1d
|
||||
ld [wPlayerMonNumber], a ; wPlayerMonNumber
|
||||
ld [wd078], a
|
||||
ld [wd35d], a
|
||||
ld hl, wcf1d
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld hl, $ccd3
|
||||
ld hl, wccd3
|
||||
ld b, $3c
|
||||
.asm_525e1
|
||||
ld [hli], a
|
||||
dec b
|
||||
jr nz, .asm_525e1
|
||||
inc a
|
||||
ld [$ccd9], a
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld [wccd9], a
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp SAFARI_ZONE_EAST
|
||||
jr c, .asm_525f9
|
||||
cp SAFARI_ZONE_REST_HOUSE_1
|
||||
jr nc, .asm_525f9
|
||||
ld a, $2
|
||||
ld [W_BATTLETYPE], a ; $d05a
|
||||
ld [W_BATTLETYPE], a ; wd05a
|
||||
.asm_525f9
|
||||
ld hl, PlayBattleMusic
|
||||
ld b, BANK(PlayBattleMusic)
|
||||
jp Bankswitch
|
||||
|
||||
ParalyzeEffect_: ; 52601 (14:6601)
|
||||
ld hl, W_ENEMYMONSTATUS ; $cfe9
|
||||
ld de, W_PLAYERMOVETYPE ; $cfd5
|
||||
ld hl, W_ENEMYMONSTATUS ; wcfe9
|
||||
ld de, W_PLAYERMOVETYPE ; wcfd5
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jp z, .asm_52613
|
||||
ld hl, W_PLAYERMONSTATUS ; $d018
|
||||
ld de, W_ENEMYMOVETYPE ; $cfcf
|
||||
ld hl, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS
|
||||
ld de, W_ENEMYMOVETYPE ; wcfcf
|
||||
|
||||
.asm_52613
|
||||
ld a, [hl]
|
||||
|
@ -69,7 +69,7 @@ ParalyzeEffect_: ; 52601 (14:6601)
|
|||
push hl
|
||||
callab MoveHitTest
|
||||
pop hl
|
||||
ld a, [W_MOVEMISSED] ; $d05f
|
||||
ld a, [W_MOVEMISSED] ; W_MOVEMISSED
|
||||
and a
|
||||
jr nz, .asm_52659
|
||||
set 6, [hl]
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
GainExperience: ; 5524f (15:524f)
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $4
|
||||
ret z
|
||||
call Func_5546c
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
xor a
|
||||
ld [wWhichPokemon], a ; $cf92
|
||||
ld [wWhichPokemon], a ; wWhichPokemon
|
||||
|
||||
Func_5525f: ; 5525f (15:525f)
|
||||
inc hl
|
||||
|
@ -14,7 +14,7 @@ Func_5525f: ; 5525f (15:525f)
|
|||
jp z, Func_55436
|
||||
push hl
|
||||
ld hl, W_PLAYERMONSALIVEFLAGS
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld a, $10 ; FlagActionPredef
|
||||
|
@ -27,7 +27,7 @@ Func_5525f: ; 5525f (15:525f)
|
|||
add hl, de
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, $d002
|
||||
ld hl, wd002
|
||||
ld c, $5
|
||||
.asm_55285
|
||||
ld a, [hli]
|
||||
|
@ -58,9 +58,9 @@ Func_5525f: ; 5525f (15:525f)
|
|||
xor a
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld [$ff97], a
|
||||
ld a, [$d008]
|
||||
ld a, [wd008]
|
||||
ld [$ff98], a
|
||||
ld a, [W_ENEMYMONLEVEL] ; $cff3
|
||||
ld a, [W_ENEMYMONLEVEL] ; W_ENEMYMONLEVEL
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
call Multiply
|
||||
ld a, $7
|
||||
|
@ -71,11 +71,11 @@ Func_5525f: ; 5525f (15:525f)
|
|||
add hl, de
|
||||
ld b, [hl]
|
||||
inc hl
|
||||
ld a, [wPlayerID] ; $d359
|
||||
ld a, [wPlayerID] ; wPlayerID
|
||||
cp b
|
||||
jr nz, .asm_552d1
|
||||
ld b, [hl]
|
||||
ld a, [wPlayerID + 1] ; $d35a
|
||||
ld a, [wPlayerID + 1] ; wd35a
|
||||
cp b
|
||||
ld a, $0
|
||||
jr z, .asm_552d6
|
||||
|
@ -83,8 +83,8 @@ Func_5525f: ; 5525f (15:525f)
|
|||
call Func_5549f
|
||||
ld a, $1
|
||||
.asm_552d6
|
||||
ld [$cf4d], a
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld [wcf4d], a
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
dec a
|
||||
call nz, Func_5549f
|
||||
inc hl
|
||||
|
@ -92,12 +92,12 @@ Func_5525f: ; 5525f (15:525f)
|
|||
inc hl
|
||||
ld b, [hl]
|
||||
ld a, [$ff98]
|
||||
ld [$cf4c], a
|
||||
ld [wcf4c], a
|
||||
add b
|
||||
ld [hld], a
|
||||
ld b, [hl]
|
||||
ld a, [$ff97]
|
||||
ld [$cf4b], a
|
||||
ld [wcf4b], a
|
||||
adc b
|
||||
ld [hl], a
|
||||
jr nc, .asm_552f8
|
||||
|
@ -107,13 +107,13 @@ Func_5525f: ; 5525f (15:525f)
|
|||
.asm_552f8
|
||||
inc hl
|
||||
push hl
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld hl, W_PARTYMON1 ; $d164
|
||||
ld hl, W_PARTYMON1 ; W_PARTYMON1
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$d0b5], a
|
||||
ld [wd0b5], a
|
||||
call GetMonHeader
|
||||
ld d, $64
|
||||
callab CalcExperience
|
||||
|
@ -140,13 +140,13 @@ Func_5525f: ; 5525f (15:525f)
|
|||
dec hl
|
||||
.asm_5532e
|
||||
push hl
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
call GetPartyMonName
|
||||
ld hl, GainedText
|
||||
call PrintText
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld [wcc49], a
|
||||
call LoadMonData
|
||||
pop hl
|
||||
ld bc, $13
|
||||
|
@ -157,17 +157,17 @@ Func_5525f: ; 5525f (15:525f)
|
|||
ld a, [hl]
|
||||
cp d
|
||||
jp z, Func_55436
|
||||
ld a, [W_CURENEMYLVL] ; $d127
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
push af
|
||||
push hl
|
||||
ld a, d
|
||||
ld [W_CURENEMYLVL], a ; $d127
|
||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||
ld [hl], a
|
||||
ld bc, $ffdf
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$d0b5], a
|
||||
ld [$d11e], a
|
||||
ld [wd0b5], a
|
||||
ld [wd11e], a
|
||||
call GetMonHeader
|
||||
ld bc, $23
|
||||
add hl, bc
|
||||
|
@ -198,12 +198,12 @@ Func_5525f: ; 5525f (15:525f)
|
|||
ld a, [hl]
|
||||
adc b
|
||||
ld [hl], a
|
||||
ld a, [wPlayerMonNumber] ; $cc2f
|
||||
ld a, [wPlayerMonNumber] ; wPlayerMonNumber
|
||||
ld b, a
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
cp b
|
||||
jr nz, .asm_553f7
|
||||
ld de, W_PLAYERMONCURHP ; $d015
|
||||
ld de, W_PLAYERMONCURHP ; wd015
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
inc de
|
||||
|
@ -212,19 +212,19 @@ Func_5525f: ; 5525f (15:525f)
|
|||
ld bc, $1f
|
||||
add hl, bc
|
||||
push hl
|
||||
ld de, W_PLAYERMONLEVEL ; $d022
|
||||
ld de, W_PLAYERMONLEVEL ; W_PLAYERMONLEVEL
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
pop hl
|
||||
ld a, [W_PLAYERBATTSTATUS3] ; $d064
|
||||
ld a, [W_PLAYERBATTSTATUS3] ; W_PLAYERBATTSTATUS3
|
||||
bit 3, a
|
||||
jr nz, .asm_553c8
|
||||
ld de, $cd0f
|
||||
ld de, wcd0f
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
.asm_553c8
|
||||
xor a
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
callab Func_3ed99
|
||||
callab Func_3ed1a
|
||||
callab Func_3ee19
|
||||
|
@ -235,51 +235,51 @@ Func_5525f: ; 5525f (15:525f)
|
|||
ld hl, GrewLevelText
|
||||
call PrintText
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld [wcc49], a
|
||||
call LoadMonData
|
||||
ld d, $1
|
||||
callab PrintStatsBox
|
||||
call WaitForTextScrollButtonPress
|
||||
call LoadScreenTilesFromBuffer1
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld a, [$d0b5]
|
||||
ld [$d11e], a
|
||||
ld [wcc49], a
|
||||
ld a, [wd0b5]
|
||||
ld [wd11e], a
|
||||
ld a, $1a
|
||||
call Predef ; indirect jump to Func_3af5b (3af5b (e:6f5b))
|
||||
ld hl, $ccd3
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, wccd3
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld a, $10 ; FlagActionPredef
|
||||
call Predef
|
||||
pop hl
|
||||
pop af
|
||||
ld [W_CURENEMYLVL], a ; $d127
|
||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||
|
||||
Func_55436: ; 55436 (15:5436)
|
||||
ld a, [W_NUMINPARTY] ; $d163
|
||||
ld a, [W_NUMINPARTY] ; W_NUMINPARTY
|
||||
ld b, a
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
inc a
|
||||
cp b
|
||||
jr z, .asm_55450
|
||||
ld [wWhichPokemon], a ; $cf92
|
||||
ld [wWhichPokemon], a ; wWhichPokemon
|
||||
ld bc, $2c
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
call AddNTimes
|
||||
jp Func_5525f
|
||||
.asm_55450
|
||||
ld hl, W_PLAYERMONSALIVEFLAGS
|
||||
xor a
|
||||
ld [hl], a
|
||||
ld a, [wPlayerMonNumber] ; $cc2f
|
||||
ld a, [wPlayerMonNumber] ; wPlayerMonNumber
|
||||
ld c, a
|
||||
ld b, $1
|
||||
push bc
|
||||
ld a, $10 ; FlagActionPredef
|
||||
call Predef
|
||||
ld hl, $ccf5
|
||||
ld hl, wccf5
|
||||
xor a
|
||||
ld [hl], a
|
||||
pop bc
|
||||
|
@ -301,15 +301,15 @@ Func_5546c: ; 5546c (15:546c)
|
|||
jr nz, .asm_55475
|
||||
cp $2
|
||||
ret c
|
||||
ld [$d11e], a
|
||||
ld hl, $d002
|
||||
ld [wd11e], a
|
||||
ld hl, wd002
|
||||
ld c, $7
|
||||
.asm_55488
|
||||
xor a
|
||||
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld a, [hl]
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld b, $2
|
||||
call Divide
|
||||
|
@ -336,12 +336,12 @@ Func_5549f: ; 5549f (15:549f)
|
|||
GainedText: ; 554b2 (15:54b2)
|
||||
TX_FAR _GainedText
|
||||
db $08 ; asm
|
||||
ld a, [$cc5b]
|
||||
ld a, [wcc5b]
|
||||
ld hl, WithExpAllText
|
||||
and a
|
||||
ret nz
|
||||
ld hl, ExpPointsText
|
||||
ld a, [$cf4d]
|
||||
ld a, [wcf4d]
|
||||
and a
|
||||
ret z
|
||||
ld hl, BoostedText
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
PrintBeginningBattleText: ; 58d99 (16:4d99)
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
dec a
|
||||
jr nz, .trainerBattle
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp POKEMONTOWER_3
|
||||
jr c, .notPokemonTower
|
||||
cp LAVENDER_HOUSE_1
|
||||
|
@ -11,7 +11,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
|
|||
ld a, [W_ENEMYMONID]
|
||||
call PlayCry
|
||||
ld hl, WildMonAppearedText
|
||||
ld a, [W_MOVEMISSED] ; $d05f
|
||||
ld a, [W_MOVEMISSED] ; W_MOVEMISSED
|
||||
and a
|
||||
jr z, .notFishing
|
||||
ld hl, HookedMonAttackedText
|
||||
|
@ -32,7 +32,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
|
|||
ld b, SILPH_SCOPE
|
||||
call IsItemInBag
|
||||
ld a, [W_ENEMYMONID]
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
cp MAROWAK
|
||||
jr z, .isMarowak
|
||||
ld a, b
|
||||
|
@ -61,9 +61,9 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
|
|||
|
||||
.playSFX
|
||||
xor a
|
||||
ld [$c0f1], a
|
||||
ld [wc0f1], a
|
||||
ld a, $80
|
||||
ld [$c0f2], a
|
||||
ld [wc0f2], a
|
||||
ld a, (SFX_08_77 - SFX_Headers_08) / 3
|
||||
call PlaySound
|
||||
jp WaitForSoundToFinish
|
||||
|
@ -95,24 +95,24 @@ GhostCantBeIDdText: ; 58e54 (16:4e54)
|
|||
db "@"
|
||||
|
||||
SendOutMon: ; 58e59 (16:4e59)
|
||||
ld hl, W_ENEMYMONCURHP ; $cfe6
|
||||
ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
ld hl, GoText
|
||||
jr z, .printText
|
||||
xor a
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld hl, W_ENEMYMONCURHP ; $cfe6
|
||||
ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
|
||||
ld a, [hli]
|
||||
ld [$cce3], a
|
||||
ld [wcce3], a
|
||||
ld [$ff97], a
|
||||
ld a, [hl]
|
||||
ld [$cce4], a
|
||||
ld [wcce4], a
|
||||
ld [$ff98], a
|
||||
ld a, $19
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
call Multiply
|
||||
ld hl, W_ENEMYMONMAXHP ; $cff4
|
||||
ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
|
||||
ld a, [hli]
|
||||
ld b, [hl]
|
||||
srl a
|
||||
|
@ -173,8 +173,8 @@ PlayerMon2Text: ; 58ed7 (16:4ed7)
|
|||
db $08 ; asm
|
||||
push de
|
||||
push bc
|
||||
ld hl, $cfe7
|
||||
ld de, $cce4
|
||||
ld hl, W_ENEMYMONCURHP + 1
|
||||
ld de, wcce4
|
||||
ld b, [hl]
|
||||
dec hl
|
||||
ld a, [de]
|
||||
|
|
|
@ -11,10 +11,10 @@ DecrementPP: ; 68000 (1a:4000)
|
|||
ret nz ; if any of these statuses are true, don't decrement PP
|
||||
bit 6, [hl] ; check 6th bit status flag on W_PLAYERBATTSTATUS2
|
||||
ret nz ; and return if it is set
|
||||
ld hl, $D02D ; PP of first move (in battle)
|
||||
ld hl, W_PLAYERMONPP ; PP of first move (in battle)
|
||||
call .DecrementPP
|
||||
|
||||
ld a, [$D064] ; load pokemon status bits?
|
||||
ld a, [W_PLAYERBATTSTATUS3] ; load pokemon status bits?
|
||||
bit 3, a ; XXX transform status?
|
||||
ret nz ; If it is, return. Pokemon Red stores the "current pokemon's" PP
|
||||
; separately from the "Pokemon in your party's" PP. This is
|
||||
|
@ -26,12 +26,12 @@ DecrementPP: ; 68000 (1a:4000)
|
|||
; its opponent, which is *not* the same as its real PP as part of your
|
||||
; party. So we return, and don't do that part.
|
||||
|
||||
ld hl, $D188 ; PP of first move (in party)
|
||||
ld a, [$CC2F] ; which mon in party is active
|
||||
ld hl, W_PARTYMON1_MOVE1PP ; PP of first move (in party)
|
||||
ld a, [wPlayerMonNumber] ; which mon in party is active
|
||||
ld bc, $2C ; XXX probably size of party pokemon's data structure
|
||||
call AddNTimes ; calculate address of the mon to modify
|
||||
.DecrementPP
|
||||
ld a, [$CC2E] ; which move (0, 1, 2, 3) did we use?
|
||||
ld a, [wPlayerMoveListIndex] ; which move (0, 1, 2, 3) did we use?
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl ,bc ; calculate the address in memory of the PP we need to decrement
|
||||
|
|
|
@ -2,7 +2,7 @@ Func_708ca: ; 708ca (1c:48ca)
|
|||
ld a, $e4
|
||||
ld [rOBP1], a ; $ff49
|
||||
call Func_7092a
|
||||
FuncCoord 12, 0 ; $c3ac
|
||||
FuncCoord 12, 0
|
||||
ld hl, Coord
|
||||
ld bc, $707
|
||||
call ClearScreenArea
|
||||
|
@ -10,7 +10,7 @@ Func_708ca: ; 708ca (1c:48ca)
|
|||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld a, $91
|
||||
ld [$cee9], a
|
||||
ld [wHPBarMaxHP], a
|
||||
ld a, $1
|
||||
ld [H_WHOSETURN], a ; $fff3
|
||||
callab Func_79793
|
||||
|
@ -50,22 +50,22 @@ Func_7092a: ; 7092a (1c:492a)
|
|||
ld bc, $31
|
||||
call CopyVideoData
|
||||
ld a, $10
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld a, $70
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld hl, wOAMBuffer
|
||||
ld bc, $606
|
||||
ld d, $8
|
||||
.asm_70948
|
||||
push bc
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld e, a
|
||||
.asm_7094d
|
||||
ld a, e
|
||||
add $8
|
||||
ld e, a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld [hli], a
|
||||
ld a, d
|
||||
ld [hli], a
|
||||
|
@ -75,9 +75,9 @@ Func_7092a: ; 7092a (1c:492a)
|
|||
dec c
|
||||
jr nz, .asm_7094d
|
||||
inc d
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
add $8
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .asm_70948
|
||||
|
@ -90,9 +90,9 @@ Func_7096d: ; 7096d (1c:496d)
|
|||
xor a
|
||||
ld [$ffb0], a
|
||||
dec a
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
call DelayFrame
|
||||
ld hl, $c102
|
||||
ld hl, wSpriteStateData1 + 2
|
||||
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
||||
ld c, a
|
||||
ld b, $0
|
||||
|
@ -106,7 +106,7 @@ Func_7096d: ; 7096d (1c:496d)
|
|||
add hl, de
|
||||
dec c
|
||||
jr nz, .asm_70989
|
||||
ld hl, $c310
|
||||
ld hl, wOAMBuffer + $10
|
||||
ld c, $9
|
||||
.asm_70998
|
||||
ld a, b
|
||||
|
@ -128,7 +128,7 @@ Func_7096d: ; 7096d (1c:496d)
|
|||
call Delay3
|
||||
call LoadBattleTransitionTile
|
||||
ld bc, $0
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $4
|
||||
jr z, .asm_709c9
|
||||
call Func_709e2
|
||||
|
@ -154,7 +154,7 @@ PointerTable_709d2: ; 709d2 (1c:49d2)
|
|||
dw Func_70bca
|
||||
|
||||
Func_709e2: ; 709e2 (1c:49e2)
|
||||
ld a, [W_CUROPPONENT] ; $d059
|
||||
ld a, [W_CUROPPONENT] ; wd059
|
||||
cp $c8
|
||||
jr nc, .asm_709ec
|
||||
res 0, c
|
||||
|
@ -164,7 +164,7 @@ Func_709e2: ; 709e2 (1c:49e2)
|
|||
ret
|
||||
|
||||
Func_709ef: ; 709ef (1c:49ef)
|
||||
ld hl, W_PARTYMON1_HP ; $d16c
|
||||
ld hl, W_PARTYMON1_HP ; wd16c
|
||||
.asm_709f2
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
|
@ -178,21 +178,21 @@ Func_709ef: ; 709ef (1c:49ef)
|
|||
ld a, [hl]
|
||||
add $3
|
||||
ld e, a
|
||||
ld a, [W_CURENEMYLVL] ; $d127
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
sub e
|
||||
jr nc, .asm_70a12
|
||||
res 1, c
|
||||
ld a, $1
|
||||
ld [$cd47], a
|
||||
ld [wcd47], a
|
||||
ret
|
||||
.asm_70a12
|
||||
set 1, c
|
||||
xor a
|
||||
ld [$cd47], a
|
||||
ld [wcd47], a
|
||||
ret
|
||||
|
||||
Func_70a19: ; 70a19 (1c:4a19)
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
ld e, a
|
||||
ld hl, MapIDList_70a3f ; $4a3f
|
||||
.asm_70a20
|
||||
|
@ -266,20 +266,20 @@ Func_70a69: ; 70a69 (1c:4a69)
|
|||
ret
|
||||
|
||||
Func_70a72: ; 70a72 (1c:4a72)
|
||||
ld a, [$cd47]
|
||||
ld a, [wcd47]
|
||||
and a
|
||||
jr z, .asm_70a7d
|
||||
call Func_70aaa
|
||||
jr .asm_70a9f
|
||||
.asm_70a7d
|
||||
FuncCoord 10, 10 ; $c472
|
||||
FuncCoord 10, 10
|
||||
ld hl, Coord
|
||||
ld a, $3
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld a, l
|
||||
ld [$d09b], a
|
||||
ld [wd09b], a
|
||||
ld a, h
|
||||
ld [$d09a], a
|
||||
ld [wd09a], a
|
||||
ld b, $78
|
||||
.asm_70a8f
|
||||
ld c, $3
|
||||
|
@ -295,13 +295,13 @@ Func_70a72: ; 70a72 (1c:4a72)
|
|||
.asm_70a9f
|
||||
call Func_70a69
|
||||
xor a
|
||||
ld [$d09b], a
|
||||
ld [$d09a], a
|
||||
ld [wd09b], a
|
||||
ld [wd09a], a
|
||||
ret
|
||||
|
||||
Func_70aaa: ; 70aaa (1c:4aaa)
|
||||
ld a, $7
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld hl, wTileMap
|
||||
ld c, $11
|
||||
ld de, $14
|
||||
|
@ -335,13 +335,13 @@ Func_70ae0: ; 70ae0 (1c:4ae0)
|
|||
ld [hl], $ff
|
||||
add hl, de
|
||||
push bc
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
dec a
|
||||
jr nz, .asm_70af0
|
||||
call Func_70d19
|
||||
ld a, $7
|
||||
.asm_70af0
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
pop bc
|
||||
dec c
|
||||
jr nz, .asm_70ae1
|
||||
|
@ -351,11 +351,11 @@ Func_70ae0: ; 70ae0 (1c:4ae0)
|
|||
Func_70af9: ; 70af9 (1c:4af9)
|
||||
ld bc, $ffec
|
||||
ld de, $14
|
||||
ld a, [$d09b]
|
||||
ld a, [wd09b]
|
||||
ld l, a
|
||||
ld a, [$d09a]
|
||||
ld a, [wd09a]
|
||||
ld h, a
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
cp $0
|
||||
jr z, .asm_70b25
|
||||
cp $1
|
||||
|
@ -368,9 +368,9 @@ Func_70af9: ; 70af9 (1c:4af9)
|
|||
ld [hl], $ff
|
||||
.asm_70b1c
|
||||
ld a, l
|
||||
ld [$d09b], a
|
||||
ld [wd09b], a
|
||||
ld a, h
|
||||
ld [$d09a], a
|
||||
ld [wd09a], a
|
||||
ret
|
||||
.asm_70b25
|
||||
dec hl
|
||||
|
@ -406,13 +406,13 @@ Func_70af9: ; 70af9 (1c:4af9)
|
|||
jr .asm_70b1a
|
||||
.asm_70b4d
|
||||
ld [hl], $ff
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
inc a
|
||||
cp $4
|
||||
jr nz, .asm_70b58
|
||||
xor a
|
||||
.asm_70b58
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
jr .asm_70b1c
|
||||
|
||||
Func_70b5d: ; 70b5d (1c:4b5d)
|
||||
|
@ -440,27 +440,27 @@ Func_70b7f: ; 70b7f (1c:4b7f)
|
|||
push bc
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
FuncCoord 0, 7 ; $c42c
|
||||
FuncCoord 0, 7
|
||||
ld hl, Coord
|
||||
FuncCoord 0, 8 ; $c440
|
||||
FuncCoord 0, 8
|
||||
ld de, Coord
|
||||
ld bc, $ffd8
|
||||
call Func_70c12
|
||||
FuncCoord 0, 10 ; $c468
|
||||
FuncCoord 0, 10
|
||||
ld hl, Coord
|
||||
FuncCoord 0, 9 ; $c454
|
||||
FuncCoord 0, 9
|
||||
ld de, Coord
|
||||
ld bc, $28
|
||||
call Func_70c12
|
||||
FuncCoord 8, 0 ; $c3a8
|
||||
FuncCoord 8, 0
|
||||
ld hl, Coord
|
||||
FuncCoord 9, 0 ; $c3a9
|
||||
FuncCoord 9, 0
|
||||
ld de, Coord
|
||||
ld bc, $fffe
|
||||
call Func_70c3f
|
||||
FuncCoord 11, 0 ; $c3ab
|
||||
FuncCoord 11, 0
|
||||
ld hl, Coord
|
||||
FuncCoord 10, 0 ; $c3aa
|
||||
FuncCoord 10, 0
|
||||
ld de, Coord
|
||||
ld bc, $2
|
||||
call Func_70c3f
|
||||
|
@ -481,24 +481,24 @@ Func_70bca: ; 70bca (1c:4bca)
|
|||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
.asm_70bcf
|
||||
push bc
|
||||
FuncCoord 0, 16 ; $c4e0
|
||||
FuncCoord 0, 16
|
||||
ld hl, Coord
|
||||
FuncCoord 0, 17 ; $c4f4
|
||||
FuncCoord 0, 17
|
||||
ld de, Coord
|
||||
ld bc, $ffd8
|
||||
call Func_70c12
|
||||
FuncCoord 0, 1 ; $c3b4
|
||||
FuncCoord 0, 1
|
||||
ld hl, Coord
|
||||
ld de, wTileMap
|
||||
ld bc, $28
|
||||
call Func_70c12
|
||||
FuncCoord 18, 0 ; $c3b2
|
||||
FuncCoord 18, 0
|
||||
ld hl, Coord
|
||||
FuncCoord 19, 0 ; $c3b3
|
||||
FuncCoord 19, 0
|
||||
ld de, Coord
|
||||
ld bc, $fffe
|
||||
call Func_70c3f
|
||||
FuncCoord 1, 0 ; $c3a1
|
||||
FuncCoord 1, 0
|
||||
ld hl, Coord
|
||||
ld de, wTileMap
|
||||
ld bc, $2
|
||||
|
@ -514,9 +514,9 @@ Func_70bca: ; 70bca (1c:4bca)
|
|||
|
||||
Func_70c12: ; 70c12 (1c:4c12)
|
||||
ld a, c
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld a, b
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld c, $8
|
||||
.asm_70c1c
|
||||
push bc
|
||||
|
@ -526,9 +526,9 @@ Func_70c12: ; 70c12 (1c:4c12)
|
|||
call CopyData
|
||||
pop hl
|
||||
pop de
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld c, a
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld b, a
|
||||
add hl, bc
|
||||
pop bc
|
||||
|
@ -546,9 +546,9 @@ Func_70c12: ; 70c12 (1c:4c12)
|
|||
|
||||
Func_70c3f: ; 70c3f (1c:4c3f)
|
||||
ld a, c
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld a, b
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld c, $9
|
||||
.asm_70c49
|
||||
push bc
|
||||
|
@ -574,9 +574,9 @@ Func_70c3f: ; 70c3f (1c:4c3f)
|
|||
jr nz, .asm_70c4e
|
||||
pop hl
|
||||
pop de
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld c, a
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld b, a
|
||||
add hl, bc
|
||||
pop bc
|
||||
|
@ -596,7 +596,7 @@ Func_70c3f: ; 70c3f (1c:4c3f)
|
|||
Func_70c7e: ; 70c7e (1c:4c7e)
|
||||
ld c, $12
|
||||
ld hl, wTileMap
|
||||
FuncCoord 1, 17 ; $c4f5
|
||||
FuncCoord 1, 17
|
||||
ld de, Coord
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
|
@ -635,7 +635,7 @@ Func_70caa: ; 70caa (1c:4caa)
|
|||
Func_70cb4: ; 70cb4 (1c:4cb4)
|
||||
ld c, $14
|
||||
ld hl, wTileMap
|
||||
FuncCoord 19, 1 ; $c3c7
|
||||
FuncCoord 19, 1
|
||||
ld de, Coord
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
|
@ -736,9 +736,9 @@ Func_70d24: ; 70d24 (1c:4d24)
|
|||
jp Func_70a69
|
||||
|
||||
Func_70d50: ; 70d50 (1c:4d50)
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld a, [hli]
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld a, [hli]
|
||||
ld e, a
|
||||
ld a, [hli]
|
||||
|
@ -857,7 +857,7 @@ Func_70dc5: ; 70dc5 (1c:4dc5)
|
|||
inc de
|
||||
.asm_70dc9
|
||||
ld [hl], $ff
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
and a
|
||||
jr z, .asm_70dd4
|
||||
inc hl
|
||||
|
@ -868,7 +868,7 @@ Func_70dc5: ; 70dc5 (1c:4dc5)
|
|||
dec c
|
||||
jr nz, .asm_70dc9
|
||||
pop hl
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
and a
|
||||
ld bc, $14
|
||||
jr z, .asm_70de5
|
||||
|
@ -883,7 +883,7 @@ Func_70dc5: ; 70dc5 (1c:4dc5)
|
|||
jr z, Func_70dc5
|
||||
ld c, a
|
||||
.asm_70def
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
and a
|
||||
jr z, .asm_70df8
|
||||
dec hl
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
Func_128d8: ; 128d8 (4:68d8)
|
||||
ld a, [W_YCOORD] ; $d361
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
ld b, a
|
||||
ld a, [W_CURMAPHEIGHT] ; $d368
|
||||
ld a, [W_CURMAPHEIGHT] ; wd368
|
||||
call Func_128ea
|
||||
ret z
|
||||
ld a, [W_XCOORD] ; $d362
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
ld b, a
|
||||
ld a, [W_CURMAPWIDTH] ; $d369
|
||||
ld a, [W_CURMAPWIDTH] ; wd369
|
||||
|
||||
Func_128ea: ; 128ea (4:68ea)
|
||||
add a
|
||||
|
@ -24,11 +24,11 @@ Func_128f6: ; 128f6 (4:68f6)
|
|||
call GetPredefRegisters
|
||||
ld a, $2
|
||||
asm_128fb: ; 128fb (4:68fb)
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
push hl
|
||||
ld a, [$cf99]
|
||||
ld a, [wcf99]
|
||||
ld b, a
|
||||
ld a, [$cf9a]
|
||||
ld a, [wcf9a]
|
||||
ld c, a
|
||||
or b
|
||||
jr nz, .asm_12913
|
||||
|
@ -39,9 +39,9 @@ asm_128fb: ; 128fb (4:68fb)
|
|||
ld d, a
|
||||
jp Func_12924
|
||||
.asm_12913
|
||||
ld a, [$cfba]
|
||||
ld a, [wcfba]
|
||||
ld d, a
|
||||
ld a, [$cfbb]
|
||||
ld a, [wcfbb]
|
||||
ld e, a
|
||||
ld a, $26
|
||||
call Predef ; indirect jump to UpdateHPBar_LoadRegisters (f9dc (3:79dc))
|
||||
|
@ -65,12 +65,12 @@ Func_12924: ; 12924 (4:6924)
|
|||
ld bc, $15
|
||||
.asm_1293a
|
||||
add hl, bc
|
||||
ld de, $cf99
|
||||
ld de, wcf99
|
||||
ld bc, $203
|
||||
call PrintNumber
|
||||
ld a, "/"
|
||||
ld [hli], a
|
||||
ld de, $cfba
|
||||
ld de, wcfba
|
||||
ld bc, $203
|
||||
call PrintNumber
|
||||
pop hl
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
Func_137aa: ; 137aa (4:77aa)
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $4
|
||||
jr nz, .asm_137eb
|
||||
ld a, [W_ENEMYMONNUMBER] ; $cfe8
|
||||
ld hl, $d8a8
|
||||
ld a, [W_ENEMYMONNUMBER] ; W_ENEMYMONNUMBER
|
||||
ld hl, wd8a8
|
||||
ld bc, $2c
|
||||
call AddNTimes
|
||||
ld a, [W_ENEMYMONSTATUS] ; $cfe9
|
||||
ld a, [W_ENEMYMONSTATUS] ; wcfe9
|
||||
ld [hl], a
|
||||
call ClearScreen
|
||||
callab Func_372d6
|
||||
ld a, [$cf0b]
|
||||
ld a, [wcf0b]
|
||||
cp $1
|
||||
ld de, YouWinText
|
||||
jr c, .asm_137de
|
||||
|
@ -18,23 +18,23 @@ Func_137aa: ; 137aa (4:77aa)
|
|||
jr z, .asm_137de
|
||||
ld de, DrawText
|
||||
.asm_137de
|
||||
FuncCoord 6, 8 ; $c446
|
||||
FuncCoord 6, 8
|
||||
ld hl, Coord
|
||||
call PlaceString
|
||||
ld c, $c8
|
||||
call DelayFrames
|
||||
jr .asm_1380a
|
||||
.asm_137eb
|
||||
ld a, [$cf0b]
|
||||
ld a, [wcf0b]
|
||||
and a
|
||||
jr nz, .asm_13813
|
||||
ld hl, $cce5
|
||||
ld hl, wcce5
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
inc hl
|
||||
or [hl]
|
||||
jr z, .asm_1380a
|
||||
ld de, wPlayerMoney + 2 ; $d349
|
||||
ld de, wPlayerMoney + 2 ; wd349
|
||||
ld c, $3
|
||||
ld a, $b ; AddBCDPredef
|
||||
call Predef
|
||||
|
@ -42,38 +42,38 @@ Func_137aa: ; 137aa (4:77aa)
|
|||
call PrintText
|
||||
.asm_1380a
|
||||
xor a
|
||||
ld [$ccd4], a
|
||||
ld [wccd4], a
|
||||
ld a, $2a
|
||||
call Predef ; indirect jump to Func_3ad1c (3ad1c (e:6d1c))
|
||||
.asm_13813
|
||||
xor a
|
||||
ld [$d083], a
|
||||
ld [$c02a], a
|
||||
ld [W_ISINBATTLE], a ; $d057
|
||||
ld [W_BATTLETYPE], a ; $d05a
|
||||
ld [W_MOVEMISSED], a ; $d05f
|
||||
ld [W_CUROPPONENT], a ; $d059
|
||||
ld [$d11f], a
|
||||
ld [$d120], a
|
||||
ld [$d078], a
|
||||
ld hl, $cc2b
|
||||
ld [wd083], a
|
||||
ld [wc02a], a
|
||||
ld [W_ISINBATTLE], a ; W_ISINBATTLE
|
||||
ld [W_BATTLETYPE], a ; wd05a
|
||||
ld [W_MOVEMISSED], a ; W_MOVEMISSED
|
||||
ld [W_CUROPPONENT], a ; wd059
|
||||
ld [wd11f], a
|
||||
ld [wd120], a
|
||||
ld [wd078], a
|
||||
ld hl, wcc2b
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld [wListScrollOffset], a ; $cc36
|
||||
ld hl, $d060
|
||||
ld [wListScrollOffset], a ; wcc36
|
||||
ld hl, wd060
|
||||
ld b, $18
|
||||
.asm_1383e
|
||||
ld [hli], a
|
||||
dec b
|
||||
jr nz, .asm_1383e
|
||||
ld hl, $d72c
|
||||
ld hl, wd72c
|
||||
set 0, [hl]
|
||||
call WaitForSoundToFinish
|
||||
call GBPalWhiteOut
|
||||
ld a, $ff
|
||||
ld [$d42f], a
|
||||
ld [wd42f], a
|
||||
ret
|
||||
|
||||
YouWinText: ; 13853 (4:7853)
|
||||
|
@ -90,10 +90,10 @@ PickUpPayDayMoneyText: ; 1386b (4:786b)
|
|||
db "@"
|
||||
|
||||
Func_13870: ; 13870 (4:7870)
|
||||
ld a, [$cc57]
|
||||
ld a, [wcc57]
|
||||
and a
|
||||
ret nz
|
||||
ld a, [$d736]
|
||||
ld a, [wd736]
|
||||
and a
|
||||
ret nz
|
||||
callab Func_c49d
|
||||
|
@ -105,31 +105,31 @@ Func_13870: ; 13870 (4:7870)
|
|||
.asm_13888
|
||||
callab Func_128d8
|
||||
jr z, .asm_13884
|
||||
ld a, [$d0db]
|
||||
ld a, [wd0db]
|
||||
and a
|
||||
jr z, .asm_1389e
|
||||
dec a
|
||||
jr z, .asm_13905
|
||||
ld [$d0db], a
|
||||
ld [wd0db], a
|
||||
.asm_1389e
|
||||
FuncCoord 9, 9 ; $c45d
|
||||
FuncCoord 9, 9
|
||||
ld hl, Coord
|
||||
ld c, [hl]
|
||||
ld a, [W_GRASSTILE]
|
||||
cp c
|
||||
ld a, [W_GRASSRATE] ; $d887
|
||||
ld a, [W_GRASSRATE] ; W_GRASSRATE
|
||||
jr z, .asm_138c4
|
||||
ld a, $14
|
||||
cp c
|
||||
ld a, [W_WATERRATE] ; $d8a4
|
||||
ld a, [W_WATERRATE] ; wEnemyMon1Species
|
||||
jr z, .asm_138c4
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp REDS_HOUSE_1F
|
||||
jr c, .asm_13912
|
||||
ld a, [W_CURMAPTILESET] ; $d367
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
cp FOREST ; Viridian Forest/Safari Zone
|
||||
jr z, .asm_13912
|
||||
ld a, [W_GRASSRATE] ; $d887
|
||||
ld a, [W_GRASSRATE] ; W_GRASSRATE
|
||||
.asm_138c4
|
||||
ld b, a
|
||||
ld a, [hRandomAdd]
|
||||
|
@ -146,31 +146,31 @@ Func_13870: ; 13870 (4:7870)
|
|||
jr .asm_138d0
|
||||
.asm_138d7
|
||||
ld c, [hl]
|
||||
ld hl, W_GRASSMONS ; $d888
|
||||
FuncCoord 8, 9 ; $c45c
|
||||
ld hl, W_GRASSMONS ; wd888
|
||||
FuncCoord 8, 9
|
||||
ld a, [Coord]
|
||||
cp $14
|
||||
jr nz, .asm_138e5
|
||||
ld hl, W_WATERMONS ; $d8a5 (aliases: W_ENEMYMON1HP)
|
||||
ld hl, W_WATERMONS ; wd8a5 (aliases: W_ENEMYMON1HP)
|
||||
.asm_138e5
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld [W_CURENEMYLVL], a ; $d127
|
||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||
ld a, [hl]
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
ld [W_ENEMYMONID], a
|
||||
ld a, [$d0db]
|
||||
ld a, [wd0db]
|
||||
and a
|
||||
jr z, .asm_13916
|
||||
ld a, [W_PARTYMON1_LEVEL] ; $d18c
|
||||
ld a, [W_PARTYMON1_LEVEL] ; W_PARTYMON1_LEVEL
|
||||
ld b, a
|
||||
ld a, [W_CURENEMYLVL] ; $d127
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
cp b
|
||||
jr c, .asm_13912
|
||||
jr .asm_13916
|
||||
.asm_13905
|
||||
ld [$d0db], a
|
||||
ld [wd0db], a
|
||||
ld a, $d2
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
call EnableAutoTextBoxDrawing
|
||||
|
@ -202,14 +202,14 @@ WildMonEncounterSlotChances: ; 13918 (4:7918)
|
|||
RecoilEffect_: ; 1392c (4:792c)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, [W_PLAYERMOVENUM] ; $cfd2
|
||||
ld hl, W_PLAYERMONMAXHP ; $d023
|
||||
ld a, [W_PLAYERMOVENUM] ; wcfd2
|
||||
ld hl, W_PLAYERMONMAXHP ; wd023
|
||||
jr z, .asm_1393d
|
||||
ld a, [W_ENEMYMOVENUM] ; $cfcc
|
||||
ld hl, W_ENEMYMONMAXHP ; $cff4
|
||||
ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
|
||||
ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
|
||||
.asm_1393d
|
||||
ld d, a
|
||||
ld a, [W_DAMAGE] ; $d0d7
|
||||
ld a, [W_DAMAGE] ; W_DAMAGE
|
||||
ld b, a
|
||||
ld a, [W_DAMAGE + 1]
|
||||
ld c, a
|
||||
|
@ -252,17 +252,17 @@ RecoilEffect_: ; 1392c (4:792c)
|
|||
ld [hli], a
|
||||
ld [hl], a
|
||||
.asm_13982
|
||||
FuncCoord 10, 9 ; $c45e
|
||||
FuncCoord 10, 9
|
||||
ld hl, Coord
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, $1
|
||||
jr z, .asm_13990
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
xor a
|
||||
.asm_13990
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
ld a, $48
|
||||
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
|
||||
ld hl, HitWithRecoilText ; $799e
|
||||
|
@ -312,10 +312,10 @@ HazeEffect_: ; 139da (4:79da)
|
|||
call Func_13a43
|
||||
ld hl, wEnemyMonAttackMod
|
||||
call Func_13a43
|
||||
ld hl, $cd12
|
||||
ld hl, wcd12
|
||||
ld de, W_PLAYERMONATK
|
||||
call Func_13a4a
|
||||
ld hl, $cd26
|
||||
ld hl, wcd26
|
||||
ld de, W_ENEMYMONATTACK
|
||||
call Func_13a4a
|
||||
ld hl, W_ENEMYMONSTATUS
|
||||
|
@ -338,7 +338,7 @@ HazeEffect_: ; 139da (4:79da)
|
|||
xor a
|
||||
ld [W_PLAYERDISABLEDMOVE], a
|
||||
ld [W_ENEMYDISABLEDMOVE], a
|
||||
ld hl, $ccee
|
||||
ld hl, wccee
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld hl, W_PLAYERBATTSTATUS1
|
||||
|
@ -384,25 +384,25 @@ StatusChangesEliminatedText: ; 13a53 (4:7a53)
|
|||
db "@"
|
||||
|
||||
GetTrainerName_: ; 13a58 (4:7a58)
|
||||
ld hl, W_GRASSRATE ; $d887
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld hl, W_GRASSRATE ; W_GRASSRATE
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
and a
|
||||
jr nz, .rival
|
||||
ld hl, W_RIVALNAME ; $d34a
|
||||
ld a, [W_TRAINERCLASS] ; $d031
|
||||
ld hl, W_RIVALNAME ; wd34a
|
||||
ld a, [W_TRAINERCLASS] ; wd031
|
||||
cp SONY1
|
||||
jr z, .rival
|
||||
cp SONY2
|
||||
jr z, .rival
|
||||
cp SONY3
|
||||
jr z, .rival
|
||||
ld [$d0b5], a
|
||||
ld [wd0b5], a
|
||||
ld a, TRAINER_NAME
|
||||
ld [W_LISTTYPE], a
|
||||
ld a, $e
|
||||
ld [$d0b7], a
|
||||
ld [wPredefBank], a
|
||||
call GetName
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
.rival
|
||||
ld de, W_TRAINERNAME
|
||||
ld bc, $d
|
||||
|
|
|
@ -42,7 +42,7 @@ SubstituteEffectHandler: ; 17dad (5:7dad)
|
|||
ld h, b
|
||||
ld l, c
|
||||
set 4, [hl] ;set bit 4 of flags, user now has substitute
|
||||
ld a, [$d355] ;load options
|
||||
ld a, [W_OPTIONS] ;load options
|
||||
bit 7, a ;battle animation is enabled?
|
||||
ld hl, Func_3fba8 ; $7ba8 ;animation enabled: 0F:7BA8
|
||||
ld b, BANK(Func_3fba8)
|
||||
|
|
|
@ -28,7 +28,7 @@ asm_27d8c: ; 27d8c (9:7d8c)
|
|||
Func_27d98: ; 27d98 (9:7d98)
|
||||
call GetPredefRegisters
|
||||
push hl
|
||||
ld a, [W_PLAYERMOVETYPE] ; $cfd5
|
||||
ld a, [W_PLAYERMOVETYPE] ; wcfd5
|
||||
asm_27d9f: ; 27d9f (9:7d9f)
|
||||
add a
|
||||
ld hl, TypeNamePointers ; $7dae
|
||||
|
@ -54,7 +54,7 @@ SaveTrainerName: ; 27e4a (9:7e4a)
|
|||
ld a,[hli]
|
||||
ld h,[hl]
|
||||
ld l,a
|
||||
ld de,$CD6D
|
||||
ld de,wcd6d
|
||||
.CopyCharacter
|
||||
ld a,[hli]
|
||||
ld [de],a
|
||||
|
@ -157,11 +157,11 @@ CooltrainerFName: ; 27f79 (9:7f79)
|
|||
db "COOLTRAINER♀@"
|
||||
|
||||
FocusEnergyEffect_: ; 27f86 (9:7f86)
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; $d063
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_27f91
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; $d068
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
|
||||
.asm_27f91
|
||||
bit 2, [hl] ; is mon already using focus energy?
|
||||
jr nz, .asm_27fa5
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
LeechSeedEffect_: ; 2bea9 (a:7ea9)
|
||||
callab MoveHitTest
|
||||
ld a, [W_MOVEMISSED] ; $d05f
|
||||
ld a, [W_MOVEMISSED] ; W_MOVEMISSED
|
||||
and a
|
||||
jr nz, .asm_2bee7
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; $d068
|
||||
ld de, W_ENEMYMONTYPE1 ; $cfea (aliases: W_ENEMYMONTYPES)
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
|
||||
ld de, W_ENEMYMONTYPE1 ; wcfea (aliases: W_ENEMYMONTYPES)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_2bec8
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; $d063
|
||||
ld de, W_PLAYERMONTYPE1 ; $d019 (aliases: W_PLAYERMONTYPES)
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
|
||||
ld de, W_PLAYERMONTYPE1 ; wd019 (aliases: W_PLAYERMONTYPES)
|
||||
.asm_2bec8
|
||||
ld a, [de]
|
||||
cp GRASS
|
||||
|
|
|
@ -223,7 +223,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
|
|||
rla
|
||||
sla c
|
||||
rla
|
||||
ld [$D09F],a ; tile select
|
||||
ld [wd09f],a ; tile select
|
||||
ld a,[hli] ; sound
|
||||
ld [wAnimSoundID],a ; store sound
|
||||
ld a,[hli] ; subanimation ID
|
||||
|
@ -243,7 +243,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
|
|||
push hl
|
||||
ld a,[rOBP0]
|
||||
push af
|
||||
ld a,[$CC79]
|
||||
ld a,[wcc79]
|
||||
ld [rOBP0],a
|
||||
call LoadAnimationTileset
|
||||
call LoadSubanimation
|
||||
|
@ -328,7 +328,7 @@ GetSubanimationTransform2: ; 781ca (1e:41ca)
|
|||
|
||||
; loads tile patterns for battle animations
|
||||
LoadAnimationTileset: ; 781d2 (1e:41d2)
|
||||
ld a,[$D09F] ; tileset select
|
||||
ld a,[wd09f] ; tileset select
|
||||
add a
|
||||
add a
|
||||
ld hl,AnimationTilesetPointers
|
||||
|
@ -336,14 +336,14 @@ LoadAnimationTileset: ; 781d2 (1e:41d2)
|
|||
ld d,0
|
||||
add hl,de
|
||||
ld a,[hli]
|
||||
ld [$D07D],a ; number of tiles
|
||||
ld [wd07d],a ; number of tiles
|
||||
ld a,[hli]
|
||||
ld e,a
|
||||
ld a,[hl]
|
||||
ld d,a ; de = address of tileset
|
||||
ld hl,$8310 ; destination address in VRAM
|
||||
ld b, BANK(AnimationTileset1) ; ROM bank
|
||||
ld a,[$D07D]
|
||||
ld a,[wd07d]
|
||||
ld c,a ; number of tiles
|
||||
jp CopyVideoData ; load tileset
|
||||
|
||||
|
@ -394,7 +394,7 @@ MoveAnimation: ; 78d5e (1e:4d5e)
|
|||
|
||||
.MoveAnimation
|
||||
; check if battle animations are disabled in the options
|
||||
ld a,[$D355]
|
||||
ld a,[W_OPTIONS]
|
||||
bit 7,a
|
||||
jr nz,.AnimationsDisabled
|
||||
call ShareMoveAnimations
|
||||
|
@ -408,11 +408,11 @@ MoveAnimation: ; 78d5e (1e:4d5e)
|
|||
.AnimationFinished
|
||||
call WaitForSoundToFinish
|
||||
xor a
|
||||
ld [$D096],a
|
||||
ld [$D09B],a
|
||||
ld [$D08B],a
|
||||
ld [W_SUBANIMSUBENTRYADDR],a
|
||||
ld [wd09b],a
|
||||
ld [W_SUBANIMTRANSFORM],a
|
||||
dec a
|
||||
ld [$CF07],a
|
||||
ld [wAnimSoundID],a
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
|
@ -443,7 +443,7 @@ ShareMoveAnimations: ; 78da6 (1e:4da6)
|
|||
ret
|
||||
|
||||
Func_78dbd: ; 78dbd (1e:4dbd)
|
||||
ld a,[$CC5B]
|
||||
ld a,[wcc5b]
|
||||
and a
|
||||
ret z
|
||||
dec a
|
||||
|
@ -517,14 +517,14 @@ Func_78e01: ; 78e01 (1e:4e01)
|
|||
ret
|
||||
|
||||
Func_78e23: ; 78e23 (1e:4e23)
|
||||
ld a, [$cf1b]
|
||||
ld a, [wcf1b]
|
||||
and a
|
||||
ld a, $e4
|
||||
jr z, .asm_78e47
|
||||
ld a, $f0
|
||||
ld [$cc79], a
|
||||
ld [wcc79], a
|
||||
ld b, $e4
|
||||
ld a, [W_ANIMATIONID] ; $d07c
|
||||
ld a, [W_ANIMATIONID] ; W_ANIMATIONID
|
||||
cp $aa
|
||||
jr c, .asm_78e3f
|
||||
cp $ae
|
||||
|
@ -538,7 +538,7 @@ Func_78e23: ; 78e23 (1e:4e23)
|
|||
ret
|
||||
.asm_78e47
|
||||
ld a, $e4
|
||||
ld [$cc79], a
|
||||
ld [wcc79], a
|
||||
ld [rOBP0], a ; $ff48
|
||||
ld a, $6c
|
||||
ld [rOBP1], a ; $ff49
|
||||
|
@ -724,7 +724,7 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
|
|||
db $FF ; terminator
|
||||
|
||||
DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
|
||||
ld a,[$CF91]
|
||||
ld a,[wcf91]
|
||||
cp a,3 ; is it a Master Ball or Ultra Ball?
|
||||
jr nc,.skipFlashingEffect
|
||||
.flashingEffect ; do a flashing effect if it's Master Ball or Ultra Ball
|
||||
|
@ -742,7 +742,7 @@ DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
|
|||
ld a,[W_ISINBATTLE]
|
||||
cp a,02 ; is it a trainer battle?
|
||||
jr z,.isTrainerBattle
|
||||
ld a,[$d11e]
|
||||
ld a,[wd11e]
|
||||
cp a,$10 ; is the enemy pokemon the Ghost Marowak?
|
||||
ret nz
|
||||
; if the enemy pokemon is the Ghost Marowak, make it dodge during the last 3 frames
|
||||
|
@ -792,9 +792,9 @@ DoBallShakeSpecialEffects: ; 78f96 (1e:4f96)
|
|||
dec a
|
||||
ret nz
|
||||
; if it's the end of the ball shaking subanimation, check if more shakes are left and restart the subanimation
|
||||
ld a,[$cd3d] ; number of shakes
|
||||
ld a,[wWhichTrade] ; number of shakes
|
||||
dec a ; decrement number of shakes
|
||||
ld [$cd3d],a
|
||||
ld [wWhichTrade],a
|
||||
ret z
|
||||
; if there are shakes left, restart the subanimation
|
||||
ld a,[W_SUBANIMSUBENTRYADDR]
|
||||
|
@ -856,7 +856,7 @@ DoExplodeSpecialEffects: ; 79009 (1e:5009)
|
|||
cp a,1 ; is it the end of the subanimation?
|
||||
jr nz,FlashScreenEveryFourFrameBlocks
|
||||
; if it's the end of the subanimation, make the attacking pokemon disappear
|
||||
FuncCoord 1, 5 ; $c405
|
||||
FuncCoord 1, 5
|
||||
ld hl,Coord
|
||||
jp AnimationHideMonPic ; make pokemon disappear
|
||||
|
||||
|
@ -975,7 +975,7 @@ BallMoveDistances2: ; 790b3 (1e:50b3)
|
|||
; so that there are two musical notes flying towards the defending pokemon
|
||||
DoGrowlSpecialEffects: ; 790bc (1e:50bc)
|
||||
ld hl,wOAMBuffer ; OAM buffer
|
||||
ld de,$c310
|
||||
ld de,wOAMBuffer + $10
|
||||
ld bc,$10
|
||||
call CopyData ; copy the musical note graphic
|
||||
ld a,[W_SUBANIMCOUNTER]
|
||||
|
@ -1094,8 +1094,8 @@ CallWithTurnFlipped: ; 79155 (1e:5155)
|
|||
; flashes the screen for an extended period (48 frames)
|
||||
AnimationFlashScreenLong: ; 79165 (1e:5165)
|
||||
ld a,3 ; cycle through the palettes 3 times
|
||||
ld [$D08A],a
|
||||
ld a,[$cf1b] ; running on SGB?
|
||||
ld [wd08a],a
|
||||
ld a,[wcf1b] ; running on SGB?
|
||||
and a
|
||||
ld hl,FlashScreenLongMonochrome
|
||||
jr z,.loop
|
||||
|
@ -1110,9 +1110,9 @@ AnimationFlashScreenLong: ; 79165 (1e:5165)
|
|||
call FlashScreenLongDelay
|
||||
jr .innerLoop
|
||||
.endOfPalettes
|
||||
ld a,[$D08A]
|
||||
ld a,[wd08a]
|
||||
dec a
|
||||
ld [$D08A],a
|
||||
ld [wd08a],a
|
||||
pop hl
|
||||
jr nz,.loop
|
||||
ret
|
||||
|
@ -1152,8 +1152,8 @@ FlashScreenLongSGB: ; 7919b (1e:519b)
|
|||
; causes a delay of 2 frames for the first cycle
|
||||
; causes a delay of 1 frame for the second and third cycles
|
||||
FlashScreenLongDelay: ; 791a8 (1e:51a8)
|
||||
ld a,[$D08A]
|
||||
cp a,4 ; never true since [$D08A] starts at 3
|
||||
ld a,[wd08a]
|
||||
cp a,4 ; never true since [wd08a] starts at 3
|
||||
ld c,4
|
||||
jr z,.delayFrames
|
||||
cp a,3
|
||||
|
@ -1215,7 +1215,7 @@ Func_791f9: ; 791f9 (1e:51f9)
|
|||
ld bc, $4040
|
||||
|
||||
Func_791fc: ; 791fc (1e:51fc)
|
||||
ld a, [$cf1b]
|
||||
ld a, [wcf1b]
|
||||
and a
|
||||
ld a, b
|
||||
jr z, .asm_79204
|
||||
|
@ -1243,23 +1243,23 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
|
|||
; scroll. It's hard to describe, but it's the main animation
|
||||
; in Surf/Mist/Toxic.
|
||||
xor a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call LoadAnimationTileset
|
||||
ld d, $20
|
||||
ld a, $f0
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld a, $71
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
.asm_79228
|
||||
ld a, $10
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld a, $0
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
call Func_79246
|
||||
ld a, $18
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld a, $20
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
call Func_79246
|
||||
dec d
|
||||
jr nz, .asm_79228
|
||||
|
@ -1268,24 +1268,24 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
|
|||
Func_79246: ; 79246 (1e:5246)
|
||||
ld hl, wOAMBuffer
|
||||
.asm_79249
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
add $1b
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [hli], a
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
ld [hli], a
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
cp $90
|
||||
jr c, .asm_79249
|
||||
sub $a8
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
add $10
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
cp $70
|
||||
jr c, .asm_79249
|
||||
call AnimationCleanOAM
|
||||
|
@ -1296,15 +1296,15 @@ AnimationSlideMonUp: ; 7927a (1e:527a)
|
|||
ld c, $7
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld hl, $c419
|
||||
ld de, $c405
|
||||
ld hl, wTileMap + $79
|
||||
ld de, wTileMap + $65
|
||||
ld a, $30
|
||||
jr z, .asm_79291
|
||||
ld hl, $c3c0
|
||||
ld de, $c3ac
|
||||
ld hl, wTileMap + $20
|
||||
ld de, wTileMap + $c
|
||||
ld a, $ff
|
||||
.asm_79291
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
jp Func_792bf
|
||||
|
||||
AnimationSlideMonDown: ; 79297 (1e:5297)
|
||||
|
@ -1328,7 +1328,7 @@ AnimationSlideMonOut: ; 792af (1e:52af)
|
|||
; Slides the mon's sprite out of the screen horizontally.
|
||||
ld e, $8
|
||||
ld a, $3
|
||||
ld [W_SUBANIMTRANSFORM], a ; $d08b
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
jp Func_795f8
|
||||
|
||||
AnimationSlideEnemyMonOut: ; 792b9 (1e:52b9)
|
||||
|
@ -1356,13 +1356,13 @@ Func_792bf: ; 792bf (1e:52bf)
|
|||
jr nz, .asm_792c4
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld hl, $c47d
|
||||
ld hl, wTileMap + $dd
|
||||
jr z, .asm_792e2
|
||||
ld hl, $c424
|
||||
ld hl, wTileMap + $84
|
||||
.asm_792e2
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
inc a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld c, $7
|
||||
.asm_792eb
|
||||
ld [hli], a
|
||||
|
@ -1409,7 +1409,7 @@ Func_79329: ; 79329 (1e:5329)
|
|||
add $8
|
||||
ld e, a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld [hli], a
|
||||
ld a, d
|
||||
ld [hli], a
|
||||
|
@ -1424,7 +1424,7 @@ Func_79337: ; 79337 (1e:5337)
|
|||
Func_79339: ; 79339 (1e:5339)
|
||||
ld de, $4
|
||||
.asm_7933c
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
add b
|
||||
|
@ -1447,7 +1447,7 @@ Func_79350: ; 79350 (1e:5350)
|
|||
Func_79352: ; 79352 (1e:5352)
|
||||
ld de, $4
|
||||
.asm_79355
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
add b
|
||||
|
@ -1489,9 +1489,9 @@ AnimationBlinkMon: ; 7936f (1e:536f)
|
|||
AnimationFlashMonPic: ; 79389 (1e:5389)
|
||||
; Flashes the mon's sprite on and off
|
||||
ld a, [W_PLAYERMONID]
|
||||
ld [$ceea], a
|
||||
ld a, [$cfe5]
|
||||
ld [$cee9], a
|
||||
ld [wHPBarMaxHP + 1], a
|
||||
ld a, [wcfe5]
|
||||
ld [wHPBarMaxHP], a
|
||||
jp Func_79793
|
||||
|
||||
AnimationFlashEnemyMonPic: ; 79398 (1e:5398)
|
||||
|
@ -1517,11 +1517,11 @@ AnimationShakeBackAndForth: ; 793b1 (1e:53b1)
|
|||
; The mon's sprite disappears after this animation.
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld hl, $c404
|
||||
ld de, $c406
|
||||
ld hl, wTileMap + $64
|
||||
ld de, wTileMap + $66
|
||||
jr z, .asm_793c2
|
||||
ld hl, $c3ab
|
||||
ld de, $c3ad
|
||||
ld hl, wTileMap + $b
|
||||
ld de, wTileMap + $d
|
||||
|
||||
.asm_793c2
|
||||
xor a
|
||||
|
@ -1565,10 +1565,10 @@ AnimationMoveMonHorizontally: ; 793f9 (1e:53f9)
|
|||
call AnimationHideMonPic
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
FuncCoord 2, 5 ; $c406
|
||||
FuncCoord 2, 5
|
||||
ld hl, Coord
|
||||
jr z, .asm_79407
|
||||
FuncCoord 11, 0 ; $c3ab
|
||||
FuncCoord 11, 0
|
||||
ld hl, Coord
|
||||
.asm_79407
|
||||
xor a
|
||||
|
@ -1597,14 +1597,14 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
|
|||
and a
|
||||
jr z, .asm_79435
|
||||
ld a, $d8
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld a, $50
|
||||
ld [W_SUBANIMTRANSFORM], a ; $d08b
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
jr .asm_7943c
|
||||
.asm_79435
|
||||
xor a
|
||||
ld [$d08a], a
|
||||
ld [W_SUBANIMTRANSFORM], a ; $d08b
|
||||
ld [wd08a], a
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
.asm_7943c
|
||||
ld d, $7a
|
||||
ld c, $3
|
||||
|
@ -1619,12 +1619,12 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
|
|||
ld a, [hl]
|
||||
cp $ff
|
||||
jr z, .asm_7946f
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
add [hl]
|
||||
ld [de], a
|
||||
inc de
|
||||
inc hl
|
||||
ld a, [W_SUBANIMTRANSFORM] ; $d08b
|
||||
ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
|
||||
add [hl]
|
||||
ld [de], a
|
||||
inc hl
|
||||
|
@ -1680,24 +1680,24 @@ AnimationSquishMonPic: ; 794a1 (1e:54a1)
|
|||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_794b1
|
||||
FuncCoord 16, 0 ; $c3b0
|
||||
FuncCoord 16, 0
|
||||
ld hl, Coord
|
||||
FuncCoord 14, 0 ; $c3ae
|
||||
FuncCoord 14, 0
|
||||
ld de, Coord
|
||||
jr .asm_794b7
|
||||
.asm_794b1
|
||||
FuncCoord 5, 5 ; $c409
|
||||
FuncCoord 5, 5
|
||||
ld hl, Coord
|
||||
FuncCoord 3, 5 ; $c407
|
||||
FuncCoord 3, 5
|
||||
ld de, Coord
|
||||
.asm_794b7
|
||||
push de
|
||||
xor a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call Func_794d4
|
||||
pop hl
|
||||
ld a, $1
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call Func_794d4
|
||||
pop bc
|
||||
dec c
|
||||
|
@ -1712,7 +1712,7 @@ Func_794d4: ; 794d4 (1e:54d4)
|
|||
push bc
|
||||
push hl
|
||||
ld c, $3
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
cp $0
|
||||
jr nz, .asm_794e7
|
||||
call Func_7985b
|
||||
|
@ -1743,9 +1743,9 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
|
|||
ld bc, $3028
|
||||
.asm_79506
|
||||
ld a, b
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld a, c
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld bc, $501
|
||||
call Func_79517
|
||||
jp AnimationCleanOAM
|
||||
|
@ -1753,13 +1753,13 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
|
|||
Func_79517: ; 79517 (1e:5517)
|
||||
push bc
|
||||
xor a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call LoadAnimationTileset
|
||||
pop bc
|
||||
ld d, $7a
|
||||
ld hl, wOAMBuffer
|
||||
push bc
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld e, a
|
||||
.asm_7952a
|
||||
call Func_79329
|
||||
|
@ -1768,12 +1768,12 @@ Func_79517: ; 79517 (1e:5517)
|
|||
call DelayFrame
|
||||
pop bc
|
||||
ld a, b
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
.asm_79538
|
||||
push bc
|
||||
ld hl, wOAMBuffer
|
||||
.asm_7953c
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
add $8
|
||||
ld e, a
|
||||
ld a, [hl]
|
||||
|
@ -1784,9 +1784,9 @@ Func_79517: ; 79517 (1e:5517)
|
|||
jr .asm_79554
|
||||
.asm_7954b
|
||||
ld [hl], $0
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
dec a
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
.asm_79554
|
||||
ld de, $4
|
||||
add hl, de
|
||||
|
@ -1794,7 +1794,7 @@ Func_79517: ; 79517 (1e:5517)
|
|||
jr nz, .asm_7953c
|
||||
call DelayFrames
|
||||
pop bc
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
and a
|
||||
jr nz, .asm_79538
|
||||
ret
|
||||
|
@ -1838,7 +1838,7 @@ UpwardBallsAnimXCoordinatesEnemyTurn: ; 79598 (1e:5598)
|
|||
AnimationMinimizeMon: ; 7959f (1e:559f)
|
||||
; Changes the mon's sprite to a mini black sprite. Used by the
|
||||
; Minimize animation.
|
||||
ld hl, $c6e8
|
||||
ld hl, wTempPic
|
||||
push hl
|
||||
xor a
|
||||
ld bc, $310
|
||||
|
@ -1883,7 +1883,7 @@ AnimationSlideMonDownAndHide: ; 795c9 (1e:55c9)
|
|||
dec c
|
||||
jr nz, .asm_795cd
|
||||
call AnimationHideMonPic
|
||||
ld hl, $c6e8
|
||||
ld hl, wTempPic
|
||||
ld bc, $0310
|
||||
xor a
|
||||
call FillMemory
|
||||
|
@ -1893,11 +1893,11 @@ Func_795f8: ; 795f8 (1e:55f8)
|
|||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_79602
|
||||
FuncCoord 12, 0 ; $c3ac
|
||||
FuncCoord 12, 0
|
||||
ld hl, Coord
|
||||
jr .asm_79605
|
||||
.asm_79602
|
||||
FuncCoord 0, 5 ; $c404
|
||||
FuncCoord 0, 5
|
||||
ld hl, Coord
|
||||
.asm_79605
|
||||
ld d, $8
|
||||
|
@ -1924,7 +1924,7 @@ Func_795f8: ; 795f8 (1e:55f8)
|
|||
pop de
|
||||
dec b
|
||||
jr nz, .asm_7960a
|
||||
ld a, [W_SUBANIMTRANSFORM] ; $d08b
|
||||
ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
|
||||
ld c, a
|
||||
call DelayFrames
|
||||
pop hl
|
||||
|
@ -1964,7 +1964,7 @@ Func_79652: ; 79652 (1e:5652)
|
|||
jr z, .asm_7965d
|
||||
ld hl, $9000
|
||||
.asm_7965d
|
||||
ld de, $c6e8
|
||||
ld de, wTempPic
|
||||
ld bc, $31
|
||||
jp CopyVideoData
|
||||
|
||||
|
@ -2031,38 +2031,38 @@ WavyScreenLineOffsets: ; 796bf (1e:56bf)
|
|||
|
||||
AnimationSubstitute: ; 796e0 (1e:56e0)
|
||||
; Changes the pokemon's sprite to the mini sprite
|
||||
ld hl, $c6e8
|
||||
ld hl, wTempPic
|
||||
xor a
|
||||
ld bc, $0310
|
||||
call FillMemory
|
||||
ld a, [$fff3]
|
||||
and a
|
||||
jr z, .asm_79715 ; 0x796ed $26
|
||||
ld hl, SlowbroSprite ; $4780 ; facing down sprite
|
||||
ld de, $c808
|
||||
ld hl, SlowbroSprite ; facing down sprite
|
||||
ld de, wTempPic + $120
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $10 ; $4790
|
||||
ld de, $c878
|
||||
ld hl, SlowbroSprite + $10
|
||||
ld de, wTempPic + $120 + $70
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $20 ; $47a0
|
||||
ld de, $c818
|
||||
ld hl, SlowbroSprite + $20
|
||||
ld de, wTempPic + $120 + $10
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $30 ; $47b0
|
||||
ld de, $c888
|
||||
ld hl, SlowbroSprite + $30
|
||||
ld de, wTempPic + $120 + $10 + $70
|
||||
call CopySlowbroSpriteData
|
||||
jr .asm_79739 ; 0x79713 $24
|
||||
jr .asm_79739
|
||||
.asm_79715
|
||||
ld hl, SlowbroSprite + $40 ; $47c0 ; facing up sprite
|
||||
ld de, $c878
|
||||
ld hl, SlowbroSprite + $40 ; facing up sprite
|
||||
ld de, wTempPic + $120 + $70
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $50 ; $47d0
|
||||
ld de, $c8e8
|
||||
ld hl, SlowbroSprite + $50
|
||||
ld de, wTempPic + $120 + $e0
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $60 ; $47e0
|
||||
ld de, $c888
|
||||
ld hl, SlowbroSprite + $60
|
||||
ld de, wTempPic + $120 + $80
|
||||
call CopySlowbroSpriteData
|
||||
ld hl, SlowbroSprite + $70 ; $47f0
|
||||
ld de, $c8f8
|
||||
ld hl, SlowbroSprite + $70
|
||||
ld de, wTempPic + $120 + $f0
|
||||
call CopySlowbroSpriteData
|
||||
.asm_79739
|
||||
call Func_79652
|
||||
|
@ -2076,11 +2076,11 @@ CopySlowbroSpriteData: ; 7973f (1e:573f)
|
|||
Func_79747: ; 79747 (1e:5747)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld hl, $ccf7
|
||||
ld a, [W_PLAYERBATTSTATUS2] ; $d063
|
||||
ld hl, wccf7
|
||||
ld a, [W_PLAYERBATTSTATUS2] ; W_PLAYERBATTSTATUS2
|
||||
jr z, .asm_79758
|
||||
ld hl, $ccf3
|
||||
ld a, [W_ENEMYBATTSTATUS2] ; $d068
|
||||
ld hl, wccf3
|
||||
ld a, [W_ENEMYBATTSTATUS2] ; W_ENEMYBATTSTATUS2
|
||||
.asm_79758
|
||||
push hl
|
||||
bit 4, a
|
||||
|
@ -2117,31 +2117,31 @@ AnimationBoundUpAndDown: ; 7977a (1e:577a)
|
|||
AnimationTransformMon: ; 79787 (1e:5787)
|
||||
; Redraws this mon's sprite as the back/front sprite of the opposing mon.
|
||||
; Used in Transform.
|
||||
ld a, [$cfe5]
|
||||
ld [$ceea], a
|
||||
ld a, [wcfe5]
|
||||
ld [wHPBarMaxHP + 1], a
|
||||
ld a, [W_PLAYERMONID]
|
||||
ld [$cee9], a
|
||||
ld [wHPBarMaxHP], a
|
||||
|
||||
Func_79793: ; 79793 (1e:5793)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_797b0
|
||||
ld a, [$cee9]
|
||||
ld [$cf91], a
|
||||
ld [$d0b5], a
|
||||
ld a, [wHPBarMaxHP]
|
||||
ld [wcf91], a
|
||||
ld [wd0b5], a
|
||||
xor a
|
||||
ld [W_SPRITEFLIPPED], a
|
||||
call GetMonHeader
|
||||
FuncCoord 12, 0 ; $c3ac
|
||||
FuncCoord 12, 0
|
||||
ld hl, Coord
|
||||
call LoadFrontSpriteByMonIndex
|
||||
jr .asm_797d3
|
||||
.asm_797b0
|
||||
ld a, [$cfd9]
|
||||
ld a, [wcfd9]
|
||||
push af
|
||||
ld a, [$ceea]
|
||||
ld [$cfd9], a
|
||||
ld [$d0b5], a
|
||||
ld a, [wHPBarMaxHP + 1]
|
||||
ld [wcfd9], a
|
||||
ld [wd0b5], a
|
||||
call GetMonHeader
|
||||
ld a, $4
|
||||
call Predef ; indirect jump to LoadMonBackSprite (3f103 (f:7103))
|
||||
|
@ -2150,7 +2150,7 @@ Func_79793: ; 79793 (1e:5793)
|
|||
call Func_79820
|
||||
call Func_79aae
|
||||
pop af
|
||||
ld [$cfd9], a
|
||||
ld [wcfd9], a
|
||||
.asm_797d3
|
||||
ld b, $1
|
||||
jp GoPAL_SET
|
||||
|
@ -2168,13 +2168,13 @@ AnimationHideEnemyMonPic: ; 797d8 (1e:57d8)
|
|||
Func_797e8: ; 797e8 (1e:57e8)
|
||||
push bc
|
||||
push de
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
call LoadAnimationTileset
|
||||
pop de
|
||||
pop bc
|
||||
xor a
|
||||
ld e, a
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld hl, wOAMBuffer
|
||||
.asm_797fa
|
||||
call Func_79329
|
||||
|
@ -2294,25 +2294,25 @@ Func_7986f: ; 7986f (1e:586f)
|
|||
ld a,[W_PLAYERMONID] ; get number of current monster
|
||||
jr .Continue
|
||||
.next
|
||||
ld a,[$CFE5]
|
||||
ld a,[wcfe5]
|
||||
.Continue
|
||||
push hl
|
||||
call GetCryData
|
||||
ld b,a
|
||||
pop hl
|
||||
ld a,[$C0F1]
|
||||
ld a,[wc0f1]
|
||||
add [hl]
|
||||
ld [$C0F1],a
|
||||
ld [wc0f1],a
|
||||
inc hl
|
||||
ld a,[$C0F2]
|
||||
ld a,[wc0f2]
|
||||
add [hl]
|
||||
ld [$C0F2],a
|
||||
ld [wc0f2],a
|
||||
jr .done
|
||||
.NotCryMove
|
||||
ld a,[hli]
|
||||
ld [$C0F1],a
|
||||
ld [wc0f1],a
|
||||
ld a,[hli]
|
||||
ld [$C0F2],a
|
||||
ld [wc0f2],a
|
||||
.done
|
||||
ld a,b
|
||||
ret
|
||||
|
@ -2510,7 +2510,7 @@ Func_79aae: ; 79aae (1e:5aae)
|
|||
|
||||
Func_79aba: ; 79aba (1e:5aba)
|
||||
call GetPredefRegisters
|
||||
ld a, [$cd6c]
|
||||
ld a, [wcd6c]
|
||||
and a
|
||||
jr nz, .asm_79ac8
|
||||
ld de, Unknown_79b02 ; $5b02
|
||||
|
@ -2599,7 +2599,7 @@ AnimationLeavesFalling: ; 79c74 (1e:5c74)
|
|||
; in Razor Leaf's animation.
|
||||
ld a, [$ff48]
|
||||
push af
|
||||
ld a, [$cc79]
|
||||
ld a, [wcc79]
|
||||
ld [$ff48], a
|
||||
ld d, $37
|
||||
ld a, $3
|
||||
|
@ -2636,7 +2636,7 @@ Func_79c97: ; 79c97 (1e:5c97)
|
|||
push hl
|
||||
push de
|
||||
ld a, [hl]
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
call Func_79d16
|
||||
call Func_79cdb
|
||||
pop de
|
||||
|
@ -2645,7 +2645,7 @@ Func_79c97: ; 79c97 (1e:5c97)
|
|||
ld e, l
|
||||
ld d, h
|
||||
pop hl
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
ld [hli], a
|
||||
pop bc
|
||||
dec c
|
||||
|
@ -2668,7 +2668,7 @@ Func_79cdb: ; 79cdb (1e:5cdb)
|
|||
ld a, $a0
|
||||
.asm_79ce8
|
||||
ld [hli], a
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
ld b, a
|
||||
ld de, Unknown_79d0d
|
||||
and $7f
|
||||
|
@ -2702,7 +2702,7 @@ Unknown_79d0d: ; 79d0d (1e:5d0d)
|
|||
db $00,$01,$03,$05,$07,$09,$0B,$0D,$0F
|
||||
|
||||
Func_79d16: ; 79d16 (1e:5d16)
|
||||
ld a, [$d08a]
|
||||
ld a, [wd08a]
|
||||
inc a
|
||||
ld b, a
|
||||
and $7f
|
||||
|
@ -2712,11 +2712,11 @@ Func_79d16: ; 79d16 (1e:5d16)
|
|||
and $80
|
||||
xor $80
|
||||
.asm_79d26
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ret
|
||||
|
||||
Func_79d2a: ; 79d2a (1e:5d2a)
|
||||
ld hl, $c301
|
||||
ld hl, wOAMBuffer + $01
|
||||
ld de, Unknown_79d3e
|
||||
ld a, [W_SUBANIMTRANSFORM]
|
||||
ld c, a
|
||||
|
@ -2830,7 +2830,7 @@ TossBallAnimation: ; 79e16 (1e:5e16)
|
|||
ld a,[W_ISINBATTLE]
|
||||
cp a,2
|
||||
jr z,.BlockBall ; if in trainer battle, play different animation
|
||||
ld a,[$D11E]
|
||||
ld a,[wd11e]
|
||||
ld b,a
|
||||
|
||||
; upper nybble: how many animations (from PokeBallAnimations) to play
|
||||
|
@ -2843,11 +2843,11 @@ TossBallAnimation: ; 79e16 (1e:5e16)
|
|||
; store these for later
|
||||
ld a,b
|
||||
and a,$F
|
||||
ld [$CD3D],a
|
||||
ld [wWhichTrade],a
|
||||
|
||||
ld hl,.PokeBallAnimations
|
||||
; choose which toss animation to use
|
||||
ld a,[$CF91]
|
||||
ld a,[wcf91]
|
||||
cp a,POKE_BALL
|
||||
ld b,TOSS_ANIM
|
||||
jr z,.done
|
||||
|
@ -2885,7 +2885,7 @@ TossBallAnimation: ; 79e16 (1e:5e16)
|
|||
|
||||
Func_79e6a: ; 79e6a (1e:5e6a)
|
||||
call WaitForSoundToFinish
|
||||
ld a, [$d05b]
|
||||
ld a, [wd05b]
|
||||
and $7f
|
||||
ret z
|
||||
cp $a
|
||||
|
@ -2901,8 +2901,8 @@ Func_79e6a: ; 79e6a (1e:5e6a)
|
|||
ld b, $1
|
||||
ld c, (SFX_08_51 - SFX_Headers_08) / 3
|
||||
.asm_79e8b
|
||||
ld [$c0f1], a
|
||||
ld [wc0f1], a
|
||||
ld a, b
|
||||
ld [$c0f2], a
|
||||
ld [wc0f2], a
|
||||
ld a, c
|
||||
jp PlaySound
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
DisplayEffectiveness: ; 2fb7b (b:7b7b)
|
||||
ld a, [$D05B]
|
||||
ld a, [wd05b]
|
||||
and a, $7F
|
||||
cp a, $0A
|
||||
ret z
|
||||
|
|
|
@ -86,13 +86,13 @@ DuplicateBitsTable: ; 2fea8 (b:7ea8)
|
|||
|
||||
PayDayEffect_ ; 2feb8 (b:7eb8)
|
||||
xor a
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
ld [hli], a
|
||||
ld a, [$fff3]
|
||||
and a
|
||||
ld a, [$d022]
|
||||
ld a, [W_PLAYERMONLEVEL]
|
||||
jr z, .asm_2fec8 ; 0x2fec3 $3
|
||||
ld a, [$cff3]
|
||||
ld a, [W_ENEMYMONLEVEL]
|
||||
.asm_2fec8
|
||||
add a
|
||||
ld [$ff98], a
|
||||
|
@ -118,7 +118,7 @@ PayDayEffect_ ; 2feb8 (b:7eb8)
|
|||
ld a, [$ff99]
|
||||
add b
|
||||
ld [hl], a
|
||||
ld de, $cce7
|
||||
ld de, wcce7
|
||||
ld c, $3
|
||||
ld a, $b ; AddBCDPredef
|
||||
call Predef
|
||||
|
|
|
@ -21,19 +21,19 @@ ShroudedInMistText: ; 33f52 (c:7f52)
|
|||
db "@"
|
||||
|
||||
OneHitKOEffect_: ; 33f57 (c:7f57)
|
||||
ld hl, W_DAMAGE ; $d0d7
|
||||
ld hl, W_DAMAGE ; W_DAMAGE
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], a ; set the damage output to zero
|
||||
dec a
|
||||
ld [$d05e], a
|
||||
ld hl, $d02a
|
||||
ld de, $cffb
|
||||
ld [wd05e], a
|
||||
ld hl, W_PLAYERMONSPEED + 1
|
||||
ld de, W_ENEMYMONSPEED + 1
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_33f72
|
||||
ld hl, $cffb
|
||||
ld de, $d02a
|
||||
ld hl, W_ENEMYMONSPEED + 1
|
||||
ld de, W_PLAYERMONSPEED + 1
|
||||
.asm_33f72
|
||||
ld a, [de]
|
||||
dec de
|
||||
|
@ -45,14 +45,14 @@ OneHitKOEffect_: ; 33f57 (c:7f57)
|
|||
ld a, [hl]
|
||||
sbc b
|
||||
jr c, .asm_33f8a
|
||||
ld hl, W_DAMAGE ; $d0d7
|
||||
ld hl, W_DAMAGE ; W_DAMAGE
|
||||
ld a, $ff
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld a, $2
|
||||
ld [$d05e], a
|
||||
ld [wd05e], a
|
||||
ret
|
||||
.asm_33f8a
|
||||
ld a, $1
|
||||
ld [W_MOVEMISSED], a ; $d05f
|
||||
ld [W_MOVEMISSED], a ; W_MOVEMISSED
|
||||
ret
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,25 +1,25 @@
|
|||
Func_372d6: ; 372d6 (d:72d6)
|
||||
call LoadTextBoxTilePatterns
|
||||
FuncCoord 3, 4 ; $c3f3
|
||||
FuncCoord 3, 4
|
||||
ld hl, Coord
|
||||
ld b, $7
|
||||
ld c, $c
|
||||
call TextBoxBorder
|
||||
FuncCoord 4, 5 ; $c408
|
||||
FuncCoord 4, 5
|
||||
ld hl, Coord
|
||||
ld de, W_PLAYERNAME ; $d158
|
||||
ld de, W_PLAYERNAME ; wd158
|
||||
call PlaceString
|
||||
FuncCoord 4, 10 ; $c46c
|
||||
FuncCoord 4, 10
|
||||
ld hl, Coord
|
||||
ld de, W_GRASSRATE ; $d887
|
||||
ld de, W_GRASSRATE ; W_GRASSRATE
|
||||
call PlaceString
|
||||
FuncCoord 9, 8 ; $c449
|
||||
FuncCoord 9, 8
|
||||
ld hl, Coord
|
||||
ld a, $69
|
||||
ld [hli], a
|
||||
ld [hl], $6a
|
||||
xor a
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
callab SetupPlayerAndEnemyPokeballs
|
||||
ld c, $96
|
||||
jp DelayFrames
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
Func_39680: ; 39680 (e:5680)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, [$d060]
|
||||
ld hl, $d026
|
||||
ld a, [wd060]
|
||||
ld hl, W_PLAYERMONATK + 1
|
||||
jr z, .asm_39691
|
||||
ld a, [$d065]
|
||||
ld hl, $cff7
|
||||
ld a, [wd065]
|
||||
ld hl, W_ENEMYMONATTACK + 1
|
||||
.asm_39691
|
||||
ld c, $4
|
||||
ld b, a
|
||||
|
@ -30,10 +30,10 @@ Func_3969f: ; 3969f (e:569f)
|
|||
Func_396a7: ; 396a7 (e:56a7)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld a, [$d061]
|
||||
ld a, [wd061]
|
||||
ld hl, W_PLAYERMONATK
|
||||
jr z, .asm_396b8
|
||||
ld a, [$d066]
|
||||
ld a, [wd066]
|
||||
ld hl, W_ENEMYMONATTACK
|
||||
.asm_396b8
|
||||
ld c, $4
|
||||
|
@ -67,7 +67,7 @@ _ScrollTrainerPicAfterBattle: ; 396d3 (e:56d3)
|
|||
ld b, $1
|
||||
call GoPAL_SET
|
||||
callab _LoadTrainerPic
|
||||
FuncCoord 19, 0 ; $c3b3
|
||||
FuncCoord 19, 0
|
||||
ld hl, Coord
|
||||
ld c, $0
|
||||
.asm_396e9
|
||||
|
@ -114,7 +114,7 @@ Func_39707: ; 39707 (e:5707)
|
|||
; unused slots are filled with 0, all used slots may be chosen with equal probability
|
||||
AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
||||
ld a, $a
|
||||
ld hl, $cee9 ; init temporary move selection array. Only the moves with the lowest numbers are chosen in the end
|
||||
ld hl, wHPBarMaxHP ; init temporary move selection array. Only the moves with the lowest numbers are chosen in the end
|
||||
ld [hli], a ; move 1
|
||||
ld [hli], a ; move 2
|
||||
ld [hli], a ; move 3
|
||||
|
@ -123,7 +123,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
swap a
|
||||
and $f
|
||||
jr z, .noMoveDisabled
|
||||
ld hl, $cee9
|
||||
ld hl, wHPBarMaxHP
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $0
|
||||
|
@ -165,7 +165,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
push de
|
||||
jp [hl] ; execute modification function
|
||||
.loopFindMinimumEntries ; all entries will be decremented sequentially until one of them is zero
|
||||
ld hl, $cee9 ; temp move selection array
|
||||
ld hl, wHPBarMaxHP ; temp move selection array
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld c, $4
|
||||
.loopDecrementEntries
|
||||
|
@ -187,7 +187,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
inc a
|
||||
cp $5
|
||||
jr nz, .loopUndoPartialIteration
|
||||
ld hl, $cee9 ; temp move selection array
|
||||
ld hl, wHPBarMaxHP ; temp move selection array
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld c, $4
|
||||
.filterMinimalEntries ; all minimal entries now have value 1. All other slots will be disabled (move set to 0)
|
||||
|
@ -209,7 +209,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
inc de
|
||||
dec c
|
||||
jr nz, .filterMinimalEntries
|
||||
ld hl, $cee9 ; use created temporary array as move set
|
||||
ld hl, wHPBarMaxHP ; use created temporary array as move set
|
||||
ret
|
||||
.useOriginalMoveSet
|
||||
ld hl, W_ENEMYMONMOVES ; use original move set
|
||||
|
@ -226,7 +226,7 @@ AIMoveChoiceModification1: ; 397ab (e:57ab)
|
|||
ld a, [W_PLAYERMONSTATUS]
|
||||
and a
|
||||
ret z ; return if no status ailment on player's mon
|
||||
ld hl, $cee8 ; temp move selection array (-1 byte offest)
|
||||
ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest)
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld b, $5
|
||||
.nextMove
|
||||
|
@ -266,10 +266,10 @@ StatusAilmentMoveEffects ; 57e2
|
|||
|
||||
; slightly encourage moves with specific effects
|
||||
AIMoveChoiceModification2: ; 397e7 (e:57e7)
|
||||
ld a, [$ccd5]
|
||||
ld a, [wccd5]
|
||||
cp $1
|
||||
ret nz
|
||||
ld hl, $cee8 ; temp move selection array (-1 byte offest)
|
||||
ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest)
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld b, $5
|
||||
.nextMove
|
||||
|
@ -297,7 +297,7 @@ AIMoveChoiceModification2: ; 397e7 (e:57e7)
|
|||
|
||||
; encourages moves that are effective against the player's mon
|
||||
AIMoveChoiceModification3: ; 39817 (e:5817)
|
||||
ld hl, $cee8 ; temp move selection array (-1 byte offest)
|
||||
ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest)
|
||||
ld de, W_ENEMYMONMOVES ; enemy moves
|
||||
ld b, $5
|
||||
.nextMove
|
||||
|
@ -316,7 +316,7 @@ AIMoveChoiceModification3: ; 39817 (e:5817)
|
|||
pop de
|
||||
pop bc
|
||||
pop hl
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
cp $10
|
||||
jr z, .nextMove
|
||||
jr c, .notEffectiveMove
|
||||
|
@ -374,7 +374,7 @@ ReadMove: ; 39884 (e:5884)
|
|||
ld hl,Moves
|
||||
ld bc,6
|
||||
call AddNTimes
|
||||
ld de,$CFCC
|
||||
ld de,W_ENEMYMOVENUM
|
||||
call CopyData
|
||||
pop bc
|
||||
pop de
|
||||
|
@ -579,21 +579,21 @@ TrainerPicAndMoneyPointers: ; 39914 (e:5914)
|
|||
INCLUDE "text/trainer_names.asm"
|
||||
|
||||
Func_39b87: ; 39b87 (e:5b87)
|
||||
ld hl, $d0dc
|
||||
ld de, $d0e1
|
||||
ld hl, wd0dc
|
||||
ld de, wd0e1
|
||||
ld b, $0
|
||||
.asm_39b8f
|
||||
ld a, [hli]
|
||||
and a
|
||||
jr z, .asm_39bc1
|
||||
push hl
|
||||
ld [$d0b5], a
|
||||
ld [wd0b5], a
|
||||
ld a, $2c
|
||||
ld [$d0b7], a
|
||||
ld [wPredefBank], a
|
||||
ld a, MOVE_NAME
|
||||
ld [W_LISTTYPE], a
|
||||
call GetName
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
.asm_39ba7
|
||||
ld a, [hli]
|
||||
cp $50
|
||||
|
@ -603,7 +603,7 @@ Func_39b87: ; 39b87 (e:5b87)
|
|||
jr .asm_39ba7
|
||||
.asm_39bb0
|
||||
ld a, b
|
||||
ld [$cd6c], a
|
||||
ld [wcd6c], a
|
||||
inc b
|
||||
ld a, $4e
|
||||
ld [de], a
|
||||
|
@ -631,71 +631,71 @@ Func_39b87: ; 39b87 (e:5b87)
|
|||
ret
|
||||
|
||||
Func_39bd5: ; 39bd5 (e:5bd5)
|
||||
ld a, [$d11b]
|
||||
ld a, [wd11b]
|
||||
cp $1
|
||||
jr nz, .asm_39be6
|
||||
ld hl, wEnemyPartyCount ; $d89c
|
||||
ld de, W_ENEMYMON1OT ; $d9ac OT names of other player
|
||||
ld hl, wEnemyPartyCount ; wEnemyPartyCount
|
||||
ld de, W_ENEMYMON1OT ; wd9ac OT names of other player
|
||||
ld a, $6
|
||||
jr .asm_39c18
|
||||
.asm_39be6
|
||||
cp $4
|
||||
jr nz, .calcAttackStat4
|
||||
ld hl, W_NUMINPARTY ; $d163
|
||||
ld de, W_PARTYMON1OT ; $d273
|
||||
ld hl, W_NUMINPARTY ; W_NUMINPARTY
|
||||
ld de, W_PARTYMON1OT ; wd273
|
||||
ld a, $5
|
||||
jr .asm_39c18
|
||||
.calcAttackStat4
|
||||
cp $5
|
||||
jr nz, .asm_39c02
|
||||
ld hl, $cf7b
|
||||
ld hl, wStringBuffer2 + 11
|
||||
ld de, MonsterNames ; $421e
|
||||
ld a, $1
|
||||
jr .asm_39c18
|
||||
.asm_39c02
|
||||
cp $2
|
||||
jr nz, .asm_39c10
|
||||
ld hl, wNumBagItems ; $d31d
|
||||
ld hl, wNumBagItems ; wNumBagItems
|
||||
ld de, ItemNames ; $472b
|
||||
ld a, $4
|
||||
jr .asm_39c18
|
||||
.asm_39c10
|
||||
ld hl, $cf7b
|
||||
ld hl, wStringBuffer2 + 11
|
||||
ld de, ItemNames ; $472b
|
||||
ld a, ITEM_NAME
|
||||
.asm_39c18
|
||||
ld [W_LISTTYPE], a
|
||||
ld a, l
|
||||
ld [$cf8b], a
|
||||
ld [wcf8b], a
|
||||
ld a, h
|
||||
ld [$cf8c], a
|
||||
ld [wcf8c], a
|
||||
ld a, e
|
||||
ld [$cf8d], a
|
||||
ld [wcf8d], a
|
||||
ld a, d
|
||||
ld [$cf8e], a
|
||||
ld [wcf8e], a
|
||||
ld bc, ItemPrices ; $4608
|
||||
ld a, c
|
||||
ld [$cf8f], a
|
||||
ld [wcf8f], a
|
||||
ld a, b
|
||||
ld [$cf90], a
|
||||
ld [wcf90], a
|
||||
ret
|
||||
|
||||
Func_39c37: ; 39c37 (e:5c37)
|
||||
ld hl, W_PARTYMON1 ; $d164
|
||||
ld a, [$cc49]
|
||||
ld hl, W_PARTYMON1 ; W_PARTYMON1
|
||||
ld a, [wcc49]
|
||||
and a
|
||||
jr z, .asm_39c4b
|
||||
dec a
|
||||
jr z, .asm_39c48
|
||||
ld hl, $da81
|
||||
ld hl, wda81
|
||||
jr .asm_39c4b
|
||||
.asm_39c48
|
||||
ld hl, $d89d
|
||||
ld hl, wEnemyPartyMons
|
||||
.asm_39c4b
|
||||
ld d, $0
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
ret
|
||||
|
||||
ReadTrainer: ; 39c53 (e:5c53)
|
||||
|
@ -705,7 +705,7 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
and a
|
||||
ret nz
|
||||
|
||||
; set [wEnemyPartyCount] to 0, [$D89D] to FF
|
||||
; set [wEnemyPartyCount] to 0, [wEnemyPartyMons] to FF
|
||||
; XXX first is total enemy pokemon?
|
||||
; XXX second is species of first pokemon?
|
||||
ld hl,wEnemyPartyCount
|
||||
|
@ -754,9 +754,9 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
ld a,[hli]
|
||||
and a ; have we reached the end of the trainer data?
|
||||
jr z,.FinishUp
|
||||
ld [$CF91],a ; write species somewhere (XXX why?)
|
||||
ld [wcf91],a ; write species somewhere (XXX why?)
|
||||
ld a,1
|
||||
ld [$CC49],a
|
||||
ld [wcc49],a
|
||||
push hl
|
||||
call AddPokemonToParty
|
||||
pop hl
|
||||
|
@ -771,9 +771,9 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
jr z,.AddLoneMove
|
||||
ld [W_CURENEMYLVL],a
|
||||
ld a,[hli]
|
||||
ld [$CF91],a
|
||||
ld [wcf91],a
|
||||
ld a,1
|
||||
ld [$CC49],a
|
||||
ld [wcc49],a
|
||||
push hl
|
||||
call AddPokemonToParty
|
||||
pop hl
|
||||
|
@ -821,7 +821,7 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
jr .FinishUp ; nope
|
||||
.GiveTeamMoves
|
||||
ld a,[hl]
|
||||
ld [$D95E],a
|
||||
ld [W_ENEMYMON5MOVE3],a
|
||||
jr .FinishUp
|
||||
.ChampionRival ; give moves to his team
|
||||
|
||||
|
@ -843,7 +843,7 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
ld [W_ENEMYMON6MOVE3],a
|
||||
.FinishUp ; XXX this needs documenting
|
||||
xor a ; clear D079-D07B
|
||||
ld de,$D079
|
||||
ld de,wd079
|
||||
ld [de],a
|
||||
inc de
|
||||
ld [de],a
|
||||
|
@ -852,7 +852,7 @@ ReadTrainer: ; 39c53 (e:5c53)
|
|||
ld a,[W_CURENEMYLVL]
|
||||
ld b,a
|
||||
.LastLoop
|
||||
ld hl,$D047
|
||||
ld hl,wd047
|
||||
ld c,2
|
||||
push bc
|
||||
ld a,$B
|
||||
|
@ -1092,21 +1092,21 @@ Func_3a69b: ; 3a69b (e:669b)
|
|||
AIUseFullRestore: ; 3a6a0 (e:66a0)
|
||||
call AICureStatus
|
||||
ld a,FULL_RESTORE
|
||||
ld [$CF05],a
|
||||
ld [wcf05],a
|
||||
ld de,wHPBarOldHP
|
||||
ld hl,$CFE7
|
||||
ld hl,W_ENEMYMONCURHP + 1
|
||||
ld a,[hld]
|
||||
ld [de],a
|
||||
inc de
|
||||
ld a,[hl]
|
||||
ld [de],a
|
||||
inc de
|
||||
ld hl,$CFF5
|
||||
ld hl,W_ENEMYMONMAXHP + 1
|
||||
ld a,[hld]
|
||||
ld [de],a
|
||||
inc de
|
||||
ld [wHPBarMaxHP],a
|
||||
ld [$CFE7],a
|
||||
ld [W_ENEMYMONCURHP + 1],a
|
||||
ld a,[hl]
|
||||
ld [de],a
|
||||
ld [wHPBarMaxHP+1],a
|
||||
|
@ -1133,8 +1133,8 @@ AIUseHyperPotion: ; 3a6d6 (e:66d6)
|
|||
|
||||
AIRecoverHP: ; 3a6da (e:66da)
|
||||
; heal b HP and print "trainer used $(a) on pokemon!"
|
||||
ld [$CF05],a
|
||||
ld hl,$CFE7
|
||||
ld [wcf05],a
|
||||
ld hl,W_ENEMYMONCURHP + 1
|
||||
ld a,[hl]
|
||||
ld [wHPBarOldHP],a
|
||||
add b
|
||||
|
@ -1151,7 +1151,7 @@ AIRecoverHP: ; 3a6da (e:66da)
|
|||
inc hl
|
||||
ld a,[hld]
|
||||
ld b,a
|
||||
ld de,$CFF5
|
||||
ld de,W_ENEMYMONMAXHP + 1
|
||||
ld a,[de]
|
||||
dec de
|
||||
ld [wHPBarMaxHP],a
|
||||
|
@ -1174,10 +1174,10 @@ AIRecoverHP: ; 3a6da (e:66da)
|
|||
|
||||
Func_3a718: ; 3a718 (e:6718)
|
||||
call AIPrintItemUse_
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl,Coord
|
||||
xor a
|
||||
ld [$CF94],a
|
||||
ld [wListMenuID],a
|
||||
ld a,$48
|
||||
call Predef
|
||||
jp DecrementAICount
|
||||
|
@ -1229,10 +1229,10 @@ Func_3a74b: ; 3a74b (e:674b)
|
|||
call PrintText
|
||||
|
||||
ld a,1
|
||||
ld [$D11D],a
|
||||
ld [wd11d],a
|
||||
callab EnemySendOut
|
||||
xor a
|
||||
ld [$D11D],a
|
||||
ld [wd11d],a
|
||||
|
||||
ld a,[W_ISLINKBATTLE]
|
||||
cp 4
|
||||
|
@ -1253,40 +1253,40 @@ AIUseFullHeal: ; 3a786 (e:6786)
|
|||
AICureStatus: ; 3a791 (e:6791)
|
||||
; cures the status of enemy's active pokemon
|
||||
ld a,[W_ENEMYMONNUMBER]
|
||||
ld hl,$D8A8
|
||||
ld hl,wd8a8
|
||||
ld bc,$2C
|
||||
call AddNTimes
|
||||
xor a
|
||||
ld [hl],a ; clear status in enemy team roster
|
||||
ld [W_ENEMYMONSTATUS],a ; clear status of active enemy
|
||||
ld hl,$D069
|
||||
ld hl,W_ENEMYBATTSTATUS3
|
||||
res 0,[hl]
|
||||
ret
|
||||
|
||||
AIUseXAccuracy: ; 0x3a7a8 unused
|
||||
call Func_3a69b
|
||||
ld hl,$D068
|
||||
ld hl,W_ENEMYBATTSTATUS2
|
||||
set 0,[hl]
|
||||
ld a,X_ACCURACY
|
||||
jp AIPrintItemUse
|
||||
|
||||
AIUseGuardSpec: ; 3a7b5 (e:67b5)
|
||||
call Func_3a69b
|
||||
ld hl,$D068
|
||||
ld hl,W_ENEMYBATTSTATUS2
|
||||
set 1,[hl]
|
||||
ld a,GUARD_SPEC_
|
||||
jp AIPrintItemUse
|
||||
|
||||
AIUseDireHit: ; 0x3a7c2 unused
|
||||
call Func_3a69b
|
||||
ld hl,$D068
|
||||
ld hl,W_ENEMYBATTSTATUS2
|
||||
set 2,[hl]
|
||||
ld a,DIRE_HIT
|
||||
jp AIPrintItemUse
|
||||
|
||||
Func_3a7cf: ; 3a7cf (e:67cf)
|
||||
ld [H_DIVISOR],a
|
||||
ld hl,$CFF4
|
||||
ld hl,W_ENEMYMONMAXHP
|
||||
ld a,[hli]
|
||||
ld [H_DIVIDEND],a
|
||||
ld a,[hl]
|
||||
|
@ -1297,7 +1297,7 @@ Func_3a7cf: ; 3a7cf (e:67cf)
|
|||
ld c,a
|
||||
ld a,[H_QUOTIENT + 2]
|
||||
ld b,a
|
||||
ld hl,$CFE7
|
||||
ld hl,W_ENEMYMONCURHP + 1
|
||||
ld a,[hld]
|
||||
ld e,a
|
||||
ld a,[hl]
|
||||
|
@ -1330,11 +1330,11 @@ AIUseXSpecial: ; 3a804 (e:6804)
|
|||
; fallthrough
|
||||
|
||||
AIIncreaseStat: ; 3a808 (e:6808)
|
||||
ld [$CF05],a
|
||||
ld [wcf05],a
|
||||
push bc
|
||||
call AIPrintItemUse_
|
||||
pop bc
|
||||
ld hl,$CFCD
|
||||
ld hl,W_ENEMYMOVEEFFECT
|
||||
ld a,[hld]
|
||||
push af
|
||||
ld a,[hl]
|
||||
|
@ -1352,14 +1352,14 @@ AIIncreaseStat: ; 3a808 (e:6808)
|
|||
jp DecrementAICount
|
||||
|
||||
AIPrintItemUse: ; 3a82c (e:682c)
|
||||
ld [$CF05],a
|
||||
ld [wcf05],a
|
||||
call AIPrintItemUse_
|
||||
jp DecrementAICount
|
||||
|
||||
AIPrintItemUse_: ; 3a835 (e:6835)
|
||||
; print "x used [$CF05] on z!"
|
||||
ld a,[$CF05]
|
||||
ld [$D11E],a
|
||||
; print "x used [wcf05] on z!"
|
||||
ld a,[wcf05]
|
||||
ld [wd11e],a
|
||||
call GetItemName
|
||||
ld hl, AIBattleUseItemText
|
||||
jp PrintText
|
||||
|
@ -1371,7 +1371,7 @@ AIBattleUseItemText: ; 3a844 (e:6844)
|
|||
DrawAllPokeballs: ; 3a849 (e:6849)
|
||||
call LoadPartyPokeballGfx
|
||||
call SetupOwnPartyPokeballs
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
dec a
|
||||
ret z ; return if wild pokémon
|
||||
jp SetupEnemyPartyPokeballs
|
||||
|
@ -1389,29 +1389,29 @@ LoadPartyPokeballGfx: ; 3a85d (e:685d)
|
|||
SetupOwnPartyPokeballs: ; 3a869 (e:6869)
|
||||
call PlacePlayerHUDTiles
|
||||
ld hl, W_PARTYMON1DATA
|
||||
ld de, W_NUMINPARTY ; $d163
|
||||
ld de, W_NUMINPARTY ; W_NUMINPARTY
|
||||
call SetupPokeballs
|
||||
ld a, $60
|
||||
ld hl, W_BASECOORDX ; $d081
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld a, $8
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld hl, wOAMBuffer
|
||||
jp Func_3a8e1
|
||||
|
||||
SetupEnemyPartyPokeballs: ; 3a887 (e:6887)
|
||||
call PlaceEnemyHUDTiles
|
||||
ld hl, wEnemyMons
|
||||
ld de, wEnemyPartyCount ; $d89c
|
||||
ld de, wEnemyPartyCount ; wEnemyPartyCount
|
||||
call SetupPokeballs
|
||||
ld hl, W_BASECOORDX ; $d081
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld a, $48
|
||||
ld [hli], a
|
||||
ld [hl], $20
|
||||
ld a, $f8
|
||||
ld [$cd3e], a
|
||||
ld hl, $c318
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld hl, wOAMBuffer + $18
|
||||
jp Func_3a8e1
|
||||
|
||||
SetupPokeballs: ; 0x3a8a6
|
||||
|
@ -1465,22 +1465,22 @@ PickPokeball: ; 3a8c2 (e:68c2)
|
|||
ret
|
||||
|
||||
Func_3a8e1: ; 3a8e1 (e:68e1)
|
||||
ld de, $cee9
|
||||
ld de, wHPBarMaxHP
|
||||
ld c, $6
|
||||
.asm_3a8e6
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld [hli], a
|
||||
ld a, [de]
|
||||
ld [hli], a
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld b, a
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
add b
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
inc de
|
||||
dec c
|
||||
jr nz, .asm_3a8e6
|
||||
|
@ -1488,10 +1488,10 @@ Func_3a8e1: ; 3a8e1 (e:68e1)
|
|||
|
||||
PlacePlayerHUDTiles: ; 3a902 (e:6902)
|
||||
ld hl, PlayerBattleHUDGraphicsTiles ; $6916
|
||||
ld de, $cd3f
|
||||
ld de, wTrainerFacingDirection
|
||||
ld bc, $3
|
||||
call CopyData
|
||||
FuncCoord 18, 10 ; $c47a
|
||||
FuncCoord 18, 10
|
||||
ld hl, Coord
|
||||
ld de, rIE ; $ffff
|
||||
jr PlaceHUDTiles
|
||||
|
@ -1504,10 +1504,10 @@ PlayerBattleHUDGraphicsTiles: ; 3a916 (e:6916)
|
|||
|
||||
PlaceEnemyHUDTiles: ; 3a919 (e:6919)
|
||||
ld hl, EnemyBattleHUDGraphicsTiles ; $692d
|
||||
ld de, $cd3f
|
||||
ld de, wTrainerFacingDirection
|
||||
ld bc, $3
|
||||
call CopyData
|
||||
FuncCoord 1, 2 ; $c3c9
|
||||
FuncCoord 1, 2
|
||||
ld hl, Coord
|
||||
ld de, $1
|
||||
jr PlaceHUDTiles
|
||||
|
@ -1522,7 +1522,7 @@ PlaceHUDTiles: ; 3a930 (e:6930)
|
|||
ld [hl], $73
|
||||
ld bc, $14
|
||||
add hl, bc
|
||||
ld a, [$cd40]
|
||||
ld a, [wTrainerScreenY]
|
||||
ld [hl], a
|
||||
ld a, $8
|
||||
.asm_3a93c
|
||||
|
@ -1531,33 +1531,33 @@ PlaceHUDTiles: ; 3a930 (e:6930)
|
|||
dec a
|
||||
jr nz, .asm_3a93c
|
||||
add hl, de
|
||||
ld a, [$cd41]
|
||||
ld a, [wTrainerScreenX]
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948)
|
||||
call LoadPartyPokeballGfx
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld de, W_NUMINPARTY ; $d163
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
ld de, W_NUMINPARTY ; W_NUMINPARTY
|
||||
call SetupPokeballs
|
||||
ld hl, W_BASECOORDX ; $d081
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld a, $50
|
||||
ld [hli], a
|
||||
ld [hl], $40
|
||||
ld a, $8
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld hl, wOAMBuffer
|
||||
call Func_3a8e1
|
||||
ld hl, wEnemyMons ; $d8a4
|
||||
ld de, wEnemyPartyCount ; $d89c
|
||||
ld hl, wEnemyMons ; wEnemyMon1Species
|
||||
ld de, wEnemyPartyCount ; wEnemyPartyCount
|
||||
call SetupPokeballs
|
||||
ld hl, W_BASECOORDX ; $d081
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld a, $50
|
||||
ld [hli], a
|
||||
ld [hl], $68
|
||||
ld hl, $c318
|
||||
ld hl, wOAMBuffer + $18
|
||||
jp Func_3a8e1
|
||||
|
||||
; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (faited) and pokeball slot (no mon)
|
||||
PokeballTileGraphics:: ; 3a97e (e:697e)
|
||||
INCBIN "gfx/pokeball.2bpp"
|
||||
INCBIN "gfx/pokeball.2bpp"
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
HealEffect_: ; 3b9ec (e:79ec)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
ld de, W_PLAYERMONCURHP ; $d015
|
||||
ld hl, W_PLAYERMONMAXHP ; $d023
|
||||
ld a, [W_PLAYERMOVENUM] ; $cfd2
|
||||
ld de, W_PLAYERMONCURHP ; wd015
|
||||
ld hl, W_PLAYERMONMAXHP ; wd023
|
||||
ld a, [W_PLAYERMOVENUM] ; wcfd2
|
||||
jr z, .asm_3ba03
|
||||
ld de, W_ENEMYMONCURHP ; $cfe6
|
||||
ld hl, W_ENEMYMONMAXHP ; $cff4
|
||||
ld a, [W_ENEMYMOVENUM] ; $cfcc
|
||||
ld de, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
|
||||
ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
|
||||
ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
|
||||
.asm_3ba03
|
||||
ld b, a
|
||||
ld a, [de]
|
||||
|
@ -25,11 +25,11 @@ HealEffect_: ; 3b9ec (e:79ec)
|
|||
push af
|
||||
ld c, $32
|
||||
call DelayFrames
|
||||
ld hl, W_PLAYERMONSTATUS ; $d018
|
||||
ld hl, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_3ba25
|
||||
ld hl, W_ENEMYMONSTATUS ; $cfe9
|
||||
ld hl, W_ENEMYMONSTATUS ; wcfe9
|
||||
.asm_3ba25
|
||||
ld a, [hl]
|
||||
and a
|
||||
|
@ -85,15 +85,15 @@ HealEffect_: ; 3b9ec (e:79ec)
|
|||
call BankswitchEtoF
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
FuncCoord 10, 9 ; $c45e
|
||||
FuncCoord 10, 9
|
||||
ld hl, Coord
|
||||
ld a, $1
|
||||
jr z, .asm_3ba83
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
xor a
|
||||
.asm_3ba83
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
ld a, $48
|
||||
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
|
||||
ld hl, Func_3cd5a ; $4d5a
|
||||
|
@ -121,35 +121,35 @@ RegainedHealthText: ; 3baac (e:7aac)
|
|||
|
||||
TransformEffect_: ; 3bab1 (e:7ab1)
|
||||
ld hl, W_PLAYERMONID
|
||||
ld de, $cfe5
|
||||
ld bc, W_ENEMYBATTSTATUS3 ; $d069
|
||||
ld a, [W_ENEMYBATTSTATUS1] ; $d067
|
||||
ld de, wcfe5
|
||||
ld bc, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
|
||||
ld a, [W_ENEMYBATTSTATUS1] ; W_ENEMYBATTSTATUS1
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr nz, .asm_3bad1
|
||||
ld hl, $cfe5
|
||||
ld hl, wcfe5
|
||||
ld de, W_PLAYERMONID
|
||||
ld bc, W_PLAYERBATTSTATUS3 ; $d064
|
||||
ld [wPlayerMoveListIndex], a ; $cc2e
|
||||
ld a, [W_PLAYERBATTSTATUS1] ; $d062
|
||||
ld bc, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
|
||||
ld [wPlayerMoveListIndex], a ; wPlayerMoveListIndex
|
||||
ld a, [W_PLAYERBATTSTATUS1] ; W_PLAYERBATTSTATUS1
|
||||
.asm_3bad1
|
||||
bit 6, a ; is mon invulnerable to typical attacks? (fly/dig)
|
||||
jp nz, Func_3bb8c
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; $d063
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_3bae4
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; $d068
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
|
||||
.asm_3bae4
|
||||
bit 4, [hl]
|
||||
push af
|
||||
ld hl, Func_79747
|
||||
ld b, BANK(Func_79747)
|
||||
call nz, Bankswitch
|
||||
ld a, [W_OPTIONS] ; $d355
|
||||
ld a, [W_OPTIONS] ; W_OPTIONS
|
||||
add a
|
||||
ld hl, Func_3fba8 ; $7ba8
|
||||
ld b, BANK(Func_3fba8)
|
||||
|
@ -185,10 +185,10 @@ TransformEffect_: ; 3bab1 (e:7ab1)
|
|||
and a
|
||||
jr z, .asm_3bb32
|
||||
ld a, [de]
|
||||
ld [$cceb], a
|
||||
ld [wcceb], a
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld [$ccec], a
|
||||
ld [wccec], a
|
||||
dec de
|
||||
.asm_3bb32
|
||||
ld a, [hli]
|
||||
|
@ -227,13 +227,13 @@ TransformEffect_: ; 3bab1 (e:7ab1)
|
|||
.asm_3bb5d
|
||||
pop hl
|
||||
ld a, [hl]
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
ld hl, $cd26
|
||||
ld de, $cd12
|
||||
ld hl, wcd26
|
||||
ld de, wcd12
|
||||
call Func_3bb7d
|
||||
ld hl, wEnemyMonStatMods ; $cd2e
|
||||
ld de, wPlayerMonStatMods ; $cd1a
|
||||
ld hl, wEnemyMonStatMods ; wcd2e
|
||||
ld de, wPlayerMonStatMods ; wcd1a
|
||||
call Func_3bb7d
|
||||
ld hl, TransformedText ; $7b92
|
||||
jp PrintText
|
||||
|
@ -259,13 +259,13 @@ TransformedText: ; 3bb92 (e:7b92)
|
|||
db "@"
|
||||
|
||||
ReflectLightScreenEffect_: ; 3bb97 (e:7b97)
|
||||
ld hl, W_PLAYERBATTSTATUS3 ; $d064
|
||||
ld de, W_PLAYERMOVEEFFECT ; $cfd3
|
||||
ld hl, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
|
||||
ld de, W_PLAYERMOVEEFFECT ; wcfd3
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_3bba8
|
||||
ld hl, W_ENEMYBATTSTATUS3 ; $d069
|
||||
ld de, W_ENEMYMOVEEFFECT ; $cfcd
|
||||
ld hl, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
|
||||
ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
|
||||
.asm_3bba8
|
||||
ld a, [de]
|
||||
cp LIGHT_SCREEN_EFFECT
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PrintSafariZoneBattleText: ; 4277 (1:4277)
|
||||
ld hl, $cce9
|
||||
ld hl, wcce9
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_4284
|
||||
|
@ -15,11 +15,11 @@ PrintSafariZoneBattleText: ; 4277 (1:4277)
|
|||
ld hl, SafariZoneAngryText
|
||||
jr nz, .asm_429f
|
||||
push hl
|
||||
ld a, [$cfe5]
|
||||
ld [$d0b5], a
|
||||
ld a, [wcfe5]
|
||||
ld [wd0b5], a
|
||||
call GetMonHeader
|
||||
ld a, [W_MONHCATCHRATE]
|
||||
ld [$d007], a
|
||||
ld [wd007], a
|
||||
pop hl
|
||||
.asm_429f
|
||||
push hl
|
||||
|
|
|
@ -6,29 +6,29 @@ Func_5317: ; 5317 (1:5317)
|
|||
call LoadFontTilePatterns
|
||||
call LoadHpBarAndStatusTilePatterns
|
||||
call LoadTrainerInfoTextBoxTiles
|
||||
FuncCoord 3, 8 ; $c443
|
||||
FuncCoord 3, 8
|
||||
ld hl, Coord
|
||||
ld b, $2
|
||||
ld c, $c
|
||||
call Func_5ab3
|
||||
FuncCoord 4, 10 ; $c46c
|
||||
FuncCoord 4, 10
|
||||
ld hl, Coord
|
||||
ld de, PleaseWaitString ; $550f
|
||||
call PlaceString
|
||||
ld hl, W_NUMHITS ; $d074
|
||||
ld hl, W_NUMHITS ; wd074
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], $50
|
||||
|
||||
Func_5345: ; 5345
|
||||
ld hl, $d152
|
||||
ld hl, wd152
|
||||
ld a, $fd
|
||||
ld b, $6
|
||||
.asm_534c
|
||||
ld [hli], a
|
||||
dec b
|
||||
jr nz, .asm_534c
|
||||
ld hl, $d141
|
||||
ld hl, wd141
|
||||
ld a, $fd
|
||||
ld b, $7
|
||||
.asm_5357
|
||||
|
@ -54,7 +54,7 @@ Func_5345: ; 5345
|
|||
ld [hli], a
|
||||
dec b
|
||||
jr nz, .asm_5373
|
||||
ld hl, W_GRASSRATE ; $d887
|
||||
ld hl, W_GRASSRATE ; W_GRASSRATE
|
||||
ld bc, $1a9
|
||||
.asm_537d
|
||||
xor a
|
||||
|
@ -63,8 +63,8 @@ Func_5345: ; 5345
|
|||
ld a, b
|
||||
or c
|
||||
jr nz, .asm_537d
|
||||
ld hl, W_PARTYMONEND ; $d16a
|
||||
ld de, $c512
|
||||
ld hl, W_PARTYMONEND
|
||||
ld de, wTileMapBackup + 10
|
||||
ld bc, $0
|
||||
.asm_538d
|
||||
inc c
|
||||
|
@ -114,20 +114,20 @@ Func_5345: ; 5345
|
|||
call Delay3
|
||||
ld a, $8
|
||||
ld [rIE], a ; $ffff
|
||||
ld hl, $d141
|
||||
ld hl, wd141
|
||||
ld de, wTileMapBackup2
|
||||
ld bc, $11
|
||||
call Func_216f
|
||||
ld a, $fe
|
||||
ld [de], a
|
||||
ld hl, $d152
|
||||
ld de, $d893
|
||||
ld hl, wd152
|
||||
ld de, wd893
|
||||
ld bc, $1a8
|
||||
call Func_216f
|
||||
ld a, $fe
|
||||
ld [de], a
|
||||
ld hl, wTileMapBackup
|
||||
ld de, $c5d0
|
||||
ld de, wTileMapBackup + 200
|
||||
ld bc, $c8
|
||||
call Func_216f
|
||||
ld a, $d
|
||||
|
@ -147,7 +147,7 @@ Func_5345: ; 5345
|
|||
cp $fe
|
||||
jr z, .asm_5415
|
||||
dec hl
|
||||
ld de, $d148
|
||||
ld de, wd148
|
||||
ld c, $a
|
||||
.asm_5427
|
||||
ld a, [hli]
|
||||
|
@ -158,7 +158,7 @@ Func_5345: ; 5345
|
|||
dec c
|
||||
jr nz, .asm_5427
|
||||
.asm_5431
|
||||
ld hl, $d896
|
||||
ld hl, wd896
|
||||
.asm_5434
|
||||
ld a, [hli]
|
||||
and a
|
||||
|
@ -168,7 +168,7 @@ Func_5345: ; 5345
|
|||
cp $fe
|
||||
jr z, .asm_5434
|
||||
dec hl
|
||||
ld de, W_GRASSRATE ; $d887
|
||||
ld de, W_GRASSRATE ; W_GRASSRATE
|
||||
ld c, $b
|
||||
.asm_5446
|
||||
ld a, [hli]
|
||||
|
@ -178,7 +178,7 @@ Func_5345: ; 5345
|
|||
inc de
|
||||
dec c
|
||||
jr nz, .asm_5446
|
||||
ld de, wEnemyPartyCount ; $d89c
|
||||
ld de, wEnemyPartyCount ; wEnemyPartyCount
|
||||
ld bc, $194
|
||||
.asm_5456
|
||||
ld a, [hli]
|
||||
|
@ -191,7 +191,7 @@ Func_5345: ; 5345
|
|||
or c
|
||||
jr nz, .asm_5456
|
||||
ld de, wTileMapBackup
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
ld c, $2
|
||||
.asm_546a
|
||||
ld a, [de]
|
||||
|
@ -216,11 +216,11 @@ Func_5345: ; 5345
|
|||
pop hl
|
||||
jr .asm_546a
|
||||
.asm_5489
|
||||
ld hl, W_PARTYMON6DATA + W_PARTYMON1_MOVE4PP - W_PARTYMON1DATA ; $d267
|
||||
ld hl, W_PARTYMON6DATA + W_PARTYMON1_MOVE4PP - W_PARTYMON1DATA ; wd267
|
||||
dec c
|
||||
jr nz, .asm_546a
|
||||
ld de, $c5d0
|
||||
ld hl, W_WATERRATE ; $d8a4
|
||||
ld de, wTileMapBackup + 200
|
||||
ld hl, W_WATERRATE ; wEnemyMon1Species
|
||||
ld c, $2
|
||||
.asm_5497
|
||||
ld a, [de]
|
||||
|
@ -245,33 +245,33 @@ Func_5345: ; 5345
|
|||
pop hl
|
||||
jr .asm_5497
|
||||
.asm_54b6
|
||||
ld hl, $d9a0
|
||||
ld hl, wd9a0
|
||||
dec c
|
||||
jr nz, .asm_5497
|
||||
ld a, $ac
|
||||
ld [$cf8d], a
|
||||
ld [wcf8d], a
|
||||
ld a, $d9
|
||||
ld [$cf8e], a
|
||||
ld [wcf8e], a
|
||||
xor a
|
||||
ld [$cc38], a
|
||||
ld [wcc38], a
|
||||
ld a, $ff
|
||||
call PlaySound
|
||||
ld a, [$ffaa]
|
||||
cp $2
|
||||
ld c, $42
|
||||
call z, DelayFrames
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $3
|
||||
ld a, $32
|
||||
ld [W_ISLINKBATTLE], a ; $d12b
|
||||
ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
|
||||
jr nz, .asm_5506
|
||||
ld a, $4
|
||||
ld [W_ISLINKBATTLE], a ; $d12b
|
||||
ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
|
||||
ld a, SONY1 + $c8
|
||||
ld [W_CUROPPONENT], a ; $d059
|
||||
ld [W_CUROPPONENT], a ; wd059
|
||||
call ClearScreen
|
||||
call Delay3
|
||||
ld hl, W_OPTIONS ; $d355
|
||||
ld hl, W_OPTIONS ; W_OPTIONS
|
||||
res 7, [hl]
|
||||
ld a, $2c
|
||||
call Predef ; indirect jump to InitOpponent (3ef18 (f:6f18))
|
||||
|
@ -290,7 +290,7 @@ PleaseWaitString: ; 550f (1:550f)
|
|||
Func_551c:
|
||||
ld hl, PointerTable_5a5b ; $5a5b
|
||||
ld b, $0
|
||||
ld a, [$cc38]
|
||||
ld a, [wcc38]
|
||||
cp $ff
|
||||
jp z, LoadTitlescreenGraphics
|
||||
add a
|
||||
|
@ -307,31 +307,31 @@ TradeCenter_SelectMon:
|
|||
call Func_57f2
|
||||
call Func_57a2
|
||||
xor a
|
||||
ld hl, $cc3d
|
||||
ld hl, wcc3d
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld [$cc37], a
|
||||
ld [$cc26], a
|
||||
ld [$cc2a], a
|
||||
ld [$cc34], a
|
||||
ld [wcc37], a
|
||||
ld [wCurrentMenuItem], a
|
||||
ld [wLastMenuItem], a
|
||||
ld [wMenuJoypadPollCount], a
|
||||
inc a
|
||||
ld [$cc42], a
|
||||
ld [wcc42], a
|
||||
jp .asm_55dc
|
||||
.asm_5557
|
||||
xor a
|
||||
ld [$cc37], a
|
||||
ld [wcc37], a
|
||||
inc a
|
||||
ld [$cc49], a
|
||||
ld [wcc49], a
|
||||
ld a, $a1
|
||||
ld [$cc29], a
|
||||
ld a, [$d89c]
|
||||
ld [$cc28], a
|
||||
ld [wMenuWatchedKeys], a
|
||||
ld a, [wEnemyPartyCount]
|
||||
ld [wMaxMenuItem], a
|
||||
ld a, $9
|
||||
ld [$cc24], a
|
||||
ld [wTopMenuItemY], a
|
||||
ld a, $1
|
||||
ld [$cc25], a
|
||||
ld [wTopMenuItemX], a
|
||||
.asm_5574
|
||||
ld hl, $fff6
|
||||
set 1, [hl]
|
||||
|
@ -342,17 +342,17 @@ TradeCenter_SelectMon:
|
|||
jp z, .asm_565b
|
||||
bit 0, a
|
||||
jr z, .asm_55b0 ; 0x5587 $27
|
||||
ld a, [$cc28]
|
||||
ld a, [wMaxMenuItem]
|
||||
ld c, a
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
cp c
|
||||
jr c, .asm_559a ; 0x5591 $7
|
||||
ld a, [$cc28]
|
||||
ld a, [wMaxMenuItem]
|
||||
dec a
|
||||
ld [$cc26], a
|
||||
ld [wCurrentMenuItem], a
|
||||
.asm_559a
|
||||
ld a, $1
|
||||
ld [$d11b], a
|
||||
ld [wd11b], a
|
||||
callab Func_39bd5
|
||||
ld hl, wEnemyMons
|
||||
call Func_57d6
|
||||
|
@ -361,20 +361,20 @@ TradeCenter_SelectMon:
|
|||
bit 5, a
|
||||
jr z, .asm_55d4 ; 0x55b2 $20
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld a, [$cc30]
|
||||
ld [wcc49], a
|
||||
ld a, [wMenuCursorLocation]
|
||||
ld l, a
|
||||
ld a, [$cc31]
|
||||
ld a, [wMenuCursorLocation + 1]
|
||||
ld h, a
|
||||
ld a, [$cc27]
|
||||
ld a, [wTileBehindCursor]
|
||||
ld [hl], a
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
ld b, a
|
||||
ld a, [$d163]
|
||||
ld a, [W_NUMINPARTY]
|
||||
dec a
|
||||
cp b
|
||||
jr nc, .asm_55dc ; 0x55cd $d
|
||||
ld [$cc26], a
|
||||
ld [wCurrentMenuItem], a
|
||||
jr .asm_55dc ; 0x55d2 $8
|
||||
.asm_55d4
|
||||
bit 7, a
|
||||
|
@ -382,17 +382,17 @@ TradeCenter_SelectMon:
|
|||
jp .asm_572f
|
||||
.asm_55dc
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld [$cc37], a
|
||||
ld [wcc49], a
|
||||
ld [wcc37], a
|
||||
ld a, $91
|
||||
ld [$cc29], a
|
||||
ld a, [$d163]
|
||||
ld [$cc28], a
|
||||
ld [wMenuWatchedKeys], a
|
||||
ld a, [W_NUMINPARTY]
|
||||
ld [wMaxMenuItem], a
|
||||
ld a, $1
|
||||
ld [$cc24], a
|
||||
ld [wTopMenuItemY], a
|
||||
ld a, $1
|
||||
ld [$cc25], a
|
||||
ld hl, $c3b5
|
||||
ld [wTopMenuItemX], a
|
||||
ld hl, wTileMap + $15
|
||||
ld bc, $0601
|
||||
call ClearScreenArea
|
||||
.asm_5601
|
||||
|
@ -409,7 +409,7 @@ TradeCenter_SelectMon:
|
|||
jr z, .asm_562e ; 0x5616 $16
|
||||
jp .asm_5665
|
||||
ld a, $4
|
||||
ld [$d11b], a
|
||||
ld [wd11b], a
|
||||
callab Func_39bd5
|
||||
call Func_57d6
|
||||
jp .asm_565b
|
||||
|
@ -417,20 +417,20 @@ TradeCenter_SelectMon:
|
|||
bit 4, a
|
||||
jr z, .asm_5654 ; 0x5630 $22
|
||||
ld a, $1
|
||||
ld [$cc49], a
|
||||
ld a, [$cc30]
|
||||
ld [wcc49], a
|
||||
ld a, [wMenuCursorLocation]
|
||||
ld l, a
|
||||
ld a, [$cc31]
|
||||
ld a, [wMenuCursorLocation + 1]
|
||||
ld h, a
|
||||
ld a, [$cc27]
|
||||
ld a, [wTileBehindCursor]
|
||||
ld [hl], a
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
ld b, a
|
||||
ld a, [$d89c]
|
||||
ld a, [wEnemyPartyCount]
|
||||
dec a
|
||||
cp b
|
||||
jr nc, .asm_5651 ; 0x564c $3
|
||||
ld [$cc26], a
|
||||
ld [wCurrentMenuItem], a
|
||||
.asm_5651
|
||||
jp .asm_5557
|
||||
.asm_5654
|
||||
|
@ -438,43 +438,43 @@ TradeCenter_SelectMon:
|
|||
jr z, .asm_565b ; 0x5656 $3
|
||||
jp .asm_572f
|
||||
.asm_565b
|
||||
ld a, [$cc49]
|
||||
ld a, [wcc49]
|
||||
and a
|
||||
jp z, .asm_5601
|
||||
jp .asm_5574
|
||||
.asm_5665
|
||||
call SaveScreenTilesToBuffer1
|
||||
call PlaceUnfilledArrowMenuCursor
|
||||
ld a, [$cc28]
|
||||
ld a, [wMaxMenuItem]
|
||||
ld c, a
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
cp c
|
||||
jr c, .asm_5679 ; 0x5673 $4
|
||||
ld a, [$cc28]
|
||||
ld a, [wMaxMenuItem]
|
||||
dec a
|
||||
.asm_5679
|
||||
push af
|
||||
ld hl, $c4b8
|
||||
ld hl, wTileMap + $118
|
||||
ld b, $2
|
||||
ld c, $12
|
||||
call Func_5ab3
|
||||
ld hl, $c4e2
|
||||
ld hl, wTileMap + $142
|
||||
ld de, .statsTrade
|
||||
call PlaceString
|
||||
xor a
|
||||
ld [$cc26], a
|
||||
ld [$cc2a], a
|
||||
ld [$cc34], a
|
||||
ld [$cc28], a
|
||||
ld [wCurrentMenuItem], a
|
||||
ld [wLastMenuItem], a
|
||||
ld [wMenuJoypadPollCount], a
|
||||
ld [wMaxMenuItem], a
|
||||
ld a, $10
|
||||
ld [$cc24], a
|
||||
ld [wTopMenuItemY], a
|
||||
.asm_569f
|
||||
ld a, $7f
|
||||
ld [$c4eb], a
|
||||
ld [wTileMap + $14b], a
|
||||
ld a, $13
|
||||
ld [$cc29], a
|
||||
ld [wMenuWatchedKeys], a
|
||||
ld a, $1
|
||||
ld [$cc25], a
|
||||
ld [wTopMenuItemX], a
|
||||
call HandleMenuInput
|
||||
bit 4, a
|
||||
jr nz, .asm_56c3 ; 0x56b3 $e
|
||||
|
@ -482,16 +482,16 @@ TradeCenter_SelectMon:
|
|||
jr z, .asm_56df ; 0x56b7 $26
|
||||
.asm_56b9
|
||||
pop af
|
||||
ld [$cc26], a
|
||||
ld [wCurrentMenuItem], a
|
||||
call LoadScreenTilesFromBuffer1
|
||||
jp .asm_55dc
|
||||
.asm_56c3
|
||||
ld a, $7f
|
||||
ld [$c4e1], a
|
||||
ld [wTileMap + $141], a
|
||||
ld a, $23
|
||||
ld [$cc29], a
|
||||
ld [wMenuWatchedKeys], a
|
||||
ld a, $b
|
||||
ld [$cc25], a
|
||||
ld [wTopMenuItemX], a
|
||||
call HandleMenuInput
|
||||
bit 5, a
|
||||
jr nz, .asm_569f ; 0x56d7 $c6
|
||||
|
@ -500,9 +500,9 @@ TradeCenter_SelectMon:
|
|||
jr .asm_56f9 ; 0x56dd $1a
|
||||
.asm_56df
|
||||
pop af
|
||||
ld [$cc26], a
|
||||
ld [wCurrentMenuItem], a
|
||||
ld a, $4
|
||||
ld [$d11b], a
|
||||
ld [wd11b], a
|
||||
callab Func_39bd5
|
||||
call Func_57d6
|
||||
call LoadScreenTilesFromBuffer1
|
||||
|
@ -510,35 +510,35 @@ TradeCenter_SelectMon:
|
|||
.asm_56f9
|
||||
call PlaceUnfilledArrowMenuCursor
|
||||
pop af
|
||||
ld [$cc26], a
|
||||
ld [$cd3d], a
|
||||
ld [$cc42], a
|
||||
ld [wCurrentMenuItem], a
|
||||
ld [wWhichTrade], a
|
||||
ld [wcc42], a
|
||||
call Func_226e
|
||||
ld a, [$cc3d]
|
||||
ld a, [wcc3d]
|
||||
cp $f
|
||||
jp z, Func_551c
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
call Func_57c7
|
||||
ld a, $1
|
||||
ld [$cc38], a
|
||||
ld [wcc38], a
|
||||
jp Func_551c
|
||||
.statsTrade
|
||||
db "STATS TRADE@"
|
||||
.asm_572f
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
ld b, a
|
||||
ld a, [$cc28]
|
||||
ld a, [wMaxMenuItem]
|
||||
cp b
|
||||
jp nz, .asm_565b
|
||||
ld a, [$cc30]
|
||||
ld a, [wMenuCursorLocation]
|
||||
ld l, a
|
||||
ld a, [$cc31]
|
||||
ld a, [wMenuCursorLocation + 1]
|
||||
ld h, a
|
||||
ld a, $7f
|
||||
ld [hl], a
|
||||
.asm_5745
|
||||
ld a, $ed
|
||||
ld [$c4e1], a
|
||||
ld [wTileMap + $141], a
|
||||
.asm_574a
|
||||
call JoypadLowSensitivity
|
||||
ld a, [$ffb5]
|
||||
|
@ -549,32 +549,32 @@ TradeCenter_SelectMon:
|
|||
bit 6, a
|
||||
jr z, .asm_574a ; 0x5758 $f0
|
||||
ld a, $7f
|
||||
ld [$c4e1], a
|
||||
ld a, [$d163]
|
||||
ld [wTileMap + $141], a
|
||||
ld a, [W_NUMINPARTY]
|
||||
dec a
|
||||
ld [$cc26], a
|
||||
ld [wCurrentMenuItem], a
|
||||
jp .asm_55dc
|
||||
.asm_5769
|
||||
ld a, $ec
|
||||
ld [$c4e1], a
|
||||
ld [wTileMap + $141], a
|
||||
ld a, $f
|
||||
ld [$cc42], a
|
||||
ld [wcc42], a
|
||||
call Func_226e
|
||||
ld a, [$cc3d]
|
||||
ld a, [wcc3d]
|
||||
cp $f
|
||||
jr nz, .asm_5745 ; 0x577b $c8
|
||||
|
||||
Func_577d: ; 577d (1:577d)
|
||||
call GBPalWhiteOutWithDelay3
|
||||
ld hl, $cfc4
|
||||
ld hl, wcfc4
|
||||
ld a, [hl]
|
||||
push af
|
||||
push hl
|
||||
res 0, [hl]
|
||||
xor a
|
||||
ld [$d72d], a
|
||||
ld [wd72d], a
|
||||
dec a
|
||||
ld [$d42f], a
|
||||
ld [wd42f], a
|
||||
call LoadMapData
|
||||
callba Func_c335
|
||||
pop hl
|
||||
|
@ -584,15 +584,15 @@ Func_577d: ; 577d (1:577d)
|
|||
ret
|
||||
|
||||
Func_57a2:
|
||||
ld hl, $c4d7
|
||||
ld hl, wTileMap + $137
|
||||
ld a, $7e
|
||||
ld bc, $0031
|
||||
call FillMemory
|
||||
ld hl, $c4cc
|
||||
ld hl, wTileMap + $12c
|
||||
ld b, $1
|
||||
ld c, $9
|
||||
call Func_5ab3
|
||||
ld hl, $c4e2
|
||||
ld hl, wTileMap + $142
|
||||
ld de, CancelTextString
|
||||
jp PlaceString
|
||||
|
||||
|
@ -600,15 +600,15 @@ CancelTextString:
|
|||
db "CANCEL@"
|
||||
|
||||
Func_57c7:
|
||||
ld a, [$cc3d]
|
||||
ld hl, $c455
|
||||
ld a, [wcc3d]
|
||||
ld hl, wTileMap + $b5
|
||||
ld bc, $0014
|
||||
call AddNTimes
|
||||
ld [hl], $ec
|
||||
ret
|
||||
|
||||
Func_57d6:
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
ld [wWhichPokemon], a
|
||||
ld a, $36
|
||||
call Predef
|
||||
|
@ -624,21 +624,21 @@ Func_57f2:
|
|||
ld b, $6
|
||||
ld c, $12
|
||||
call Func_5ab3
|
||||
ld hl, $c440
|
||||
ld hl, wTileMap + $a0
|
||||
ld b, $6
|
||||
ld c, $12
|
||||
call Func_5ab3
|
||||
ld hl, $c3a5
|
||||
ld hl, wTileMap + $5
|
||||
ld de, W_PLAYERNAME
|
||||
call PlaceString
|
||||
ld hl, $c445
|
||||
ld de, $d887
|
||||
ld hl, wTileMap + $a5
|
||||
ld de, W_GRASSRATE
|
||||
call PlaceString
|
||||
ld hl, $c3b6
|
||||
ld de, $d164
|
||||
ld hl, wTileMap + $16
|
||||
ld de, W_PARTYMON1
|
||||
call Func_5827
|
||||
ld hl, $c456
|
||||
ld de, $d89d
|
||||
ld hl, wTileMap + $b6
|
||||
ld de, wEnemyPartyMons
|
||||
|
||||
Func_5827:
|
||||
ld c, $0
|
||||
|
@ -646,7 +646,7 @@ Func_5827:
|
|||
ld a, [de]
|
||||
cp $ff
|
||||
ret z
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
push bc
|
||||
push hl
|
||||
push de
|
||||
|
@ -669,161 +669,161 @@ TradeCenter_Trade:
|
|||
ld c, $64
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [$cc43], a
|
||||
ld [$cc3e], a
|
||||
ld [$cc37], a
|
||||
ld [$cc34], a
|
||||
ld hl, $c490
|
||||
ld [wcc43], a
|
||||
ld [wcc3e], a
|
||||
ld [wcc37], a
|
||||
ld [wMenuJoypadPollCount], a
|
||||
ld hl, wTileMap + $f0
|
||||
ld b, $4
|
||||
ld c, $12
|
||||
call Func_5ab3
|
||||
ld a, [$cd3d]
|
||||
ld hl, $d164
|
||||
ld a, [wWhichTrade]
|
||||
ld hl, W_PARTYMON1
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
ld hl, $cd6d
|
||||
ld de, $cd3f
|
||||
ld hl, wcd6d
|
||||
ld de, wTrainerFacingDirection
|
||||
ld bc, $000b
|
||||
call CopyData
|
||||
ld a, [$cd3e]
|
||||
ld hl, $d89d
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld hl, wEnemyPartyMons
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
ld hl, WillBeTradedText
|
||||
ld bc, $c4b9
|
||||
ld bc, wTileMap + $119
|
||||
call TextCommandProcessor
|
||||
call SaveScreenTilesToBuffer1
|
||||
ld hl, $c436
|
||||
ld hl, wTileMap + $96
|
||||
ld bc, $080b
|
||||
ld a, $5
|
||||
ld [$d12c], a
|
||||
ld [wd12c], a
|
||||
ld a, $14
|
||||
ld [$d125], a
|
||||
ld [wd125], a
|
||||
call DisplayTextBoxID
|
||||
call LoadScreenTilesFromBuffer1
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr z, .asm_58d9 ; 0x58b9 $1e
|
||||
ld a, $1
|
||||
ld [$cc42], a
|
||||
ld hl, $c490
|
||||
ld [wcc42], a
|
||||
ld hl, wTileMap + $f0
|
||||
ld b, $4
|
||||
ld c, $12
|
||||
call Func_5ab3
|
||||
ld hl, $c4b9
|
||||
ld hl, wTileMap + $119
|
||||
ld de, TradeCanceled
|
||||
call PlaceString
|
||||
call Func_226e
|
||||
jp Func_5a18
|
||||
.asm_58d9
|
||||
ld a, $2
|
||||
ld [$cc42], a
|
||||
ld [wcc42], a
|
||||
call Func_226e
|
||||
ld a, [$cc3d]
|
||||
ld a, [wcc3d]
|
||||
dec a
|
||||
jr nz, .asm_58fd ; 0x58e5 $16
|
||||
ld hl, $c490
|
||||
ld hl, wTileMap + $f0
|
||||
ld b, $4
|
||||
ld c, $12
|
||||
call Func_5ab3
|
||||
ld hl, $c4b9
|
||||
ld hl, wTileMap + $119
|
||||
ld de, TradeCanceled
|
||||
call PlaceString
|
||||
jp Func_5a18
|
||||
.asm_58fd
|
||||
ld a, [$cd3d]
|
||||
ld a, [wWhichTrade]
|
||||
ld hl, W_PARTYMON1OT ; OT names of player
|
||||
call SkipFixedLengthTextEntries
|
||||
ld de, $cd41
|
||||
ld de, wTrainerScreenX
|
||||
ld bc, $000b
|
||||
call CopyData
|
||||
ld hl, $d16b
|
||||
ld a, [$cd3d]
|
||||
ld hl, W_PARTYMON1_NUM
|
||||
ld a, [wWhichTrade]
|
||||
ld bc, $002c
|
||||
call AddNTimes
|
||||
ld bc, $000c
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld [$cd4c], a
|
||||
ld [wcd4c], a
|
||||
ld a, [hl]
|
||||
ld [$cd4d], a
|
||||
ld a, [$cd3e]
|
||||
ld [wcd4d], a
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld hl, W_ENEMYMON1OT ; OT names of other player
|
||||
call SkipFixedLengthTextEntries
|
||||
ld de, $cd4e
|
||||
ld de, wcd4e
|
||||
ld bc, $000b
|
||||
call CopyData
|
||||
ld hl, wEnemyMons
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld bc, $002c
|
||||
call AddNTimes
|
||||
ld bc, $000c
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld [$cd59], a
|
||||
ld [wcd59], a
|
||||
ld a, [hl]
|
||||
ld [$cd5a], a
|
||||
ld a, [$cd3d]
|
||||
ld [wcd5a], a
|
||||
ld a, [wWhichTrade]
|
||||
ld [wWhichPokemon], a
|
||||
ld hl, $d164
|
||||
ld hl, W_PARTYMON1
|
||||
ld b, $0
|
||||
ld c, a
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$cd3d], a
|
||||
ld [wWhichTrade], a
|
||||
xor a
|
||||
ld [$cf95], a
|
||||
ld [wcf95], a
|
||||
call RemovePokemon
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld c, a
|
||||
ld [wWhichPokemon], a
|
||||
ld hl, $d89d
|
||||
ld hl, wEnemyPartyMons
|
||||
ld d, $0
|
||||
ld e, a
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
ld hl, wEnemyMons
|
||||
ld a, c
|
||||
ld bc, $002c
|
||||
call AddNTimes
|
||||
ld de, $cf98
|
||||
ld de, wcf98
|
||||
ld bc, $002c
|
||||
call CopyData
|
||||
call AddEnemyMonToPlayerParty
|
||||
ld a, [$d163]
|
||||
ld a, [W_NUMINPARTY]
|
||||
dec a
|
||||
ld [wWhichPokemon], a
|
||||
ld a, $1
|
||||
ld [$ccd4], a
|
||||
ld a, [$cd3e]
|
||||
ld hl, $d89d
|
||||
ld [wccd4], a
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld hl, wEnemyPartyMons
|
||||
ld b, $0
|
||||
ld c, a
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld a, $a
|
||||
ld [wMusicHeaderPointer], a
|
||||
ld a, $2
|
||||
ld [$c0f0], a
|
||||
ld [wc0f0], a
|
||||
ld a, MUSIC_SAFARI_ZONE
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld c, $64
|
||||
call DelayFrames
|
||||
call ClearScreen
|
||||
call LoadHpBarAndStatusTilePatterns
|
||||
xor a
|
||||
ld [$cc5b], a
|
||||
ld [wcc5b], a
|
||||
ld a, [$ffaa]
|
||||
cp $1
|
||||
jr z, .asm_59d9 ; 0x59d0 $7
|
||||
|
@ -840,11 +840,11 @@ TradeCenter_Trade:
|
|||
call Func_226e
|
||||
ld c, $28
|
||||
call DelayFrames
|
||||
ld hl, $c490
|
||||
ld hl, wTileMap + $f0
|
||||
ld b, $4
|
||||
ld c, $12
|
||||
call Func_5ab3
|
||||
ld hl, $c4b9
|
||||
ld hl, wTileMap + $119
|
||||
ld de, TradeCompleted
|
||||
call PlaceString
|
||||
ld a, $50
|
||||
|
@ -852,14 +852,14 @@ TradeCenter_Trade:
|
|||
ld c, $32
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [$cc38], a
|
||||
ld [wcc38], a
|
||||
jp Func_5345
|
||||
|
||||
Func_5a18:
|
||||
ld c, $64
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [$cc38], a
|
||||
ld [wcc38], a
|
||||
jp Func_551c
|
||||
|
||||
WillBeTradedText: ; 5a24 (1:5a24)
|
||||
|
@ -878,7 +878,7 @@ PointerTable_5a5b: ; 5a5b (1:5a5b)
|
|||
dw TradeCenter_Trade
|
||||
|
||||
Func_5a5f: ; 5a5f (1:5a5f)
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $2
|
||||
jr z, .asm_5a75
|
||||
cp $3
|
||||
|
@ -892,27 +892,27 @@ Func_5a5f: ; 5a5f (1:5a5f)
|
|||
call Func_5317
|
||||
ld hl, Club_GFX
|
||||
ld a, h
|
||||
ld [$d52f], a
|
||||
ld [W_TILESETGFXPTR + 1], a
|
||||
ld a, l
|
||||
ld [$d52e], a
|
||||
ld [W_TILESETGFXPTR], a
|
||||
ld a, Bank(Club_GFX)
|
||||
ld [$d52b], a
|
||||
ld [W_TILESETBANK], a
|
||||
ld hl, Club_Coll
|
||||
ld a, h
|
||||
ld [$d531], a
|
||||
ld [W_TILESETCOLLISIONPTR + 1], a
|
||||
ld a, l
|
||||
ld [$d530], a
|
||||
ld [W_TILESETCOLLISIONPTR], a
|
||||
xor a
|
||||
ld [W_GRASSRATE], a ; $d887
|
||||
ld [W_GRASSRATE], a ; W_GRASSRATE
|
||||
inc a
|
||||
ld [W_ISLINKBATTLE], a ; $d12b
|
||||
ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
|
||||
ld [$ffb5], a
|
||||
ld a, $a
|
||||
ld [wMusicHeaderPointer], a
|
||||
ld a, BANK(Music_Celadon)
|
||||
ld [$c0f0], a
|
||||
ld [wc0f0], a
|
||||
ld a, MUSIC_CELADON
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
jp PlaySound
|
||||
|
||||
Func_5aaf: ; 5aaf (1:5aaf)
|
||||
|
|
|
@ -5,15 +5,15 @@ Func_1c98a: ; 1c98a (7:498a)
|
|||
call LoadTextBoxTilePatterns
|
||||
ld hl, ClearSaveDataText
|
||||
call PrintText
|
||||
FuncCoord 14, 7 ; $c43a
|
||||
FuncCoord 14, 7
|
||||
ld hl, Coord
|
||||
ld bc, $80f
|
||||
ld a, $7
|
||||
ld [$d12c], a
|
||||
ld [wd12c], a
|
||||
ld a, $14
|
||||
ld [$d125], a
|
||||
ld [wd125], a
|
||||
call DisplayTextBoxID
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jp z, Init
|
||||
callba Func_73b6a
|
||||
|
|
|
@ -2,15 +2,15 @@ Func_7bde9: ; 7bde9 (1e:7de9)
|
|||
push hl
|
||||
push de
|
||||
push bc
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
push af
|
||||
ld a, [$d0b5]
|
||||
ld a, [wd0b5]
|
||||
push af
|
||||
xor a
|
||||
ld [$d083], a
|
||||
ld [$c02a], a
|
||||
ld [wd083], a
|
||||
ld [wc02a], a
|
||||
dec a
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
|
@ -20,25 +20,25 @@ Func_7bde9: ; 7bde9 (1e:7de9)
|
|||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [$ffd7], a
|
||||
ld a, [$cee9]
|
||||
ld [$cf1d], a
|
||||
ld a, [wHPBarMaxHP]
|
||||
ld [wcf1d], a
|
||||
ld c, $0
|
||||
call Func_7beb4
|
||||
ld a, [$ceea]
|
||||
ld [$cf91], a
|
||||
ld [$d0b5], a
|
||||
ld a, [wHPBarMaxHP + 1]
|
||||
ld [wcf91], a
|
||||
ld [wd0b5], a
|
||||
call Func_7beb9
|
||||
ld de, $9000
|
||||
ld hl, $9310
|
||||
ld bc, $31
|
||||
call CopyVideoData
|
||||
ld a, [$cee9]
|
||||
ld [$cf91], a
|
||||
ld [$d0b5], a
|
||||
ld a, [wHPBarMaxHP]
|
||||
ld [wcf91], a
|
||||
ld [wd0b5], a
|
||||
call Func_7beb9
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld a, [$cee9]
|
||||
ld a, [wHPBarMaxHP]
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
ld c, BANK(Music_SafariZone)
|
||||
|
@ -60,28 +60,28 @@ Func_7bde9: ; 7bde9 (1e:7de9)
|
|||
dec c
|
||||
jr nz, .asm_7be63
|
||||
xor a
|
||||
ld [$ceec], a
|
||||
ld [wHPBarOldHP + 1], a
|
||||
ld a, $31
|
||||
ld [$ceeb], a
|
||||
ld [wHPBarOldHP], a
|
||||
call Func_7bed6
|
||||
ld a, [$ceea]
|
||||
ld a, [wHPBarMaxHP + 1]
|
||||
.asm_7be81
|
||||
ld [$cf1d], a
|
||||
ld [wcf1d], a
|
||||
ld a, $ff
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld a, [$cf1d]
|
||||
ld a, [wcf1d]
|
||||
call PlayCry
|
||||
ld c, $0
|
||||
call Func_7beb4
|
||||
pop af
|
||||
ld [$d0b5], a
|
||||
ld [wd0b5], a
|
||||
pop af
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ld a, [$ceec]
|
||||
ld a, [wHPBarOldHP + 1]
|
||||
and a
|
||||
ret z
|
||||
scf
|
||||
|
@ -89,8 +89,8 @@ Func_7bde9: ; 7bde9 (1e:7de9)
|
|||
.asm_7bea9
|
||||
pop bc
|
||||
ld a, $1
|
||||
ld [$ceec], a
|
||||
ld a, [$cee9]
|
||||
ld [wHPBarOldHP + 1], a
|
||||
ld a, [wHPBarMaxHP]
|
||||
jr .asm_7be81
|
||||
|
||||
Func_7beb4: ; 7beb4 (1e:7eb4)
|
||||
|
@ -99,15 +99,15 @@ Func_7beb4: ; 7beb4 (1e:7eb4)
|
|||
|
||||
Func_7beb9: ; 7beb9 (1e:7eb9)
|
||||
call GetMonHeader
|
||||
FuncCoord 7, 2 ; $c3cf
|
||||
FuncCoord 7, 2
|
||||
ld hl, Coord
|
||||
jp LoadFlippedFrontSpriteByMonIndex
|
||||
asm_7bec2: ; 7bec2 (1e:7ec2)
|
||||
ld a, $31
|
||||
ld [$ceeb], a
|
||||
ld [wHPBarOldHP], a
|
||||
call Func_7bed6
|
||||
ld a, $cf
|
||||
ld [$ceeb], a
|
||||
ld [wHPBarOldHP], a
|
||||
call Func_7bed6
|
||||
dec b
|
||||
jr nz, asm_7bec2
|
||||
|
@ -117,14 +117,14 @@ Func_7bed6: ; 7bed6 (1e:7ed6)
|
|||
push bc
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
FuncCoord 7, 2 ; $c3cf
|
||||
FuncCoord 7, 2
|
||||
ld hl, Coord
|
||||
ld bc, $707
|
||||
ld de, $d
|
||||
.asm_7bee3
|
||||
push bc
|
||||
.asm_7bee4
|
||||
ld a, [$ceeb]
|
||||
ld a, [wHPBarOldHP]
|
||||
add [hl]
|
||||
ld [hli], a
|
||||
dec c
|
||||
|
@ -152,7 +152,7 @@ asm_7befa: ; 7befa (1e:7efa)
|
|||
and a
|
||||
ret
|
||||
.asm_7bf0d
|
||||
ld a, [$ccd4]
|
||||
ld a, [wccd4]
|
||||
and a
|
||||
jr nz, .asm_7bf08
|
||||
scf
|
||||
|
|
|
@ -31,14 +31,14 @@ EvolveTradeMon: ; 17d7d (5:7d7d)
|
|||
ret nz
|
||||
|
||||
.ok
|
||||
ld a, [W_NUMINPARTY] ; $d163
|
||||
ld a, [W_NUMINPARTY] ; W_NUMINPARTY
|
||||
dec a
|
||||
ld [wWhichPokemon], a ; $cf92
|
||||
ld [wWhichPokemon], a ; wWhichPokemon
|
||||
ld a, $1
|
||||
ld [$ccd4], a
|
||||
ld [wccd4], a
|
||||
ld a, $32
|
||||
ld [W_ISLINKBATTLE], a ; $d12b
|
||||
ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
|
||||
callab Func_3ad0e
|
||||
xor a
|
||||
ld [W_ISLINKBATTLE], a ; $d12b
|
||||
ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
|
||||
jp Func_2307
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Func_3ad0e: ; 3ad0e (e:6d0e)
|
||||
ld hl, $ccd3
|
||||
ld hl, wccd3
|
||||
xor a
|
||||
ld [hl], a
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld c, a
|
||||
ld b, $1
|
||||
call Func_3b057
|
||||
|
@ -11,33 +11,33 @@ Func_3ad1c: ; 3ad1c (e:6d1c)
|
|||
ld a, [$ffd7]
|
||||
push af
|
||||
xor a
|
||||
ld [$d121], a
|
||||
ld [wd121], a
|
||||
dec a
|
||||
ld [wWhichPokemon], a ; $cf92
|
||||
ld [wWhichPokemon], a ; wWhichPokemon
|
||||
push hl
|
||||
push bc
|
||||
push de
|
||||
ld hl, W_NUMINPARTY ; $d163
|
||||
ld hl, W_NUMINPARTY ; W_NUMINPARTY
|
||||
push hl
|
||||
asm_3ad2e: ; 3ad2e (e:6d2e)
|
||||
ld hl, wWhichPokemon ; $cf92
|
||||
ld hl, wWhichPokemon ; wWhichPokemon
|
||||
inc [hl]
|
||||
pop hl
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
cp $ff
|
||||
jp z, Func_3aede
|
||||
ld [$cee9], a
|
||||
ld [wHPBarMaxHP], a
|
||||
push hl
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld c, a
|
||||
ld hl, $ccd3
|
||||
ld hl, wccd3
|
||||
ld b, $2
|
||||
call Func_3b057
|
||||
ld a, c
|
||||
and a
|
||||
jp z, asm_3ad2e
|
||||
ld a, [$cee9]
|
||||
ld a, [wHPBarMaxHP]
|
||||
dec a
|
||||
ld b, $0
|
||||
ld hl, EvosMovesPointerTable
|
||||
|
@ -49,13 +49,13 @@ asm_3ad2e: ; 3ad2e (e:6d2e)
|
|||
ld h, [hl]
|
||||
ld l, a
|
||||
push hl
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
push af
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld [wcc49], a
|
||||
call LoadMonData
|
||||
pop af
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
pop hl
|
||||
|
||||
Func_3ad71: ; 3ad71 (e:6d71)
|
||||
|
@ -65,49 +65,49 @@ Func_3ad71: ; 3ad71 (e:6d71)
|
|||
ld b, a
|
||||
cp $3
|
||||
jr z, .asm_3ad91
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $32
|
||||
jr z, asm_3ad2e
|
||||
ld a, b
|
||||
cp $2
|
||||
jr z, .asm_3ada4
|
||||
ld a, [$ccd4]
|
||||
ld a, [wccd4]
|
||||
and a
|
||||
jr nz, asm_3ad2e
|
||||
ld a, b
|
||||
cp $1
|
||||
jr z, .asm_3adad
|
||||
.asm_3ad91
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $32
|
||||
jp nz, Func_3aed9
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [$cfb9]
|
||||
ld a, [wcfb9]
|
||||
cp b
|
||||
jp c, asm_3ad2e
|
||||
jr .asm_3adb6
|
||||
.asm_3ada4
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
cp b
|
||||
jp nz, Func_3aed9
|
||||
.asm_3adad
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [$cfb9]
|
||||
ld a, [wcfb9]
|
||||
cp b
|
||||
jp c, Func_3aeda
|
||||
.asm_3adb6
|
||||
ld [W_CURENEMYLVL], a ; $d127
|
||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||
ld a, $1
|
||||
ld [$d121], a
|
||||
ld [wd121], a
|
||||
push hl
|
||||
ld a, [hl]
|
||||
ld [$ceea], a
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld [wHPBarMaxHP + 1], a
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
call GetPartyMonName
|
||||
call CopyStringToCF4B
|
||||
ld hl, IsEvolvingText
|
||||
|
@ -122,7 +122,7 @@ Func_3ad71: ; 3ad71 (e:6d71)
|
|||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld a, $ff
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
call ClearSprites
|
||||
callab Func_7bde9
|
||||
jp c, Func_3af2e
|
||||
|
@ -130,13 +130,13 @@ Func_3ad71: ; 3ad71 (e:6d71)
|
|||
call PrintText
|
||||
pop hl
|
||||
ld a, [hl]
|
||||
ld [$d0b5], a
|
||||
ld [$cf98], a
|
||||
ld [$ceea], a
|
||||
ld [wd0b5], a
|
||||
ld [wcf98], a
|
||||
ld [wHPBarMaxHP + 1], a
|
||||
ld a, MONSTER_NAME
|
||||
ld [W_LISTTYPE], a
|
||||
ld a, $e
|
||||
ld [$d0b7], a
|
||||
ld [wPredefBank], a
|
||||
call GetName
|
||||
push hl
|
||||
ld hl, IntoText
|
||||
|
@ -148,29 +148,29 @@ Func_3ad71: ; 3ad71 (e:6d71)
|
|||
call DelayFrames
|
||||
call ClearScreen
|
||||
call Func_3aef7
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
push af
|
||||
ld a, [$d0b5]
|
||||
ld [$d11e], a
|
||||
ld a, [wd0b5]
|
||||
ld [wd11e], a
|
||||
ld a, $3a
|
||||
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
dec a
|
||||
ld hl, BaseStats
|
||||
ld bc, $1c
|
||||
call AddNTimes
|
||||
ld de, W_MONHEADER
|
||||
call CopyData
|
||||
ld a, [$d0b5]
|
||||
ld [$d0b8], a
|
||||
ld a, [wd0b5]
|
||||
ld [W_MONHDEXNUM], a
|
||||
pop af
|
||||
ld [$d11e], a
|
||||
ld hl, $cfa8
|
||||
ld de, $cfba
|
||||
ld [wd11e], a
|
||||
ld hl, wcfa8
|
||||
ld de, wcfba
|
||||
ld b, $1
|
||||
call CalcStats
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
ld bc, $2c
|
||||
call AddNTimes
|
||||
ld e, l
|
||||
|
@ -182,14 +182,14 @@ Func_3ad71: ; 3ad71 (e:6d71)
|
|||
ld a, [hli]
|
||||
ld b, a
|
||||
ld c, [hl]
|
||||
ld hl, $cfbb
|
||||
ld hl, wcfbb
|
||||
ld a, [hld]
|
||||
sub c
|
||||
ld c, a
|
||||
ld a, [hl]
|
||||
sbc b
|
||||
ld b, a
|
||||
ld hl, $cf9a
|
||||
ld hl, wcf9a
|
||||
ld a, [hl]
|
||||
add c
|
||||
ld [hld], a
|
||||
|
@ -199,32 +199,32 @@ Func_3ad71: ; 3ad71 (e:6d71)
|
|||
dec hl
|
||||
pop bc
|
||||
call CopyData
|
||||
ld a, [$d0b5]
|
||||
ld [$d11e], a
|
||||
ld a, [wd0b5]
|
||||
ld [wd11e], a
|
||||
xor a
|
||||
ld [$cc49], a
|
||||
ld [wcc49], a
|
||||
call Func_3af5b
|
||||
pop hl
|
||||
ld a, $42
|
||||
call Predef ; indirect jump to SetPartyMonTypes (5db5e (17:5b5e))
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
and a
|
||||
call z, Func_3af52
|
||||
ld a, $3a
|
||||
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld hl, wPokedexOwned ; $d2f7
|
||||
ld hl, wPokedexOwned ; wPokedexOwned
|
||||
push bc
|
||||
call Func_3b057
|
||||
pop bc
|
||||
ld hl, wPokedexSeen ; $d30a
|
||||
ld hl, wPokedexSeen ; wd30a
|
||||
call Func_3b057
|
||||
pop de
|
||||
pop hl
|
||||
ld a, [$cf98]
|
||||
ld a, [wcf98]
|
||||
ld [hl], a
|
||||
push hl
|
||||
ld l, e
|
||||
|
@ -244,27 +244,27 @@ Func_3aede: ; 3aede (e:6ede)
|
|||
pop hl
|
||||
pop af
|
||||
ld [$ffd7], a
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $32
|
||||
ret z
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
and a
|
||||
ret nz
|
||||
ld a, [$d121]
|
||||
ld a, [wd121]
|
||||
and a
|
||||
call nz, Func_2307
|
||||
ret
|
||||
|
||||
Func_3aef7: ; 3aef7 (e:6ef7)
|
||||
ld a, [$d0b5]
|
||||
ld a, [wd0b5]
|
||||
push af
|
||||
ld a, [$d0b8]
|
||||
ld [$d0b5], a
|
||||
ld a, [W_MONHDEXNUM]
|
||||
ld [wd0b5], a
|
||||
call GetName
|
||||
pop af
|
||||
ld [$d0b5], a
|
||||
ld hl, $cd6d
|
||||
ld de, $cf4b
|
||||
ld [wd0b5], a
|
||||
ld hl, wcd6d
|
||||
ld de, wcf4b
|
||||
.asm_3af0e
|
||||
ld a, [de]
|
||||
inc de
|
||||
|
@ -273,13 +273,13 @@ Func_3aef7: ; 3aef7 (e:6ef7)
|
|||
ret nz
|
||||
cp $50
|
||||
jr nz, .asm_3af0e
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld bc, $b
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
call AddNTimes
|
||||
push hl
|
||||
call GetName
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
pop de
|
||||
jp CopyData
|
||||
|
||||
|
@ -308,15 +308,15 @@ IsEvolvingText: ; 3af4d (e:6f4d)
|
|||
db "@"
|
||||
|
||||
Func_3af52: ; 3af52 (e:6f52)
|
||||
ld a, [W_ISLINKBATTLE] ; $d12b
|
||||
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
||||
cp $32
|
||||
ret z
|
||||
jp ReloadTilesetTilePatterns
|
||||
|
||||
Func_3af5b: ; 3af5b (e:6f5b)
|
||||
ld hl, EvosMovesPointerTable
|
||||
ld a, [$d11e]
|
||||
ld [$cf91], a
|
||||
ld a, [wd11e]
|
||||
ld [wcf91], a
|
||||
dec a
|
||||
ld bc, $0
|
||||
ld hl, EvosMovesPointerTable
|
||||
|
@ -336,16 +336,16 @@ Func_3af5b: ; 3af5b (e:6f5b)
|
|||
and a
|
||||
jr z, .asm_3afb1
|
||||
ld b, a
|
||||
ld a, [W_CURENEMYLVL] ; $d127
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
cp b
|
||||
ld a, [hli]
|
||||
jr nz, .asm_3af77
|
||||
ld d, a
|
||||
ld a, [$cc49]
|
||||
ld a, [wcc49]
|
||||
and a
|
||||
jr nz, .asm_3af96
|
||||
ld hl, W_PARTYMON1_MOVE1 ; $d173
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, W_PARTYMON1_MOVE1 ; W_PARTYMON1_MOVE1
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld bc, $2c
|
||||
call AddNTimes
|
||||
.asm_3af96
|
||||
|
@ -357,20 +357,20 @@ Func_3af5b: ; 3af5b (e:6f5b)
|
|||
dec b
|
||||
jr nz, .asm_3af98
|
||||
ld a, d
|
||||
ld [$d0e0], a
|
||||
ld [$d11e], a
|
||||
ld [wd0e0], a
|
||||
ld [wd11e], a
|
||||
call GetMoveName
|
||||
call CopyStringToCF4B
|
||||
ld a, $1b
|
||||
call Predef ; indirect jump to LearnMove (6e43 (1:6e43))
|
||||
.asm_3afb1
|
||||
ld a, [$cf91]
|
||||
ld [$d11e], a
|
||||
ld a, [wcf91]
|
||||
ld [wd11e], a
|
||||
ret
|
||||
|
||||
; writes the moves a mon has at level [W_CURENEMYLVL] to [de]
|
||||
; move slots are being filled up sequentially and shifted if all slots are full
|
||||
; [$cee9]: (?)
|
||||
; [wHPBarMaxHP]: (?)
|
||||
WriteMonMoves: ; 3afb8 (e:6fb8)
|
||||
call GetPredefRegisters
|
||||
push hl
|
||||
|
@ -378,7 +378,7 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
|
|||
push bc
|
||||
ld hl, EvosMovesPointerTable
|
||||
ld b, $0
|
||||
ld a, [$cf91] ; cur mon ID
|
||||
ld a, [wcf91] ; cur mon ID
|
||||
dec a
|
||||
add a
|
||||
rl b
|
||||
|
@ -401,13 +401,13 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
|
|||
and a
|
||||
jp z, .done ; end of list
|
||||
ld b, a
|
||||
ld a, [W_CURENEMYLVL] ; $d127
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
cp b
|
||||
jp c, .done ; mon level < move level (assumption: learnset is sorted by level)
|
||||
ld a, [$cee9]
|
||||
ld a, [wHPBarMaxHP]
|
||||
and a
|
||||
jr z, .skipMinLevelCheck
|
||||
ld a, [wWhichTrade] ; $cd3d (min move level)
|
||||
ld a, [wWhichTrade] ; wWhichTrade (min move level)
|
||||
cp b
|
||||
jr nc, .nextMove2 ; min level >= move level
|
||||
.skipMinLevelCheck
|
||||
|
@ -436,7 +436,7 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
|
|||
ld h, d
|
||||
ld l, e
|
||||
call WriteMonMoves_ShiftMoveData ; shift all moves one up (deleting move 1)
|
||||
ld a, [$cee9]
|
||||
ld a, [wHPBarMaxHP]
|
||||
and a
|
||||
jr z, .writeMoveToSlot
|
||||
push de
|
||||
|
@ -451,7 +451,7 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
|
|||
.writeMoveToSlot2
|
||||
ld a, [hl]
|
||||
ld [de], a
|
||||
ld a, [$cee9]
|
||||
ld a, [wHPBarMaxHP]
|
||||
and a
|
||||
jr z, .nextMove
|
||||
push hl ; write move PP value
|
||||
|
@ -463,10 +463,10 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
|
|||
ld hl, Moves
|
||||
ld bc, $6
|
||||
call AddNTimes
|
||||
ld de, $cee9
|
||||
ld de, wHPBarMaxHP
|
||||
ld a, BANK(Moves)
|
||||
call FarCopyData
|
||||
ld a, [$ceee]
|
||||
ld a, [wHPBarNewHP + 1]
|
||||
pop hl
|
||||
ld [hl], a
|
||||
pop hl
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
Func_58f43: ; 58f43 (16:4f43)
|
||||
ld a, [$cf98]
|
||||
ld [$d0b5], a
|
||||
ld a, [wcf98]
|
||||
ld [wd0b5], a
|
||||
call GetMonHeader
|
||||
ld d, $1
|
||||
.asm_58f4e
|
||||
inc d
|
||||
call CalcExperience
|
||||
push hl
|
||||
ld hl, $cfa8
|
||||
ld hl, wcfa8
|
||||
ld a, [$ff98]
|
||||
ld c, a
|
||||
ld a, [hld]
|
||||
|
|
|
@ -10,7 +10,7 @@ StartSlotMachine: ; 37e2d (d:7e2d)
|
|||
ld a, [wTrainerSpriteOffset]
|
||||
and a
|
||||
ret z
|
||||
ld a, [$cd05]
|
||||
ld a, [wcd05]
|
||||
ld b, a
|
||||
ld a, [wTrainerFacingDirection]
|
||||
inc a
|
||||
|
@ -21,9 +21,9 @@ StartSlotMachine: ; 37e2d (d:7e2d)
|
|||
.asm_37e58
|
||||
ld a, $fa
|
||||
.asm_37e5a
|
||||
ld [$cc5b], a
|
||||
ld [wcc5b], a
|
||||
ld a, [H_LOADEDROMBANK]
|
||||
ld [$cc5e], a
|
||||
ld [wcc5e], a
|
||||
call PromptUserToPlaySlots
|
||||
ret
|
||||
.printOutOfOrder
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
AbleToPlaySlotsCheck ; 2ff09 (b:7f09)
|
||||
ld a, [$c102]
|
||||
ld a, [wSpriteStateData1 + 2]
|
||||
and $8
|
||||
jr z, .done ; not able
|
||||
ld b, COIN_CASE
|
||||
|
@ -20,7 +20,7 @@ AbleToPlaySlotsCheck ; 2ff09 (b:7f09)
|
|||
call PrintPredefTextID
|
||||
xor a
|
||||
.done
|
||||
ld [$cd3d], a
|
||||
ld [wWhichTrade], a
|
||||
ret
|
||||
|
||||
GameCornerCoinCaseText: ; 2ff32 (b:7f32)
|
||||
|
|
|
@ -85,7 +85,7 @@ AnimateShootingStar: ; 70044 (1c:4044)
|
|||
dec a
|
||||
jr nz, .asm_70098
|
||||
xor a
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld hl, PointerTable_700f2 ; $40f2
|
||||
ld c, $6
|
||||
.asm_700af
|
||||
|
@ -110,15 +110,15 @@ AnimateShootingStar: ; 70044 (1c:4044)
|
|||
inc hl
|
||||
dec c
|
||||
jr nz, .asm_700ba
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
cp $18
|
||||
jr z, .asm_700d5
|
||||
add $6
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
.asm_700d5
|
||||
call Func_7011f
|
||||
push af
|
||||
ld hl, $c310
|
||||
ld hl, wOAMBuffer + $10
|
||||
ld de, wOAMBuffer
|
||||
ld bc, $50
|
||||
call CopyData
|
||||
|
@ -173,8 +173,8 @@ OAMData_7011e: ; 7011e (1c:411e)
|
|||
Func_7011f: ; 7011f (1c:411f)
|
||||
ld b, $8
|
||||
.asm_70121
|
||||
ld hl, $c35c
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld hl, wOAMBuffer + $5c
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld de, $fffc
|
||||
ld c, a
|
||||
.asm_7012b
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
_GivePokemon: ; 4fda5 (13:7da5)
|
||||
call EnableAutoTextBoxDrawing
|
||||
xor a
|
||||
ld [$ccd3], a
|
||||
ld a, [W_NUMINPARTY] ; $d163
|
||||
ld [wccd3], a
|
||||
ld a, [W_NUMINPARTY] ; W_NUMINPARTY
|
||||
cp $6
|
||||
jr c, .asm_4fe01
|
||||
ld a, [W_NUMINBOX] ; $da80
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
cp $14
|
||||
jr nc, .asm_4fdf9
|
||||
xor a
|
||||
ld [W_ENEMYBATTSTATUS3], a ; $d069
|
||||
ld a, [$cf91]
|
||||
ld [W_ENEMYBATTSTATUS3], a ; W_ENEMYBATTSTATUS3
|
||||
ld a, [wcf91]
|
||||
ld [W_ENEMYMONID], a
|
||||
callab Func_3eb01
|
||||
call SetPokedexOwnedFlag
|
||||
callab Func_e7a4
|
||||
ld hl, $cf4b
|
||||
ld a, [$d5a0]
|
||||
ld hl, wcf4b
|
||||
ld a, [wd5a0]
|
||||
and $7f
|
||||
cp $9
|
||||
jr c, .asm_4fdec
|
||||
|
@ -43,26 +43,26 @@ _GivePokemon: ; 4fda5 (13:7da5)
|
|||
call SetPokedexOwnedFlag
|
||||
call AddPokemonToParty
|
||||
ld a, $1
|
||||
ld [$cc3c], a
|
||||
ld [$ccd3], a
|
||||
ld [wcc3c], a
|
||||
ld [wccd3], a
|
||||
scf
|
||||
ret
|
||||
|
||||
SetPokedexOwnedFlag: ; 4fe11 (13:7e11)
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
push af
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
ld a, $3a
|
||||
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
dec a
|
||||
ld c, a
|
||||
ld hl, wPokedexOwned ; $d2f7
|
||||
ld hl, wPokedexOwned ; wPokedexOwned
|
||||
ld b, $1
|
||||
ld a, $10 ; FlagActionPredef
|
||||
call Predef
|
||||
pop af
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
ld hl, GotMonText
|
||||
jp PrintText
|
||||
|
|
|
@ -14,18 +14,18 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
ld hl, rLCDC ; $ff40
|
||||
set 3, [hl]
|
||||
xor a
|
||||
ld hl, $cc5b
|
||||
ld hl, wcc5b
|
||||
ld bc, $60
|
||||
call FillMemory
|
||||
xor a
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
ld [$ffd7], a
|
||||
ld [W_SPRITEFLIPPED], a
|
||||
ld [$d358], a
|
||||
ld [$cd40], a
|
||||
ld [wd358], a
|
||||
ld [wTrainerScreenY], a
|
||||
inc a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld hl, $d5a2
|
||||
ld hl, wd5a2
|
||||
ld a, [hl]
|
||||
inc a
|
||||
jr z, .asm_701eb
|
||||
|
@ -36,7 +36,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
ld c, BANK(Music_HallOfFame)
|
||||
ld a, MUSIC_HALL_OF_FAME
|
||||
call PlayMusic
|
||||
ld hl, W_PARTYMON1 ; $d164
|
||||
ld hl, W_PARTYMON1 ; W_PARTYMON1
|
||||
ld c, $ff
|
||||
.asm_701fb
|
||||
ld a, [hli]
|
||||
|
@ -45,24 +45,24 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
inc c
|
||||
push hl
|
||||
push bc
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld a, c
|
||||
ld [$cd3e], a
|
||||
ld hl, W_PARTYMON1_LEVEL ; $d18c
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld hl, W_PARTYMON1_LEVEL ; W_PARTYMON1_LEVEL
|
||||
ld bc, $2c
|
||||
call AddNTimes
|
||||
ld a, [hl]
|
||||
ld [$cd3f], a
|
||||
ld [wTrainerFacingDirection], a
|
||||
call Func_70278
|
||||
call Func_702e1
|
||||
ld c, $50
|
||||
call DelayFrames
|
||||
FuncCoord 2, 13 ; $c4a6
|
||||
FuncCoord 2, 13
|
||||
ld hl, Coord
|
||||
ld b, $3
|
||||
ld c, $e
|
||||
call TextBoxBorder
|
||||
FuncCoord 4, 15 ; $c4d0
|
||||
FuncCoord 4, 15
|
||||
ld hl, Coord
|
||||
ld de, HallOfFameText
|
||||
call PlaceString
|
||||
|
@ -75,15 +75,15 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
.asm_70241
|
||||
ld a, c
|
||||
inc a
|
||||
ld hl, $cc5b
|
||||
ld hl, wcc5b
|
||||
ld bc, $10
|
||||
call AddNTimes
|
||||
ld [hl], $ff
|
||||
call Func_73b0d
|
||||
xor a
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
inc a
|
||||
ld [$cd40], a
|
||||
ld [wTrainerScreenY], a
|
||||
call Func_70278
|
||||
call Func_70377
|
||||
call Func_70423
|
||||
|
@ -102,18 +102,18 @@ Func_70278: ; 70278 (1c:4278)
|
|||
ld [$ffaf], a
|
||||
ld a, $c0
|
||||
ld [$ffae], a
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld [$cf91], a
|
||||
ld [$d0b5], a
|
||||
ld [$cfd9], a
|
||||
ld [$cf1d], a
|
||||
ld a, [$cd40]
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld [wcf91], a
|
||||
ld [wd0b5], a
|
||||
ld [wcfd9], a
|
||||
ld [wcf1d], a
|
||||
ld a, [wTrainerScreenY]
|
||||
and a
|
||||
jr z, .asm_7029d
|
||||
call Func_7033e
|
||||
jr .asm_702ab
|
||||
.asm_7029d
|
||||
FuncCoord 12, 5 ; $c410
|
||||
FuncCoord 12, 5
|
||||
ld hl, Coord
|
||||
call GetMonHeader
|
||||
call LoadFrontSpriteByMonIndex
|
||||
|
@ -129,7 +129,7 @@ Func_70278: ; 70278 (1c:4278)
|
|||
call Func_7036d
|
||||
ld d, $a0
|
||||
ld e, $4
|
||||
ld a, [$cf1b]
|
||||
ld a, [wcf1b]
|
||||
and a
|
||||
jr z, .asm_702c7
|
||||
sla e
|
||||
|
@ -151,37 +151,37 @@ Func_70278: ; 70278 (1c:4278)
|
|||
ret
|
||||
|
||||
Func_702e1: ; 702e1 (1c:42e1)
|
||||
ld a, [$cd3e]
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
call GetPartyMonName
|
||||
call Func_702f0
|
||||
jp Func_70404
|
||||
|
||||
Func_702f0: ; 702f0 (1c:42f0)
|
||||
FuncCoord 0, 2 ; $c3c8
|
||||
FuncCoord 0, 2
|
||||
ld hl, Coord
|
||||
ld b, $9
|
||||
ld c, $a
|
||||
call TextBoxBorder
|
||||
FuncCoord 2, 6 ; $c41a
|
||||
FuncCoord 2, 6
|
||||
ld hl, Coord
|
||||
ld de, HoFMonInfoText
|
||||
call PlaceString
|
||||
FuncCoord 1, 4 ; $c3f1
|
||||
FuncCoord 1, 4
|
||||
ld hl, Coord
|
||||
ld de, $cd6d
|
||||
ld de, wcd6d
|
||||
call PlaceString
|
||||
ld a, [$cd3f]
|
||||
FuncCoord 8, 7 ; $c434
|
||||
ld a, [wTrainerFacingDirection]
|
||||
FuncCoord 8, 7
|
||||
ld hl, Coord
|
||||
call PrintLevelCommon
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld [$d0b5], a
|
||||
FuncCoord 3, 9 ; $c457
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld [wd0b5], a
|
||||
FuncCoord 3, 9
|
||||
ld hl, Coord
|
||||
ld a, $4b
|
||||
call Predef ; indirect jump to Func_27d6b (27d6b (9:7d6b))
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
jp PlayCry
|
||||
|
||||
HoFMonInfoText: ; 70329 (1c:4329)
|
||||
|
@ -210,58 +210,58 @@ Func_7033e: ; 7033e (1c:433e)
|
|||
|
||||
Func_7036d: ; 7036d (1c:436d)
|
||||
ld b, $0
|
||||
FuncCoord 12, 5 ; $c410
|
||||
FuncCoord 12, 5
|
||||
ld hl, Coord
|
||||
ld a, $31
|
||||
jp Predef ; indirect jump to Func_79dda (79dda (1e:5dda))
|
||||
|
||||
Func_70377: ; 70377 (1c:4377)
|
||||
ld hl, $d747
|
||||
ld hl, wd747
|
||||
set 3, [hl]
|
||||
ld a, $56
|
||||
call Predef ; indirect jump to DisplayDexRating (44169 (11:4169))
|
||||
FuncCoord 0, 4 ; $c3f0
|
||||
FuncCoord 0, 4
|
||||
ld hl, Coord
|
||||
ld b, $6
|
||||
ld c, $a
|
||||
call TextBoxBorder
|
||||
FuncCoord 5, 0 ; $c3a5
|
||||
FuncCoord 5, 0
|
||||
ld hl, Coord
|
||||
ld b, $2
|
||||
ld c, $9
|
||||
call TextBoxBorder
|
||||
FuncCoord 7, 2 ; $c3cf
|
||||
FuncCoord 7, 2
|
||||
ld hl, Coord
|
||||
ld de, W_PLAYERNAME ; $d158
|
||||
ld de, W_PLAYERNAME ; wd158
|
||||
call PlaceString
|
||||
FuncCoord 1, 6 ; $c419
|
||||
FuncCoord 1, 6
|
||||
ld hl, Coord
|
||||
ld de, HoFPlayTimeText
|
||||
call PlaceString
|
||||
FuncCoord 5, 7 ; $c431
|
||||
FuncCoord 5, 7
|
||||
ld hl, Coord
|
||||
ld de, $da41
|
||||
ld de, W_PLAYTIMEHOURS + 1
|
||||
ld bc, $103
|
||||
call PrintNumber
|
||||
ld [hl], $6d
|
||||
inc hl
|
||||
ld de, $da43
|
||||
ld de, W_PLAYTIMEMINUTES + 1
|
||||
ld bc, $8102
|
||||
call PrintNumber
|
||||
FuncCoord 1, 9 ; $c455
|
||||
FuncCoord 1, 9
|
||||
ld hl, Coord
|
||||
ld de, HoFMoneyText
|
||||
call PlaceString
|
||||
FuncCoord 4, 10 ; $c46c
|
||||
FuncCoord 4, 10
|
||||
ld hl, Coord
|
||||
ld de, wPlayerMoney ; $d347
|
||||
ld de, wPlayerMoney ; wPlayerMoney
|
||||
ld c, $a3
|
||||
call PrintBCDNumber
|
||||
ld hl, DexSeenOwnedText
|
||||
call Func_703e2
|
||||
ld hl, DexRatingText
|
||||
call Func_703e2
|
||||
ld hl, $cc5d
|
||||
ld hl, wcc5d
|
||||
|
||||
Func_703e2: ; 703e2 (1c:43e2)
|
||||
call PrintText
|
||||
|
@ -283,24 +283,24 @@ DexRatingText: ; 703ff (1c:43ff)
|
|||
db "@"
|
||||
|
||||
Func_70404: ; 70404 (1c:4404)
|
||||
ld hl, $cc5b
|
||||
ld hl, wcc5b
|
||||
ld bc, $10
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
call AddNTimes
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld [hli], a
|
||||
ld a, [$cd3f]
|
||||
ld a, [wTrainerFacingDirection]
|
||||
ld [hli], a
|
||||
ld e, l
|
||||
ld d, h
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
ld bc, $b
|
||||
jp CopyData
|
||||
|
||||
Func_70423: ; 70423 (1c:4423)
|
||||
ld a, $a
|
||||
ld [$cfc8], a
|
||||
ld [$cfc9], a
|
||||
ld [wcfc8], a
|
||||
ld [wcfc9], a
|
||||
ld a, $ff
|
||||
ld [wMusicHeaderPointer], a
|
||||
jp GBFadeOut2
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
PrintNotebookText: ; 52996 (14:6996)
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $1
|
||||
ld [$cc3c], a
|
||||
ld [wcc3c], a
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
jp PrintPredefTextID
|
||||
|
||||
|
@ -92,7 +92,7 @@ FightingDojoText: ; 52a2a (14:6a2a)
|
|||
db "@"
|
||||
|
||||
PrintIndigoPlateauHQText: ; 52a2f (14:6a2f)
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4
|
||||
ret nz
|
||||
call EnableAutoTextBoxDrawing
|
||||
|
|
|
@ -16,14 +16,14 @@ RedBedroomPC: ; 5db8e (17:5b8e)
|
|||
db $fc ; FuncTX_ItemStoragePC
|
||||
|
||||
Route15GateLeftBinoculars: ; 5db8f (17:5b8f)
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4 ; i
|
||||
ret nz
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $a ; text id Route15UpstairsBinocularsText
|
||||
call PrintPredefTextID
|
||||
ld a, ARTICUNO
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
call PlayCry
|
||||
jp DisplayMonFrontSpriteInBox
|
||||
|
||||
|
@ -33,7 +33,7 @@ Route15UpstairsBinocularsText: ; 5dba8 (17:5ba8)
|
|||
|
||||
AerodactylFossil: ; 5dbad (17:5bad)
|
||||
ld a, FOSSIL_AERODACTYL
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
call DisplayMonFrontSpriteInBox
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $9
|
||||
|
@ -46,7 +46,7 @@ AerodactylFossilText: ; 5dbbe (17:5bbe)
|
|||
|
||||
KabutopsFossil: ; 5bdc3 (17:5bc3)
|
||||
ld a, FOSSIL_KABUTOPS
|
||||
ld [$cf91], a
|
||||
ld [wcf91], a
|
||||
call DisplayMonFrontSpriteInBox
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $b
|
||||
|
@ -59,7 +59,7 @@ KabutopsFossilText: ; 5dbd4 (17:5bd4)
|
|||
|
||||
DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9)
|
||||
; Displays a pokemon's front sprite in a pop-up window.
|
||||
; [$cf91] = pokemon interal id number
|
||||
; [wcf91] = pokemon interal id number
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
call Delay3
|
||||
|
@ -67,17 +67,17 @@ DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9)
|
|||
ld [$ffb0], a
|
||||
call SaveScreenTilesToBuffer1
|
||||
ld a, $11
|
||||
ld [$d125], a
|
||||
ld [wd125], a
|
||||
call DisplayTextBoxID
|
||||
call UpdateSprites
|
||||
ld a, [$cf91]
|
||||
ld [$d0b5], a
|
||||
ld a, [wcf91]
|
||||
ld [wd0b5], a
|
||||
call GetMonHeader
|
||||
ld de, $8b10
|
||||
call LoadMonFrontSprite
|
||||
ld a, $80
|
||||
ld [$ffe1], a
|
||||
FuncCoord 10, 11 ; $c486
|
||||
FuncCoord 10, 11
|
||||
ld hl, Coord
|
||||
ld a, $2
|
||||
call Predef ; indirect jump to Func_3f073 (3f073 (f:7073))
|
||||
|
@ -91,8 +91,8 @@ DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9)
|
|||
PrintBlackboardLinkCableText: ; 5dc1a (17:5c1a)
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $1
|
||||
ld [$cc3c], a
|
||||
ld a, [$cd3d]
|
||||
ld [wcc3c], a
|
||||
ld a, [wWhichTrade]
|
||||
call PrintPredefTextID
|
||||
ret
|
||||
|
||||
|
@ -114,13 +114,13 @@ LinkCableHelp: ; 5dc29 (17:5c29)
|
|||
ld a, $1
|
||||
ld [wTopMenuItemX], a
|
||||
.asm_5c51
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
ld hl, wTileMap
|
||||
ld b, $8
|
||||
ld c, $d
|
||||
call TextBoxBorder
|
||||
ld hl, $c3ca
|
||||
ld hl, wTileMap + $2a
|
||||
ld de, HowToLinkText
|
||||
call PlaceString
|
||||
ld hl, LinkCableHelpText2
|
||||
|
@ -131,7 +131,7 @@ LinkCableHelp: ; 5dc29 (17:5c29)
|
|||
ld a, [wCurrentMenuItem]
|
||||
cp $3
|
||||
jr z, .asm_5dc93 ; 0x5dc7b $16
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
ld hl, LinkCableInfoTexts
|
||||
add a
|
||||
|
@ -144,7 +144,7 @@ LinkCableHelp: ; 5dc29 (17:5c29)
|
|||
call PrintText
|
||||
jp .asm_5c51
|
||||
.asm_5dc93
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
call LoadScreenTilesFromBuffer1
|
||||
jp TextScriptEnd
|
||||
|
@ -198,15 +198,15 @@ ViridianSchoolBlackboard: ; 5dced (17:5ced)
|
|||
ld a, $1
|
||||
ld [wTopMenuItemX], a
|
||||
.asm_5dd15
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
ld hl, wTileMap
|
||||
ld bc, $060a
|
||||
call TextBoxBorder
|
||||
ld hl, $c3c9
|
||||
ld hl, wTileMap + $29
|
||||
ld de, StatusAilmentText1
|
||||
call PlaceString
|
||||
ld hl, $c3ce
|
||||
ld hl, wTileMap + $2e
|
||||
ld de, StatusAilmentText2
|
||||
call PlaceString
|
||||
ld hl, ViridianSchoolBlackboardText2
|
||||
|
@ -244,7 +244,7 @@ ViridianSchoolBlackboard: ; 5dced (17:5ced)
|
|||
add b
|
||||
cp $5
|
||||
jr z, .exitBlackboard
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
ld hl, ViridianBlackboardStatusPointers
|
||||
add a
|
||||
|
@ -257,7 +257,7 @@ ViridianSchoolBlackboard: ; 5dced (17:5ced)
|
|||
call PrintText
|
||||
jp .asm_5dd15
|
||||
.exitBlackboard
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
call LoadScreenTilesFromBuffer1
|
||||
jp TextScriptEnd
|
||||
|
@ -318,11 +318,11 @@ VermilionGymTrashText: ; 5ddf7 (17:5df7)
|
|||
|
||||
GymTrashScript: ; 5ddfc (17:5dfc)
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld [$cd5b], a
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld [wcd5b], a
|
||||
|
||||
; Don't do the trash can puzzle if it's already been done.
|
||||
ld a, [$d773]
|
||||
ld a, [wd773]
|
||||
bit 0, a
|
||||
jr z, .ok
|
||||
|
||||
|
@ -333,9 +333,9 @@ GymTrashScript: ; 5ddfc (17:5dfc)
|
|||
bit 1, a
|
||||
jr nz, .trySecondLock
|
||||
|
||||
ld a, [$d743]
|
||||
ld a, [wd743]
|
||||
ld b, a
|
||||
ld a, [$cd5b]
|
||||
ld a, [wcd5b]
|
||||
cp b
|
||||
jr z, .openFirstLock
|
||||
|
||||
|
@ -344,11 +344,11 @@ GymTrashScript: ; 5ddfc (17:5dfc)
|
|||
|
||||
.openFirstLock
|
||||
; Next can is trying for the second switch.
|
||||
ld hl, $d773
|
||||
ld hl, wd773
|
||||
set 1, [hl]
|
||||
|
||||
ld hl, GymTrashCans ; $5e7d
|
||||
ld a, [$cd5b]
|
||||
ld a, [wcd5b]
|
||||
; * 5
|
||||
ld b, a
|
||||
add a
|
||||
|
@ -375,34 +375,34 @@ GymTrashScript: ; 5ddfc (17:5dfc)
|
|||
add hl, de
|
||||
ld a, [hl]
|
||||
and $f
|
||||
ld [$d744], a
|
||||
ld [wd744], a
|
||||
|
||||
ld a, $3b ; DisplayTextID $3b = VermilionGymTrashSuccesText1 (first lock opened!)
|
||||
jr .done
|
||||
|
||||
.trySecondLock
|
||||
ld a, [$d744]
|
||||
ld a, [wd744]
|
||||
ld b, a
|
||||
ld a, [$cd5b]
|
||||
ld a, [wcd5b]
|
||||
cp b
|
||||
jr z, .openSecondLock
|
||||
|
||||
; Reset the cans.
|
||||
ld hl, $d773
|
||||
ld hl, wd773
|
||||
res 1, [hl]
|
||||
call Random
|
||||
|
||||
and $e
|
||||
ld [$d743], a
|
||||
ld [wd743], a
|
||||
|
||||
ld a, $3e ; DisplayTextID $3e = VermilionGymTrashFailText (locks reset!)
|
||||
jr .done
|
||||
|
||||
.openSecondLock
|
||||
; Completed the trash can puzzle.
|
||||
ld hl, $d773
|
||||
ld hl, wd773
|
||||
set 0, [hl]
|
||||
ld hl, $d126
|
||||
ld hl, wd126
|
||||
set 6, [hl]
|
||||
|
||||
ld a, $3d ; DisplayTextID $3d = VermilionGymTrashSuccesText3 (2nd lock opened!)
|
||||
|
|
|
@ -3,7 +3,7 @@ GymStatues: ; 62419 (18:6419)
|
|||
; if in a gym and don’t have the corresponding badge, a = $C and jp PrintPredefTextID
|
||||
; else ret
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4
|
||||
ret nz
|
||||
ld hl, .BadgeFlags
|
||||
|
@ -19,7 +19,7 @@ GymStatues: ; 62419 (18:6419)
|
|||
jr .asm_62429 ; 0x62431 $f6
|
||||
.asm_62433
|
||||
ld b, [hl]
|
||||
ld a, [$d72a]
|
||||
ld a, [wd72a]
|
||||
and b
|
||||
cp b
|
||||
ld a, $d
|
||||
|
@ -64,7 +64,7 @@ PrintBenchGuyText: ; 6245d (18:645d)
|
|||
.asm_62472
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp b
|
||||
jr nz, .asm_62467
|
||||
ld a, [hl]
|
||||
|
@ -140,7 +140,7 @@ CinnabarIslandPokecenterBenchGuyText: ; 624df (18:64df)
|
|||
|
||||
SaffronCityPokecenterBenchGuyText: ; 624e4 (18:64e4)
|
||||
db $8 ; asm
|
||||
ld a, [$d838]
|
||||
ld a, [wd838]
|
||||
bit 7, a
|
||||
ld hl, SaffronCityPokecenterBenchGuyText2
|
||||
jr nz, .asm_624f2 ; 0x624ed $3
|
||||
|
@ -176,12 +176,12 @@ BookcaseText: ; 62511 (18:6511)
|
|||
db "@"
|
||||
|
||||
OpenPokemonCenterPC: ; 62516 (18:6516)
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4 ; check to see if player is facing up
|
||||
ret nz
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $1
|
||||
ld [$cf0c], a
|
||||
ld [wcf0c], a
|
||||
ld a, $1f ; PredefText1f
|
||||
jp PrintPredefTextID
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
; prints text for bookshelves in buildings without sign events
|
||||
PrintBookshelfText: ; fb50 (3:7b50)
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4
|
||||
jr nz, .asm_fb7f
|
||||
ld a, [W_CURMAPTILESET] ; $d367
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
ld b, a
|
||||
FuncCoord 8, 7 ; $c434
|
||||
FuncCoord 8, 7
|
||||
ld a, [Coord]
|
||||
ld c, a
|
||||
ld hl, BookshelfTileIDs ; $7b8b
|
||||
|
@ -90,7 +90,7 @@ BookOrSculptureText: ; fbe8 (3:7be8)
|
|||
ld a, [W_CURMAPTILESET]
|
||||
cp MANSION ; Celadon Mansion tileset
|
||||
jr nz, .asm_fbfd
|
||||
ld a, [$c420]
|
||||
ld a, [wTileMap + $80]
|
||||
cp $38
|
||||
jr nz, .asm_fbfd
|
||||
ld hl, DiglettSculptureText
|
||||
|
@ -115,8 +115,8 @@ TownMapText: ; fc12 (3:7c12)
|
|||
db $06
|
||||
db $08 ; asm
|
||||
ld a, $1
|
||||
ld [$cc3c], a
|
||||
ld hl, $d730
|
||||
ld [wcc3c], a
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
call GBPalWhiteOutWithDelay3
|
||||
xor a
|
||||
|
@ -125,7 +125,7 @@ TownMapText: ; fc12 (3:7c12)
|
|||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
call LoadFontTilePatterns
|
||||
callba DisplayTownMap
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
ld de, TextScriptEnd
|
||||
push de
|
||||
|
|
|
@ -21,7 +21,7 @@ DisplayOakLabRightPoster: ; 1e965 (7:6965)
|
|||
ld hl, wPokedexOwned
|
||||
ld b, wPokedexOwnedEnd - wPokedexOwned
|
||||
call CountSetBits
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
cp $2
|
||||
ld a, $6 ; SaveOptionText
|
||||
jr c, .asm_1e97b
|
||||
|
@ -38,29 +38,29 @@ StrengthsAndWeaknessesText: ; 1e983 (7:6983)
|
|||
db "@"
|
||||
|
||||
SafariZoneCheck: ; 1e988 (7:6988)
|
||||
ld hl, $d790
|
||||
ld hl, wd790
|
||||
bit 7, [hl]
|
||||
jr z, asm_1e9ab
|
||||
ld a, [W_NUMSAFARIBALLS] ; $da47
|
||||
ld a, [W_NUMSAFARIBALLS] ; W_NUMSAFARIBALLS
|
||||
and a
|
||||
jr z, asm_1e9b0
|
||||
jr asm_1e9ab
|
||||
|
||||
SafariZoneCheckSteps: ; 1e997 (7:6997)
|
||||
ld a, [wSafariSteps] ; $d70d
|
||||
ld a, [wSafariSteps] ; wd70d
|
||||
ld b, a
|
||||
ld a, [wSafariSteps + 1] ; $d70e
|
||||
ld a, [wSafariSteps + 1] ; wd70e
|
||||
ld c, a
|
||||
or b
|
||||
jr z, asm_1e9b0
|
||||
dec bc
|
||||
ld a, b
|
||||
ld [wSafariSteps], a ; $d70d
|
||||
ld [wSafariSteps], a ; wd70d
|
||||
ld a, c
|
||||
ld [wSafariSteps + 1], a ; $d70e
|
||||
ld [wSafariSteps + 1], a ; wd70e
|
||||
asm_1e9ab: ; 1e9ab (7:69ab)
|
||||
xor a
|
||||
ld [$da46], a
|
||||
ld [wda46], a
|
||||
ret
|
||||
asm_1e9b0: ; 1e9b0 (7:69b0)
|
||||
call EnableAutoTextBoxDrawing
|
||||
|
@ -72,24 +72,24 @@ asm_1e9b0: ; 1e9b0 (7:69b0)
|
|||
ld a, (SFX_02_5f - SFX_Headers_02) / 3
|
||||
call PlayMusic
|
||||
.asm_1e9c2
|
||||
ld a, [$c02a]
|
||||
ld a, [wc02a]
|
||||
cp $b9
|
||||
jr nz, .asm_1e9c2
|
||||
ld a, $d3
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
call DisplayTextID
|
||||
xor a
|
||||
ld [$d528], a
|
||||
ld [wd528], a
|
||||
ld a, $9c
|
||||
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
|
||||
ld a, $3
|
||||
ld [$d42f], a
|
||||
ld [wd42f], a
|
||||
ld a, $5
|
||||
ld [W_SAFARIZONEENTRANCECURSCRIPT], a
|
||||
ld hl, $d790
|
||||
ld hl, wd790
|
||||
set 6, [hl]
|
||||
ld a, $1
|
||||
ld [$da46], a
|
||||
ld [wda46], a
|
||||
ret
|
||||
|
||||
PrintSafariGameOverText: ; 1e9ed (7:69ed)
|
||||
|
@ -100,7 +100,7 @@ PrintSafariGameOverText: ; 1e9ed (7:69ed)
|
|||
|
||||
SafariGameOverText: ; 1e9f7 (7:69f7)
|
||||
db $08 ; asm
|
||||
ld a, [W_NUMSAFARIBALLS] ; $da47
|
||||
ld a, [W_NUMSAFARIBALLS] ; W_NUMSAFARIBALLS
|
||||
and a
|
||||
jr z, .asm_1ea04
|
||||
ld hl, TimesUpText
|
||||
|
@ -119,7 +119,7 @@ GameOverText: ; 1ea12 (7:6a12)
|
|||
db "@"
|
||||
|
||||
PrintCinnabarQuiz: ; 1ea17 (7:6a17)
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4
|
||||
ret nz
|
||||
call EnableAutoTextBoxDrawing
|
||||
|
@ -129,8 +129,8 @@ PrintCinnabarQuiz: ; 1ea17 (7:6a17)
|
|||
CinnabarGymQuiz: ; 1ea25 (7:6a25)
|
||||
db $08 ; asm
|
||||
xor a
|
||||
ld [$da38], a
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld [wda38], a
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
push af
|
||||
and $f
|
||||
ld [$ffdb], a
|
||||
|
@ -152,7 +152,7 @@ CinnabarGymQuiz: ; 1ea25 (7:6a25)
|
|||
ld l, a
|
||||
call PrintText
|
||||
ld a, $1
|
||||
ld [$cc3c], a
|
||||
ld [wcc3c], a
|
||||
call CinnabarGymQuiz_1ea92
|
||||
jp TextScriptEnd
|
||||
|
||||
|
@ -193,7 +193,7 @@ CinnabarQuizQuestionsText6: ; 1ea85 (7:6a85)
|
|||
db "@"
|
||||
|
||||
CinnabarGymQuiz_1ea8a: ; 1ea8a (7:6a8a)
|
||||
ld hl, $d79c
|
||||
ld hl, wd79c
|
||||
ld a, $10 ; FlagActionPredef
|
||||
jp Predef
|
||||
|
||||
|
@ -201,10 +201,10 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92)
|
|||
call YesNoChoice
|
||||
ld a, [$ffdc]
|
||||
ld c, a
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
cp c
|
||||
jr nz, .asm_1eab8
|
||||
ld hl, $d126
|
||||
ld hl, wd126
|
||||
set 5, [hl]
|
||||
ld a, [$ffdb]
|
||||
ld [$ffe0], a
|
||||
|
@ -226,7 +226,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92)
|
|||
add $2
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld hl, $d79a
|
||||
ld hl, wd79a
|
||||
ld a, $10 ; FlagActionPredef
|
||||
call Predef
|
||||
ld a, c
|
||||
|
@ -234,7 +234,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92)
|
|||
ret nz
|
||||
ld a, [$ffdb]
|
||||
add $2
|
||||
ld [$da38], a
|
||||
ld [wda38], a
|
||||
ret
|
||||
|
||||
CinnabarGymQuizCorrectText: ; 1eae3 (7:6ae3)
|
||||
|
@ -276,7 +276,7 @@ CinnabarGymQuiz_1eb0a: ; 1eb0a (7:6b0a)
|
|||
ld c, a
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
ld [$d12f], a
|
||||
ld [wd12f], a
|
||||
push bc
|
||||
ld a, [$ffdb]
|
||||
ld [$ffe0], a
|
||||
|
@ -286,13 +286,13 @@ CinnabarGymQuiz_1eb0a: ; 1eb0a (7:6b0a)
|
|||
ld a, c
|
||||
and a
|
||||
jr nz, .asm_1eb36
|
||||
ld a, [$d12f]
|
||||
ld a, [wd12f]
|
||||
jr .asm_1eb38
|
||||
.asm_1eb36
|
||||
ld a, $e
|
||||
.asm_1eb38
|
||||
pop bc
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld a, $17
|
||||
call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
|
||||
ld hl, $ffdb
|
||||
|
@ -322,10 +322,10 @@ MagazinesText: ; 1eb69 (7:6b69)
|
|||
|
||||
BillsHousePC: ; 1eb6e (7:6b6e)
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4
|
||||
ret nz
|
||||
ld a, [$d7f2]
|
||||
ld a, [wd7f2]
|
||||
bit 7, a
|
||||
jr nz, .asm_1ebd2
|
||||
bit 3, a
|
||||
|
@ -337,7 +337,7 @@ BillsHousePC: ; 1eb6e (7:6b6e)
|
|||
jp PrintPredefTextID
|
||||
.asm_1eb8b
|
||||
ld a, $1
|
||||
ld [$cc3c], a
|
||||
ld [wcc3c], a
|
||||
ld a, $2e
|
||||
call PrintPredefTextID
|
||||
ld c, $20
|
||||
|
@ -361,12 +361,12 @@ BillsHousePC: ; 1eb6e (7:6b6e)
|
|||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
call Func_2307
|
||||
ld hl, $d7f2
|
||||
ld hl, wd7f2
|
||||
set 3, [hl]
|
||||
ret
|
||||
.asm_1ebd2
|
||||
ld a, $1
|
||||
ld [$cc3c], a
|
||||
ld [wcc3c], a
|
||||
ld a, $2f
|
||||
call PrintPredefTextID
|
||||
ret
|
||||
|
@ -380,7 +380,7 @@ BillsHouseInitiatedText: ; 1ebe2 (7:6be2)
|
|||
db $06
|
||||
db $08 ; asm
|
||||
ld a, $ff
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld c, $10
|
||||
call DelayFrames
|
||||
|
@ -397,25 +397,25 @@ BillsHousePokemonList: ; 1ec05 (7:6c05)
|
|||
ld hl, BillsHousePokemonListText1
|
||||
call PrintText
|
||||
xor a
|
||||
ld [$d07c], a
|
||||
ld [$cc26], a
|
||||
ld [$cc2a], a
|
||||
ld [W_ANIMATIONID], a
|
||||
ld [wCurrentMenuItem], a
|
||||
ld [wLastMenuItem], a
|
||||
ld a, $3
|
||||
ld [$cc29], a
|
||||
ld [wMenuWatchedKeys], a
|
||||
ld a, $4
|
||||
ld [$cc28], a
|
||||
ld [wMaxMenuItem], a
|
||||
ld a, $2
|
||||
ld [$cc24], a
|
||||
ld [wTopMenuItemY], a
|
||||
ld a, $1
|
||||
ld [$cc25], a
|
||||
ld [wTopMenuItemX], a
|
||||
.asm_1ec2d
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
ld hl, wTileMap
|
||||
ld b, $a
|
||||
ld c, $9
|
||||
call TextBoxBorder
|
||||
ld hl, $c3ca
|
||||
ld hl, wTileMap + $2a
|
||||
ld de, BillsMonListText
|
||||
call PlaceString
|
||||
ld hl, BillsHousePokemonListText2
|
||||
|
@ -424,7 +424,7 @@ BillsHousePokemonList: ; 1ec05 (7:6c05)
|
|||
call HandleMenuInput
|
||||
bit 1, a
|
||||
jr nz, .asm_1ec74
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
add EEVEE
|
||||
cp EEVEE
|
||||
jr z, .asm_1ec6c
|
||||
|
@ -440,7 +440,7 @@ BillsHousePokemonList: ; 1ec05 (7:6c05)
|
|||
call LoadScreenTilesFromBuffer2
|
||||
jr .asm_1ec2d
|
||||
.asm_1ec74
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
call LoadScreenTilesFromBuffer2
|
||||
jp TextScriptEnd
|
||||
|
@ -461,7 +461,7 @@ BillsHousePokemonListText2: ; 1ecaa (7:6caa)
|
|||
db "@"
|
||||
|
||||
DisplayOakLabEmailText: ; 1ecaf (7:6caf)
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4
|
||||
ret nz
|
||||
call EnableAutoTextBoxDrawing
|
||||
|
|
|
@ -202,13 +202,13 @@ UpdateHPBar_CalcHPDifference: ; fad7 (3:7ad7)
|
|||
UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5)
|
||||
push af
|
||||
push de
|
||||
ld a, [wListMenuID] ; $cf94
|
||||
ld a, [wListMenuID] ; wListMenuID
|
||||
and a
|
||||
jr z, .asm_fb2d
|
||||
ld a, [wHPBarOldHP]
|
||||
ld [$cef1], a
|
||||
ld [wcef1], a
|
||||
ld a, [wHPBarOldHP+1]
|
||||
ld [$cef0], a
|
||||
ld [wcef0], a
|
||||
push hl
|
||||
ld a, [$fff6]
|
||||
bit 0, a
|
||||
|
@ -225,7 +225,7 @@ UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5)
|
|||
ld [hli], a
|
||||
ld [hli], a
|
||||
pop hl
|
||||
ld de, $cef0
|
||||
ld de, wcef0
|
||||
ld bc, $203
|
||||
call PrintNumber
|
||||
call DelayFrame
|
||||
|
|
|
@ -11,12 +11,12 @@ Predef54: ; 71ad9 (1c:5ad9)
|
|||
ld b,$0
|
||||
add hl,bc
|
||||
ld a,[hli]
|
||||
ld [$cd0f],a
|
||||
ld [wcd0f],a
|
||||
ld a,[hli]
|
||||
ld [$cd34],a
|
||||
ld [wcd34],a
|
||||
ld a,[hli]
|
||||
push af
|
||||
ld de,$cd29
|
||||
ld de,wcd29
|
||||
ld bc,$000b
|
||||
call CopyData
|
||||
pop af
|
||||
|
@ -26,16 +26,16 @@ Predef54: ; 71ad9 (1c:5ad9)
|
|||
add hl,hl
|
||||
add hl,de
|
||||
ld a,[hli]
|
||||
ld [$cd10],a
|
||||
ld [wcd10],a
|
||||
ld a,[hl]
|
||||
ld [$cd11],a
|
||||
ld a,[$cd0f]
|
||||
ld de,$cd13
|
||||
ld [wcd11],a
|
||||
ld a,[wcd0f]
|
||||
ld de,wcd13
|
||||
call Func_71b6a
|
||||
ld a,[$cd34]
|
||||
ld de,$cd1e
|
||||
ld a,[wcd34]
|
||||
ld de,wPlayerMonAccuracyMod
|
||||
call Func_71b6a
|
||||
ld hl,$d737
|
||||
ld hl,wd737
|
||||
ld a,[wWhichTrade]
|
||||
ld c,a
|
||||
ld b,$2
|
||||
|
@ -44,15 +44,15 @@ Predef54: ; 71ad9 (1c:5ad9)
|
|||
ld a,c
|
||||
and a
|
||||
ld a,$4
|
||||
ld [$cd12],a
|
||||
ld [wcd12],a
|
||||
jr nz,.asm_99bca ; 0x71b36 $20
|
||||
xor a
|
||||
ld [$cd12],a
|
||||
ld [wcd12],a
|
||||
call .asm_99bca
|
||||
ld a,$1
|
||||
ld [$cd12],a
|
||||
ld [wcd12],a
|
||||
call YesNoChoice
|
||||
ld a,[$cc26]
|
||||
ld a,[wCurrentMenuItem]
|
||||
and a
|
||||
jr nz,.asm_99bca ; 0x71b4b $b
|
||||
call Func_71c07
|
||||
|
@ -60,7 +60,7 @@ Predef54: ; 71ad9 (1c:5ad9)
|
|||
ld hl, TradedForText
|
||||
call PrintText
|
||||
.asm_99bca ; 0x71b58
|
||||
ld hl,$cd12
|
||||
ld hl,wcd12
|
||||
ld a,[hld]
|
||||
ld e,a
|
||||
ld d,$0
|
||||
|
@ -76,9 +76,9 @@ Predef54: ; 71ad9 (1c:5ad9)
|
|||
|
||||
Func_71b6a: ; 71b6a (1c:5b6a)
|
||||
push de
|
||||
ld [$d11e],a
|
||||
ld [wd11e],a
|
||||
call GetMonName
|
||||
ld hl,$cd6d
|
||||
ld hl,wcd6d
|
||||
pop de
|
||||
ld bc,$b
|
||||
jp CopyData
|
||||
|
@ -87,28 +87,28 @@ INCLUDE "data/trades.asm"
|
|||
|
||||
Func_71c07: ; 71c07 (1c:5c07)
|
||||
xor a
|
||||
ld [$d07d],a
|
||||
ld [wd07d],a
|
||||
dec a
|
||||
ld [$cfcb],a
|
||||
ld [wcfcb],a
|
||||
call DisplayPartyMenu
|
||||
push af
|
||||
call Func_71ca2
|
||||
pop af
|
||||
ld a,$1
|
||||
jp c,.asm_c4bc2
|
||||
ld a,[$cd0f]
|
||||
ld a,[wcd0f]
|
||||
ld b,a
|
||||
ld a,[$cf91]
|
||||
ld a,[wcf91]
|
||||
cp b
|
||||
ld a,$2
|
||||
jr nz,.asm_c4bc2 ; 0x71c26 $75
|
||||
ld a,[wWhichPokemon]
|
||||
ld hl,$d18c
|
||||
ld hl,W_PARTYMON1_LEVEL
|
||||
ld bc,$002c
|
||||
call AddNTimes
|
||||
ld a,[hl]
|
||||
ld [$d127],a
|
||||
ld hl,$d737
|
||||
ld [W_CURENEMYLVL],a
|
||||
ld hl,wd737
|
||||
ld a,[wWhichTrade]
|
||||
ld c,a
|
||||
ld b,$1
|
||||
|
@ -118,24 +118,24 @@ Func_71c07: ; 71c07 (1c:5c07)
|
|||
call PrintText
|
||||
ld a,[wWhichPokemon]
|
||||
push af
|
||||
ld a,[$d127]
|
||||
ld a,[W_CURENEMYLVL]
|
||||
push af
|
||||
call LoadHpBarAndStatusTilePatterns
|
||||
call Func_71cc1
|
||||
ld a,$38
|
||||
call Predef
|
||||
pop af
|
||||
ld [$d127],a
|
||||
ld [W_CURENEMYLVL],a
|
||||
pop af
|
||||
ld [wWhichPokemon],a
|
||||
ld a,[$cd34]
|
||||
ld [$cf91],a
|
||||
ld a,[wcd34]
|
||||
ld [wcf91],a
|
||||
xor a
|
||||
ld [$cc49],a
|
||||
ld [$cf95],a
|
||||
ld [wcc49],a
|
||||
ld [wcf95],a
|
||||
call RemovePokemon
|
||||
ld a,$80
|
||||
ld [$cc49],a
|
||||
ld [wcc49],a
|
||||
call AddPokemonToParty
|
||||
call Func_71d19
|
||||
callab EvolveTradeMon
|
||||
|
@ -148,7 +148,7 @@ Func_71c07: ; 71c07 (1c:5c07)
|
|||
.asm_c4bc2 ; 0x71c9d
|
||||
scf
|
||||
.asm_ee803 ; 0x71c9e
|
||||
ld [$cd12],a
|
||||
ld [wcd12],a
|
||||
ret
|
||||
|
||||
Func_71ca2: ; 71ca2 (1c:5ca2)
|
||||
|
@ -165,33 +165,33 @@ Func_71ca2: ; 71ca2 (1c:5ca2)
|
|||
jp Bankswitch
|
||||
|
||||
Func_71cc1: ; 71cc1 (1c:5cc1)
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld a, [$cd0f]
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld a, [wcd0f]
|
||||
ld [hli], a
|
||||
ld a, [$cd34]
|
||||
ld a, [wcd34]
|
||||
ld [hl], a
|
||||
ld hl, W_PARTYMON1OT ; $d273
|
||||
ld hl, W_PARTYMON1OT ; wd273
|
||||
ld bc, $b
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
call AddNTimes
|
||||
ld de, $cd41
|
||||
ld de, wTrainerScreenX
|
||||
ld bc, $b
|
||||
call Func_71d11
|
||||
ld hl, String_71d59 ; $5d59
|
||||
ld de, $cd4e
|
||||
ld de, wcd4e
|
||||
call Func_71d11
|
||||
ld de, W_GRASSRATE ; $d887
|
||||
ld de, W_GRASSRATE ; W_GRASSRATE
|
||||
call Func_71d11
|
||||
ld hl, W_PARTYMON1_OTID ; $d177
|
||||
ld hl, W_PARTYMON1_OTID ; W_PARTYMON1_OTID
|
||||
ld bc, $2c
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
call AddNTimes
|
||||
ld de, $cd4c
|
||||
ld de, wcd4c
|
||||
ld bc, $2
|
||||
call Func_71d11
|
||||
call Random
|
||||
ld hl, hRandomAdd
|
||||
ld de, $cd59
|
||||
ld de, wcd59
|
||||
jp CopyData
|
||||
|
||||
Func_71d11: ; 71d11 (1c:5d11)
|
||||
|
@ -203,27 +203,27 @@ Func_71d11: ; 71d11 (1c:5d11)
|
|||
ret
|
||||
|
||||
Func_71d19: ; 71d19 (1c:5d19)
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
ld bc, $b
|
||||
call Func_71d4f
|
||||
ld hl, $cd29
|
||||
ld hl, wcd29
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1OT ; $d273
|
||||
ld hl, W_PARTYMON1OT ; wd273
|
||||
ld bc, $b
|
||||
call Func_71d4f
|
||||
ld hl, String_71d59 ; $5d59
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1_OTID ; $d177
|
||||
ld hl, W_PARTYMON1_OTID ; W_PARTYMON1_OTID
|
||||
ld bc, $2c
|
||||
call Func_71d4f
|
||||
ld hl, $cd59
|
||||
ld hl, wcd59
|
||||
ld bc, $2
|
||||
jp CopyData
|
||||
|
||||
Func_71d4f: ; 71d4f (1c:5d4f)
|
||||
ld a, [W_NUMINPARTY] ; $d163
|
||||
ld a, [W_NUMINPARTY] ; W_NUMINPARTY
|
||||
dec a
|
||||
call AddNTimes
|
||||
ld e, l
|
||||
|
|
|
@ -38,7 +38,7 @@ PlayIntroScene: ; 4169d (10:569d)
|
|||
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
|
||||
call PlaySound
|
||||
xor a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld de, IntroNidorinoAnimation1
|
||||
call AnimateIntroNidorino
|
||||
; hop
|
||||
|
@ -86,7 +86,7 @@ PlayIntroScene: ; 4169d (10:569d)
|
|||
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
|
||||
call PlaySound
|
||||
ld a, $24
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld de, IntroNidorinoAnimation3
|
||||
call AnimateIntroNidorino
|
||||
ld c, $1e
|
||||
|
@ -105,7 +105,7 @@ PlayIntroScene: ; 4169d (10:569d)
|
|||
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
|
||||
call PlaySound
|
||||
xor a
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld de, IntroNidorinoAnimation4 ; $5931
|
||||
call AnimateIntroNidorino
|
||||
; hop
|
||||
|
@ -118,7 +118,7 @@ PlayIntroScene: ; 4169d (10:569d)
|
|||
ret c
|
||||
|
||||
ld a, $24
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld de, IntroNidorinoAnimation6 ; $5947
|
||||
call AnimateIntroNidorino
|
||||
ld c, $1e
|
||||
|
@ -129,7 +129,7 @@ PlayIntroScene: ; 4169d (10:569d)
|
|||
ld a, (SFX_1f_5e - SFX_Headers_1f) / 3
|
||||
call PlaySound
|
||||
ld a, $48
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld de, IntroNidorinoAnimation7 ; $5950
|
||||
jp AnimateIntroNidorino
|
||||
|
||||
|
@ -137,10 +137,10 @@ AnimateIntroNidorino: ; 41793 (10:5793)
|
|||
ld a, [de]
|
||||
cp $50
|
||||
ret z
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
push de
|
||||
ld c, $24
|
||||
call Func_417ae
|
||||
|
@ -152,13 +152,13 @@ AnimateIntroNidorino: ; 41793 (10:5793)
|
|||
|
||||
Func_417ae: ; 417ae (10:57ae)
|
||||
ld hl, wOAMBuffer
|
||||
ld a, [$d09f]
|
||||
ld a, [wd09f]
|
||||
ld d, a
|
||||
.asm_417b5
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
add [hl]
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
add [hl]
|
||||
ld [hli], a
|
||||
ld a, d
|
||||
|
@ -174,14 +174,14 @@ Func_417c7: ; 417c7 (10:57c7)
|
|||
ld d, $0
|
||||
.asm_417cc
|
||||
push bc
|
||||
ld a, [W_BASECOORDY] ; $d082
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld e, a
|
||||
.asm_417d1
|
||||
ld a, e
|
||||
add $8
|
||||
ld e, a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld [hli], a
|
||||
ld a, d
|
||||
ld [hli], a
|
||||
|
@ -190,9 +190,9 @@ Func_417c7: ; 417c7 (10:57c7)
|
|||
inc d
|
||||
dec c
|
||||
jr nz, .asm_417d1
|
||||
ld a, [W_BASECOORDX] ; $d081
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
add $8
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .asm_417cc
|
||||
|
@ -204,7 +204,7 @@ Func_417f0: ; 417f0 (10:57f0)
|
|||
jr asm_417fe
|
||||
|
||||
Func_417f8: ; 417f8 (10:57f8)
|
||||
FuncCoord 0, 4 ; $c3f0
|
||||
FuncCoord 0, 4
|
||||
ld hl, Coord
|
||||
ld bc, $c8
|
||||
asm_417fe: ; 417fe (10:57fe)
|
||||
|
@ -237,9 +237,9 @@ Func_4180e: ; 4180e (10:580e)
|
|||
.asm_4181d
|
||||
push de
|
||||
ld a, $2
|
||||
ld [W_BASECOORDX], a ; $d081
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
xor a
|
||||
ld [W_BASECOORDY], a ; $d082
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld c, $24
|
||||
call Func_417ae
|
||||
pop de
|
||||
|
@ -259,7 +259,7 @@ Func_4180e: ; 4180e (10:580e)
|
|||
ret
|
||||
|
||||
Func_4183f: ; 4183f (10:583f)
|
||||
FuncCoord 13, 7 ; $c439
|
||||
FuncCoord 13, 7
|
||||
ld hl, Coord
|
||||
|
||||
Func_41842: ; 41842 (10:5842)
|
||||
|
@ -306,7 +306,7 @@ PlayShootingStar: ; 4188a (10:588a)
|
|||
call ClearScreen
|
||||
call DisableLCD
|
||||
xor a
|
||||
ld [W_CUROPPONENT], a ; $d059
|
||||
ld [W_CUROPPONENT], a ; wd059
|
||||
call Func_418e9
|
||||
call LoadIntroGraphics
|
||||
call EnableLCD
|
||||
|
@ -323,10 +323,10 @@ PlayShootingStar: ; 4188a (10:588a)
|
|||
call DelayFrames
|
||||
.asm_418d0
|
||||
ld a, Bank(Func_7d8ea)
|
||||
ld [$c0ef], a
|
||||
ld [$c0f0], a
|
||||
ld [wc0ef], a
|
||||
ld [wc0f0], a
|
||||
ld a, MUSIC_INTRO_BATTLE
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
call Func_417f8
|
||||
call ClearSprites
|
||||
|
@ -337,7 +337,7 @@ Func_418e9: ; 418e9 (10:58e9)
|
|||
ld hl, wTileMap
|
||||
ld c, $50
|
||||
call Func_41807
|
||||
FuncCoord 0, 14 ; $c4b8
|
||||
FuncCoord 0, 14
|
||||
ld hl, Coord
|
||||
ld c, $50
|
||||
call Func_41807
|
||||
|
|
|
@ -8,7 +8,7 @@ HiddenItemNear: ; 7481f (1d:481f)
|
|||
ret nc ; return if current map has no hidden items
|
||||
push bc
|
||||
push hl
|
||||
ld hl, $d6f0
|
||||
ld hl, wd6f0
|
||||
ld c, b
|
||||
ld b, $2
|
||||
ld a, $10 ; FlagActionPredef
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,5 @@
|
|||
GetMachinePrice: ; 7bf86 (1e:7f86)
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
sub TM_01
|
||||
ret c
|
||||
ld d, a
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
; checks if the mon in wWhichPokemon already knows the move in $d0e0
|
||||
; checks if the mon in wWhichPokemon already knows the move in wd0e0
|
||||
CheckIfMoveIsKnown: ; 2fe18 (b:7e18)
|
||||
ld a, [wWhichPokemon]
|
||||
ld hl, W_PARTYMON1_MOVE1
|
||||
ld bc, $2c
|
||||
call AddNTimes
|
||||
ld a, [$d0e0]
|
||||
ld a, [wd0e0]
|
||||
ld b, a
|
||||
ld c, $4 ; nubmer of moves
|
||||
.loop
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
; tests if mon [$cf91] can learn move [$d0e0]
|
||||
; tests if mon [wcf91] can learn move [wd0e0]
|
||||
TestMonMoveCompatibility: ; 1373e (4:773e)
|
||||
ld a, [$cf91]
|
||||
ld [$d0b5], a
|
||||
ld a, [wcf91]
|
||||
ld [wd0b5], a
|
||||
call GetMonHeader
|
||||
ld hl, W_MONHLEARNSET
|
||||
push hl
|
||||
ld a, [$d0e0]
|
||||
ld a, [wd0e0]
|
||||
ld b, a
|
||||
ld c, $0
|
||||
ld hl, TechnicalMachines
|
||||
|
@ -21,17 +21,17 @@ TestMonMoveCompatibility: ; 1373e (4:773e)
|
|||
ld a, $10 ; FlagActionPredef
|
||||
jp Predef
|
||||
|
||||
; converts TM/HM number in $d11e into move number
|
||||
; converts TM/HM number in wd11e into move number
|
||||
; HMs start at 51
|
||||
TMToMove: ; 13763 (4:7763)
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
dec a
|
||||
ld hl, TechnicalMachines
|
||||
ld b, $0
|
||||
ld c, a
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
ret
|
||||
|
||||
INCLUDE "data/tms.asm"
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
LearnMove: ; 6e43 (1:6e43)
|
||||
call SaveScreenTilesToBuffer1
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
call GetPartyMonName
|
||||
ld hl, $cd6d
|
||||
ld de, $d036
|
||||
ld hl, wcd6d
|
||||
ld de, wd036
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
|
||||
DontAbandonLearning: ; 6e5b (1:6e5b)
|
||||
ld hl, W_PARTYMON1_MOVE1 ; $d173
|
||||
ld hl, W_PARTYMON1_MOVE1 ; W_PARTYMON1_MOVE1
|
||||
ld bc, $2c
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
call AddNTimes
|
||||
ld d, h
|
||||
ld e, l
|
||||
|
@ -29,14 +29,14 @@ DontAbandonLearning: ; 6e5b (1:6e5b)
|
|||
jp c, AbandonLearning
|
||||
push hl
|
||||
push de
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetMoveName
|
||||
ld hl, OneTwoAndText
|
||||
call PrintText
|
||||
pop de
|
||||
pop hl
|
||||
.asm_6e8b
|
||||
ld a, [$d0e0]
|
||||
ld a, [wd0e0]
|
||||
ld [hl], a
|
||||
ld bc, $15
|
||||
add hl, bc
|
||||
|
@ -46,19 +46,19 @@ DontAbandonLearning: ; 6e5b (1:6e5b)
|
|||
ld hl, Moves ; $4000
|
||||
ld bc, $6
|
||||
call AddNTimes
|
||||
ld de, $cee9
|
||||
ld de, wHPBarMaxHP
|
||||
ld a, BANK(Moves)
|
||||
call FarCopyData
|
||||
ld a, [$ceee]
|
||||
ld a, [wHPBarNewHP + 1]
|
||||
pop de
|
||||
pop hl
|
||||
ld [hl], a
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
and a
|
||||
jp z, PrintLearnedMove
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld b, a
|
||||
ld a, [wPlayerMonNumber] ; $cc2f
|
||||
ld a, [wPlayerMonNumber] ; wPlayerMonNumber
|
||||
cp b
|
||||
jp nz, PrintLearnedMove
|
||||
ld h, d
|
||||
|
@ -68,7 +68,7 @@ DontAbandonLearning: ; 6e5b (1:6e5b)
|
|||
call CopyData
|
||||
ld bc, $11
|
||||
add hl, bc
|
||||
ld de, W_PLAYERMONPP ; $d02d
|
||||
ld de, W_PLAYERMONPP ; W_PLAYERMONPP
|
||||
ld bc, $4
|
||||
call CopyData
|
||||
jp PrintLearnedMove
|
||||
|
@ -76,13 +76,13 @@ DontAbandonLearning: ; 6e5b (1:6e5b)
|
|||
AbandonLearning: ; 6eda (1:6eda)
|
||||
ld hl, AbandonLearningText
|
||||
call PrintText
|
||||
FuncCoord 14, 7 ; $c43a
|
||||
FuncCoord 14, 7
|
||||
ld hl, Coord
|
||||
ld bc, $80f
|
||||
ld a, $14
|
||||
ld [$d125], a
|
||||
ld [wd125], a
|
||||
call DisplayTextBoxID
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jp nz, DontAbandonLearning
|
||||
ld hl, DidNotLearnText
|
||||
|
@ -100,20 +100,20 @@ TryingToLearn: ; 6f07 (1:6f07)
|
|||
push hl
|
||||
ld hl, TryingToLearnText
|
||||
call PrintText
|
||||
FuncCoord 14, 7 ; $c43a
|
||||
FuncCoord 14, 7
|
||||
ld hl, Coord
|
||||
ld bc, $80f
|
||||
ld a, $14
|
||||
ld [$d125], a
|
||||
ld [wd125], a
|
||||
call DisplayTextBoxID
|
||||
pop hl
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
rra
|
||||
ret c
|
||||
ld bc, $fffc
|
||||
add hl, bc
|
||||
push hl
|
||||
ld de, $d0dc
|
||||
ld de, wd0dc
|
||||
ld bc, $4
|
||||
call CopyData
|
||||
callab Func_39b87
|
||||
|
@ -122,14 +122,14 @@ TryingToLearn: ; 6f07 (1:6f07)
|
|||
push hl
|
||||
ld hl, WhichMoveToForgetText
|
||||
call PrintText
|
||||
FuncCoord 4, 7 ; $c430
|
||||
FuncCoord 4, 7
|
||||
ld hl, Coord
|
||||
ld b, $4
|
||||
ld c, $e
|
||||
call TextBoxBorder
|
||||
FuncCoord 6, 8 ; $c446
|
||||
FuncCoord 6, 8
|
||||
ld hl, Coord
|
||||
ld de, $d0e1
|
||||
ld de, wd0e1
|
||||
ld a, [$fff6]
|
||||
set 2, a
|
||||
ld [$fff6], a
|
||||
|
@ -137,7 +137,7 @@ TryingToLearn: ; 6f07 (1:6f07)
|
|||
ld a, [$fff6]
|
||||
res 2, a
|
||||
ld [$fff6], a
|
||||
ld hl, wTopMenuItemY ; $cc24
|
||||
ld hl, wTopMenuItemY ; wTopMenuItemY
|
||||
ld a, $8
|
||||
ld [hli], a
|
||||
ld a, $5
|
||||
|
@ -145,7 +145,7 @@ TryingToLearn: ; 6f07 (1:6f07)
|
|||
xor a
|
||||
ld [hli], a
|
||||
inc hl
|
||||
ld a, [$cd6c]
|
||||
ld a, [wcd6c]
|
||||
ld [hli], a
|
||||
ld a, $3
|
||||
ld [hli], a
|
||||
|
@ -162,7 +162,7 @@ TryingToLearn: ; 6f07 (1:6f07)
|
|||
bit 1, a
|
||||
jr nz, .asm_6fab
|
||||
push hl
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
|
|
|
@ -2,13 +2,13 @@ Func_213c8:: ; 213c8 (8:53c8)
|
|||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
call SaveScreenTilesToBuffer2
|
||||
ld a, [$d5a2]
|
||||
ld a, [wd5a2]
|
||||
and a
|
||||
jr nz, .asm_213f3
|
||||
ld a, [$d74b]
|
||||
ld a, [wd74b]
|
||||
bit 5, a
|
||||
jr z, .asm_213ea
|
||||
ld a, [$d5a2]
|
||||
ld a, [wd5a2]
|
||||
and a
|
||||
jr nz, .asm_213f3
|
||||
ld hl, wTileMap
|
||||
|
@ -28,70 +28,70 @@ Func_213c8:: ; 213c8 (8:53c8)
|
|||
call TextBoxBorder
|
||||
call UpdateSprites
|
||||
ld a, $3
|
||||
ld [wMaxMenuItem], a ; $cc28
|
||||
ld a, [$d7f1]
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
ld a, [wd7f1]
|
||||
bit 0, a
|
||||
jr nz, .asm_21414
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
ld de, SomeonesPCText ; $548b
|
||||
jr .asm_2141a
|
||||
.asm_21414
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
ld de, BillsPCText ; $5497
|
||||
.asm_2141a
|
||||
call PlaceString
|
||||
FuncCoord 2, 4 ; $c3f2
|
||||
FuncCoord 2, 4
|
||||
ld hl, Coord
|
||||
ld de, W_PLAYERNAME ; $d158
|
||||
ld de, W_PLAYERNAME ; wd158
|
||||
call PlaceString
|
||||
ld l, c
|
||||
ld h, b
|
||||
ld de, PlayersPCText ; $54a0
|
||||
call PlaceString
|
||||
ld a, [$d74b]
|
||||
ld a, [wd74b]
|
||||
bit 5, a
|
||||
jr z, .asm_21462
|
||||
FuncCoord 2, 6 ; $c41a
|
||||
FuncCoord 2, 6
|
||||
ld hl, Coord
|
||||
ld de, OaksPCText ; $54a5
|
||||
call PlaceString
|
||||
ld a, [$d5a2]
|
||||
ld a, [wd5a2]
|
||||
and a
|
||||
jr z, .asm_2145a
|
||||
ld a, $4
|
||||
ld [wMaxMenuItem], a ; $cc28
|
||||
FuncCoord 2, 8 ; $c442
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
FuncCoord 2, 8
|
||||
ld hl, Coord
|
||||
ld de, PKMNLeaguePCText ; $54b2
|
||||
call PlaceString
|
||||
FuncCoord 2, 10 ; $c46a
|
||||
FuncCoord 2, 10
|
||||
ld hl, Coord
|
||||
ld de, LogOffPCText ; $54ba
|
||||
jr .asm_2146d
|
||||
.asm_2145a
|
||||
FuncCoord 2, 8 ; $c442
|
||||
FuncCoord 2, 8
|
||||
ld hl, Coord
|
||||
ld de, LogOffPCText ; $54ba
|
||||
jr .asm_2146d
|
||||
.asm_21462
|
||||
ld a, $2
|
||||
ld [wMaxMenuItem], a ; $cc28
|
||||
FuncCoord 2, 6 ; $c41a
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
FuncCoord 2, 6
|
||||
ld hl, Coord
|
||||
ld de, LogOffPCText ; $54ba
|
||||
.asm_2146d
|
||||
call PlaceString
|
||||
ld a, $3
|
||||
ld [wMenuWatchedKeys], a ; $cc29
|
||||
ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
|
||||
ld a, $2
|
||||
ld [wTopMenuItemY], a ; $cc24
|
||||
ld [wTopMenuItemY], a ; wTopMenuItemY
|
||||
ld a, $1
|
||||
ld [wTopMenuItemX], a ; $cc25
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wLastMenuItem], a ; $cc2a
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wLastMenuItem], a ; wLastMenuItem
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ret
|
||||
|
@ -116,14 +116,14 @@ LogOffPCText: ; 214ba (8:54ba)
|
|||
|
||||
Func_214c2:: ; 214c2 (8:54c2)
|
||||
BillsPC_:: ; 0x214c2
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
xor a
|
||||
ld [$ccd3], a
|
||||
ld [wccd3], a
|
||||
inc a ; MONSTER_NAME
|
||||
ld [W_LISTTYPE], a
|
||||
call LoadHpBarAndStatusTilePatterns
|
||||
ld a, [wListScrollOffset] ; $cc36
|
||||
ld a, [wListScrollOffset] ; wcc36
|
||||
push af
|
||||
ld a, [wFlags_0xcd60]
|
||||
bit 3, a
|
||||
|
@ -135,8 +135,8 @@ BillsPC_:: ; 0x214c2
|
|||
|
||||
Func_214e8: ; 214e8 (8:54e8)
|
||||
BillsPCMenu:
|
||||
ld a, [$ccd3]
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld a, [wccd3]
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld hl, $9780
|
||||
ld de, PokeballTileGraphics ; $697e
|
||||
ld bc, (BANK(PokeballTileGraphics) << 8) + $01
|
||||
|
@ -146,11 +146,11 @@ BillsPCMenu:
|
|||
ld b, $a
|
||||
ld c, $c
|
||||
call TextBoxBorder
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
ld de, BillsPCMenuText ; $56e1
|
||||
call PlaceString
|
||||
ld hl, wTopMenuItemY ; $cc24
|
||||
ld hl, wTopMenuItemY ; wTopMenuItemY
|
||||
ld a, $2
|
||||
ld [hli], a
|
||||
dec a
|
||||
|
@ -164,23 +164,23 @@ BillsPCMenu:
|
|||
xor a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld hl, wListScrollOffset ; $cc36
|
||||
ld hl, wListScrollOffset ; wcc36
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld [wPlayerMonNumber], a ; $cc2f
|
||||
ld [wPlayerMonNumber], a ; wPlayerMonNumber
|
||||
ld hl, WhatText
|
||||
call PrintText
|
||||
FuncCoord 9, 14 ; $c4c1
|
||||
FuncCoord 9, 14
|
||||
ld hl, Coord
|
||||
ld b, $2
|
||||
ld c, $9
|
||||
call TextBoxBorder
|
||||
ld a, [$d5a0]
|
||||
ld a, [wd5a0]
|
||||
and $7f
|
||||
cp $9
|
||||
jr c, .asm_2154f
|
||||
sub $9
|
||||
FuncCoord 17, 16 ; $c4f1
|
||||
FuncCoord 17, 16
|
||||
ld hl, Coord
|
||||
ld [hl], $f7
|
||||
add $f6
|
||||
|
@ -188,9 +188,9 @@ BillsPCMenu:
|
|||
.asm_2154f
|
||||
add $f7
|
||||
.asm_21551
|
||||
FuncCoord 18, 16 ; $c4f2
|
||||
FuncCoord 18, 16
|
||||
ld [Coord], a
|
||||
FuncCoord 10, 16 ; $c4ea
|
||||
FuncCoord 10, 16
|
||||
ld hl, Coord
|
||||
ld de, BoxNoPCText ; $5713
|
||||
call PlaceString
|
||||
|
@ -201,8 +201,8 @@ BillsPCMenu:
|
|||
bit 1, a
|
||||
jp nz, Func_21588 ; b button
|
||||
call PlaceUnfilledArrowMenuCursor
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld [$ccd3], a
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld [wccd3], a
|
||||
and a
|
||||
jp z, Func_21618 ; withdraw
|
||||
cp $1
|
||||
|
@ -225,44 +225,44 @@ Func_21588: ; 21588 (8:5588)
|
|||
res 5, [hl]
|
||||
call LoadScreenTilesFromBuffer2
|
||||
pop af
|
||||
ld [wListScrollOffset], a ; $cc36
|
||||
ld hl, $d730
|
||||
ld [wListScrollOffset], a ; wcc36
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
ret
|
||||
|
||||
Func_215ac: ; 215ac (8:55ac)
|
||||
BillsPCDeposit:
|
||||
ld a, [W_NUMINPARTY] ; $d163
|
||||
ld a, [W_NUMINPARTY] ; W_NUMINPARTY
|
||||
dec a
|
||||
jr nz, .asm_215bb
|
||||
ld hl, CantDepositLastMonText
|
||||
call PrintText
|
||||
jp BillsPCMenu
|
||||
.asm_215bb
|
||||
ld a, [W_NUMINBOX] ; $da80
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
cp $14
|
||||
jr nz, .asm_215cb
|
||||
ld hl, BoxFullText ; $5802
|
||||
call PrintText
|
||||
jp BillsPCMenu
|
||||
.asm_215cb
|
||||
ld hl, W_NUMINPARTY ; $d163
|
||||
ld hl, W_NUMINPARTY ; W_NUMINPARTY
|
||||
call Func_216be
|
||||
jp c, BillsPCMenu
|
||||
call Func_2174b
|
||||
jp nc, BillsPCMenu
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
call GetCryData
|
||||
call PlaySoundWaitForCurrent
|
||||
ld a, $1
|
||||
ld [$cf95], a
|
||||
ld [wcf95], a
|
||||
call Func_3a68
|
||||
xor a
|
||||
ld [$cf95], a
|
||||
ld [wcf95], a
|
||||
call RemovePokemon
|
||||
call WaitForSoundToFinish
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld a, [$d5a0]
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld a, [wd5a0]
|
||||
and $7f
|
||||
cp $9
|
||||
jr c, .asm_2160a
|
||||
|
@ -281,36 +281,36 @@ BillsPCDeposit:
|
|||
jp BillsPCMenu
|
||||
|
||||
Func_21618: ; 21618 (8:5618)
|
||||
ld a, [W_NUMINBOX] ; $da80
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
and a
|
||||
jr nz, .asm_21627
|
||||
ld hl, NoMonText ; $580c
|
||||
call PrintText
|
||||
jp Func_214e8
|
||||
.asm_21627
|
||||
ld a, [W_NUMINPARTY] ; $d163
|
||||
ld a, [W_NUMINPARTY] ; W_NUMINPARTY
|
||||
cp $6
|
||||
jr nz, .asm_21637
|
||||
ld hl, CantTakeMonText ; $5811
|
||||
call PrintText
|
||||
jp Func_214e8
|
||||
.asm_21637
|
||||
ld hl, W_NUMINBOX ; $da80
|
||||
ld hl, W_NUMINBOX ; wda80
|
||||
call Func_216be
|
||||
jp c, Func_214e8
|
||||
call Func_2174b
|
||||
jp nc, Func_214e8
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, $de06
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld hl, W_BOXMON1NAME
|
||||
call GetPartyMonName
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
call GetCryData
|
||||
call PlaySoundWaitForCurrent
|
||||
xor a
|
||||
ld [$cf95], a
|
||||
ld [wcf95], a
|
||||
call Func_3a68
|
||||
ld a, $1
|
||||
ld [$cf95], a
|
||||
ld [wcf95], a
|
||||
call RemovePokemon
|
||||
call WaitForSoundToFinish
|
||||
ld hl, MonIsTakenOutText ; $5807
|
||||
|
@ -318,27 +318,27 @@ Func_21618: ; 21618 (8:5618)
|
|||
jp Func_214e8
|
||||
|
||||
Func_21673: ; 21673 (8:5673)
|
||||
ld a, [W_NUMINBOX] ; $da80
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
and a
|
||||
jr nz, .asm_21682
|
||||
ld hl, NoMonText ; $580c
|
||||
call PrintText
|
||||
jp Func_214e8
|
||||
.asm_21682
|
||||
ld hl, W_NUMINBOX ; $da80
|
||||
ld hl, W_NUMINBOX ; wda80
|
||||
call Func_216be
|
||||
jp c, Func_214e8
|
||||
ld hl, OnceReleasedText ; $581b
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jr nz, .asm_21682
|
||||
inc a
|
||||
ld [$cf95], a
|
||||
ld [wcf95], a
|
||||
call RemovePokemon
|
||||
call WaitForSoundToFinish
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
call PlayCry
|
||||
ld hl, MonWasReleasedText ; $5820
|
||||
call PrintText
|
||||
|
@ -350,19 +350,19 @@ Func_216b3: ; 216b3 (8:56b3)
|
|||
|
||||
Func_216be: ; 216be (8:56be)
|
||||
ld a, l
|
||||
ld [$cf8b], a
|
||||
ld [wcf8b], a
|
||||
ld a, h
|
||||
ld [$cf8c], a
|
||||
ld [wcf8c], a
|
||||
xor a
|
||||
ld [$cf93], a
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wcf93], a
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
inc a ; MONSTER_NAME
|
||||
ld [W_LISTTYPE], a
|
||||
ld a, [$cc2b]
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld a, [wcc2b]
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
call DisplayListMenuID
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld [$cc2b], a
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld [wcc2b], a
|
||||
ret
|
||||
|
||||
BillsPCMenuText: ; 216e1 (8:56e1)
|
||||
|
@ -372,13 +372,13 @@ BoxNoPCText: ; 21713 (8:5713)
|
|||
db "BOX No.@"
|
||||
|
||||
Func_2171b:: ; 2171b (8:571b)
|
||||
ld hl, $d173
|
||||
ld hl, W_PARTYMON1_MOVE1
|
||||
ld bc, $002c
|
||||
jr .asm_21729 ; 0x21721 $6
|
||||
ld hl, $da9e
|
||||
ld hl, wda9e
|
||||
ld bc, $0021
|
||||
.asm_21729
|
||||
ld a, [$cf92]
|
||||
ld a, [wWhichPokemon]
|
||||
call AddNTimes
|
||||
ld b, $4
|
||||
.asm_21731
|
||||
|
@ -405,25 +405,25 @@ HMMoveArray: ; 21745 (8:5745)
|
|||
db $ff
|
||||
|
||||
Func_2174b: ; 2174b (8:574b)
|
||||
FuncCoord 9, 10 ; $c471
|
||||
FuncCoord 9, 10
|
||||
ld hl, Coord
|
||||
ld b, $6
|
||||
ld c, $9
|
||||
call TextBoxBorder
|
||||
ld a, [$ccd3]
|
||||
ld a, [wccd3]
|
||||
and a
|
||||
ld de, DepositPCText ; $57cb
|
||||
jr nz, .asm_21761
|
||||
ld de, WithdrawPCText ; $57d3
|
||||
.asm_21761
|
||||
FuncCoord 11, 12 ; $c49b
|
||||
FuncCoord 11, 12
|
||||
ld hl, Coord
|
||||
call PlaceString
|
||||
FuncCoord 11, 14 ; $c4c3
|
||||
FuncCoord 11, 14
|
||||
ld hl, Coord
|
||||
ld de, StatsCancelPCText ; $57dc
|
||||
call PlaceString
|
||||
ld hl, wTopMenuItemY ; $cc24
|
||||
ld hl, wTopMenuItemY ; wTopMenuItemY
|
||||
ld a, $c
|
||||
ld [hli], a
|
||||
ld a, $a
|
||||
|
@ -437,16 +437,16 @@ Func_2174b: ; 2174b (8:574b)
|
|||
ld [hli], a
|
||||
xor a
|
||||
ld [hl], a
|
||||
ld hl, wListScrollOffset ; $cc36
|
||||
ld hl, wListScrollOffset ; wcc36
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld [wPlayerMonNumber], a ; $cc2f
|
||||
ld [$cc2b], a
|
||||
ld [wPlayerMonNumber], a ; wPlayerMonNumber
|
||||
ld [wcc2b], a
|
||||
.asm_2178f
|
||||
call HandleMenuInput
|
||||
bit 1, a
|
||||
jr nz, .asm_2179f
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jr z, .asm_217a1
|
||||
dec a
|
||||
|
@ -459,13 +459,13 @@ Func_2174b: ; 2174b (8:574b)
|
|||
ret
|
||||
.asm_217a3
|
||||
call SaveScreenTilesToBuffer1
|
||||
ld a, [$ccd3]
|
||||
ld a, [wccd3]
|
||||
and a
|
||||
ld a, $0
|
||||
jr nz, .asm_217b0
|
||||
ld a, $2
|
||||
.asm_217b0
|
||||
ld [$cc49], a
|
||||
ld [wcc49], a
|
||||
ld a, $36
|
||||
call Predef ; indirect jump to StatusScreen (12953 (4:6953))
|
||||
ld a, $37
|
||||
|
@ -537,16 +537,16 @@ PrintJustAMomentText1:: ; 5824 (8:5825)
|
|||
ld a, [$ffaa]
|
||||
cp $1
|
||||
ret z
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $c
|
||||
ret nz
|
||||
ld a, [$d35e]
|
||||
ld a, [W_CURMAP]
|
||||
cp $ef
|
||||
ld a, $2
|
||||
jr z, .asm_2183a
|
||||
inc a
|
||||
.asm_2183a
|
||||
ld [$d12b], a
|
||||
ld [W_ISLINKBATTLE], a
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $22
|
||||
jp PrintPredefTextID
|
||||
|
@ -555,16 +555,16 @@ PrintJustAMomentText2:: ; 5845 (8:5845)
|
|||
ld a, [$ffaa]
|
||||
cp $2
|
||||
ret z
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $8
|
||||
ret nz
|
||||
ld a, [$d35e]
|
||||
ld a, [W_CURMAP]
|
||||
cp $ef
|
||||
ld a, $2
|
||||
jr z, .asm_2185a
|
||||
inc a
|
||||
.asm_2185a
|
||||
ld [$d12b], a
|
||||
ld [W_ISLINKBATTLE], a
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $22
|
||||
jp PrintPredefTextID
|
||||
|
@ -573,7 +573,7 @@ JustAMomentText:: ; 21865 (8:5865)
|
|||
TX_FAR _JustAMomentText
|
||||
db "@"
|
||||
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4
|
||||
ret nz
|
||||
call EnableAutoTextBoxDrawing
|
||||
|
|
|
@ -3,8 +3,8 @@ DisplayDiploma: ; 566e2 (15:66e2)
|
|||
call GBPalWhiteOutWithDelay3
|
||||
call ClearScreen
|
||||
xor a
|
||||
ld [$cfcb], a
|
||||
ld hl, $d730
|
||||
ld [wcfcb], a
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
call DisableLCD
|
||||
ld hl, CircleTile ; $7d88
|
||||
|
@ -34,12 +34,12 @@ DisplayDiploma: ; 566e2 (15:66e2)
|
|||
pop bc
|
||||
dec c
|
||||
jr nz, .asm_56715 ; 0x56725 $ee
|
||||
FuncCoord 10, 4 ; $c3fa
|
||||
FuncCoord 10, 4
|
||||
ld hl, Coord
|
||||
ld de, W_PLAYERNAME
|
||||
call PlaceString
|
||||
callba Func_44dd
|
||||
ld hl, $c301
|
||||
ld hl, wOAMBuffer + $01
|
||||
ld bc, $8028
|
||||
.asm_5673e
|
||||
ld a, [hl]
|
||||
|
@ -60,7 +60,7 @@ DisplayDiploma: ; 566e2 (15:66e2)
|
|||
ld a, $90
|
||||
ld [$ff48], a
|
||||
call WaitForTextScrollButtonPress
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
call GBPalWhiteOutWithDelay3
|
||||
call Func_3dbe
|
||||
|
@ -79,15 +79,15 @@ Func_56777: ; 56777 (15:6777)
|
|||
|
||||
DiplomaTextPointersAndCoords: ; 56784 (15:6784)
|
||||
dw DiplomaText
|
||||
dw $c3cd
|
||||
dw wTileMap + $2d
|
||||
dw DiplomaPlayer
|
||||
dw $c3f3
|
||||
dw wTileMap + $53
|
||||
dw DiplomaEmptyText
|
||||
dw $c3ff
|
||||
dw wTileMap + $5f
|
||||
dw DiplomaCongrats
|
||||
dw $c41a
|
||||
dw wTileMap + $7a
|
||||
dw DiplomaGameFreak
|
||||
dw $c4e9
|
||||
dw wTileMap + $149
|
||||
|
||||
DiplomaText:
|
||||
db $70,"Diploma",$70,"@"
|
||||
|
|
|
@ -1,37 +1,37 @@
|
|||
PKMNLeaguePC: ; 0x7657e
|
||||
ld hl, AccessedHoFPCText
|
||||
call PrintText
|
||||
ld hl, $D730
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
push hl
|
||||
ld a, [$CFCB]
|
||||
ld a, [wcfcb]
|
||||
push af
|
||||
ld a, [$ffD7]
|
||||
push af
|
||||
xor a
|
||||
ld [$ffD7], a
|
||||
ld [W_SPRITEFLIPPED], a
|
||||
ld [$CFCB], a
|
||||
ld [$CD41], a
|
||||
ld [$CD42], a
|
||||
ld a, [$D5A2]
|
||||
ld [wcfcb], a
|
||||
ld [wTrainerScreenX], a
|
||||
ld [wcd42], a
|
||||
ld a, [wd5a2]
|
||||
ld b, a
|
||||
cp a, $33
|
||||
jr c, .first
|
||||
ld b, $32
|
||||
sub b
|
||||
ld [$CD42], a
|
||||
ld [wcd42], a
|
||||
.first
|
||||
ld hl, $CD42
|
||||
ld hl, wcd42
|
||||
inc [hl]
|
||||
push bc
|
||||
ld a, [$CD41]
|
||||
ld [$CD3D], a
|
||||
ld a, [wTrainerScreenX]
|
||||
ld [wWhichTrade], a
|
||||
callba Func_73b3f
|
||||
call Func_765e5
|
||||
pop bc
|
||||
jr c, .second
|
||||
ld hl, $CD41
|
||||
ld hl, wTrainerScreenX
|
||||
inc [hl]
|
||||
ld a, [hl]
|
||||
cp b
|
||||
|
@ -40,7 +40,7 @@ PKMNLeaguePC: ; 0x7657e
|
|||
pop af
|
||||
ld [$ffD7], a
|
||||
pop af
|
||||
ld [$CFCB], a
|
||||
ld [wcfcb], a
|
||||
pop hl
|
||||
res 6, [hl]
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
@ -57,12 +57,12 @@ Func_765e5: ; 765e5 (1d:65e5)
|
|||
ld a, [hJoyHeld]
|
||||
bit 1, a
|
||||
jr nz, .fifth
|
||||
ld hl, $CC6B
|
||||
ld de, $CC5B
|
||||
ld hl, wcc6b
|
||||
ld de, wcc5b
|
||||
ld bc, $0050
|
||||
call CopyData
|
||||
pop bc
|
||||
ld a, [$CC5B]
|
||||
ld a, [wcc5b]
|
||||
cp a, $FF
|
||||
jr z, .fourth
|
||||
dec c
|
||||
|
@ -78,38 +78,38 @@ Func_765e5: ; 765e5 (1d:65e5)
|
|||
Func_76610: ; 76610 (1d:6610)
|
||||
call GBPalWhiteOutWithDelay3
|
||||
call ClearScreen
|
||||
ld hl, $CC5B
|
||||
ld hl, wcc5b
|
||||
ld a, [hli]
|
||||
ld [$CD3D], a
|
||||
ld [$CF91], a
|
||||
ld [$D0B5], a
|
||||
ld [$CFD9], a
|
||||
ld [$CF1D], a
|
||||
ld [wWhichTrade], a
|
||||
ld [wcf91], a
|
||||
ld [wd0b5], a
|
||||
ld [wcfd9], a
|
||||
ld [wcf1d], a
|
||||
ld a, [hli]
|
||||
ld [$CD3F], a
|
||||
ld de, $CD6D
|
||||
ld [wTrainerFacingDirection], a
|
||||
ld de, wcd6d
|
||||
ld bc, $000B
|
||||
call CopyData
|
||||
ld b, $0B
|
||||
ld c, 0
|
||||
call GoPAL_SET
|
||||
FuncCoord 12, 5 ; $c410
|
||||
FuncCoord 12, 5
|
||||
ld hl, Coord
|
||||
call GetMonHeader
|
||||
call LoadFrontSpriteByMonIndex
|
||||
call GBPalNormal
|
||||
FuncCoord 0, 13 ; $c4a4
|
||||
FuncCoord 0, 13
|
||||
ld hl, Coord
|
||||
ld b, 2
|
||||
ld c, $12
|
||||
call TextBoxBorder
|
||||
FuncCoord 1, 15 ; $c4cd
|
||||
FuncCoord 1, 15
|
||||
ld hl, Coord
|
||||
ld de, HallOfFameNoText
|
||||
call PlaceString
|
||||
FuncCoord 16, 15 ; $c4dc
|
||||
FuncCoord 16, 15
|
||||
ld hl, Coord
|
||||
ld de, $CD42
|
||||
ld de, wcd42
|
||||
ld bc, $0103
|
||||
call PrintNumber
|
||||
ld b, BANK(Func_702f0)
|
||||
|
|
|
@ -2,9 +2,9 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
; Check save file
|
||||
call Func_5bff
|
||||
xor a
|
||||
ld [$D08A],a
|
||||
ld [wd08a],a
|
||||
inc a
|
||||
ld [$D088],a
|
||||
ld [wd088],a
|
||||
call Func_609e
|
||||
jr nc,.next0
|
||||
|
||||
|
@ -16,22 +16,22 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
ld c,20
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [$D12B],a
|
||||
ld hl,$CC2B
|
||||
ld [W_ISLINKBATTLE],a
|
||||
ld hl,wcc2b
|
||||
ld [hli],a
|
||||
ld [hli],a
|
||||
ld [hli],a
|
||||
ld [hl],a
|
||||
ld [$D07C],a
|
||||
ld hl,$D72E
|
||||
ld [W_ANIMATIONID],a
|
||||
ld hl,wd72e
|
||||
res 6,[hl]
|
||||
call ClearScreen
|
||||
call GoPAL_SET_CF1C
|
||||
call LoadTextBoxTilePatterns
|
||||
call LoadFontTilePatterns
|
||||
ld hl,$D730
|
||||
ld hl,wd730
|
||||
set 6,[hl]
|
||||
ld a,[$D088]
|
||||
ld a,[wd088]
|
||||
cp a,1
|
||||
jr z,.next1
|
||||
FuncCoord 0,0
|
||||
|
@ -55,29 +55,29 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
ld de,NewGameText
|
||||
call PlaceString
|
||||
.next2
|
||||
ld hl,$D730
|
||||
ld hl,wd730
|
||||
res 6,[hl]
|
||||
call UpdateSprites ; OAM?
|
||||
xor a
|
||||
ld [$CC26],a
|
||||
ld [$CC2A],a
|
||||
ld [$CC34],a
|
||||
ld [wCurrentMenuItem],a
|
||||
ld [wLastMenuItem],a
|
||||
ld [wMenuJoypadPollCount],a
|
||||
inc a
|
||||
ld [$CC25],a
|
||||
ld [wTopMenuItemX],a
|
||||
inc a
|
||||
ld [$CC24],a
|
||||
ld [wTopMenuItemY],a
|
||||
ld a,$B
|
||||
ld [$CC29],a
|
||||
ld a,[$D088]
|
||||
ld [$CC28],a
|
||||
ld [wMenuWatchedKeys],a
|
||||
ld a,[wd088]
|
||||
ld [wMaxMenuItem],a
|
||||
call HandleMenuInput
|
||||
bit 1,a
|
||||
jp nz,LoadTitlescreenGraphics ; load title screen (gfx and arrangement)
|
||||
ld c,20
|
||||
call DelayFrames
|
||||
ld a,[$CC26]
|
||||
ld a,[wCurrentMenuItem]
|
||||
ld b,a
|
||||
ld a,[$D088]
|
||||
ld a,[wd088]
|
||||
cp a,2
|
||||
jp z,.next3
|
||||
inc b ; adjust MenuArrow_Counter
|
||||
|
@ -89,11 +89,11 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
jp z,Func_5d52 ; if press_A on NewGame
|
||||
call DisplayOptionMenu ; if press_a on Options
|
||||
ld a,1
|
||||
ld [$D08A],a
|
||||
ld [wd08a],a
|
||||
jp .next0
|
||||
.next4
|
||||
call ContinueGame
|
||||
ld hl,$D126
|
||||
ld hl,wd126
|
||||
set 5,[hl]
|
||||
.next6
|
||||
xor a
|
||||
|
@ -111,52 +111,52 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
call GBPalWhiteOutWithDelay3
|
||||
call ClearScreen
|
||||
ld a,4
|
||||
ld [$D52A],a
|
||||
ld [wd52a],a
|
||||
ld c,10
|
||||
call DelayFrames
|
||||
ld a,[$D5A2]
|
||||
ld a,[wd5a2]
|
||||
and a
|
||||
jp z,Func_5d5f
|
||||
ld a,[W_CURMAP] ; map ID
|
||||
cp a,HALL_OF_FAME
|
||||
jp nz,Func_5d5f
|
||||
xor a
|
||||
ld [$D71A],a
|
||||
ld hl,$D732
|
||||
ld [wd71a],a
|
||||
ld hl,wd732
|
||||
set 2,[hl]
|
||||
call Func_62ce
|
||||
jp Func_5d5f
|
||||
Func_5bff: ; 5bff (1:5bff)
|
||||
ld a,1
|
||||
ld [$D358],a
|
||||
ld [wd358],a
|
||||
ld a,3
|
||||
ld [$D355],a
|
||||
ld [W_OPTIONS],a
|
||||
ret
|
||||
|
||||
LinkMenu: ; 5c0a (1:5c0a)
|
||||
xor a
|
||||
ld [$d358], a
|
||||
ld hl, $d72e
|
||||
ld [wd358], a
|
||||
ld hl, wd72e
|
||||
set 6, [hl]
|
||||
ld hl, TextTerminator_6b20 ; $6b20
|
||||
call PrintText
|
||||
call SaveScreenTilesToBuffer1
|
||||
ld hl, WhereWouldYouLikeText
|
||||
call PrintText
|
||||
FuncCoord 5, 5 ; $c409
|
||||
FuncCoord 5, 5
|
||||
ld hl, Coord
|
||||
ld b, $6
|
||||
ld c, $d
|
||||
call TextBoxBorder
|
||||
call UpdateSprites
|
||||
FuncCoord 7, 7 ; $c433
|
||||
FuncCoord 7, 7
|
||||
ld hl, Coord
|
||||
ld de, TradeCenterText
|
||||
call PlaceString
|
||||
xor a
|
||||
ld [$cd37], a
|
||||
ld [$d72d], a
|
||||
ld hl, wTopMenuItemY ; $cc24
|
||||
ld [wcd37], a
|
||||
ld [wd72d], a
|
||||
ld hl, wTopMenuItemY ; wTopMenuItemY
|
||||
ld a, $7
|
||||
ld [hli], a
|
||||
ld a, $6
|
||||
|
@ -176,19 +176,19 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
add a
|
||||
add a
|
||||
ld b, a
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
add b
|
||||
add $d0
|
||||
ld [$cc42], a
|
||||
ld [$cc43], a
|
||||
ld [wcc42], a
|
||||
ld [wcc43], a
|
||||
.asm_5c66
|
||||
call Func_2247
|
||||
ld a, [$cc3d]
|
||||
ld a, [wcc3d]
|
||||
ld b, a
|
||||
and $f0
|
||||
cp $d0
|
||||
jr z, .asm_5c7d
|
||||
ld a, [$cc3e]
|
||||
ld a, [wcc3e]
|
||||
ld b, a
|
||||
and $f0
|
||||
cp $d0
|
||||
|
@ -197,12 +197,12 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
ld a, b
|
||||
and $c
|
||||
jr nz, .asm_5c8b
|
||||
ld a, [$cc42]
|
||||
ld a, [wcc42]
|
||||
and $c
|
||||
jr z, .asm_5c52
|
||||
jr .asm_5ca1
|
||||
.asm_5c8b
|
||||
ld a, [$cc42]
|
||||
ld a, [wcc42]
|
||||
and $c
|
||||
jr z, .asm_5c98
|
||||
ld a, [$ffaa]
|
||||
|
@ -210,9 +210,9 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
jr z, .asm_5ca1
|
||||
.asm_5c98
|
||||
ld a, b
|
||||
ld [$cc42], a
|
||||
ld [wcc42], a
|
||||
and $3
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
.asm_5ca1
|
||||
ld a, [$ffaa]
|
||||
cp $2
|
||||
|
@ -225,10 +225,10 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
ld b, $7f
|
||||
ld c, $7f
|
||||
ld d, $ec
|
||||
ld a, [$cc42]
|
||||
ld a, [wcc42]
|
||||
and $8
|
||||
jr nz, .asm_5ccc
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
cp $2
|
||||
jr z, .asm_5ccc
|
||||
ld c, d
|
||||
|
@ -239,58 +239,58 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
ld c, d
|
||||
.asm_5ccc
|
||||
ld a, b
|
||||
FuncCoord 6, 7 ; $c432
|
||||
FuncCoord 6, 7
|
||||
ld [Coord], a
|
||||
ld a, c
|
||||
FuncCoord 6, 9 ; $c45a
|
||||
FuncCoord 6, 9
|
||||
ld [Coord], a
|
||||
ld a, d
|
||||
FuncCoord 6, 11 ; $c482
|
||||
FuncCoord 6, 11
|
||||
ld [Coord], a
|
||||
ld c, $28
|
||||
call DelayFrames
|
||||
call LoadScreenTilesFromBuffer1
|
||||
ld a, [$cc42]
|
||||
ld a, [wcc42]
|
||||
and $8
|
||||
jr nz, .asm_5d2d
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
cp $2
|
||||
jr z, .asm_5d2d
|
||||
xor a
|
||||
ld [$d700], a
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld [wd700], a
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
ld a, TRADE_CENTER
|
||||
jr nz, .asm_5cfc
|
||||
ld a, BATTLE_CENTER
|
||||
.asm_5cfc
|
||||
ld [$d72d], a
|
||||
ld [wd72d], a
|
||||
ld hl, PleaseWaitText
|
||||
call PrintText
|
||||
ld c, $32
|
||||
call DelayFrames
|
||||
ld hl, $d732
|
||||
ld hl, wd732
|
||||
res 1, [hl]
|
||||
ld a, [W_ANIMATIONID] ; $d07c
|
||||
ld [$d71a], a
|
||||
ld a, [W_ANIMATIONID] ; W_ANIMATIONID
|
||||
ld [wd71a], a
|
||||
call Func_62ce
|
||||
ld c, $14
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [wMenuJoypadPollCount], a ; $cc34
|
||||
ld [$cc42], a
|
||||
ld [wMenuJoypadPollCount], a ; wMenuJoypadPollCount
|
||||
ld [wcc42], a
|
||||
inc a
|
||||
ld [W_ISLINKBATTLE], a ; $d12b
|
||||
ld [$cc47], a
|
||||
ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
|
||||
ld [wcc47], a
|
||||
jr Func_5d5f
|
||||
.asm_5d2d
|
||||
xor a
|
||||
ld [wMenuJoypadPollCount], a ; $cc34
|
||||
ld [wMenuJoypadPollCount], a ; wMenuJoypadPollCount
|
||||
call Delay3
|
||||
call Func_72d7
|
||||
ld hl, LinkCanceledText
|
||||
call PrintText
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
res 6, [hl]
|
||||
ret
|
||||
|
||||
|
@ -307,7 +307,7 @@ LinkCanceledText: ; 5d4d (1:5d4d)
|
|||
db "@"
|
||||
|
||||
Func_5d52: ; 5d52 (1:5d52)
|
||||
ld hl, $d732
|
||||
ld hl, wd732
|
||||
res 1, [hl]
|
||||
call OakSpeech
|
||||
ld c, $14
|
||||
|
@ -318,13 +318,13 @@ Func_5d5f: ; 5d5f (1:5d5f)
|
|||
ld [hJoyPressed], a
|
||||
ld [hJoyHeld], a
|
||||
ld [$ffb5], a
|
||||
ld [$d72d], a
|
||||
ld hl, $d732
|
||||
ld [wd72d], a
|
||||
ld hl, wd732
|
||||
set 0, [hl]
|
||||
call ResetPlayerSpriteData
|
||||
ld c, $14
|
||||
call DelayFrames
|
||||
ld a, [$cc47]
|
||||
ld a, [wcc47]
|
||||
and a
|
||||
ret nz
|
||||
jp EnterMap
|
||||
|
@ -344,26 +344,26 @@ TradeCenterText: ; 5d97 (1:5d97)
|
|||
ContinueGame: ; 5db5 (1:5db5)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
FuncCoord 4, 7 ; $c430
|
||||
FuncCoord 4, 7
|
||||
ld hl, Coord
|
||||
ld b, $8
|
||||
ld c, $e
|
||||
call TextBoxBorder
|
||||
FuncCoord 5, 9 ; $c459
|
||||
FuncCoord 5, 9
|
||||
ld hl, Coord
|
||||
ld de, SaveScreenInfoText
|
||||
call PlaceString
|
||||
FuncCoord 12, 9 ; $c460
|
||||
FuncCoord 12, 9
|
||||
ld hl, Coord
|
||||
ld de, W_PLAYERNAME ; $d158
|
||||
ld de, W_PLAYERNAME ; wd158
|
||||
call PlaceString
|
||||
FuncCoord 17, 11 ; $c48d
|
||||
FuncCoord 17, 11
|
||||
ld hl, Coord
|
||||
call Func_5e2f
|
||||
FuncCoord 16, 13 ; $c4b4
|
||||
FuncCoord 16, 13
|
||||
ld hl, Coord
|
||||
call Func_5e42
|
||||
FuncCoord 13, 15 ; $c4d9
|
||||
FuncCoord 13, 15
|
||||
ld hl, Coord
|
||||
call Func_5e55
|
||||
ld a, $1
|
||||
|
@ -374,23 +374,23 @@ ContinueGame: ; 5db5 (1:5db5)
|
|||
PrintSaveScreenText: ; 5def (1:5def)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld hl, $c3a4
|
||||
ld hl, wTileMap + $4
|
||||
ld b, $8
|
||||
ld c, $e
|
||||
call TextBoxBorder
|
||||
call LoadTextBoxTilePatterns
|
||||
call UpdateSprites
|
||||
ld hl, $c3cd
|
||||
ld hl, wTileMap + $2d
|
||||
ld de, SaveScreenInfoText
|
||||
call PlaceString
|
||||
ld hl, $c3d4
|
||||
ld hl, wTileMap + $34
|
||||
ld de, W_PLAYERNAME
|
||||
call PlaceString
|
||||
ld hl, $c401
|
||||
ld hl, wTileMap + $61
|
||||
call Func_5e2f
|
||||
ld hl, $c428
|
||||
ld hl, wTileMap + $88
|
||||
call Func_5e42
|
||||
ld hl, $c44d
|
||||
ld hl, wTileMap + $ad
|
||||
call Func_5e55
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
|
@ -403,27 +403,27 @@ Func_5e2f: ; 5e2f (1:5e2f)
|
|||
ld b, $1
|
||||
call CountSetBits
|
||||
pop hl
|
||||
ld de, $d11e
|
||||
ld de, wd11e
|
||||
ld bc, $102
|
||||
jp PrintNumber
|
||||
|
||||
Func_5e42: ; 5e42 (1:5e42)
|
||||
push hl
|
||||
ld hl, wPokedexOwned ; $d2f7
|
||||
ld hl, wPokedexOwned ; wPokedexOwned
|
||||
ld b, wPokedexOwnedEnd - wPokedexOwned
|
||||
call CountSetBits
|
||||
pop hl
|
||||
ld de, $d11e
|
||||
ld de, wd11e
|
||||
ld bc, $103
|
||||
jp PrintNumber
|
||||
|
||||
Func_5e55: ; 5e55 (1:5e55)
|
||||
ld de, $da41
|
||||
ld de, W_PLAYTIMEHOURS + 1
|
||||
ld bc, $103
|
||||
call PrintNumber
|
||||
ld [hl], $6d
|
||||
inc hl
|
||||
ld de, $da43
|
||||
ld de, W_PLAYTIMEMINUTES + 1
|
||||
ld bc, $8102
|
||||
jp PrintNumber
|
||||
|
||||
|
@ -469,12 +469,12 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
|
|||
ld [wCurrentMenuItem],a
|
||||
ld [wLastMenuItem],a
|
||||
inc a
|
||||
ld [$d358],a
|
||||
ld [$cd40],a
|
||||
ld [wd358],a
|
||||
ld [wTrainerScreenY],a
|
||||
ld a,3 ; text speed cursor Y coordinate
|
||||
ld [wTopMenuItemY],a
|
||||
call SetCursorPositionsFromOptions
|
||||
ld a,[$cd3d] ; text speed cursor X coordinate
|
||||
ld a,[wWhichTrade] ; text speed cursor X coordinate
|
||||
ld [wTopMenuItemX],a
|
||||
ld a,$01
|
||||
ld [H_AUTOBGTRANSFERENABLED],a ; enable auto background transfer
|
||||
|
@ -524,7 +524,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
|
|||
.downPressed
|
||||
cp a,16
|
||||
ld b,-13
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
jr z,.updateMenuVariables
|
||||
ld b,5
|
||||
cp a,3
|
||||
|
@ -539,7 +539,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
|
|||
.upPressed
|
||||
cp a,8
|
||||
ld b,-5
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
jr z,.updateMenuVariables
|
||||
cp a,13
|
||||
inc hl
|
||||
|
@ -558,17 +558,17 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
|
|||
call PlaceUnfilledArrowMenuCursor
|
||||
jp .loop
|
||||
.cursorInBattleAnimation
|
||||
ld a,[$cd3e] ; battle animation cursor X coordinate
|
||||
ld a,[wTrainerEngageDistance] ; battle animation cursor X coordinate
|
||||
xor a,$0b ; toggle between 1 and 10
|
||||
ld [$cd3e],a
|
||||
ld [wTrainerEngageDistance],a
|
||||
jp .eraseOldMenuCursor
|
||||
.cursorInBattleStyle
|
||||
ld a,[$cd3f] ; battle style cursor X coordinate
|
||||
ld a,[wTrainerFacingDirection] ; battle style cursor X coordinate
|
||||
xor a,$0b ; toggle between 1 and 10
|
||||
ld [$cd3f],a
|
||||
ld [wTrainerFacingDirection],a
|
||||
jp .eraseOldMenuCursor
|
||||
.pressedLeftInTextSpeed
|
||||
ld a,[$cd3d] ; text speed cursor X coordinate
|
||||
ld a,[wWhichTrade] ; text speed cursor X coordinate
|
||||
cp a,1
|
||||
jr z,.updateTextSpeedXCoord
|
||||
cp a,7
|
||||
|
@ -579,7 +579,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
|
|||
sub a,7
|
||||
jr .updateTextSpeedXCoord
|
||||
.pressedRightInTextSpeed
|
||||
ld a,[$cd3d] ; text speed cursor X coordinate
|
||||
ld a,[wWhichTrade] ; text speed cursor X coordinate
|
||||
cp a,14
|
||||
jr z,.updateTextSpeedXCoord
|
||||
cp a,7
|
||||
|
@ -589,7 +589,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
|
|||
.fromFastToMedium
|
||||
add a,6
|
||||
.updateTextSpeedXCoord
|
||||
ld [$cd3d],a ; text speed cursor X coordinate
|
||||
ld [wWhichTrade],a ; text speed cursor X coordinate
|
||||
jp .eraseOldMenuCursor
|
||||
|
||||
TextSpeedOptionText: ; 5fc0 (1:5fc0)
|
||||
|
@ -610,7 +610,7 @@ OptionMenuCancelText: ; 6018 (1:6018)
|
|||
; sets the options variable according to the current placement of the menu cursors in the options menu
|
||||
SetOptionsFromCursorPositions: ; 601f (1:601f)
|
||||
ld hl,TextSpeedOptionData
|
||||
ld a,[$cd3d] ; text speed cursor X coordinate
|
||||
ld a,[wWhichTrade] ; text speed cursor X coordinate
|
||||
ld c,a
|
||||
.loop
|
||||
ld a,[hli]
|
||||
|
@ -621,7 +621,7 @@ SetOptionsFromCursorPositions: ; 601f (1:601f)
|
|||
.textSpeedMatchFound
|
||||
ld a,[hl]
|
||||
ld d,a
|
||||
ld a,[$cd3e] ; battle animation cursor X coordinate
|
||||
ld a,[wTrainerEngageDistance] ; battle animation cursor X coordinate
|
||||
dec a
|
||||
jr z,.battleAnimationOn
|
||||
.battleAnimationOff
|
||||
|
@ -630,7 +630,7 @@ SetOptionsFromCursorPositions: ; 601f (1:601f)
|
|||
.battleAnimationOn
|
||||
res 7,d
|
||||
.checkBattleStyle
|
||||
ld a,[$cd3f] ; battle style cursor X coordinate
|
||||
ld a,[wTrainerFacingDirection] ; battle style cursor X coordinate
|
||||
dec a
|
||||
jr z,.battleStyleShift
|
||||
.battleStyleSet
|
||||
|
@ -655,7 +655,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c)
|
|||
pop bc
|
||||
dec hl
|
||||
ld a,[hl]
|
||||
ld [$cd3d],a ; text speed cursor X coordinate
|
||||
ld [wWhichTrade],a ; text speed cursor X coordinate
|
||||
FuncCoord 0,3
|
||||
ld hl,Coord
|
||||
call .placeUnfilledRightArrow
|
||||
|
@ -664,7 +664,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c)
|
|||
jr nc,.storeBattleAnimationCursorX
|
||||
ld a,10 ; Off
|
||||
.storeBattleAnimationCursorX
|
||||
ld [$cd3e],a ; battle animation cursor X coordinate
|
||||
ld [wTrainerEngageDistance],a ; battle animation cursor X coordinate
|
||||
FuncCoord 0,8
|
||||
ld hl,Coord
|
||||
call .placeUnfilledRightArrow
|
||||
|
@ -673,7 +673,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c)
|
|||
jr nc,.storeBattleStyleCursorX
|
||||
ld a,10
|
||||
.storeBattleStyleCursorX
|
||||
ld [$cd3f],a ; battle style cursor X coordinate
|
||||
ld [wTrainerFacingDirection],a ; battle style cursor X coordinate
|
||||
FuncCoord 0,13
|
||||
ld hl,Coord
|
||||
call .placeUnfilledRightArrow
|
||||
|
|
|
@ -2,36 +2,36 @@ AskForMonNickname: ; 64eb (1:64eb)
|
|||
call SaveScreenTilesToBuffer1
|
||||
call GetPredefRegisters
|
||||
push hl
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
dec a
|
||||
ld hl, wTileMap
|
||||
ld b, $4
|
||||
ld c, $b
|
||||
call z, ClearScreenArea ; only if in wild batle
|
||||
ld a, [$cf91]
|
||||
ld [$d11e], a
|
||||
ld a, [wcf91]
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
ld hl, DoYouWantToNicknameText
|
||||
call PrintText
|
||||
FuncCoord 14, 7 ; $c43a
|
||||
FuncCoord 14, 7
|
||||
ld hl, Coord
|
||||
ld bc, $80f
|
||||
ld a, $14
|
||||
ld [$d125], a
|
||||
ld [wd125], a
|
||||
call DisplayTextBoxID
|
||||
pop hl
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jr nz, .asm_654c
|
||||
ld a, [$cfcb]
|
||||
ld a, [wcfcb]
|
||||
push af
|
||||
xor a
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
push hl
|
||||
ld a, $2
|
||||
ld [$d07d], a
|
||||
ld [wd07d], a
|
||||
call DisplayNamingScreen
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
and a
|
||||
jr nz, .asm_653e
|
||||
call Func_3e08
|
||||
|
@ -39,14 +39,14 @@ AskForMonNickname: ; 64eb (1:64eb)
|
|||
call LoadScreenTilesFromBuffer1
|
||||
pop hl
|
||||
pop af
|
||||
ld [$cfcb], a
|
||||
ld a, [$cf4b]
|
||||
ld [wcfcb], a
|
||||
ld a, [wcf4b]
|
||||
cp $50
|
||||
ret nz
|
||||
.asm_654c
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
ld bc, $000b
|
||||
jp CopyData
|
||||
|
||||
|
@ -55,25 +55,25 @@ DoYouWantToNicknameText: ; 0x6557
|
|||
db "@"
|
||||
|
||||
Func_655c: ; 655c (1:655c)
|
||||
ld hl, $cee9
|
||||
ld hl, wHPBarMaxHP
|
||||
xor a
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
ld a, $2
|
||||
ld [$d07d], a
|
||||
ld [wd07d], a
|
||||
call DisplayNamingScreen
|
||||
call GBPalWhiteOutWithDelay3
|
||||
call Func_3dbe
|
||||
call LoadGBPal
|
||||
ld a, [$cf4b]
|
||||
ld a, [wcf4b]
|
||||
cp $50
|
||||
jr z, .asm_6594
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
ld bc, $b
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
call AddNTimes
|
||||
ld e, l
|
||||
ld d, h
|
||||
ld hl, $cee9
|
||||
ld hl, wHPBarMaxHP
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
and a
|
||||
|
@ -84,7 +84,7 @@ Func_655c: ; 655c (1:655c)
|
|||
|
||||
DisplayNamingScreen: ; 6596 (1:6596)
|
||||
push hl
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
call GBPalWhiteOutWithDelay3
|
||||
call ClearScreen
|
||||
|
@ -94,45 +94,45 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
call LoadHpBarAndStatusTilePatterns
|
||||
call LoadEDTile
|
||||
callba Func_7176c
|
||||
FuncCoord 0, 4 ; $c3f0
|
||||
FuncCoord 0, 4
|
||||
ld hl, Coord
|
||||
ld b, $9
|
||||
ld c, $12
|
||||
call TextBoxBorder
|
||||
call PrintNamingText
|
||||
ld a, $3
|
||||
ld [wTopMenuItemY], a ; $cc24
|
||||
ld [wTopMenuItemY], a ; wTopMenuItemY
|
||||
ld a, $1
|
||||
ld [wTopMenuItemX], a ; $cc25
|
||||
ld [wLastMenuItem], a ; $cc2a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
ld [wLastMenuItem], a ; wLastMenuItem
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld a, $ff
|
||||
ld [wMenuWatchedKeys], a ; $cc29
|
||||
ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
|
||||
ld a, $7
|
||||
ld [wMaxMenuItem], a ; $cc28
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
ld a, $50
|
||||
ld [$cf4b], a
|
||||
ld [wcf4b], a
|
||||
xor a
|
||||
ld hl, $ceea
|
||||
ld hl, wHPBarMaxHP + 1
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [W_SUBANIMTRANSFORM], a ; $d08b
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
.asm_65ed
|
||||
call PrintAlphabet
|
||||
call GBPalNormal
|
||||
.asm_65f3
|
||||
ld a, [$ceea]
|
||||
ld a, [wHPBarMaxHP + 1]
|
||||
and a
|
||||
jr nz, .asm_662d
|
||||
call Func_680e
|
||||
.asm_65fc
|
||||
call PlaceMenuCursor
|
||||
.asm_65ff
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
push af
|
||||
callba AnimatePartyMon_ForceSpeed1
|
||||
pop af
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
call JoypadLowSensitivity
|
||||
ld a, [hJoyPressed]
|
||||
and a
|
||||
|
@ -158,7 +158,7 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
jp [hl]
|
||||
.asm_662d
|
||||
pop de
|
||||
ld hl, $cf4b
|
||||
ld hl, wcf4b
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
@ -167,10 +167,10 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
call GoPAL_SET_CF1C
|
||||
call GBPalNormal
|
||||
xor a
|
||||
ld [W_SUBANIMTRANSFORM], a ; $d08b
|
||||
ld hl, $d730
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
ld a, [W_ISINBATTLE] ; $d057
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
and a
|
||||
jp z, LoadTextBoxTilePatterns
|
||||
ld hl, Func_3ee5b
|
||||
|
@ -200,52 +200,52 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
ld de, .asm_65ed ; $65ed
|
||||
push de
|
||||
.asm_6683
|
||||
ld a, [$ceeb]
|
||||
ld a, [wHPBarOldHP]
|
||||
xor $1
|
||||
ld [$ceeb], a
|
||||
ld [wHPBarOldHP], a
|
||||
ret
|
||||
.asm_668c
|
||||
ld a, $1
|
||||
ld [$ceea], a
|
||||
ld [wHPBarMaxHP + 1], a
|
||||
ret
|
||||
.asm_6692
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
cp $5
|
||||
jr nz, .asm_66a0
|
||||
ld a, [wTopMenuItemX] ; $cc25
|
||||
ld a, [wTopMenuItemX] ; wTopMenuItemX
|
||||
cp $11
|
||||
jr z, .asm_668c
|
||||
.asm_66a0
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
cp $6
|
||||
jr nz, .asm_66ae
|
||||
ld a, [wTopMenuItemX] ; $cc25
|
||||
ld a, [wTopMenuItemX] ; wTopMenuItemX
|
||||
cp $1
|
||||
jr z, .asm_667e
|
||||
.asm_66ae
|
||||
ld hl, wMenuCursorLocation ; $cc30
|
||||
ld hl, wMenuCursorLocation ; wMenuCursorLocation
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
ld [$ceed], a
|
||||
ld [wHPBarNewHP], a
|
||||
call CalcStringLength
|
||||
ld a, [$ceed]
|
||||
ld a, [wHPBarNewHP]
|
||||
cp $e5
|
||||
ld de, Dakutens ; $6885
|
||||
jr z, .asm_66e3
|
||||
cp $e4
|
||||
ld de, Handakutens ; $68d6
|
||||
jr z, .asm_66e3
|
||||
ld a, [$d07d]
|
||||
ld a, [wd07d]
|
||||
cp $2
|
||||
jr nc, .checkMonNameLength
|
||||
ld a, [$cee9]
|
||||
ld a, [wHPBarMaxHP]
|
||||
cp $7 ; max length of player/rival names
|
||||
jr .checkNameLength
|
||||
.checkMonNameLength
|
||||
ld a, [$cee9]
|
||||
ld a, [wHPBarMaxHP]
|
||||
cp $a ; max length of pokemon nicknames
|
||||
.checkNameLength
|
||||
jr c, .addLetter
|
||||
|
@ -257,14 +257,14 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
ret nc
|
||||
dec hl
|
||||
.addLetter
|
||||
ld a, [$ceed]
|
||||
ld a, [wHPBarNewHP]
|
||||
ld [hli], a
|
||||
ld [hl], $50
|
||||
ld a, (SFX_02_40 - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ret
|
||||
.deleteLetter
|
||||
ld a, [$cee9]
|
||||
ld a, [wHPBarMaxHP]
|
||||
and a
|
||||
ret z
|
||||
call CalcStringLength
|
||||
|
@ -272,10 +272,10 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
ld [hl], $50
|
||||
ret
|
||||
.asm_6702
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
cp $6
|
||||
ret z
|
||||
ld a, [wTopMenuItemX] ; $cc25
|
||||
ld a, [wTopMenuItemX] ; wTopMenuItemX
|
||||
cp $11
|
||||
jp z, .asm_6714
|
||||
inc a
|
||||
|
@ -285,10 +285,10 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
ld a, $1
|
||||
jr .asm_6755
|
||||
.asm_6718
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
cp $6
|
||||
ret z
|
||||
ld a, [wTopMenuItemX] ; $cc25
|
||||
ld a, [wTopMenuItemX] ; wTopMenuItemX
|
||||
dec a
|
||||
jp z, .asm_6728
|
||||
dec a
|
||||
|
@ -297,30 +297,30 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
ld a, $11
|
||||
jr .asm_6755
|
||||
.asm_672c
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
dec a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
and a
|
||||
ret nz
|
||||
ld a, $6
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld a, $1
|
||||
jr .asm_6755
|
||||
.asm_673e
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
inc a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
cp $7
|
||||
jr nz, .asm_6750
|
||||
ld a, $1
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
jr .asm_6755
|
||||
.asm_6750
|
||||
cp $6
|
||||
ret nz
|
||||
ld a, $1
|
||||
.asm_6755
|
||||
ld [wTopMenuItemX], a ; $cc25
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
jp EraseMenuCursor
|
||||
|
||||
LoadEDTile: ; 675b (1:675b)
|
||||
|
@ -335,13 +335,13 @@ ED_Tile: ; 6767 (1:6767)
|
|||
PrintAlphabet: ; 676f (1:676f)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld a, [$ceeb]
|
||||
ld a, [wHPBarOldHP]
|
||||
and a
|
||||
ld de, LowerCaseAlphabet ; $679e
|
||||
jr nz, .asm_677e
|
||||
ld de, UpperCaseAlphabet ; $67d6
|
||||
.asm_677e
|
||||
FuncCoord 2, 5 ; $c406
|
||||
FuncCoord 2, 5
|
||||
ld hl, Coord
|
||||
ld bc, $509
|
||||
.asm_6784
|
||||
|
@ -372,18 +372,18 @@ UpperCaseAlphabet: ; 67d6 (1:67d6)
|
|||
Func_680e: ; 680e (1:680e)
|
||||
call CalcStringLength
|
||||
ld a, c
|
||||
ld [$cee9], a
|
||||
FuncCoord 10, 2 ; $c3d2
|
||||
ld [wHPBarMaxHP], a
|
||||
FuncCoord 10, 2
|
||||
ld hl, Coord
|
||||
ld bc, $10a
|
||||
call ClearScreenArea
|
||||
FuncCoord 10, 2 ; $c3d2
|
||||
FuncCoord 10, 2
|
||||
ld hl, Coord
|
||||
ld de, $cf4b
|
||||
ld de, wcf4b
|
||||
call PlaceString
|
||||
FuncCoord 10, 3 ; $c3e6
|
||||
FuncCoord 10, 3
|
||||
ld hl, Coord
|
||||
ld a, [$d07d]
|
||||
ld a, [wd07d]
|
||||
cp $2
|
||||
jr nc, .asm_6835
|
||||
ld b, $7
|
||||
|
@ -396,9 +396,9 @@ Func_680e: ; 680e (1:680e)
|
|||
ld [hli], a
|
||||
dec b
|
||||
jr nz, .asm_6839
|
||||
ld a, [$d07d]
|
||||
ld a, [wd07d]
|
||||
cp $2
|
||||
ld a, [$cee9]
|
||||
ld a, [wHPBarMaxHP]
|
||||
jr nc, .asm_684b
|
||||
cp $7
|
||||
jr .asm_684d
|
||||
|
@ -408,10 +408,10 @@ Func_680e: ; 680e (1:680e)
|
|||
jr nz, .asm_6867
|
||||
call EraseMenuCursor
|
||||
ld a, $11
|
||||
ld [wTopMenuItemX], a ; $cc25
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
ld a, $5
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld a, [$d07d]
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld a, [wd07d]
|
||||
cp $2
|
||||
ld a, $9
|
||||
jr nc, .asm_6867
|
||||
|
@ -419,7 +419,7 @@ Func_680e: ; 680e (1:680e)
|
|||
.asm_6867
|
||||
ld c, a
|
||||
ld b, $0
|
||||
FuncCoord 10, 3 ; $c3e6
|
||||
FuncCoord 10, 3
|
||||
ld hl, Coord
|
||||
add hl, bc
|
||||
ld [hl], $77
|
||||
|
@ -436,7 +436,7 @@ Func_6871: ; 6871 (1:6871)
|
|||
ret nc
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
ld [$ceed], a
|
||||
ld [wHPBarNewHP], a
|
||||
ret
|
||||
|
||||
Dakutens: ; 6885 (1:6885)
|
||||
|
@ -455,9 +455,9 @@ Handakutens: ; 68d6 (1:68d6)
|
|||
db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
|
||||
db $ff
|
||||
|
||||
; calculates the length of the string at $cf4b and stores it in c
|
||||
; calculates the length of the string at wcf4b and stores it in c
|
||||
CalcStringLength: ; 68eb (1:68eb)
|
||||
ld hl, $cf4b
|
||||
ld hl, wcf4b
|
||||
ld c, $0
|
||||
.asm_68f0
|
||||
ld a, [hl]
|
||||
|
@ -468,29 +468,29 @@ CalcStringLength: ; 68eb (1:68eb)
|
|||
jr .asm_68f0
|
||||
|
||||
PrintNamingText: ; 68f8 (1:68f8)
|
||||
FuncCoord 0, 1 ; $c3b4
|
||||
FuncCoord 0, 1
|
||||
ld hl, Coord
|
||||
ld a, [$d07d]
|
||||
ld a, [wd07d]
|
||||
ld de, YourTextString ; $693f
|
||||
and a
|
||||
jr z, .notNickname
|
||||
ld de, RivalsTextString ; $6945
|
||||
dec a
|
||||
jr z, .notNickname
|
||||
ld a, [$cf91]
|
||||
ld [$cd5d], a
|
||||
ld a, [wcf91]
|
||||
ld [wcd5d], a
|
||||
push af
|
||||
callba Func_71882
|
||||
pop af
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
FuncCoord 4, 1 ; $c3b8
|
||||
FuncCoord 4, 1
|
||||
ld hl, Coord
|
||||
call PlaceString
|
||||
ld hl, $1
|
||||
add hl, bc
|
||||
ld [hl], $c9
|
||||
FuncCoord 1, 3 ; $c3dd
|
||||
FuncCoord 1, 3
|
||||
ld hl, Coord
|
||||
ld de, NicknameTextString ; $6953
|
||||
jr .placeString
|
||||
|
|
|
@ -5,7 +5,7 @@ OpenOaksPC: ; 1e915 (7:6915)
|
|||
ld hl, GetDexRatedText
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jr nz, .asm_1e932
|
||||
ld a, $56
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; [$D07D] = menu type / message ID
|
||||
; [wd07d] = menu type / message ID
|
||||
; if less than $F0, it is a menu type
|
||||
; menu types:
|
||||
; 00: normal pokemon menu (e.g. Start menu)
|
||||
|
@ -25,18 +25,18 @@ DrawPartyMenu_: ; 12cd2 (4:6cd2)
|
|||
callba Func_71791 ; load pokemon icon graphics
|
||||
|
||||
RedrawPartyMenu_: ; 12ce3 (4:6ce3)
|
||||
ld a,[$D07D]
|
||||
ld a,[wd07d]
|
||||
cp a,$04
|
||||
jp z,.printMessage
|
||||
call ErasePartyMenuCursors
|
||||
callba SendBlkPacket_PartyMenu ; loads some data to $cf2e
|
||||
callba SendBlkPacket_PartyMenu ; loads some data to wcf2e
|
||||
FuncCoord 3,0
|
||||
ld hl,Coord
|
||||
ld de,W_PARTYMON1
|
||||
xor a
|
||||
ld c,a
|
||||
ld [$FF8C],a ; loop counter
|
||||
ld [$CF2D],a
|
||||
ld [wcf2d],a
|
||||
.loop
|
||||
ld a,[de]
|
||||
cp a,$FF ; reached the terminator?
|
||||
|
@ -58,7 +58,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
|
|||
call LoadMonData
|
||||
pop hl
|
||||
push hl
|
||||
ld a,[$CC35]
|
||||
ld a,[wcc35]
|
||||
and a ; is the player swapping pokemon positions?
|
||||
jr z,.skipUnfilledRightArrow
|
||||
; if the player is swapping pokemon positions
|
||||
|
@ -76,7 +76,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
|
|||
inc hl
|
||||
inc hl
|
||||
.skipUnfilledRightArrow
|
||||
ld a,[$D07D] ; menu type
|
||||
ld a,[wd07d] ; menu type
|
||||
cp a,$03
|
||||
jr z,.teachMoveMenu
|
||||
cp a,$05
|
||||
|
@ -84,7 +84,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
|
|||
push hl
|
||||
ld bc,14 ; 14 columns to the right
|
||||
add hl,bc
|
||||
ld de,$CF9C
|
||||
ld de,wcf9c
|
||||
call PrintStatusCondition
|
||||
pop hl
|
||||
push hl
|
||||
|
@ -137,25 +137,25 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
|
|||
push hl
|
||||
ld hl,EvosMovesPointerTable
|
||||
ld b,0
|
||||
ld a,[$CF98] ; pokemon ID
|
||||
ld a,[wcf98] ; pokemon ID
|
||||
dec a
|
||||
add a
|
||||
rl b
|
||||
ld c,a
|
||||
add hl,bc
|
||||
ld de,$CD6D
|
||||
ld de,wcd6d
|
||||
ld a,BANK(EvosMovesPointerTable)
|
||||
ld bc,2
|
||||
call FarCopyData
|
||||
ld hl,$CD6D
|
||||
ld hl,wcd6d
|
||||
ld a,[hli]
|
||||
ld h,[hl]
|
||||
ld l,a
|
||||
ld de,$CD6D
|
||||
ld de,wcd6d
|
||||
ld a,BANK(EvosMovesPointerTable)
|
||||
ld bc,13
|
||||
call FarCopyData
|
||||
ld hl,$CD6D
|
||||
ld hl,wcd6d
|
||||
ld de,.notAbleToEvolveText
|
||||
; loop through the pokemon's evolution entries
|
||||
.checkEvolutionsLoop
|
||||
|
@ -170,7 +170,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
|
|||
dec hl
|
||||
dec hl
|
||||
ld b,[hl]
|
||||
ld a,[$D156] ; evolution stone item ID
|
||||
ld a,[wd156] ; evolution stone item ID
|
||||
inc hl
|
||||
inc hl
|
||||
inc hl
|
||||
|
@ -194,12 +194,12 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
|
|||
ld b,$0A
|
||||
call GoPAL_SET
|
||||
.printMessage
|
||||
ld hl,$D730
|
||||
ld hl,wd730
|
||||
ld a,[hl]
|
||||
push af
|
||||
push hl
|
||||
set 6,[hl] ; turn off letter printing delay
|
||||
ld a,[$D07D] ; message ID
|
||||
ld a,[wd07d] ; message ID
|
||||
cp a,$F0
|
||||
jr nc,.printItemUseMessage
|
||||
add a
|
||||
|
@ -230,7 +230,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
|
|||
ld h,[hl]
|
||||
ld l,a
|
||||
push hl
|
||||
ld a,[$CF06]
|
||||
ld a,[wcf06]
|
||||
ld hl,W_PARTYMON1NAME
|
||||
call GetPartyMonName
|
||||
pop hl
|
||||
|
@ -315,14 +315,14 @@ RareCandyText: ; 12ec0 (4:6ec0)
|
|||
db "@"
|
||||
|
||||
SetPartyMenuHealthBarColor: ; 12ec7 (4:6ec7)
|
||||
ld hl, $cf1f
|
||||
ld a, [$cf2d]
|
||||
ld hl, wcf1f
|
||||
ld a, [wcf2d]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
call GetHealthBarColor
|
||||
ld b, $fc
|
||||
call GoPAL_SET
|
||||
ld hl, $cf2d
|
||||
ld hl, wcf2d
|
||||
inc [hl]
|
||||
ret
|
||||
|
|
|
@ -74,7 +74,7 @@ BillsPC: ; 17ee4 (5:7ee4)
|
|||
ld a, (SFX_02_47 - SFX_Headers_02) / 3
|
||||
call PlaySound ;XXX: play sound or stop music
|
||||
call WaitForSoundToFinish ;XXX: wait for sound to be done
|
||||
ld a, [$D7F1] ;has to do with having met Bill
|
||||
ld a, [wd7f1] ;has to do with having met Bill
|
||||
bit 0, a
|
||||
jr nz, .billsPC ;if you've met bill, use that bill's instead of someone's
|
||||
ld hl, AccessedSomeonesPCText
|
||||
|
@ -86,7 +86,7 @@ BillsPC: ; 17ee4 (5:7ee4)
|
|||
callba BillsPC_
|
||||
ReloadMainMenu: ; 17f06 (5:7f06)
|
||||
xor a
|
||||
ld [$CC3C], a
|
||||
ld [wcc3c], a
|
||||
call ReloadMapData
|
||||
call UpdateSprites ;XXX: moves sprites
|
||||
jp PCMainMenu
|
||||
|
@ -117,7 +117,7 @@ AccessedMyPCText: ; 17f32 (5:7f32)
|
|||
|
||||
; removes one of the specified item ID [$FFdb] from bag (if existent)
|
||||
RemoveItemByID: ; 17f37 (5:7f37)
|
||||
ld hl, wBagItems ; $d31e
|
||||
ld hl, wBagItems ; wd31e
|
||||
ld a, [$ffdb]
|
||||
ld b, a
|
||||
xor a
|
||||
|
@ -135,8 +135,8 @@ RemoveItemByID: ; 17f37 (5:7f37)
|
|||
jr .asm_17f40
|
||||
.asm_17f4f
|
||||
ld a, $1
|
||||
ld [$cf96], a
|
||||
ld [wcf96], a
|
||||
ld a, [$ffdc]
|
||||
ld [wWhichPokemon], a ; $cf92
|
||||
ld hl, wNumBagItems ; $d31d
|
||||
ld [wWhichPokemon], a ; wWhichPokemon
|
||||
ld hl, wNumBagItems ; wNumBagItems
|
||||
jp RemoveItemFromInventory
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
PlayerPC: ; 78e6 (1:78e6)
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
ld a, ITEM_NAME
|
||||
ld [W_LISTTYPE], a
|
||||
call SaveScreenTilesToBuffer1
|
||||
xor a
|
||||
ld [$cc2c], a
|
||||
ld [$ccd3], a
|
||||
ld [wcc2c], a
|
||||
ld [wccd3], a
|
||||
ld a, [wFlags_0xcd60]
|
||||
bit 3, a
|
||||
jr nz, Func_790c
|
||||
|
@ -16,8 +16,8 @@ PlayerPC: ; 78e6 (1:78e6)
|
|||
call PrintText
|
||||
|
||||
Func_790c: ; 790c (1:790c)
|
||||
ld a, [$ccd3]
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld a, [wccd3]
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld hl, wFlags_0xcd60
|
||||
set 5, [hl]
|
||||
call LoadScreenTilesFromBuffer2
|
||||
|
@ -26,11 +26,11 @@ Func_790c: ; 790c (1:790c)
|
|||
ld c, $e
|
||||
call TextBoxBorder
|
||||
call UpdateSprites
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
ld de, PlayersPCMenuEntries ; $7af5
|
||||
call PlaceString
|
||||
ld hl, wTopMenuItemY ; $cc24
|
||||
ld hl, wTopMenuItemY ; wTopMenuItemY
|
||||
ld a, $2
|
||||
ld [hli], a
|
||||
dec a
|
||||
|
@ -43,18 +43,18 @@ Func_790c: ; 790c (1:790c)
|
|||
ld [hli], a
|
||||
xor a
|
||||
ld [hl], a
|
||||
ld hl, wListScrollOffset ; $cc36
|
||||
ld hl, wListScrollOffset ; wcc36
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld [wPlayerMonNumber], a ; $cc2f
|
||||
ld [wPlayerMonNumber], a ; wPlayerMonNumber
|
||||
ld hl, WhatDoYouWantText
|
||||
call PrintText
|
||||
call HandleMenuInput
|
||||
bit 1, a
|
||||
jp nz, Func_796d
|
||||
call PlaceUnfilledArrowMenuCursor
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld [$ccd3], a
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld [wccd3], a
|
||||
and a
|
||||
jp z, Func_7a12
|
||||
dec a
|
||||
|
@ -74,19 +74,19 @@ Func_796d: ; 796d (1:796d)
|
|||
res 5, [hl]
|
||||
call LoadScreenTilesFromBuffer2
|
||||
xor a
|
||||
ld [wListScrollOffset], a ; $cc36
|
||||
ld [$cc2c], a
|
||||
ld hl, $d730
|
||||
ld [wListScrollOffset], a ; wcc36
|
||||
ld [wcc2c], a
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
xor a
|
||||
ld [$cc3c], a
|
||||
ld [wcc3c], a
|
||||
ret
|
||||
|
||||
Func_7995: ; 7995 (1:7995)
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wListScrollOffset], a ; $cc36
|
||||
ld a, [wNumBagItems] ; $d31d
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wListScrollOffset], a ; wcc36
|
||||
ld a, [wNumBagItems] ; wNumBagItems
|
||||
and a
|
||||
jr nz, Func_79ab
|
||||
ld hl, NothingToDepositText
|
||||
|
@ -96,21 +96,21 @@ Func_7995: ; 7995 (1:7995)
|
|||
Func_79ab: ; 79ab (1:79ab)
|
||||
ld hl, WhatToDepositText
|
||||
call PrintText
|
||||
ld hl, wNumBagItems ; $d31d
|
||||
ld hl, wNumBagItems ; wNumBagItems
|
||||
ld a, l
|
||||
ld [$cf8b], a
|
||||
ld [wcf8b], a
|
||||
ld a, h
|
||||
ld [$cf8c], a
|
||||
ld [wcf8c], a
|
||||
xor a
|
||||
ld [$cf93], a
|
||||
ld [wcf93], a
|
||||
ld a, $3
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
call DisplayListMenuID
|
||||
jp c, Func_790c
|
||||
call IsKeyItem
|
||||
ld a, $1
|
||||
ld [$cf96], a
|
||||
ld a, [$d124]
|
||||
ld [wcf96], a
|
||||
ld a, [wd124]
|
||||
and a
|
||||
jr nz, .asm_79e7
|
||||
ld hl, DepositHowManyText
|
||||
|
@ -119,14 +119,14 @@ Func_79ab: ; 79ab (1:79ab)
|
|||
cp $ff
|
||||
jp z, Func_79ab
|
||||
.asm_79e7
|
||||
ld hl, wNumBoxItems ; $d53a
|
||||
ld hl, wNumBoxItems ; wNumBoxItems
|
||||
call AddItemToInventory
|
||||
jr c, .asm_79f8
|
||||
ld hl, NoRoomToStoreText
|
||||
call PrintText
|
||||
jp Func_79ab
|
||||
.asm_79f8
|
||||
ld hl, wNumBagItems ; $d31d
|
||||
ld hl, wNumBagItems ; wNumBagItems
|
||||
call RemoveItemFromInventory
|
||||
call WaitForSoundToFinish
|
||||
ld a, (SFX_02_55 - SFX_Headers_02) / 3
|
||||
|
@ -138,9 +138,9 @@ Func_79ab: ; 79ab (1:79ab)
|
|||
|
||||
Func_7a12: ; 7a12 (1:7a12)
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wListScrollOffset], a ; $cc36
|
||||
ld a, [wNumBoxItems] ; $d53a
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wListScrollOffset], a ; wcc36
|
||||
ld a, [wNumBoxItems] ; wNumBoxItems
|
||||
and a
|
||||
jr nz, Func_7a28
|
||||
ld hl, NothingStoredText
|
||||
|
@ -150,21 +150,21 @@ Func_7a12: ; 7a12 (1:7a12)
|
|||
Func_7a28: ; 7a28 (1:7a28)
|
||||
ld hl, WhatToWithdrawText
|
||||
call PrintText
|
||||
ld hl, wNumBoxItems ; $d53a
|
||||
ld hl, wNumBoxItems ; wNumBoxItems
|
||||
ld a, l
|
||||
ld [$cf8b], a
|
||||
ld [wcf8b], a
|
||||
ld a, h
|
||||
ld [$cf8c], a
|
||||
ld [wcf8c], a
|
||||
xor a
|
||||
ld [$cf93], a
|
||||
ld [wcf93], a
|
||||
ld a, $3
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
call DisplayListMenuID
|
||||
jp c, Func_790c
|
||||
call IsKeyItem
|
||||
ld a, $1
|
||||
ld [$cf96], a
|
||||
ld a, [$d124]
|
||||
ld [wcf96], a
|
||||
ld a, [wd124]
|
||||
and a
|
||||
jr nz, .asm_7a64
|
||||
ld hl, WithdrawHowManyText
|
||||
|
@ -173,14 +173,14 @@ Func_7a28: ; 7a28 (1:7a28)
|
|||
cp $ff
|
||||
jp z, Func_7a28
|
||||
.asm_7a64
|
||||
ld hl, wNumBagItems ; $d31d
|
||||
ld hl, wNumBagItems ; wNumBagItems
|
||||
call AddItemToInventory
|
||||
jr c, .asm_7a75
|
||||
ld hl, CantCarryMoreText
|
||||
call PrintText
|
||||
jp Func_7a28
|
||||
.asm_7a75
|
||||
ld hl, wNumBoxItems ; $d53a
|
||||
ld hl, wNumBoxItems ; wNumBoxItems
|
||||
call RemoveItemFromInventory
|
||||
call WaitForSoundToFinish
|
||||
ld a, (SFX_02_55 - SFX_Headers_02) / 3
|
||||
|
@ -192,9 +192,9 @@ Func_7a28: ; 7a28 (1:7a28)
|
|||
|
||||
Func_7a8f: ; 7a8f (1:7a8f)
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wListScrollOffset], a ; $cc36
|
||||
ld a, [wNumBoxItems] ; $d53a
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wListScrollOffset], a ; wcc36
|
||||
ld a, [wNumBoxItems] ; wNumBoxItems
|
||||
and a
|
||||
jr nz, Func_7aa5
|
||||
ld hl, NothingStoredText
|
||||
|
@ -204,15 +204,15 @@ Func_7a8f: ; 7a8f (1:7a8f)
|
|||
Func_7aa5: ; 7aa5 (1:7aa5)
|
||||
ld hl, WhatToTossText
|
||||
call PrintText
|
||||
ld hl, wNumBoxItems ; $d53a
|
||||
ld hl, wNumBoxItems ; wNumBoxItems
|
||||
ld a, l
|
||||
ld [$cf8b], a
|
||||
ld [wcf8b], a
|
||||
ld a, h
|
||||
ld [$cf8c], a
|
||||
ld [wcf8c], a
|
||||
xor a
|
||||
ld [$cf93], a
|
||||
ld [wcf93], a
|
||||
ld a, $3
|
||||
ld [wListMenuID], a ; $cf94
|
||||
ld [wListMenuID], a ; wListMenuID
|
||||
push hl
|
||||
call DisplayListMenuID
|
||||
pop hl
|
||||
|
@ -221,11 +221,11 @@ Func_7aa5: ; 7aa5 (1:7aa5)
|
|||
call IsKeyItem
|
||||
pop hl
|
||||
ld a, $1
|
||||
ld [$cf96], a
|
||||
ld a, [$d124]
|
||||
ld [wcf96], a
|
||||
ld a, [wd124]
|
||||
and a
|
||||
jr nz, .asm_7aef
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
call IsItemHM
|
||||
jr c, .asm_7aef
|
||||
push hl
|
||||
|
|
|
@ -9,7 +9,7 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
|
|||
ld [wListScrollOffset],a
|
||||
ld [wLastMenuItem],a
|
||||
inc a
|
||||
ld [$d11e],a
|
||||
ld [wd11e],a
|
||||
ld [$ffb7],a
|
||||
.setUpGraphics
|
||||
ld b,$08
|
||||
|
@ -22,7 +22,7 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
|
|||
xor a
|
||||
ld [hli],a ; top menu item X
|
||||
inc a
|
||||
ld [$cc37],a
|
||||
ld [wcc37],a
|
||||
inc hl
|
||||
inc hl
|
||||
ld a,6
|
||||
|
@ -32,12 +32,12 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
|
|||
jr c,.goToSideMenu ; if the player chose a pokemon from the list
|
||||
.exitPokedex
|
||||
xor a
|
||||
ld [$cc37],a
|
||||
ld [wcc37],a
|
||||
ld [wCurrentMenuItem],a
|
||||
ld [wLastMenuItem],a
|
||||
ld [$ffb7],a
|
||||
ld [$cd3a],a
|
||||
ld [$cd3b],a
|
||||
ld [wcd3a],a
|
||||
ld [wcd3b],a
|
||||
pop af
|
||||
ld [wListScrollOffset],a
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
@ -68,10 +68,10 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
|
|||
push af
|
||||
add b
|
||||
inc a
|
||||
ld [$d11e],a
|
||||
ld a,[$d11e]
|
||||
ld [wd11e],a
|
||||
ld a,[wd11e]
|
||||
push af
|
||||
ld a,[$cd3d]
|
||||
ld a,[wWhichTrade]
|
||||
push af
|
||||
ld hl,wPokedexSeen
|
||||
call IsPokemonBitSet
|
||||
|
@ -91,7 +91,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
|
|||
ld [hli],a ; menu watched keys (A button and B button)
|
||||
xor a
|
||||
ld [hli],a ; old menu item ID
|
||||
ld [$cc37],a
|
||||
ld [wcc37],a
|
||||
.handleMenuInput
|
||||
call HandleMenuInput
|
||||
bit 1,a ; was the B button pressed?
|
||||
|
@ -108,9 +108,9 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
|
|||
ld b,1
|
||||
.exitSideMenu
|
||||
pop af
|
||||
ld [$cd3d],a
|
||||
ld [wWhichTrade],a
|
||||
pop af
|
||||
ld [$d11e],a
|
||||
ld [wd11e],a
|
||||
pop af
|
||||
ld [wListScrollOffset],a
|
||||
pop af
|
||||
|
@ -140,7 +140,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
|
|||
jr .exitSideMenu
|
||||
; play pokemon cry
|
||||
.choseCry
|
||||
ld a,[$d11e]
|
||||
ld a,[wd11e]
|
||||
call GetCryData ; get cry data
|
||||
call PlaySound ; play sound
|
||||
jr .handleMenuInput
|
||||
|
@ -176,7 +176,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
ld hl,wPokedexSeen
|
||||
ld b,wPokedexSeenEnd - wPokedexSeen
|
||||
call CountSetBits
|
||||
ld de,$d11e
|
||||
ld de,wd11e
|
||||
FuncCoord 16,3
|
||||
ld hl,Coord
|
||||
ld bc,$0103
|
||||
|
@ -184,7 +184,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
ld hl,wPokedexOwned
|
||||
ld b,wPokedexOwnedEnd - wPokedexOwned
|
||||
call CountSetBits
|
||||
ld de,$d11e
|
||||
ld de,wd11e
|
||||
FuncCoord 16,6
|
||||
ld hl,Coord
|
||||
ld bc,$0103
|
||||
|
@ -220,7 +220,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
jr .maxSeenPokemonLoop
|
||||
.storeMaxSeenPokemon
|
||||
ld a,b
|
||||
ld [$cd3d],a ; max seen pokemon
|
||||
ld [wWhichTrade],a ; max seen pokemon
|
||||
.loop
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED],a
|
||||
|
@ -231,9 +231,9 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
FuncCoord 1,3
|
||||
ld hl,Coord
|
||||
ld a,[wListScrollOffset]
|
||||
ld [$d11e],a
|
||||
ld [wd11e],a
|
||||
ld d,7
|
||||
ld a,[$cd3d]
|
||||
ld a,[wWhichTrade]
|
||||
cp a,7
|
||||
jr nc,.printPokemonLoop
|
||||
ld d,a
|
||||
|
@ -242,15 +242,15 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
; loop to print pokemon pokedex numbers and names
|
||||
; if the player has owned the pokemon, it puts a pokeball beside the name
|
||||
.printPokemonLoop
|
||||
ld a,[$d11e]
|
||||
ld a,[wd11e]
|
||||
inc a
|
||||
ld [$d11e],a
|
||||
ld [wd11e],a
|
||||
push af
|
||||
push de
|
||||
push hl
|
||||
ld de,-20
|
||||
add hl,de
|
||||
ld de,$d11e
|
||||
ld de,wd11e
|
||||
ld bc,$8103
|
||||
call PrintNumber ; print the pokedex number
|
||||
ld de,20
|
||||
|
@ -285,7 +285,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
add hl,bc
|
||||
pop de
|
||||
pop af
|
||||
ld [$d11e],a
|
||||
ld [wd11e],a
|
||||
dec d
|
||||
jr nz,.printPokemonLoop
|
||||
ld a,01
|
||||
|
@ -309,7 +309,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
bit 7,a ; was Down pressed?
|
||||
jr z,.checkIfRightPressed
|
||||
.downPressed ; scroll down one row
|
||||
ld a,[$cd3d]
|
||||
ld a,[wWhichTrade]
|
||||
cp a,7
|
||||
jp c,.loop
|
||||
sub a,7
|
||||
|
@ -324,7 +324,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
|
|||
bit 4,a ; was Right pressed?
|
||||
jr z,.checkIfLeftPressed
|
||||
.rightPressed ; scroll down 7 rows
|
||||
ld a,[$cd3d]
|
||||
ld a,[wWhichTrade]
|
||||
cp a,7
|
||||
jp c,.loop
|
||||
sub a,6
|
||||
|
@ -385,10 +385,10 @@ PokedexMenuItemsText: ; 402af (10:42af)
|
|||
|
||||
; tests if a pokemon's bit is set in the seen or owned pokemon bit fields
|
||||
; INPUT:
|
||||
; [$d11e] = pokedex number
|
||||
; [wd11e] = pokedex number
|
||||
; hl = address of bit field
|
||||
IsPokemonBitSet: ; 402c2 (10:42c2)
|
||||
ld a,[$d11e]
|
||||
ld a,[wd11e]
|
||||
dec a
|
||||
ld c,a
|
||||
ld b,2
|
||||
|
@ -407,19 +407,19 @@ ShowPokedexData: ; 402d1 (10:42d1)
|
|||
|
||||
; function to display pokedex data from inside the pokedex
|
||||
ShowPokedexDataInternal: ; 402e2 (10:42e2)
|
||||
ld hl,$d72c
|
||||
ld hl,wd72c
|
||||
set 1,[hl]
|
||||
ld a,$33 ; 3/7 volume
|
||||
ld [$ff24],a
|
||||
call GBPalWhiteOut ; zero all palettes
|
||||
call ClearScreen
|
||||
ld a,[$d11e] ; pokemon ID
|
||||
ld [$cf91],a
|
||||
ld a,[wd11e] ; pokemon ID
|
||||
ld [wcf91],a
|
||||
push af
|
||||
ld b,04
|
||||
call GoPAL_SET
|
||||
pop af
|
||||
ld [$d11e],a
|
||||
ld [wd11e],a
|
||||
ld a,[$ffd7]
|
||||
push af
|
||||
xor a
|
||||
|
@ -467,7 +467,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
|
|||
ld hl,Coord
|
||||
call PlaceString
|
||||
ld hl,PokedexEntryPointers
|
||||
ld a,[$d11e]
|
||||
ld a,[wd11e]
|
||||
dec a
|
||||
ld e,a
|
||||
ld d,0
|
||||
|
@ -482,7 +482,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
|
|||
ld h,b
|
||||
ld l,c
|
||||
push de
|
||||
ld a,[$d11e]
|
||||
ld a,[wd11e]
|
||||
push af
|
||||
call IndexToPokedex
|
||||
FuncCoord 2,8
|
||||
|
@ -491,15 +491,15 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
|
|||
ld [hli],a
|
||||
ld a,$f2
|
||||
ld [hli],a
|
||||
ld de,$d11e
|
||||
ld de,wd11e
|
||||
ld bc,$8103
|
||||
call PrintNumber ; print pokedex number
|
||||
ld hl,wPokedexOwned
|
||||
call IsPokemonBitSet
|
||||
pop af
|
||||
ld [$d11e],a
|
||||
ld a,[$cf91]
|
||||
ld [$d0b5],a
|
||||
ld [wd11e],a
|
||||
ld a,[wcf91]
|
||||
ld [wd0b5],a
|
||||
pop de
|
||||
push af
|
||||
push bc
|
||||
|
@ -511,7 +511,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
|
|||
FuncCoord 1,1
|
||||
ld hl,Coord
|
||||
call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture
|
||||
ld a,[$cf91]
|
||||
ld a,[wcf91]
|
||||
call PlayCry ; play pokemon cry
|
||||
pop hl
|
||||
pop de
|
||||
|
@ -595,7 +595,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
|
|||
call GoPAL_SET_CF1C
|
||||
call LoadTextBoxTilePatterns
|
||||
call GBPalNormal
|
||||
ld hl,$d72c
|
||||
ld hl,wd72c
|
||||
res 1,[hl]
|
||||
ld a,$77 ; max volume
|
||||
ld [$ff24],a
|
||||
|
@ -637,10 +637,10 @@ DrawTileLine: ; 40474 (10:4474)
|
|||
INCLUDE "data/pokedex_entries.asm"
|
||||
|
||||
PokedexToIndex: ; 40ff9 (10:4ff9)
|
||||
; converts the Pokédex number at $D11E to an index
|
||||
; converts the Pokédex number at wd11e to an index
|
||||
push bc
|
||||
push hl
|
||||
ld a,[$D11E]
|
||||
ld a,[wd11e]
|
||||
ld b,a
|
||||
ld c,0
|
||||
ld hl,PokedexOrder
|
||||
|
@ -652,23 +652,23 @@ PokedexToIndex: ; 40ff9 (10:4ff9)
|
|||
jr nz,.loop
|
||||
|
||||
ld a,c
|
||||
ld [$D11E],a
|
||||
ld [wd11e],a
|
||||
pop hl
|
||||
pop bc
|
||||
ret
|
||||
|
||||
IndexToPokedex: ; 41010 (10:5010)
|
||||
; converts the indexédex number at $D11E to a Pokédex number
|
||||
; converts the indexédex number at wd11e to a Pokédex number
|
||||
push bc
|
||||
push hl
|
||||
ld a,[$D11E]
|
||||
ld a,[wd11e]
|
||||
dec a
|
||||
ld hl,PokedexOrder
|
||||
ld b,0
|
||||
ld c,a
|
||||
add hl,bc
|
||||
ld a,[hl]
|
||||
ld [$D11E],a
|
||||
ld [wd11e],a
|
||||
pop hl
|
||||
pop bc
|
||||
ret
|
||||
|
|
|
@ -5,22 +5,22 @@ CeladonPrizeMenu: ; 5271b (14:671b)
|
|||
ld hl,RequireCoinCaseTextPtr
|
||||
jp PrintText
|
||||
.havingCoinCase
|
||||
ld hl,$D730
|
||||
ld hl,wd730
|
||||
set 6,[hl]
|
||||
ld hl,ExchangeCoinsForPrizesTextPtr
|
||||
call PrintText
|
||||
; the following are the menu settings
|
||||
xor a
|
||||
ld [$CC26],a
|
||||
ld [$CC2A],a
|
||||
ld [wCurrentMenuItem],a
|
||||
ld [wLastMenuItem],a
|
||||
ld a,$03
|
||||
ld [$CC29],a
|
||||
ld [wMenuWatchedKeys],a
|
||||
ld a,$03
|
||||
ld [$CC28],a
|
||||
ld [wMaxMenuItem],a
|
||||
ld a,$04
|
||||
ld [$CC24],a
|
||||
ld [wTopMenuItemY],a
|
||||
ld a,$01
|
||||
ld [$CC25],a
|
||||
ld [wTopMenuItemX],a
|
||||
call PrintPrizePrice ; 687A
|
||||
FuncCoord 0,2
|
||||
ld hl,Coord
|
||||
|
@ -34,12 +34,12 @@ CeladonPrizeMenu: ; 5271b (14:671b)
|
|||
call HandleMenuInput ; menu choice handler
|
||||
bit 1,a ; keypress = B (Cancel)
|
||||
jr nz,.NoChoice
|
||||
ld a,[$CC26]
|
||||
ld a,[wCurrentMenuItem]
|
||||
cp a,$03 ; "NO,THANKS" choice
|
||||
jr z,.NoChoice
|
||||
call HandlePrizeChoice ; 14:68C6
|
||||
.NoChoice
|
||||
ld hl,$D730
|
||||
ld hl,wd730
|
||||
res 6,[hl]
|
||||
ret
|
||||
|
||||
|
@ -60,14 +60,14 @@ GetPrizeMenuId: ; 5278e (14:678e)
|
|||
; determine which one among the three
|
||||
; prize-texts has been selected
|
||||
; using the text ID (stored in [$FF8C])
|
||||
; load the three prizes at $D13D-$D13F
|
||||
; load the three prices at $D141-$D146
|
||||
; load the three prizes at wd13d-wd13f
|
||||
; load the three prices at wd141-wd146
|
||||
; display the three prizes' names
|
||||
; (distinguishing between Pokemon names
|
||||
; and Items (specifically TMs) names)
|
||||
ld a,[$FF8C]
|
||||
sub a,$03 ; prize-texts' id are 3, 4 and 5
|
||||
ld [$D12F],a ; prize-texts' id (relative, i.e. 0, 1 or 2)
|
||||
ld [wd12f],a ; prize-texts' id (relative, i.e. 0, 1 or 2)
|
||||
add a
|
||||
add a
|
||||
ld d,$00
|
||||
|
@ -85,26 +85,26 @@ GetPrizeMenuId: ; 5278e (14:678e)
|
|||
ld a,[hli]
|
||||
ld h,[hl]
|
||||
ld l,a
|
||||
ld de,$D141
|
||||
ld de,wd141
|
||||
ld bc,$0006
|
||||
call CopyData
|
||||
ld a,[$D12F]
|
||||
ld a,[wd12f]
|
||||
cp a,$02 ;is TM_menu?
|
||||
jr nz,.putMonName
|
||||
ld a,[W_PRIZE1]
|
||||
ld [$D11E],a
|
||||
ld [wd11e],a
|
||||
call GetItemName
|
||||
FuncCoord 2,4
|
||||
ld hl,Coord
|
||||
call PlaceString
|
||||
ld a,[W_PRIZE2]
|
||||
ld [$D11E],a
|
||||
ld [wd11e],a
|
||||
call GetItemName
|
||||
FuncCoord 2,6
|
||||
ld hl,Coord
|
||||
call PlaceString
|
||||
ld a,[W_PRIZE3]
|
||||
ld [$D11E],a
|
||||
ld [wd11e],a
|
||||
call GetItemName
|
||||
FuncCoord 2,8
|
||||
ld hl,Coord
|
||||
|
@ -112,19 +112,19 @@ GetPrizeMenuId: ; 5278e (14:678e)
|
|||
jr .putNoThanksText
|
||||
.putMonName ; 14:67EC
|
||||
ld a,[W_PRIZE1]
|
||||
ld [$D11E],a
|
||||
ld [wd11e],a
|
||||
call GetMonName
|
||||
FuncCoord 2,4
|
||||
ld hl,Coord
|
||||
call PlaceString
|
||||
ld a,[W_PRIZE2]
|
||||
ld [$D11E],a
|
||||
ld [wd11e],a
|
||||
call GetMonName
|
||||
FuncCoord 2,6
|
||||
ld hl,Coord
|
||||
call PlaceString
|
||||
ld a,[W_PRIZE3]
|
||||
ld [$D11E],a
|
||||
ld [wd11e],a
|
||||
call GetMonName
|
||||
FuncCoord 2,8
|
||||
ld hl,Coord
|
||||
|
@ -135,7 +135,7 @@ GetPrizeMenuId: ; 5278e (14:678e)
|
|||
ld de,NoThanksText
|
||||
call PlaceString
|
||||
; put prices on the right side of the textbox
|
||||
ld de,$D141
|
||||
ld de,wd141
|
||||
FuncCoord 13,5
|
||||
ld hl,Coord
|
||||
; reg. c:
|
||||
|
@ -145,12 +145,12 @@ GetPrizeMenuId: ; 5278e (14:678e)
|
|||
; Function $15CD displays BCD value (same routine
|
||||
; used by text-command $02)
|
||||
call PrintBCDNumber ; Print_BCD
|
||||
ld de,$D143
|
||||
ld de,wd143
|
||||
FuncCoord 13,7
|
||||
ld hl,Coord
|
||||
ld c,(%1 << 7 | 2)
|
||||
call PrintBCDNumber
|
||||
ld de,$D145
|
||||
ld de,wd145
|
||||
FuncCoord 13,9
|
||||
ld hl,Coord
|
||||
ld c,(1 << 7 | 2)
|
||||
|
@ -187,11 +187,11 @@ PrintPrizePrice: ; 5287a (14:687a)
|
|||
db " @"
|
||||
|
||||
LoadCoinsToSubtract: ; 528b1 (14:68b1)
|
||||
ld a,[$D139] ; backup of selected menu_entry
|
||||
ld a,[wd139] ; backup of selected menu_entry
|
||||
add a
|
||||
ld d,$00
|
||||
ld e,a
|
||||
ld hl,$D141 ; first prize's price
|
||||
ld hl,wd141 ; first prize's price
|
||||
add hl,de ; get selected prize's price
|
||||
xor a
|
||||
ld [$FF9F],a
|
||||
|
@ -202,15 +202,15 @@ LoadCoinsToSubtract: ; 528b1 (14:68b1)
|
|||
ret
|
||||
|
||||
HandlePrizeChoice: ; 528c6 (14:68c6)
|
||||
ld a,[$CC26] ; selected menu_entry
|
||||
ld [$D139],a
|
||||
ld a,[wCurrentMenuItem] ; selected menu_entry
|
||||
ld [wd139],a
|
||||
ld d,$00
|
||||
ld e,a
|
||||
ld hl,W_PRIZE1
|
||||
add hl,de
|
||||
ld a,[hl]
|
||||
ld [$D11E],a
|
||||
ld a,[$D12F]
|
||||
ld [wd11e],a
|
||||
ld a,[wd12f]
|
||||
cp a,$02 ; is prize a TM?
|
||||
jr nz,.GetMonName
|
||||
call GetItemName
|
||||
|
@ -221,16 +221,16 @@ HandlePrizeChoice: ; 528c6 (14:68c6)
|
|||
ld hl,SoYouWantPrizeTextPtr
|
||||
call PrintText
|
||||
call YesNoChoice ; yes/no textbox
|
||||
ld a,[$CC26] ; yes/no answer (Y=0, N=1)
|
||||
ld a,[wCurrentMenuItem] ; yes/no answer (Y=0, N=1)
|
||||
and a
|
||||
jr nz,.PrintOhFineThen
|
||||
call LoadCoinsToSubtract
|
||||
call HasEnoughCoins
|
||||
jr c,.NotEnoughCoins
|
||||
ld a,[$D12F]
|
||||
ld a,[wd12f]
|
||||
cp a,$02
|
||||
jr nz,.GiveMon
|
||||
ld a,[$D11E]
|
||||
ld a,[wd11e]
|
||||
ld b,a
|
||||
ld a,1
|
||||
ld c,a
|
||||
|
@ -238,8 +238,8 @@ HandlePrizeChoice: ; 528c6 (14:68c6)
|
|||
jr nc,.BagFull
|
||||
jr .SubtractCoins
|
||||
.GiveMon ; 14:6912
|
||||
ld a,[$D11E]
|
||||
ld [$CF91],a
|
||||
ld a,[wd11e]
|
||||
ld [wcf91],a
|
||||
push af
|
||||
call GetPrizeMonLevel ; 14:6977
|
||||
ld c,a
|
||||
|
@ -247,7 +247,7 @@ HandlePrizeChoice: ; 528c6 (14:68c6)
|
|||
ld b,a
|
||||
call GivePokemon
|
||||
push af
|
||||
ld a,[$CCD3] ; XXX is there room?
|
||||
ld a,[wccd3] ; XXX is there room?
|
||||
and a
|
||||
call z,WaitForTextScrollButtonPress
|
||||
pop af
|
||||
|
@ -299,7 +299,7 @@ OhFineThenTextPtr: ; 52971 (14:6971)
|
|||
db "@"
|
||||
|
||||
GetPrizeMonLevel: ; 52977 (14:6977)
|
||||
ld a,[$CF91]
|
||||
ld a,[wcf91]
|
||||
ld b,a
|
||||
ld hl,PrizeMonLevelDictionary
|
||||
.loop ; 14:697E
|
||||
|
@ -310,7 +310,7 @@ GetPrizeMonLevel: ; 52977 (14:6977)
|
|||
jr .loop
|
||||
.matchFound ; 14:6985
|
||||
ld a,[hl]
|
||||
ld [$D127],a
|
||||
ld [W_CURENEMYLVL],a
|
||||
ret
|
||||
|
||||
INCLUDE "data/prize_mon_levels.asm"
|
||||
|
|
|
@ -2,8 +2,8 @@ DisplayStartMenu:: ; 2acd (0:2acd)
|
|||
ld a,$04 ; hardcoded Bank, not sure what's it refers to
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a ; ROM bank 4
|
||||
ld a,[$d700] ; walking/biking/surfing
|
||||
ld [$d11a],a
|
||||
ld a,[wd700] ; walking/biking/surfing
|
||||
ld [wd11a],a
|
||||
ld a, (SFX_02_3f - SFX_Headers_02) / 3 ; Start menu sound
|
||||
call PlaySound
|
||||
|
||||
|
@ -24,7 +24,7 @@ RedisplayStartMenu:: ; 2adf (0:2adf)
|
|||
and a
|
||||
jr nz,.loop
|
||||
; if the player pressed tried to go past the top item, wrap around to the bottom
|
||||
ld a,[$d74b]
|
||||
ld a,[wd74b]
|
||||
bit 5,a ; does the player have the pokedex?
|
||||
ld a,6 ; there are 7 menu items with the pokedex, so the max index is 6
|
||||
jr nz,.wrapMenuItemId
|
||||
|
@ -37,7 +37,7 @@ RedisplayStartMenu:: ; 2adf (0:2adf)
|
|||
bit 7,a
|
||||
jr z,.buttonPressed
|
||||
; if the player pressed tried to go past the bottom item, wrap around to the top
|
||||
ld a,[$d74b]
|
||||
ld a,[wd74b]
|
||||
bit 5,a ; does the player have the pokedex?
|
||||
ld a,[wCurrentMenuItem]
|
||||
ld c,7 ; there are 7 menu items with the pokedex
|
||||
|
@ -54,12 +54,12 @@ RedisplayStartMenu:: ; 2adf (0:2adf)
|
|||
.buttonPressed ; A, B, or Start button pressed
|
||||
call PlaceUnfilledArrowMenuCursor
|
||||
ld a,[wCurrentMenuItem]
|
||||
ld [$cc2d],a ; save current menu item ID
|
||||
ld [wcc2d],a ; save current menu item ID
|
||||
ld a,b
|
||||
and a,%00001010 ; was the Start button or B button pressed?
|
||||
jp nz,CloseStartMenu
|
||||
call SaveScreenTilesToBuffer2 ; copy background from wTileMap to wTileMapBackup2
|
||||
ld a,[$d74b]
|
||||
ld a,[wd74b]
|
||||
bit 5,a ; does the player have the pokedex?
|
||||
ld a,[wCurrentMenuItem]
|
||||
jr nz,.displayMenuItem
|
||||
|
|
|
@ -12,15 +12,15 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
and a
|
||||
jp z,RedisplayStartMenu
|
||||
xor a
|
||||
ld [$cc35],a
|
||||
ld [$d07d],a
|
||||
ld [$cfcb],a
|
||||
ld [wcc35],a
|
||||
ld [wd07d],a
|
||||
ld [wcfcb],a
|
||||
call DisplayPartyMenu
|
||||
jr .checkIfPokemonChosen
|
||||
.loop
|
||||
xor a
|
||||
ld [$cc35],a
|
||||
ld [$d07d],a
|
||||
ld [wcc35],a
|
||||
ld [wd07d],a
|
||||
call GoBackToPartyMenu
|
||||
.checkIfPokemonChosen
|
||||
jr nc,.chosePokemon
|
||||
|
@ -32,9 +32,9 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
.chosePokemon
|
||||
call SaveScreenTilesToBuffer1 ; save screen
|
||||
ld a,$04
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID ; display pokemon menu options
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
ld bc,$020c ; max menu item ID, top menu item Y
|
||||
ld e,5
|
||||
.adjustMenuVariablesLoop
|
||||
|
@ -82,7 +82,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
jp z,.choseStats
|
||||
ld c,a
|
||||
ld b,0
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
add hl,bc
|
||||
jp .choseOutOfBattleMove
|
||||
.choseSwitch
|
||||
|
@ -91,13 +91,13 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
jp c,StartMenu_Pokemon ; if not, no switching
|
||||
call SwitchPartyMon_Stats
|
||||
ld a,$04 ; swap pokemon positions menu
|
||||
ld [$d07d],a
|
||||
ld [wd07d],a
|
||||
call GoBackToPartyMenu
|
||||
jp .checkIfPokemonChosen
|
||||
.choseStats
|
||||
call ClearSprites
|
||||
xor a
|
||||
ld [$cc49],a
|
||||
ld [wcc49],a
|
||||
ld a,$36
|
||||
call Predef
|
||||
ld a,$37
|
||||
|
@ -145,11 +145,11 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
jp .loop
|
||||
.canFly
|
||||
call ChooseFlyDestination
|
||||
ld a,[$d732]
|
||||
ld a,[wd732]
|
||||
bit 3,a ; did the player decide to fly?
|
||||
jp nz,.goBackToMap
|
||||
call LoadFontTilePatterns
|
||||
ld hl,$d72e
|
||||
ld hl,wd72e
|
||||
set 1,[hl]
|
||||
jp StartMenu_Pokemon
|
||||
.cut
|
||||
|
@ -157,7 +157,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
jp z,.newBadgeRequired
|
||||
ld a,$3c
|
||||
call Predef
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
and a
|
||||
jp z,.loop
|
||||
jp CloseTextDisplay
|
||||
|
@ -165,15 +165,15 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
bit 4,a ; does the player have the Soul Badge?
|
||||
jp z,.newBadgeRequired
|
||||
callba CheckForForcedBikeSurf
|
||||
ld hl,$d728
|
||||
ld hl,wd728
|
||||
bit 1,[hl]
|
||||
res 1,[hl]
|
||||
jp z,.loop
|
||||
ld a,SURFBOARD
|
||||
ld [$cf91],a
|
||||
ld [$d152],a
|
||||
ld [wcf91],a
|
||||
ld [wd152],a
|
||||
call UseItem
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
and a
|
||||
jp z,.loop
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
@ -189,7 +189,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
bit 0,a ; does the player have the Boulder Badge?
|
||||
jp z,.newBadgeRequired
|
||||
xor a
|
||||
ld [$d35d],a
|
||||
ld [wd35d],a
|
||||
ld hl,.flashLightsAreaText
|
||||
call PrintText
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
@ -199,10 +199,10 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
db "@"
|
||||
.dig
|
||||
ld a,ESCAPE_ROPE
|
||||
ld [$cf91],a
|
||||
ld [$d152],a
|
||||
ld [wcf91],a
|
||||
ld [wd152],a
|
||||
call UseItem
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
and a
|
||||
jp z,.loop
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
@ -219,10 +219,10 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
.canTeleport
|
||||
ld hl,.warpToLastPokemonCenterText
|
||||
call PrintText
|
||||
ld hl,$d732
|
||||
ld hl,wd732
|
||||
set 3,[hl]
|
||||
set 6,[hl]
|
||||
ld hl,$d72e
|
||||
ld hl,wd72e
|
||||
set 1,[hl]
|
||||
res 4,[hl]
|
||||
ld c,60
|
||||
|
@ -261,14 +261,14 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
ld a,[H_QUOTIENT + 2]
|
||||
sbc b
|
||||
jp nc,.notHealthyEnough
|
||||
ld a,[$cc2b]
|
||||
ld a,[wcc2b]
|
||||
push af
|
||||
ld a,POTION
|
||||
ld [$cf91],a
|
||||
ld [$d152],a
|
||||
ld [wcf91],a
|
||||
ld [wd152],a
|
||||
call UseItem
|
||||
pop af
|
||||
ld [$cc2b],a
|
||||
ld [wcc2b],a
|
||||
jp .loop
|
||||
.notHealthyEnough ; if current HP is less than 1/5 of max HP
|
||||
ld hl,.notHealthyEnoughText
|
||||
|
@ -314,19 +314,19 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
jr .exitMenu
|
||||
.notInLinkBattle
|
||||
ld bc,wNumBagItems
|
||||
ld hl,$cf8b
|
||||
ld hl,wcf8b
|
||||
ld a,c
|
||||
ld [hli],a
|
||||
ld [hl],b ; store item bag pointer at $cf8b (for DisplayListMenuID)
|
||||
ld [hl],b ; store item bag pointer at wcf8b (for DisplayListMenuID)
|
||||
xor a
|
||||
ld [$cf93],a
|
||||
ld [wcf93],a
|
||||
ld a,ITEMLISTMENU
|
||||
ld [wListMenuID],a
|
||||
ld a,[$cc2c]
|
||||
ld a,[wcc2c]
|
||||
ld [wCurrentMenuItem],a
|
||||
call DisplayListMenuID
|
||||
ld a,[wCurrentMenuItem]
|
||||
ld [$cc2c],a
|
||||
ld [wcc2c],a
|
||||
jr nc,.choseItem
|
||||
.exitMenu
|
||||
call LoadScreenTilesFromBuffer2 ; restore saved screen
|
||||
|
@ -346,13 +346,13 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
ld [Coord],a
|
||||
call PlaceUnfilledArrowMenuCursor
|
||||
xor a
|
||||
ld [$cc35],a
|
||||
ld a,[$cf91]
|
||||
ld [wcc35],a
|
||||
ld a,[wcf91]
|
||||
cp a,BICYCLE
|
||||
jp z,.useOrTossItem
|
||||
.notBicycle1
|
||||
ld a,$06 ; use/toss menu
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID
|
||||
ld hl,wTopMenuItemY
|
||||
ld a,11
|
||||
|
@ -374,14 +374,14 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
jr z,.useOrTossItem
|
||||
jp ItemMenuLoop
|
||||
.useOrTossItem ; if the player made the choice to use or toss the item
|
||||
ld a,[$cf91]
|
||||
ld [$d11e],a
|
||||
ld a,[wcf91]
|
||||
ld [wd11e],a
|
||||
call GetItemName
|
||||
call CopyStringToCF4B ; copy name to $cf4b
|
||||
ld a,[$cf91]
|
||||
call CopyStringToCF4B ; copy name to wcf4b
|
||||
ld a,[wcf91]
|
||||
cp a,BICYCLE
|
||||
jr nz,.notBicycle2
|
||||
ld a,[$d732]
|
||||
ld a,[wd732]
|
||||
bit 5,a
|
||||
jr z,.useItem_closeMenu
|
||||
ld hl,CannotGetOffHereText
|
||||
|
@ -392,15 +392,15 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
and a
|
||||
jr nz,.tossItem
|
||||
.useItem
|
||||
ld [$d152],a
|
||||
ld a,[$cf91]
|
||||
ld [wd152],a
|
||||
ld a,[wcf91]
|
||||
cp a,HM_01
|
||||
jr nc,.useItem_partyMenu
|
||||
ld hl,UsableItems_CloseMenu
|
||||
ld de,1
|
||||
call IsInArray
|
||||
jr c,.useItem_closeMenu
|
||||
ld a,[$cf91]
|
||||
ld a,[wcf91]
|
||||
ld hl,UsableItems_PartyMenu
|
||||
ld de,1
|
||||
call IsInArray
|
||||
|
@ -409,34 +409,34 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
jp ItemMenuLoop
|
||||
.useItem_closeMenu
|
||||
xor a
|
||||
ld [$d152],a
|
||||
ld [wd152],a
|
||||
call UseItem
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
and a
|
||||
jp z,ItemMenuLoop
|
||||
jp CloseStartMenu
|
||||
.useItem_partyMenu
|
||||
ld a,[$cfcb]
|
||||
ld a,[wcfcb]
|
||||
push af
|
||||
call UseItem
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
cp a,$02
|
||||
jp z,.partyMenuNotDisplayed
|
||||
call GBPalWhiteOutWithDelay3
|
||||
call Func_3dbe
|
||||
pop af
|
||||
ld [$cfcb],a
|
||||
ld [wcfcb],a
|
||||
jp StartMenu_Item
|
||||
.partyMenuNotDisplayed
|
||||
pop af
|
||||
ld [$cfcb],a
|
||||
ld [wcfcb],a
|
||||
jp ItemMenuLoop
|
||||
.tossItem
|
||||
call IsKeyItem
|
||||
ld a,[$d124]
|
||||
ld a,[wd124]
|
||||
and a
|
||||
jr nz,.skipAskingQuantity
|
||||
ld a,[$cf91]
|
||||
ld a,[wcf91]
|
||||
call IsItemHM
|
||||
jr c,.skipAskingQuantity
|
||||
call DisplayChooseQuantityMenu
|
||||
|
@ -580,7 +580,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
|
|||
ld de,$8d70
|
||||
call TrainerInfo_FarCopyData
|
||||
call EnableLCD
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
ld a,18 + 1
|
||||
ld [hli],a
|
||||
dec a
|
||||
|
@ -589,7 +589,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
|
|||
FuncCoord 0,0
|
||||
ld hl,Coord
|
||||
call TrainerInfo_DrawTextBox
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
ld a,16 + 1
|
||||
ld [hli],a
|
||||
dec a
|
||||
|
@ -624,12 +624,12 @@ DrawTrainerInfo: ; 1349a (4:749a)
|
|||
call PrintBCDNumber
|
||||
FuncCoord 9,6
|
||||
ld hl,Coord
|
||||
ld de,$da41 ; hours
|
||||
ld de,W_PLAYTIMEHOURS + 1 ; hours
|
||||
ld bc,$4103
|
||||
call PrintNumber
|
||||
ld [hl],$d6 ; colon tile ID
|
||||
inc hl
|
||||
ld de,$da43 ; minutes
|
||||
ld de,W_PLAYTIMEMINUTES + 1 ; minutes
|
||||
ld bc,$8102
|
||||
jp PrintNumber
|
||||
|
||||
|
@ -650,15 +650,15 @@ TrainerInfo_BadgesText: ; 13597 (4:7597)
|
|||
; height is always 6
|
||||
; INPUT:
|
||||
; hl = destination address
|
||||
; [$cd3d] = width + 1
|
||||
; [$cd3e] = width
|
||||
; [$cd3f] = distance from the end of a text box row to the start of the next
|
||||
; [wWhichTrade] = width + 1
|
||||
; [wTrainerEngageDistance] = width
|
||||
; [wTrainerFacingDirection] = distance from the end of a text box row to the start of the next
|
||||
TrainerInfo_DrawTextBox: ; 135a0 (4:75a0)
|
||||
ld a,$79 ; upper left corner tile ID
|
||||
ld de,$7a7b ; top edge and upper right corner tile ID's
|
||||
call TrainerInfo_DrawHorizontalEdge ; draw top edge
|
||||
call TrainerInfo_NextTextBoxRow
|
||||
ld a,[$cd3d] ; width of the text box plus one
|
||||
ld a,[wWhichTrade] ; width of the text box plus one
|
||||
ld e,a
|
||||
ld d,0
|
||||
ld c,6 ; height of the text box
|
||||
|
@ -674,7 +674,7 @@ TrainerInfo_DrawTextBox: ; 135a0 (4:75a0)
|
|||
|
||||
TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3)
|
||||
ld [hli],a ; place left corner tile
|
||||
ld a,[$cd3e] ; width of the text box
|
||||
ld a,[wTrainerEngageDistance] ; width of the text box
|
||||
ld c,a
|
||||
ld a,d
|
||||
.loop
|
||||
|
@ -686,7 +686,7 @@ TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3)
|
|||
ret
|
||||
|
||||
TrainerInfo_NextTextBoxRow: ; 135d0 (4:75d0)
|
||||
ld a,[$cd3f] ; distance to the start of the next row
|
||||
ld a,[wTrainerFacingDirection] ; distance to the start of the next row
|
||||
.loop
|
||||
inc hl
|
||||
dec a
|
||||
|
@ -708,7 +708,7 @@ TrainerInfo_DrawVerticalLine: ; 135d8 (4:75d8)
|
|||
ret
|
||||
|
||||
StartMenu_SaveReset: ; 135e3 (4:75e3)
|
||||
ld a,[$d72e]
|
||||
ld a,[wd72e]
|
||||
bit 6,a ; is the player using the link feature?
|
||||
jp nz,Init
|
||||
ld a,$3f
|
||||
|
@ -729,9 +729,9 @@ StartMenu_Option: ; 135f6 (4:75f6)
|
|||
|
||||
SwitchPartyMon: ; 13613 (4:7613)
|
||||
call SwitchPartyMon_Stats
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
call SwitchPartyMon_OAM
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
call SwitchPartyMon_OAM
|
||||
jp RedrawPartyMenu_
|
||||
|
||||
|
@ -762,42 +762,42 @@ SwitchPartyMon_OAM: ; 13625 (4:7625)
|
|||
jp PlaySound
|
||||
|
||||
SwitchPartyMon_Stats: ; 13653 (4:7653)
|
||||
ld a, [$cc35]
|
||||
ld a, [wcc35]
|
||||
and a
|
||||
jr nz, .asm_13661
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
inc a
|
||||
ld [$cc35], a
|
||||
ld [wcc35], a
|
||||
ret
|
||||
.asm_13661
|
||||
xor a
|
||||
ld [$d07d], a
|
||||
ld a, [$cc35]
|
||||
ld [wd07d], a
|
||||
ld a, [wcc35]
|
||||
dec a
|
||||
ld b, a
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
cp b
|
||||
jr nz, .asm_1367b
|
||||
xor a
|
||||
ld [$cc35], a
|
||||
ld [$d07d], a
|
||||
ld [wcc35], a
|
||||
ld [wd07d], a
|
||||
ret
|
||||
.asm_1367b
|
||||
ld a, b
|
||||
ld [$cc35], a
|
||||
ld [wcc35], a
|
||||
push hl
|
||||
push de
|
||||
ld hl, W_PARTYMON1 ; $d164
|
||||
ld hl, W_PARTYMON1 ; W_PARTYMON1
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .asm_1368e
|
||||
inc h
|
||||
.asm_1368e
|
||||
ld a, [$cc35]
|
||||
ld a, [wcc35]
|
||||
add e
|
||||
ld e, a
|
||||
jr nc, .asm_13696
|
||||
|
@ -809,67 +809,67 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
|
|||
ld [hl], a
|
||||
ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [de], a
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
ld bc, $2c
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
call AddNTimes
|
||||
push hl
|
||||
ld de, $cc97
|
||||
ld de, wcc97
|
||||
ld bc, $2c
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
ld bc, $2c
|
||||
ld a, [$cc35]
|
||||
ld a, [wcc35]
|
||||
call AddNTimes
|
||||
pop de
|
||||
push hl
|
||||
ld bc, $2c
|
||||
call CopyData
|
||||
pop de
|
||||
ld hl, $cc97
|
||||
ld hl, wcc97
|
||||
ld bc, $2c
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1OT ; $d273
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld hl, W_PARTYMON1OT ; wd273
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
call SkipFixedLengthTextEntries
|
||||
push hl
|
||||
ld de, $cc97
|
||||
ld de, wcc97
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1OT ; $d273
|
||||
ld a, [$cc35]
|
||||
ld hl, W_PARTYMON1OT ; wd273
|
||||
ld a, [wcc35]
|
||||
call SkipFixedLengthTextEntries
|
||||
pop de
|
||||
push hl
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
pop de
|
||||
ld hl, $cc97
|
||||
ld hl, wcc97
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
call SkipFixedLengthTextEntries
|
||||
push hl
|
||||
ld de, $cc97
|
||||
ld de, wcc97
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld a, [$cc35]
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
ld a, [wcc35]
|
||||
call SkipFixedLengthTextEntries
|
||||
pop de
|
||||
push hl
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
pop de
|
||||
ld hl, $cc97
|
||||
ld hl, wcc97
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld a, [$cc35]
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld a, [wcc35]
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
xor a
|
||||
ld [$cc35], a
|
||||
ld [$d07d], a
|
||||
ld [wcc35], a
|
||||
ld [wd07d], a
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
; Predef 0x37
|
||||
StatusScreen: ; 12953 (4:6953)
|
||||
call LoadMonData
|
||||
ld a, [$cc49]
|
||||
ld a, [wcc49]
|
||||
cp $2 ; 2 means we're in a PC box
|
||||
jr c, .DontRecalculate ; 0x1295b $14
|
||||
ld a, [$cf9b]
|
||||
ld [$cfb9], a
|
||||
ld [$d127], a
|
||||
ld hl, $cfa8
|
||||
ld de, $cfba
|
||||
ld a, [wcf9b]
|
||||
ld [wcfb9], a
|
||||
ld [W_CURENEMYLVL], a
|
||||
ld hl, wcfa8
|
||||
ld de, wcfba
|
||||
ld b, $1
|
||||
call CalcStats ; Recalculate stats
|
||||
.DontRecalculate
|
||||
ld hl, $d72c
|
||||
ld hl, wd72c
|
||||
set 1, [hl]
|
||||
ld a, $33
|
||||
ld [$ff24], a ; Reduce the volume
|
||||
|
@ -60,13 +60,13 @@ StatusScreen: ; 12953 (4:6953)
|
|||
FuncCoord 11,3
|
||||
ld hl, Coord
|
||||
PREDEF DrawHPBarPredef ; predef $5f
|
||||
ld hl, $cf25
|
||||
ld hl, wcf25
|
||||
call GetHealthBarColor
|
||||
ld b, $3
|
||||
call GoPAL_SET ; SGB palette
|
||||
FuncCoord 16,6
|
||||
ld hl, Coord
|
||||
ld de, $cf9c
|
||||
ld de, wcf9c
|
||||
call PrintStatusCondition
|
||||
jr nz, .StatusWritten ; 0x129fc $9
|
||||
FuncCoord 16,6
|
||||
|
@ -81,14 +81,14 @@ StatusScreen: ; 12953 (4:6953)
|
|||
FuncCoord 14,2
|
||||
ld hl, Coord
|
||||
call PrintLevel ; Pokémon level
|
||||
ld a, [$d0b8]
|
||||
ld [$d11e], a
|
||||
ld [$d0b5], a
|
||||
ld a, [W_MONHDEXNUM]
|
||||
ld [wd11e], a
|
||||
ld [wd0b5], a
|
||||
ld a, $3a
|
||||
call Predef
|
||||
FuncCoord 3,7
|
||||
ld hl, Coord
|
||||
ld de, $d11e
|
||||
ld de, wd11e
|
||||
ld bc, $8103 ; Zero-padded, 3
|
||||
call PrintNumber ; Pokémon no.
|
||||
FuncCoord 11,10
|
||||
|
@ -111,24 +111,24 @@ StatusScreen: ; 12953 (4:6953)
|
|||
call PlaceString ; OT
|
||||
FuncCoord 12,14
|
||||
ld hl, Coord
|
||||
ld de, $cfa4
|
||||
ld de, wcfa4
|
||||
ld bc, $8205 ; 5
|
||||
call PrintNumber ; ID Number
|
||||
ld d, $0
|
||||
call PrintStatsBox
|
||||
call Delay3
|
||||
call GBPalNormal
|
||||
FuncCoord 1, 0 ; $c3a1
|
||||
FuncCoord 1, 0
|
||||
ld hl, Coord
|
||||
call LoadFlippedFrontSpriteByMonIndex ; draw Pokémon picture
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
call PlayCry ; play Pokémon cry
|
||||
call WaitForTextScrollButtonPress ; wait for button
|
||||
pop af
|
||||
ld [$ffd7], a
|
||||
ret
|
||||
.unk_12a7e ; 0x12a7e ; I don't know what this does, iterates over pointers?
|
||||
ld a, [$cc49]
|
||||
ld a, [wcc49]
|
||||
add a
|
||||
ld c, a
|
||||
ld b, $0
|
||||
|
@ -136,7 +136,7 @@ StatusScreen: ; 12953 (4:6953)
|
|||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld a, [$cc49]
|
||||
ld a, [wcc49]
|
||||
cp $3
|
||||
ret z
|
||||
ld a, [wWhichPokemon]
|
||||
|
@ -212,7 +212,7 @@ PrintStatsBox: ; 12ae4 (4:6ae4)
|
|||
ld b, $8
|
||||
ld c, $9
|
||||
call TextBoxBorder
|
||||
FuncCoord 11, 3 ; $c3e7
|
||||
FuncCoord 11, 3
|
||||
ld hl, Coord
|
||||
ld bc, $0018
|
||||
.PrintStats
|
||||
|
@ -223,14 +223,14 @@ PrintStatsBox: ; 12ae4 (4:6ae4)
|
|||
pop hl
|
||||
pop bc
|
||||
add hl, bc
|
||||
ld de, $cfbc
|
||||
ld de, wcfbc
|
||||
ld bc, $0203 ; three digits
|
||||
call PrintStat
|
||||
ld de, $cfbe
|
||||
ld de, wcfbe
|
||||
call PrintStat
|
||||
ld de, $cfc0
|
||||
ld de, wcfc0
|
||||
call PrintStat
|
||||
ld de, $cfc2
|
||||
ld de, wcfc2
|
||||
jp PrintNumber
|
||||
PrintStat
|
||||
push hl
|
||||
|
@ -253,10 +253,10 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
ld [$ffd7], a
|
||||
ld [$ffba], a
|
||||
ld bc, $0005
|
||||
ld hl, $d0dc
|
||||
ld hl, wd0dc
|
||||
call FillMemory
|
||||
ld hl, $cfa0
|
||||
ld de, $d0dc
|
||||
ld hl, wcfa0
|
||||
ld de, wd0dc
|
||||
ld bc, $0004
|
||||
call CopyData
|
||||
callab Func_39b87
|
||||
|
@ -264,7 +264,7 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
ld hl, Coord
|
||||
ld bc, $050a
|
||||
call ClearScreenArea ; Clear under name
|
||||
FuncCoord 19, 3 ; $c3ef
|
||||
FuncCoord 19, 3
|
||||
ld hl, Coord
|
||||
ld [hl], $78
|
||||
FuncCoord 0,8
|
||||
|
@ -274,9 +274,9 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
call TextBoxBorder ; Draw move container
|
||||
FuncCoord 2,9
|
||||
ld hl, Coord
|
||||
ld de, $d0e1
|
||||
ld de, wd0e1
|
||||
call PlaceString ; Print moves
|
||||
ld a, [$cd6c]
|
||||
ld a, [wcd6c]
|
||||
inc a
|
||||
ld c, a
|
||||
ld a, $4
|
||||
|
@ -294,7 +294,7 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
ld a, "-"
|
||||
call Func_12ccb ; Fill the rest with --
|
||||
.InitPP ; 12bbb
|
||||
ld hl, $cfa0
|
||||
ld hl, wcfa0
|
||||
FuncCoord 14,10
|
||||
ld de, Coord
|
||||
ld b, $0
|
||||
|
@ -322,16 +322,16 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
add hl, bc
|
||||
ld a, [hl]
|
||||
and $3f
|
||||
ld [$cd71], a
|
||||
ld [wcd71], a
|
||||
ld h, d
|
||||
ld l, e
|
||||
push hl
|
||||
ld de, $cd71
|
||||
ld de, wcd71
|
||||
ld bc, $0102
|
||||
call PrintNumber
|
||||
ld a, "/"
|
||||
ld [hli], a
|
||||
ld de, $d11e
|
||||
ld de, wd11e
|
||||
ld bc, $0102
|
||||
call PrintNumber
|
||||
pop hl
|
||||
|
@ -350,12 +350,12 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
ld hl, Coord
|
||||
ld de, EXPPointsText
|
||||
call PlaceString
|
||||
ld a, [$cfb9] ; level
|
||||
ld a, [wcfb9] ; level
|
||||
push af
|
||||
cp 100
|
||||
jr z, .Level100 ; 0x12c20 $4
|
||||
inc a
|
||||
ld [$cfb9], a ; Increase temporarily if not 100
|
||||
ld [wcfb9], a ; Increase temporarily if not 100
|
||||
.Level100
|
||||
FuncCoord 14,6
|
||||
ld hl, Coord
|
||||
|
@ -364,14 +364,14 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
inc hl
|
||||
call PrintLevel
|
||||
pop af
|
||||
ld [$cfb9], a
|
||||
ld de, $cfa6
|
||||
ld [wcfb9], a
|
||||
ld de, wcfa6
|
||||
FuncCoord 12,4
|
||||
ld hl, Coord
|
||||
ld bc, $0307
|
||||
call PrintNumber ; exp
|
||||
call .asm_12c86
|
||||
ld de, $cfa6
|
||||
ld de, wcfa6
|
||||
FuncCoord 7,6
|
||||
ld hl, Coord
|
||||
ld bc, $0307
|
||||
|
@ -382,8 +382,8 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
FuncCoord 9,1
|
||||
ld hl, Coord
|
||||
call Func_12cc3
|
||||
ld a, [$d0b8]
|
||||
ld [$d11e], a
|
||||
ld a, [W_MONHDEXNUM]
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
FuncCoord 9,1
|
||||
ld hl, Coord
|
||||
|
@ -394,20 +394,20 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
call WaitForTextScrollButtonPress ; wait for button
|
||||
pop af
|
||||
ld [$ffd7], a
|
||||
ld hl, $d72c
|
||||
ld hl, wd72c
|
||||
res 1, [hl]
|
||||
ld a, $77
|
||||
ld [$ff24], a
|
||||
call GBPalWhiteOut
|
||||
jp ClearScreen
|
||||
.asm_12c86 ; This does some magic with lvl/exp?
|
||||
ld a, [$cfb9] ; Load level
|
||||
ld a, [wcfb9] ; Load level
|
||||
cp $64
|
||||
jr z, .asm_12ca7 ; 0x12c8b $1a ; If 100
|
||||
inc a
|
||||
ld d, a
|
||||
callab CalcExperience
|
||||
ld hl, $cfa8
|
||||
ld hl, wcfa8
|
||||
ld a, [$ff98]
|
||||
sub [hl]
|
||||
ld [hld], a
|
||||
|
@ -419,7 +419,7 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
ld [hld], a
|
||||
ret
|
||||
.asm_12ca7
|
||||
ld hl, $cfa6
|
||||
ld hl, wcfa6
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
|
|
|
@ -2,41 +2,41 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
|
|||
ld hl, VendingMachineText1
|
||||
call PrintText
|
||||
ld a, $13
|
||||
ld [$d125], a
|
||||
ld [wd125], a
|
||||
call DisplayTextBoxID
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wLastMenuItem], a ; $cc2a
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wLastMenuItem], a ; wLastMenuItem
|
||||
ld a, $3
|
||||
ld [wMenuWatchedKeys], a ; $cc29
|
||||
ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
|
||||
ld a, $3
|
||||
ld [wMaxMenuItem], a ; $cc28
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
ld a, $5
|
||||
ld [wTopMenuItemY], a ; $cc24
|
||||
ld [wTopMenuItemY], a ; wTopMenuItemY
|
||||
ld a, $1
|
||||
ld [wTopMenuItemX], a ; $cc25
|
||||
ld hl, $d730
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
FuncCoord 0, 3 ; $c3dc
|
||||
FuncCoord 0, 3
|
||||
ld hl, Coord
|
||||
ld b, $8
|
||||
ld c, $c
|
||||
call TextBoxBorder
|
||||
call UpdateSprites
|
||||
FuncCoord 2, 5 ; $c406
|
||||
FuncCoord 2, 5
|
||||
ld hl, Coord
|
||||
ld de, DrinkText
|
||||
call PlaceString
|
||||
FuncCoord 9, 6 ; $c421
|
||||
FuncCoord 9, 6
|
||||
ld hl, Coord
|
||||
ld de, DrinkPriceText
|
||||
call PlaceString
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
call HandleMenuInput
|
||||
bit 1, a
|
||||
jr nz, .asm_74f93
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
cp $3
|
||||
jr z, .asm_74f93
|
||||
xor a
|
||||
|
@ -69,12 +69,12 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
|
|||
ld hl, VendingMachineText5
|
||||
call PrintText
|
||||
ld hl, $ffde
|
||||
ld de, wPlayerMoney + 2 ; $d349
|
||||
ld de, wPlayerMoney + 2 ; wd349
|
||||
ld c, $3
|
||||
ld a, $c ; SubtractBCDPredef
|
||||
call Predef
|
||||
ld a, $13
|
||||
ld [$d125], a
|
||||
ld [wd125], a
|
||||
jp DisplayTextBoxID
|
||||
.BagFull
|
||||
ld hl, VendingMachineText6
|
||||
|
@ -116,7 +116,7 @@ VendingMachineText7: ; 74fe2 (1d:4fe2)
|
|||
|
||||
Func_74fe7: ; 74fe7 (1d:4fe7)
|
||||
ld hl, VendingPrices
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
add a
|
||||
add a
|
||||
ld d, $0
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
AnimatePartyMon_ForceSpeed1: ; 716f7 (1c:56f7)
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld b, a
|
||||
inc a
|
||||
jr GetAnimationSpeed
|
||||
|
||||
; $cf1f contains the party mon's health bar colors
|
||||
; wcf1f contains the party mon's health bar colors
|
||||
; 0: green
|
||||
; 1: yellow
|
||||
; 2: red
|
||||
AnimatePartyMon: ; 716ff (1c:56ff)
|
||||
ld hl, $cf1f
|
||||
ld hl, wcf1f
|
||||
ld a, [wCurrentMenuItem]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
|
@ -21,13 +21,13 @@ GetAnimationSpeed: ; 7170a (1c:570a)
|
|||
ld c, a
|
||||
ld hl, PartyMonSpeeds
|
||||
add hl, bc
|
||||
ld a, [$cf1b]
|
||||
ld a, [wcf1b]
|
||||
xor $1
|
||||
add [hl]
|
||||
ld c, a
|
||||
add a
|
||||
ld b, a
|
||||
ld a, [W_SUBANIMTRANSFORM] ; $d08b
|
||||
ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
|
||||
and a
|
||||
jr z, .resetSprites
|
||||
cp c
|
||||
|
@ -38,11 +38,11 @@ GetAnimationSpeed: ; 7170a (1c:570a)
|
|||
jr nz, .resetTimer
|
||||
xor a
|
||||
.resetTimer
|
||||
ld [W_SUBANIMTRANSFORM], a ; $d08b
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
jp DelayFrame
|
||||
.resetSprites
|
||||
push bc
|
||||
ld hl, $cc5b
|
||||
ld hl, wcc5b
|
||||
ld de, wOAMBuffer
|
||||
ld bc, $60
|
||||
call CopyData
|
||||
|
@ -51,7 +51,7 @@ GetAnimationSpeed: ; 7170a (1c:570a)
|
|||
jr .incTimer
|
||||
.animateSprite
|
||||
push bc
|
||||
ld hl, $c302 ; OAM tile id
|
||||
ld hl, wOAMBuffer + $02 ; OAM tile id
|
||||
ld bc, $10
|
||||
ld a, [wCurrentMenuItem]
|
||||
call AddNTimes
|
||||
|
@ -298,13 +298,13 @@ Func_71868: ; 71868 (1c:5868)
|
|||
push de
|
||||
push bc
|
||||
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
||||
ld hl, W_PARTYMON1 ; $d164
|
||||
ld hl, W_PARTYMON1 ; W_PARTYMON1
|
||||
ld e, a
|
||||
ld d, $0
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
call GetPartyMonSpriteID
|
||||
ld [$cd5b], a
|
||||
ld [wcd5b], a
|
||||
call Func_718c3
|
||||
pop bc
|
||||
pop de
|
||||
|
@ -314,13 +314,13 @@ Func_71868: ; 71868 (1c:5868)
|
|||
Func_71882: ; 71882 (1c:5882)
|
||||
xor a
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
ld a, [$cd5d]
|
||||
ld a, [wcd5d]
|
||||
call GetPartyMonSpriteID
|
||||
ld [$cd5b], a
|
||||
ld [wcd5b], a
|
||||
jr Func_718c3
|
||||
|
||||
Func_71890: ; 71890 (1c:5890)
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
call GetPartyMonSpriteID
|
||||
push af
|
||||
ld hl, $8000
|
||||
|
@ -330,7 +330,7 @@ Func_71890: ; 71890 (1c:5890)
|
|||
ld hl, $8040
|
||||
call Func_718ac
|
||||
xor a
|
||||
ld [$cd5d], a
|
||||
ld [wcd5d], a
|
||||
jr Func_71882
|
||||
|
||||
Func_718ac: ; 718ac (1c:58ac)
|
||||
|
@ -371,15 +371,15 @@ Func_718c3: ; 718c3 (1c:58c3)
|
|||
call Func_71281
|
||||
.asm_718dd
|
||||
ld hl, wOAMBuffer
|
||||
ld de, $cc5b
|
||||
ld de, wcc5b
|
||||
ld bc, $60
|
||||
jp CopyData
|
||||
|
||||
GetPartyMonSpriteID: ; 718e9 (1c:58e9)
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
ld a, $3a
|
||||
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
ld c, a
|
||||
dec a
|
||||
srl a
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
SetDefaultNames: ; 60ca (1:60ca)
|
||||
ld a, [$d358]
|
||||
ld a, [wd358]
|
||||
push af
|
||||
ld a, [W_OPTIONS] ; $d355
|
||||
ld a, [W_OPTIONS] ; W_OPTIONS
|
||||
push af
|
||||
ld a, [$d732]
|
||||
ld a, [wd732]
|
||||
push af
|
||||
ld hl, W_PLAYERNAME ; $d158
|
||||
ld hl, W_PLAYERNAME ; wd158
|
||||
ld bc, $d8a
|
||||
xor a
|
||||
call FillMemory
|
||||
|
@ -14,20 +14,20 @@ SetDefaultNames: ; 60ca (1:60ca)
|
|||
xor a
|
||||
call FillMemory
|
||||
pop af
|
||||
ld [$d732], a
|
||||
ld [wd732], a
|
||||
pop af
|
||||
ld [W_OPTIONS], a ; $d355
|
||||
ld [W_OPTIONS], a ; W_OPTIONS
|
||||
pop af
|
||||
ld [$d358], a
|
||||
ld a, [$d08a]
|
||||
ld [wd358], a
|
||||
ld a, [wd08a]
|
||||
and a
|
||||
call z, Func_5bff
|
||||
ld hl, NintenText
|
||||
ld de, W_PLAYERNAME ; $d158
|
||||
ld de, W_PLAYERNAME ; wd158
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, SonyText
|
||||
ld de, W_RIVALNAME ; $d34a
|
||||
ld de, W_RIVALNAME ; wd34a
|
||||
ld bc, $b
|
||||
jp CopyData
|
||||
|
||||
|
@ -43,18 +43,18 @@ OakSpeech: ; 6115 (1:6115)
|
|||
call SetDefaultNames
|
||||
ld a,$18
|
||||
call Predef ; indirect jump to InitializePlayerData
|
||||
ld hl,$D53A
|
||||
ld hl,wNumBoxItems
|
||||
ld a,POTION
|
||||
ld [$CF91],a
|
||||
ld [wcf91],a
|
||||
ld a,1
|
||||
ld [$CF96],a
|
||||
ld [wcf96],a
|
||||
call AddItemToInventory ; give one potion
|
||||
ld a,[$D07C]
|
||||
ld [$D71A],a
|
||||
ld a,[W_ANIMATIONID]
|
||||
ld [wd71a],a
|
||||
call Func_62ce
|
||||
xor a
|
||||
ld [$FFD7],a
|
||||
ld a,[$D732]
|
||||
ld a,[wd732]
|
||||
bit 1,a ; XXX when is bit 1 set?
|
||||
jp nz,Func_61bc ; easter egg: skip the intro
|
||||
ld de,ProfOakPic
|
||||
|
@ -66,10 +66,10 @@ OakSpeech: ; 6115 (1:6115)
|
|||
call GBFadeOut2
|
||||
call ClearScreen
|
||||
ld a,NIDORINO
|
||||
ld [$D0B5],a ; pic displayed is stored at this location
|
||||
ld [$CF91],a
|
||||
ld [wd0b5],a ; pic displayed is stored at this location
|
||||
ld [wcf91],a
|
||||
call GetMonHeader ; this is also related to the pic
|
||||
FuncCoord 6, 4 ; $c3f6
|
||||
FuncCoord 6, 4
|
||||
ld hl,Coord ; position on tilemap the pic is displayed
|
||||
call LoadFlippedFrontSpriteByMonIndex ; displays pic?
|
||||
call MovePicLeft
|
||||
|
@ -101,7 +101,7 @@ Func_61bc: ; 61bc (1:61bc)
|
|||
ld bc,(Bank(RedPicFront) << 8) | $00
|
||||
call IntroPredef3B
|
||||
call GBFadeIn2
|
||||
ld a,[$D72D]
|
||||
ld a,[wd72d]
|
||||
and a
|
||||
jr nz,.next
|
||||
ld hl,OakSpeechText3
|
||||
|
@ -132,26 +132,26 @@ Func_61bc: ; 61bc (1:61bc)
|
|||
ld a,[H_LOADEDROMBANK]
|
||||
push af
|
||||
ld a,2
|
||||
ld [$C0EF],a
|
||||
ld [$C0F0],a
|
||||
ld [wc0ef],a
|
||||
ld [wc0f0],a
|
||||
ld a,$A
|
||||
ld [wMusicHeaderPointer],a
|
||||
ld a,$FF
|
||||
ld [$C0EE],a
|
||||
ld [wc0ee],a
|
||||
call PlaySound ; stop music
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld c,$14
|
||||
call DelayFrames
|
||||
FuncCoord 6, 5 ; $c40a
|
||||
FuncCoord 6, 5
|
||||
ld hl,Coord
|
||||
ld b,7
|
||||
ld c,7
|
||||
call ClearScreenArea
|
||||
call LoadTextBoxTilePatterns
|
||||
ld a,1
|
||||
ld [$CFCB],a
|
||||
ld [wcfcb],a
|
||||
ld c,$32
|
||||
call DelayFrames
|
||||
call GBFadeOut2
|
||||
|
@ -226,10 +226,10 @@ IntroPredef3B: ; 62a4 (1:62a4)
|
|||
pop bc
|
||||
ld a,c
|
||||
and a
|
||||
FuncCoord 15, 1 ; $c3c3
|
||||
FuncCoord 15, 1
|
||||
ld hl,Coord
|
||||
jr nz,.next
|
||||
FuncCoord 6, 4 ; $c3f6
|
||||
FuncCoord 6, 4
|
||||
ld hl,Coord
|
||||
.next
|
||||
xor a
|
||||
|
|
|
@ -2,20 +2,20 @@ LoadDefaultNamesPlayer: ; 695d (1:695d)
|
|||
call Func_6a12
|
||||
ld de, DefaultNamesPlayer ; $6aa8
|
||||
call DisplayIntroNameTextBox
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jr z, .asm_697a
|
||||
ld hl, DefaultNamesPlayerList ; $6af2
|
||||
call Func_6ad6
|
||||
ld de, W_PLAYERNAME ; $d158
|
||||
ld de, W_PLAYERNAME ; wd158
|
||||
call Func_69ec
|
||||
jr .asm_6999
|
||||
.asm_697a
|
||||
ld hl, W_PLAYERNAME ; $d158
|
||||
ld hl, W_PLAYERNAME ; wd158
|
||||
xor a
|
||||
ld [$d07d], a
|
||||
ld [wd07d], a
|
||||
call DisplayNamingScreen
|
||||
ld a, [$cf4b]
|
||||
ld a, [wcf4b]
|
||||
cp $50
|
||||
jr z, .asm_697a
|
||||
call ClearScreen
|
||||
|
@ -35,20 +35,20 @@ LoadDefaultNamesRival: ; 69a4 (1:69a4)
|
|||
call Func_6a12 ; 0x69a4 call 0x6a12
|
||||
ld de, DefaultNamesRival
|
||||
call DisplayIntroNameTextBox
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jr z, .asm_69c1
|
||||
ld hl, DefaultNamesRivalList
|
||||
call Func_6ad6
|
||||
ld de, W_RIVALNAME ; $d34a
|
||||
ld de, W_RIVALNAME ; wd34a
|
||||
call Func_69ec
|
||||
jr .asm_69e1
|
||||
.asm_69c1
|
||||
ld hl, W_RIVALNAME ; $d34a
|
||||
ld hl, W_RIVALNAME ; wd34a
|
||||
ld a, $1
|
||||
ld [$d07d], a
|
||||
ld [wd07d], a
|
||||
call DisplayNamingScreen
|
||||
ld a, [$cf4b]
|
||||
ld a, [wcf4b]
|
||||
cp $50
|
||||
jr z, .asm_69c1
|
||||
call ClearScreen
|
||||
|
@ -72,18 +72,18 @@ Func_69ec: ; 69ec (1:69ec)
|
|||
ld c, $a
|
||||
call DelayFrames
|
||||
pop de
|
||||
ld hl, $cd6d
|
||||
ld hl, wcd6d
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
call Delay3
|
||||
FuncCoord 12, 4 ; $c3fc
|
||||
FuncCoord 12, 4
|
||||
ld hl, Coord
|
||||
ld de, $67d
|
||||
ld a, $ff
|
||||
jr asm_6a19
|
||||
|
||||
Func_6a12: ; 6a12 (1:6a12)
|
||||
FuncCoord 5, 4 ; $c3f5
|
||||
FuncCoord 5, 4
|
||||
ld hl, Coord
|
||||
ld de, $67d
|
||||
xor a
|
||||
|
@ -161,25 +161,25 @@ DisplayIntroNameTextBox: ; 6a6c (1:6a6c)
|
|||
ld b, $a
|
||||
ld c, $9
|
||||
call TextBoxBorder
|
||||
FuncCoord 3, 0 ; $c3a3
|
||||
FuncCoord 3, 0
|
||||
ld hl, Coord
|
||||
ld de, .namestring ; $6aa3
|
||||
call PlaceString
|
||||
pop de
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
call PlaceString
|
||||
call UpdateSprites
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wLastMenuItem], a ; $cc2a
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wLastMenuItem], a ; wLastMenuItem
|
||||
inc a
|
||||
ld [wTopMenuItemX], a ; $cc25
|
||||
ld [wMenuWatchedKeys], a ; $cc29
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
|
||||
inc a
|
||||
ld [wTopMenuItemY], a ; $cc24
|
||||
ld [wTopMenuItemY], a ; wTopMenuItemY
|
||||
inc a
|
||||
ld [wMaxMenuItem], a ; $cc28
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
jp HandleMenuInput
|
||||
|
||||
.namestring ; 6aa3 (1:6aa3)
|
||||
|
@ -235,7 +235,7 @@ Func_6ad6: ; 6ad6 (1:6ad6)
|
|||
.asm_6ae7
|
||||
ld h, d
|
||||
ld l, e
|
||||
ld de, $cd6d
|
||||
ld de, wcd6d
|
||||
ld bc, $14
|
||||
jp CopyData
|
||||
IF _RED
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
CableClubNPC: ; 71c5 (1:71c5)
|
||||
ld hl, CableClubNPCText1
|
||||
call PrintText
|
||||
ld a, [$d74b]
|
||||
ld a, [wd74b]
|
||||
bit 5, a
|
||||
jp nz, Func_71e1
|
||||
ld c, $3c
|
||||
|
@ -12,9 +12,9 @@ CableClubNPC: ; 71c5 (1:71c5)
|
|||
|
||||
Func_71e1: ; 71e1 (1:71e1)
|
||||
ld a, $1
|
||||
ld [$cc34], a
|
||||
ld [wMenuJoypadPollCount], a
|
||||
ld a, $5a
|
||||
ld [$cc47], a
|
||||
ld [wcc47], a
|
||||
.asm_71eb
|
||||
ld a, [$ffaa]
|
||||
cp $2
|
||||
|
@ -29,9 +29,9 @@ Func_71e1: ; 71e1 (1:71e1)
|
|||
ld [$ffad], a
|
||||
ld a, $80
|
||||
ld [$ff02], a
|
||||
ld a, [$cc47]
|
||||
ld a, [wcc47]
|
||||
dec a
|
||||
ld [$cc47], a
|
||||
ld [wcc47], a
|
||||
jr z, .asm_7287 ; 0x720b $7a
|
||||
ld a, $1
|
||||
ld [$ff01], a
|
||||
|
@ -48,11 +48,11 @@ Func_71e1: ; 71e1 (1:71e1)
|
|||
ld hl, CableClubNPCText2
|
||||
call PrintText
|
||||
xor a
|
||||
ld [$cc34], a
|
||||
ld [wMenuJoypadPollCount], a
|
||||
call YesNoChoice
|
||||
ld a, $1
|
||||
ld [$cc34], a
|
||||
ld a, [$cc26]
|
||||
ld [wMenuJoypadPollCount], a
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .asm_728f ; 0x723e $4f
|
||||
callab SaveSAVtoSRAM
|
||||
|
@ -61,15 +61,15 @@ Func_71e1: ; 71e1 (1:71e1)
|
|||
call PlaySoundWaitForCurrent
|
||||
ld hl, CableClubNPCText3
|
||||
call PrintText
|
||||
ld hl, $cc47
|
||||
ld hl, wcc47
|
||||
ld a, $3
|
||||
ld [hli], a
|
||||
xor a
|
||||
ld [hl], a
|
||||
ld [$ffa9], a
|
||||
ld [$cc42], a
|
||||
ld [wcc42], a
|
||||
call Func_227f
|
||||
ld hl, $cc47
|
||||
ld hl, wcc47
|
||||
ld a, [hli]
|
||||
inc a
|
||||
jr nz, Func_72a8 ; 0x726b $3b
|
||||
|
@ -98,13 +98,13 @@ Func_71e1: ; 71e1 (1:71e1)
|
|||
|
||||
Func_7298: ; 7298 (1:7298)
|
||||
xor a
|
||||
ld hl, $cc47
|
||||
ld hl, wcc47
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
res 6, [hl]
|
||||
xor a
|
||||
ld [$cc34], a
|
||||
ld [wMenuJoypadPollCount], a
|
||||
ret
|
||||
|
||||
Func_72a8: ; 72a8 (1:72a8)
|
||||
|
|
|
@ -10,7 +10,7 @@ PrintCardKeyText: ; 52673 (14:6673)
|
|||
jr nz, .asm_5267a
|
||||
ld a, $35
|
||||
call Predef ; indirect jump to Func_c586 (c586 (3:4586))
|
||||
ld a, [$cfc6]
|
||||
ld a, [wcfc6]
|
||||
cp $18
|
||||
jr z, .asm_5269c
|
||||
cp $24
|
||||
|
@ -35,12 +35,12 @@ PrintCardKeyText: ; 52673 (14:6673)
|
|||
srl d
|
||||
ld a, d
|
||||
ld b, a
|
||||
ld [$d73f], a
|
||||
ld [wd73f], a
|
||||
srl e
|
||||
ld a, e
|
||||
ld c, a
|
||||
ld [$d740], a
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld [wd740], a
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp SILPH_CO_11F
|
||||
jr nz, .asm_526c8
|
||||
ld a, $3
|
||||
|
@ -48,10 +48,10 @@ PrintCardKeyText: ; 52673 (14:6673)
|
|||
.asm_526c8
|
||||
ld a, $e
|
||||
.asm_526ca
|
||||
ld [$d09f], a
|
||||
ld [wd09f], a
|
||||
ld a, $17
|
||||
call Predef ; indirect jump to Func_ee9e
|
||||
ld hl, $d126
|
||||
ld hl, wd126
|
||||
set 5, [hl]
|
||||
ld a, (SFX_1f_57 - SFX_Headers_1f) / 3
|
||||
jp PlaySound
|
||||
|
@ -84,11 +84,11 @@ CardKeyFailText: ; 526f8 (14:66f8)
|
|||
db "@"
|
||||
|
||||
Func_526fd: ; 526fd (14:66fd)
|
||||
ld a, [W_YCOORD] ; $d361
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
ld d, a
|
||||
ld a, [W_XCOORD] ; $d362
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
ld e, a
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
and a
|
||||
jr nz, .asm_5270d
|
||||
inc d
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
GiveFossilToCinnabarLab: ; 61006 (18:5006)
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; $cc26
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld a, $3
|
||||
ld [wMenuWatchedKeys], a ; $cc29
|
||||
ld a, [$cd37]
|
||||
ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
|
||||
ld a, [wcd37]
|
||||
dec a
|
||||
ld [wMaxMenuItem], a ; $cc28
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
ld a, $2
|
||||
ld [wTopMenuItemY], a ; $cc24
|
||||
ld [wTopMenuItemY], a ; wTopMenuItemY
|
||||
ld a, $1
|
||||
ld [wTopMenuItemX], a ; $cc25
|
||||
ld a, [$cd37]
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
ld a, [wcd37]
|
||||
dec a
|
||||
ld bc, $2
|
||||
ld hl, $3
|
||||
|
@ -24,13 +24,13 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
|
|||
call TextBoxBorder
|
||||
call UpdateSprites
|
||||
call Func_610c2
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
call HandleMenuInput
|
||||
bit 1, a
|
||||
jr nz, .asm_610a7
|
||||
ld hl, $cc5b
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld hl, wcc5b
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld d, $0
|
||||
ld e, a
|
||||
add hl, de
|
||||
|
@ -55,7 +55,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
|
|||
ld hl, LabFossil_610ae
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jr nz, .asm_610a7
|
||||
ld hl, LabFossil_610b3
|
||||
|
@ -65,7 +65,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
|
|||
callba RemoveItemByID
|
||||
ld hl, LabFossil_610b8
|
||||
call PrintText
|
||||
ld hl, $d7a3
|
||||
ld hl, wd7a3
|
||||
set 0, [hl]
|
||||
set 1, [hl]
|
||||
ret
|
||||
|
@ -91,7 +91,7 @@ LabFossil_610bd: ; 610bd (18:50bd)
|
|||
db "@"
|
||||
|
||||
Func_610c2: ; 610c2 (18:50c2)
|
||||
ld hl, $cc5b
|
||||
ld hl, wcc5b
|
||||
xor a
|
||||
ld [$ffdb], a
|
||||
.asm_610c8
|
||||
|
@ -99,14 +99,14 @@ Func_610c2: ; 610c2 (18:50c2)
|
|||
cp $ff
|
||||
ret z
|
||||
push hl
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetItemName
|
||||
FuncCoord 2, 2 ; $c3ca
|
||||
FuncCoord 2, 2
|
||||
ld hl, Coord
|
||||
ld a, [$ffdb]
|
||||
ld bc, $28
|
||||
call AddNTimes
|
||||
ld de, $cd6d
|
||||
ld de, wcd6d
|
||||
call PlaceString
|
||||
ld hl, $ffdb
|
||||
inc [hl]
|
||||
|
@ -116,10 +116,10 @@ Func_610c2: ; 610c2 (18:50c2)
|
|||
; loads the names of the fossil item and the resulting mon
|
||||
LoadFossilItemAndMonName: ; 610eb (18:50eb)
|
||||
ld a, [W_FOSSILMON]
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetMonName
|
||||
call CopyStringToCF4B
|
||||
ld a, [W_FOSSILITEM]
|
||||
ld [$d11e], a
|
||||
ld [wd11e], a
|
||||
call GetItemName
|
||||
ret
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
UsedCut: ; ef54 (3:6f54)
|
||||
xor a
|
||||
ld [$cd6a], a
|
||||
ld a, [W_CURMAPTILESET] ; $d367
|
||||
ld [wcd6a], a
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
and a ; OVERWORLD
|
||||
jr z, .asm_ef6b
|
||||
cp GYM
|
||||
jr nz, .asm_ef77
|
||||
ld a, [$cfc6]
|
||||
ld a, [wcfc6]
|
||||
cp $50 ; gym cut tree
|
||||
jr nz, .asm_ef77
|
||||
jr asm_ef82
|
||||
.asm_ef6b
|
||||
dec a
|
||||
ld a, [$cfc6]
|
||||
ld a, [wcfc6]
|
||||
cp $3d ; cut tree
|
||||
jr z, asm_ef82
|
||||
cp $52 ; grass
|
||||
|
@ -26,13 +26,13 @@ NothingToCutText: ; ef7d (3:6f7d)
|
|||
db "@"
|
||||
|
||||
asm_ef82: ; ef82 (3:6f82)
|
||||
ld [$cd4d], a
|
||||
ld [wcd4d], a
|
||||
ld a, $1
|
||||
ld [$cd6a], a
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld [wcd6a], a
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
call GetPartyMonName
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
call GBPalWhiteOutWithDelay3
|
||||
call ClearSprites
|
||||
|
@ -49,17 +49,17 @@ asm_ef82: ; ef82 (3:6f82)
|
|||
ld hl, UsedCutText
|
||||
call PrintText
|
||||
call LoadScreenTilesFromBuffer2
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
ld a, $ff
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
call AnimateCutTree
|
||||
ld de, CutTreeBlockSwaps ; $7100
|
||||
call Func_f09f
|
||||
call Func_eedc
|
||||
callba Func_79e96
|
||||
ld a, $1
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
ld a, (SFX_02_56 - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld a, $90
|
||||
|
@ -73,10 +73,10 @@ UsedCutText: ; eff2 (3:6ff2)
|
|||
|
||||
AnimateCutTree: ; eff7 (3:6ff7)
|
||||
xor a
|
||||
ld [$cd50], a
|
||||
ld [wcd50], a
|
||||
ld a, $e4
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld a, [$cd4d]
|
||||
ld a, [wcd4d]
|
||||
cp $52
|
||||
jr z, .asm_f020
|
||||
ld de, Overworld_GFX + $2d0 ; $42d0 ; cuttable tree sprite top row
|
||||
|
@ -98,7 +98,7 @@ AnimateCutTree: ; eff7 (3:6ff7)
|
|||
ld hl, $8ff0
|
||||
call LoadCutTreeOAM
|
||||
call asm_f055
|
||||
ld hl, $c393
|
||||
ld hl, wOAMBuffer + $93
|
||||
ld de, $4
|
||||
ld a, $30
|
||||
ld c, e
|
||||
|
@ -125,7 +125,7 @@ CutTreeOAM: ; f060 (3:7060)
|
|||
db $FE,$10,$FF,$10
|
||||
|
||||
Func_f068: ; f068 (3:7068)
|
||||
ld hl, $c104
|
||||
ld hl, wSpriteStateData1 + 4
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
inc hl
|
||||
|
@ -137,7 +137,7 @@ Func_f068: ; f068 (3:7068)
|
|||
srl a
|
||||
ld e, a
|
||||
ld d, $0 ; de holds direction (00: down, 02: up, 04: left, 06: right)
|
||||
ld a, [$cd50]
|
||||
ld a, [wcd50]
|
||||
and a
|
||||
ld hl, CutTreeAnimationOffsets ; $708f
|
||||
jr z, .asm_f084
|
||||
|
@ -173,39 +173,39 @@ CutTreeAnimationOffsets2: ; f097 (3:7097)
|
|||
|
||||
Func_f09f: ; f09f (3:709f)
|
||||
push de
|
||||
ld a, [W_CURMAPWIDTH] ; $d369
|
||||
ld a, [W_CURMAPWIDTH] ; wd369
|
||||
add $6
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld d, $0
|
||||
ld hl, $d35f
|
||||
ld hl, wd35f
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
add hl, bc
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
and a
|
||||
jr z, .asm_f0c7
|
||||
cp $4
|
||||
jr z, .asm_f0cf
|
||||
cp $8
|
||||
jr z, .asm_f0d7
|
||||
ld a, [W_XBLOCKCOORD] ; $d364
|
||||
ld a, [W_XBLOCKCOORD] ; wd364
|
||||
and a
|
||||
jr z, .asm_f0e0
|
||||
jr .asm_f0ec
|
||||
.asm_f0c7
|
||||
ld a, [W_YBLOCKCOORD] ; $d363
|
||||
ld a, [W_YBLOCKCOORD] ; wd363
|
||||
and a
|
||||
jr z, .asm_f0e0
|
||||
jr .asm_f0df
|
||||
.asm_f0cf
|
||||
ld a, [W_YBLOCKCOORD] ; $d363
|
||||
ld a, [W_YBLOCKCOORD] ; wd363
|
||||
and a
|
||||
jr z, .asm_f0e1
|
||||
jr .asm_f0e0
|
||||
.asm_f0d7
|
||||
ld a, [W_XBLOCKCOORD] ; $d364
|
||||
ld a, [W_XBLOCKCOORD] ; wd364
|
||||
and a
|
||||
jr z, .asm_f0e6
|
||||
jr .asm_f0e0
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
Func_79e96: ; 79e96 (1e:5e96)
|
||||
ld a, [$cd4d]
|
||||
ld a, [wcd4d]
|
||||
cp $52
|
||||
jr z, .asm_79ec8
|
||||
ld c, $8
|
||||
.asm_79e9f
|
||||
push bc
|
||||
ld hl, $c391
|
||||
ld hl, wOAMBuffer + $91
|
||||
ld a, $1
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld c, $2
|
||||
call Func_79339
|
||||
ld hl, $c399
|
||||
ld hl, wOAMBuffer + $99
|
||||
ld a, $ff
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld c, $2
|
||||
call Func_79339
|
||||
ld a, [rOBP1] ; $ff49
|
||||
|
@ -33,9 +33,9 @@ Func_79e96: ; 79e96 (1e:5e96)
|
|||
ld c, $8
|
||||
call Func_79eed
|
||||
call Func_79f30
|
||||
ld hl, $c390
|
||||
ld hl, wOAMBuffer + $90
|
||||
ld a, $2
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld c, $4
|
||||
call Func_79352
|
||||
pop bc
|
||||
|
@ -45,24 +45,24 @@ Func_79e96: ; 79e96 (1e:5e96)
|
|||
|
||||
Func_79eed: ; 79eed (1e:5eed)
|
||||
push bc
|
||||
ld hl, $c391
|
||||
ld hl, wOAMBuffer + $91
|
||||
ld a, $1
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld c, $1
|
||||
call Func_79339
|
||||
ld hl, $c395
|
||||
ld hl, wOAMBuffer + $95
|
||||
ld a, $2
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld c, $1
|
||||
call Func_79339
|
||||
ld hl, $c399
|
||||
ld hl, wOAMBuffer + $99
|
||||
ld a, $fe
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld c, $1
|
||||
call Func_79339
|
||||
ld hl, $c39d
|
||||
ld hl, wOAMBuffer + $9d
|
||||
ld a, $ff
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld c, $1
|
||||
call Func_79339
|
||||
ld a, [rOBP1] ; $ff49
|
||||
|
@ -75,15 +75,15 @@ Func_79eed: ; 79eed (1e:5eed)
|
|||
ret
|
||||
|
||||
Func_79f30: ; 79f30 (1e:5f30)
|
||||
ld hl, $c390
|
||||
ld de, $cee9
|
||||
ld hl, wOAMBuffer + $90
|
||||
ld de, wHPBarMaxHP
|
||||
ld bc, $8
|
||||
call CopyData
|
||||
ld hl, $c398
|
||||
ld de, $c390
|
||||
ld hl, wOAMBuffer + $98
|
||||
ld de, wOAMBuffer + $90
|
||||
ld bc, $8
|
||||
call CopyData
|
||||
ld hl, $cee9
|
||||
ld de, $c398
|
||||
ld hl, wHPBarMaxHP
|
||||
ld de, wOAMBuffer + $98
|
||||
ld bc, $8
|
||||
jp CopyData
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
HandleDoors: ; 1a609 (6:6609)
|
||||
push de
|
||||
ld hl, DoorTileIDPointers ; $662c
|
||||
ld a, [W_CURMAPTILESET] ; $d367
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
ld de, $3
|
||||
call IsInArray
|
||||
pop de
|
||||
|
@ -10,7 +10,7 @@ HandleDoors: ; 1a609 (6:6609)
|
|||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
FuncCoord 8, 9 ; $c45c
|
||||
FuncCoord 8, 9
|
||||
ld a, [Coord]
|
||||
ld b, a
|
||||
.asm_1a621
|
||||
|
|
|
@ -34,14 +34,14 @@ ShakeElevator: ; 7bf15 (1e:7f15)
|
|||
ld a, (SFX_02_5f - SFX_Headers_02) / 3
|
||||
call PlayMusic
|
||||
.asm_7bf57
|
||||
ld a, [$c02a]
|
||||
ld a, [wc02a]
|
||||
cp $b9
|
||||
jr z, .asm_7bf57
|
||||
call UpdateSprites
|
||||
jp Func_2307
|
||||
|
||||
Func_7bf64: ; 7bf64 (1e:7f64)
|
||||
ld hl, $d527
|
||||
ld hl, wd527
|
||||
ld a, [hld]
|
||||
push af
|
||||
ld a, [hl]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PrintEmotionBubble: ; 17c47 (5:7c47)
|
||||
ld a, [$cd50]
|
||||
ld a, [wcd50]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld hl, EmotionBubblesPointerTable ; $7caf
|
||||
|
@ -11,17 +11,17 @@ PrintEmotionBubble: ; 17c47 (5:7c47)
|
|||
ld hl, $8f80
|
||||
ld bc, (BANK(EmotionBubblesPointerTable) << 8) + $04
|
||||
call CopyVideoData
|
||||
ld a, [$cfcb]
|
||||
ld a, [wcfcb]
|
||||
push af
|
||||
ld a, $ff
|
||||
ld [$cfcb], a
|
||||
ld a, [$d736]
|
||||
ld [wcfcb], a
|
||||
ld a, [wd736]
|
||||
bit 6, a
|
||||
ld hl, $c38f
|
||||
ld de, $c39f
|
||||
ld hl, wOAMBuffer + $8f
|
||||
ld de, wOAMBuffer + $9f
|
||||
jr z, .asm_17c7a
|
||||
ld hl, $c37f
|
||||
ld de, $c38f
|
||||
ld hl, wOAMBuffer + $7f
|
||||
ld de, wOAMBuffer + $8f
|
||||
.asm_17c7a
|
||||
ld bc, $90
|
||||
.asm_17c7d
|
||||
|
@ -33,8 +33,8 @@ PrintEmotionBubble: ; 17c47 (5:7c47)
|
|||
ld a, c
|
||||
or b
|
||||
jr nz, .asm_17c7d
|
||||
ld hl, $c104
|
||||
ld a, [$cd4f]
|
||||
ld hl, wSpriteStateData1 + 4
|
||||
ld a, [wcd4f]
|
||||
swap a
|
||||
ld c, a
|
||||
ld b, $0
|
||||
|
@ -51,7 +51,7 @@ PrintEmotionBubble: ; 17c47 (5:7c47)
|
|||
ld c, $3c
|
||||
call DelayFrames
|
||||
pop af
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
call DelayFrame
|
||||
jp UpdateSprites
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ AnimateHealingMachine: ; 70433 (1c:4433)
|
|||
ld hl, $87c0
|
||||
ld bc, (BANK(PokeCenterFlashingMonitorAndHealBall) << 8) + $03
|
||||
call CopyVideoData
|
||||
ld hl, $cfcb
|
||||
ld hl, wcfcb
|
||||
ld a, [hl]
|
||||
push af
|
||||
ld [hl], $ff
|
||||
|
@ -12,19 +12,19 @@ AnimateHealingMachine: ; 70433 (1c:4433)
|
|||
push af
|
||||
ld a, $e0
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld hl, $c384
|
||||
ld hl, wOAMBuffer + $84
|
||||
ld de, PokeCenterOAMData ; $44d7
|
||||
call Func_70503
|
||||
ld a, $4
|
||||
ld [wMusicHeaderPointer], a
|
||||
ld a, $ff
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
.asm_70464
|
||||
ld a, [wMusicHeaderPointer]
|
||||
and a
|
||||
jr nz, .asm_70464
|
||||
ld a, [W_NUMINPARTY] ; $d163
|
||||
ld a, [W_NUMINPARTY] ; W_NUMINPARTY
|
||||
ld b, a
|
||||
.asm_7046e
|
||||
call Func_70503
|
||||
|
@ -34,23 +34,23 @@ AnimateHealingMachine: ; 70433 (1c:4433)
|
|||
call DelayFrames
|
||||
dec b
|
||||
jr nz, .asm_7046e
|
||||
ld a, [$c0ef]
|
||||
ld a, [wc0ef]
|
||||
cp $1f
|
||||
ld [$c0f0], a
|
||||
ld [wc0f0], a
|
||||
jr nz, .asm_70495
|
||||
ld a, $ff
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld a, Bank(Func_9876)
|
||||
ld [$c0ef], a
|
||||
ld [wc0ef], a
|
||||
.asm_70495
|
||||
ld a, MUSIC_PKMN_HEALED
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld d, $28
|
||||
call Func_704f3
|
||||
.asm_704a2
|
||||
ld a, [$c026]
|
||||
ld a, [wc026]
|
||||
cp MUSIC_PKMN_HEALED
|
||||
jr z, .asm_704a2
|
||||
ld c, $20
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
HiddenItems: ; 76688 (1d:6688)
|
||||
ld hl, HiddenItemCoords
|
||||
call Func_76857
|
||||
ld [$cd41], a
|
||||
ld hl, $d6f0
|
||||
ld a, [$cd41]
|
||||
ld [wTrainerScreenX], a
|
||||
ld hl, wd6f0
|
||||
ld a, [wTrainerScreenX]
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld a, $10
|
||||
|
@ -13,9 +13,9 @@ HiddenItems: ; 76688 (1d:6688)
|
|||
ret nz
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $1
|
||||
ld [$cc3c], a
|
||||
ld a, [$cd3d] ; item ID
|
||||
ld [$d11e], a
|
||||
ld [wcc3c], a
|
||||
ld a, [wWhichTrade] ; item ID
|
||||
ld [wd11e], a
|
||||
call GetItemName
|
||||
ld a, $24
|
||||
jp PrintPredefTextID
|
||||
|
@ -26,13 +26,13 @@ FoundHiddenItemText: ; 7675b (1d:675b)
|
|||
; XXX where is the pointer to this?
|
||||
TX_FAR _FoundHiddenItemText
|
||||
db $8
|
||||
ld a, [$cd3d] ; item ID
|
||||
ld a, [wWhichTrade] ; item ID
|
||||
ld b, a
|
||||
ld c, 1
|
||||
call GiveItem
|
||||
jr nc, .BagFull
|
||||
ld hl, $d6f0
|
||||
ld a, [$cd41]
|
||||
ld hl, wd6f0
|
||||
ld a, [wTrainerScreenX]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld a, $10
|
||||
|
@ -44,7 +44,7 @@ FoundHiddenItemText: ; 7675b (1d:675b)
|
|||
.BagFull
|
||||
call WaitForTextScrollButtonPress ; wait for button press
|
||||
xor a
|
||||
ld [$cc3c], a
|
||||
ld [wcc3c], a
|
||||
ld hl, HiddenItemBagFullText
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
@ -62,9 +62,9 @@ HiddenCoins: ; 76799 (1d:6799)
|
|||
ret z
|
||||
ld hl, HiddenCoinCoords
|
||||
call Func_76857
|
||||
ld [$cd41], a
|
||||
ld hl, $d6fe
|
||||
ld a, [$cd41]
|
||||
ld [wTrainerScreenX], a
|
||||
ld hl, wd6fe
|
||||
ld a, [wTrainerScreenX]
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld a, $10
|
||||
|
@ -76,7 +76,7 @@ HiddenCoins: ; 76799 (1d:6799)
|
|||
ld [$ff9f], a
|
||||
ld [$ffa0], a
|
||||
ld [$ffa1], a
|
||||
ld a, [$cd3d]
|
||||
ld a, [wWhichTrade]
|
||||
sub COIN
|
||||
cp 10
|
||||
jr z, .bcd10
|
||||
|
@ -101,13 +101,13 @@ HiddenCoins: ; 76799 (1d:6799)
|
|||
ld a, $1
|
||||
ld [$ffa0], a
|
||||
.bcddone
|
||||
ld de, $d5a5
|
||||
ld de, wPlayerCoins + 1
|
||||
ld hl, $ffa1
|
||||
ld c, $2
|
||||
ld a, $b ; AddBCDPredef
|
||||
call Predef
|
||||
ld hl, $d6fe
|
||||
ld a, [$cd41]
|
||||
ld hl, wd6fe
|
||||
ld a, [wTrainerScreenX]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld a, $10
|
||||
|
@ -139,9 +139,9 @@ DroppedHiddenCoinsText: ; 7684d (1d:684d)
|
|||
db "@"
|
||||
|
||||
Func_76857: ; 76857 (1d:6857)
|
||||
ld a, [$cd40]
|
||||
ld a, [wTrainerScreenY]
|
||||
ld d, a
|
||||
ld a, [$cd41]
|
||||
ld a, [wTrainerScreenX]
|
||||
ld e, a
|
||||
ld a, [W_CURMAP]
|
||||
ld b, a
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
Func_46981: ; 46981 (11:6981)
|
||||
xor a
|
||||
ld [$d71e], a
|
||||
ld a, [$d72d]
|
||||
ld [wd71e], a
|
||||
ld a, [wd72d]
|
||||
bit 4, a
|
||||
ret nz
|
||||
call ArePlayerCoordsInArray
|
||||
ret nc
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld [$d71e], a
|
||||
ld hl, $d72d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld [wd71e], a
|
||||
ld hl, wd72d
|
||||
set 4, [hl]
|
||||
ld hl, $d732
|
||||
ld hl, wd732
|
||||
set 4, [hl]
|
||||
ret
|
||||
|
||||
|
@ -28,7 +28,7 @@ Func_469a0: ; 469a0 (11:69a0)
|
|||
ld b, a
|
||||
cp $ff
|
||||
jr z, .asm_469fc
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp b
|
||||
jr z, .asm_469be
|
||||
inc de
|
||||
|
@ -41,7 +41,7 @@ Func_469a0: ; 469a0 (11:69a0)
|
|||
ld h, [hl]
|
||||
ld l, a
|
||||
push hl
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
|
@ -51,10 +51,10 @@ Func_469a0: ; 469a0 (11:69a0)
|
|||
ld a, [hli]
|
||||
cp $ff
|
||||
jr z, .asm_469fc
|
||||
ld [$cd40], a
|
||||
ld [wTrainerScreenY], a
|
||||
ld b, a
|
||||
ld a, [hli]
|
||||
ld [$cd41], a
|
||||
ld [wTrainerScreenX], a
|
||||
ld c, a
|
||||
call Func_46a01
|
||||
ld a, [$ffea]
|
||||
|
@ -65,15 +65,15 @@ Func_469a0: ; 469a0 (11:69a0)
|
|||
inc hl
|
||||
inc hl
|
||||
push hl
|
||||
ld hl, $cd3f
|
||||
ld hl, wTrainerFacingDirection
|
||||
inc [hl]
|
||||
pop hl
|
||||
jr .asm_469ce
|
||||
.asm_469f0
|
||||
ld a, [hli]
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld a, [hli]
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
|
@ -84,37 +84,37 @@ Func_469a0: ; 469a0 (11:69a0)
|
|||
ret
|
||||
|
||||
Func_46a01: ; 46a01 (11:6a01)
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
cp $4
|
||||
jr z, .asm_46a16
|
||||
cp $8
|
||||
jr z, .asm_46a25
|
||||
cp $c
|
||||
jr z, .asm_46a2b
|
||||
ld a, [W_YCOORD] ; $d361
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
inc a
|
||||
jr .asm_46a1a
|
||||
.asm_46a16
|
||||
ld a, [W_YCOORD] ; $d361
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
dec a
|
||||
.asm_46a1a
|
||||
cp b
|
||||
jr nz, .asm_46a3b
|
||||
ld a, [W_XCOORD] ; $d362
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
cp c
|
||||
jr nz, .asm_46a3b
|
||||
jr .asm_46a38
|
||||
.asm_46a25
|
||||
ld a, [W_XCOORD] ; $d362
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
dec a
|
||||
jr .asm_46a2f
|
||||
.asm_46a2b
|
||||
ld a, [W_XCOORD] ; $d362
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
inc a
|
||||
.asm_46a2f
|
||||
cp c
|
||||
jr nz, .asm_46a3b
|
||||
ld a, [W_YCOORD] ; $d361
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
cp b
|
||||
jr nz, .asm_46a3b
|
||||
.asm_46a38
|
||||
|
|
|
@ -31,11 +31,11 @@ PickupItem:
|
|||
jr nc, .BagFull
|
||||
|
||||
ld a, [$ffdb]
|
||||
ld [$cc4d], a
|
||||
ld [wcc4d], a
|
||||
ld a, $11 ; RemoveMissableObject
|
||||
call Predef
|
||||
ld a, 1
|
||||
ld [$cc3c], a
|
||||
ld [wcc3c], a
|
||||
ld hl, FoundItemText
|
||||
jr .print
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
HandleLedges: ; 1a672 (6:6672)
|
||||
ld a, [$d736]
|
||||
ld a, [wd736]
|
||||
bit 6, a
|
||||
ret nz
|
||||
ld a, [W_CURMAPTILESET] ; $d367
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
and a ; OVERWORLD
|
||||
ret nz
|
||||
ld a, $35
|
||||
call Predef ; indirect jump to Func_c586 (c586 (3:4586))
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
ld b, a
|
||||
FuncCoord 8, 9 ; $c45c
|
||||
FuncCoord 8, 9
|
||||
ld a, [Coord]
|
||||
ld c, a
|
||||
ld a, [$cfc6]
|
||||
ld a, [wcfc6]
|
||||
ld d, a
|
||||
ld hl, LedgeTiles ; $66cf
|
||||
.asm_1a691
|
||||
|
@ -43,14 +43,14 @@ HandleLedges: ; 1a672 (6:6672)
|
|||
ret z
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
ld hl, $d736
|
||||
ld hl, wd736
|
||||
set 6, [hl]
|
||||
call Func_3486
|
||||
ld a, e
|
||||
ld [$ccd3], a
|
||||
ld [$ccd4], a
|
||||
ld [wccd3], a
|
||||
ld [wccd4], a
|
||||
ld a, $2
|
||||
ld [$cd38], a
|
||||
ld [wcd38], a
|
||||
call LoadHoppingShadowOAM
|
||||
ld a, (SFX_02_4e - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
; This is also called after displaying text because loading
|
||||
; text tile patterns overwrites half of the sprite tile pattern data.
|
||||
; Note on notation:
|
||||
; $C1X* and $C2X* are used to denote $C100-$C1FF and $C200-$C2FF sprite slot
|
||||
; $C1X* and $C2X* are used to denote wSpriteStateData1-wSpriteStateData1 + $ff and wSpriteStateData2 + $00-wSpriteStateData2 + $ff sprite slot
|
||||
; fields, respectively, within loops. The X is the loop index.
|
||||
; If there is an inner loop, Y is the inner loop index, i.e. $C1Y* and $C2Y*
|
||||
; denote fields of the sprite slots interated over in the inner loop.
|
||||
|
@ -13,7 +13,7 @@ InitMapSprites: ; 1785b (5:785b)
|
|||
ret c ; return if the map is an outside map (already handled by above call)
|
||||
; if the map is an inside map (i.e. mapID >= $25)
|
||||
ld hl,wSpriteStateData1
|
||||
ld de,$c20d
|
||||
ld de,wSpriteStateData2 + $0d
|
||||
; Loop to copy picture ID's from $C1X0 to $C2XD for LoadMapSpriteTilePatterns.
|
||||
.copyPictureIDLoop
|
||||
ld a,[hl] ; $C1X0 (picture ID)
|
||||
|
@ -37,7 +37,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
|
|||
.spritesExist
|
||||
ld c,a ; c = [W_NUMSPRITES]
|
||||
ld b,$10 ; number of sprite slots
|
||||
ld hl,$c20d
|
||||
ld hl,wSpriteStateData2 + $0d
|
||||
xor a
|
||||
ld [$ff8e],a ; 4-tile sprite counter
|
||||
.copyPictureIDLoop ; loop to copy picture ID from $C2XD to $C2XE
|
||||
|
@ -48,9 +48,9 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
|
|||
ld l,a
|
||||
dec b
|
||||
jr nz,.copyPictureIDLoop
|
||||
ld hl,$c21e
|
||||
ld hl,wSpriteStateData2 + $1e
|
||||
.loadTilePatternLoop
|
||||
ld de,$c21d
|
||||
ld de,wSpriteStateData2 + $1d
|
||||
; Check if the current picture ID has already had its tile patterns loaded.
|
||||
; This done by looping through the previous sprite slots and seeing if any of
|
||||
; their picture ID's match that of the current sprite slot.
|
||||
|
@ -70,7 +70,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
|
|||
ld e,a
|
||||
jr .checkIfAlreadyLoadedLoop
|
||||
.notAlreadyLoaded
|
||||
ld de,$c20e
|
||||
ld de,wSpriteStateData2 + $0e
|
||||
ld b,$01
|
||||
; loop to find the highest tile pattern VRAM slot (among the first 10 slots) used by a previous sprite slot
|
||||
; this is done in order to find the first free VRAM slot available
|
||||
|
@ -159,7 +159,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
|
|||
ld l,e
|
||||
pop de
|
||||
ld b,a
|
||||
ld a,[$cfc4]
|
||||
ld a,[wcfc4]
|
||||
bit 0,a ; reloading upper half of tile patterns after displaying text?
|
||||
jr nz,.skipFirstLoad ; if so, skip loading data into the lower half
|
||||
ld a,b
|
||||
|
@ -180,7 +180,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
|
|||
jr nc,.noCarry3
|
||||
inc d
|
||||
.noCarry3
|
||||
ld a,[$cfc4]
|
||||
ld a,[wcfc4]
|
||||
bit 0,a ; reloading upper half of tile patterns after displaying text?
|
||||
jr nz,.loadWhileLCDOn
|
||||
pop af
|
||||
|
@ -216,7 +216,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
|
|||
ld l,a
|
||||
dec c
|
||||
jp nz,.loadTilePatternLoop
|
||||
ld hl,$c20d
|
||||
ld hl,wSpriteStateData2 + $0d
|
||||
ld b,$10
|
||||
; the pictures ID's stored at $C2XD are no longer needed, so zero them
|
||||
.zeroStoredPictureIDLoop
|
||||
|
@ -264,7 +264,7 @@ InitOutsideMapSprites: ; 1797b (5:797b)
|
|||
cp a,$f0 ; does the map have 2 sprite sets?
|
||||
call nc,GetSplitMapSpriteSetID ; if so, choose the appropriate one
|
||||
ld b,a ; b = spriteSetID
|
||||
ld a,[$cfc4]
|
||||
ld a,[wcfc4]
|
||||
bit 0,a ; reloading upper half of tile patterns after displaying text?
|
||||
jr nz,.loadSpriteSet ; if so, forcibly reload the sprite set
|
||||
ld a,[W_SPRITESETID]
|
||||
|
@ -288,7 +288,7 @@ InitOutsideMapSprites: ; 1797b (5:797b)
|
|||
jr nc,.noCarry2
|
||||
inc d
|
||||
.noCarry2
|
||||
ld hl,$c20d
|
||||
ld hl,wSpriteStateData2 + $0d
|
||||
ld a,SPRITE_RED
|
||||
ld [hl],a
|
||||
ld bc,W_SPRITESET
|
||||
|
@ -324,7 +324,7 @@ InitOutsideMapSprites: ; 1797b (5:797b)
|
|||
call LoadMapSpriteTilePatterns
|
||||
pop af
|
||||
ld [W_NUMSPRITES],a ; restore number of sprites
|
||||
ld hl,$c21e
|
||||
ld hl,wSpriteStateData2 + $1e
|
||||
ld b,$0f
|
||||
; The VRAM tile pattern slots that LoadMapSpriteTilePatterns set are in the
|
||||
; order of the map's sprite set, not the order of the actual sprites loaded
|
||||
|
@ -338,7 +338,7 @@ InitOutsideMapSprites: ; 1797b (5:797b)
|
|||
dec b
|
||||
jr nz,.zeroVRAMSlotsLoop
|
||||
.skipLoadingSpriteSet
|
||||
ld hl,$c110
|
||||
ld hl,wSpriteStateData1 + $10
|
||||
; This loop stores the correct VRAM tile pattern slots according the sprite
|
||||
; data from the map's header. Since the VRAM tile pattern slots are filled in
|
||||
; the order of the sprite set, in order to find the VRAM tile pattern slot
|
||||
|
|
|
@ -8,22 +8,22 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
|
|||
ld [wSpriteStateData2], a
|
||||
jr .asm_4e4a
|
||||
.asm_4e41
|
||||
FuncCoord 8, 9 ; $c45c
|
||||
FuncCoord 8, 9
|
||||
ld a, [Coord]
|
||||
ld [$ff93], a
|
||||
cp $60
|
||||
jr c, .asm_4e50
|
||||
.asm_4e4a
|
||||
ld a, $ff
|
||||
ld [$c102], a
|
||||
ld [wSpriteStateData1 + 2], a
|
||||
ret
|
||||
.asm_4e50
|
||||
call Func_4c70
|
||||
ld h, $c1
|
||||
ld a, [wWalkCounter] ; $cfc5
|
||||
ld a, [wWalkCounter] ; wcfc5
|
||||
and a
|
||||
jr nz, .asm_4e90
|
||||
ld a, [$d528]
|
||||
ld a, [wd528]
|
||||
bit 2, a
|
||||
jr z, .asm_4e65
|
||||
xor a
|
||||
|
@ -45,16 +45,16 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
|
|||
jr .asm_4e86
|
||||
.asm_4e7d
|
||||
xor a
|
||||
ld [$c107], a
|
||||
ld [$c108], a
|
||||
ld [wSpriteStateData1 + 7], a
|
||||
ld [wSpriteStateData1 + 8], a
|
||||
jr .asm_4eab
|
||||
.asm_4e86
|
||||
ld [$c109], a
|
||||
ld a, [$cfc4]
|
||||
ld [wSpriteStateData1 + 9], a
|
||||
ld a, [wcfc4]
|
||||
bit 0, a
|
||||
jr nz, .asm_4e7d
|
||||
.asm_4e90
|
||||
ld a, [$d736]
|
||||
ld a, [wd736]
|
||||
bit 7, a
|
||||
jr nz, .asm_4eb6
|
||||
ld a, [H_CURRENTSPRITEOFFSET]
|
||||
|
@ -73,11 +73,11 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
|
|||
and $3
|
||||
ld [hl], a
|
||||
.asm_4eab
|
||||
ld a, [$c108]
|
||||
ld a, [wSpriteStateData1 + 8]
|
||||
ld b, a
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
add b
|
||||
ld [$c102], a
|
||||
ld [wSpriteStateData1 + 2], a
|
||||
.asm_4eb6
|
||||
ld a, [$ff93]
|
||||
ld c, a
|
||||
|
@ -87,7 +87,7 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
|
|||
jr nz, .asm_4ec3
|
||||
ld a, $80
|
||||
.asm_4ec3
|
||||
ld [$c207], a
|
||||
ld [wSpriteStateData2 + $07], a
|
||||
ret
|
||||
|
||||
Func_4ec7: ; 4ec7 (1:4ec7)
|
||||
|
@ -106,7 +106,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
|
|||
swap a
|
||||
dec a
|
||||
add a
|
||||
ld hl, W_MAPSPRITEDATA ; $d4e4
|
||||
ld hl, W_MAPSPRITEDATA ; wd4e4
|
||||
add l
|
||||
ld l, a
|
||||
ld a, [hl] ; read movement byte 2
|
||||
|
@ -128,7 +128,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
|
|||
bit 7, a
|
||||
jp nz, InitializeSpriteFacingDirection ; c1x1 >= $80
|
||||
ld b, a
|
||||
ld a, [$cfc4]
|
||||
ld a, [wcfc4]
|
||||
bit 0, a
|
||||
jp nz, notYetMoving
|
||||
ld a, b
|
||||
|
@ -136,7 +136,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
|
|||
jp z, UpdateSpriteMovementDelay ; c1x1 == 2
|
||||
cp $3
|
||||
jp z, UpdateSpriteInWalkingAnimation ; c1x1 == 3
|
||||
ld a, [wWalkCounter] ; $cfc5
|
||||
ld a, [wWalkCounter] ; wcfc5
|
||||
and a
|
||||
ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability)
|
||||
call InitializeSpriteScreenPosition
|
||||
|
@ -153,28 +153,28 @@ Func_4ed1: ; 4ed1 (1:4ed1)
|
|||
ld [hl], a ; (temporarily) increment movement byte 1
|
||||
dec a
|
||||
push hl
|
||||
ld hl, $cf0f
|
||||
dec [hl] ; decrement $cf0f
|
||||
ld hl, wcf0f
|
||||
dec [hl] ; decrement wcf0f
|
||||
pop hl
|
||||
ld de, $cc5b
|
||||
call LoadDEPlusA ; a = [$cc5b + movement byte 1]
|
||||
ld de, wcc5b
|
||||
call LoadDEPlusA ; a = [wcc5b + movement byte 1]
|
||||
cp $e0
|
||||
jp z, ChangeFacingDirection
|
||||
cp $ff
|
||||
jr nz, .asm_4f4b
|
||||
ld [hl], a ; reset movement byte 1 to initial value
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 0, [hl]
|
||||
xor a
|
||||
ld [$cd38], a
|
||||
ld [$cd3a], a
|
||||
ld [wcd38], a
|
||||
ld [wcd3a], a
|
||||
ret
|
||||
.asm_4f4b
|
||||
cp $fe
|
||||
jr nz, .asm_4f5f
|
||||
ld [hl], $1 ; set movement byte 1 to $1
|
||||
ld de, $cc5b
|
||||
call LoadDEPlusA ; a = [$cc5b + $fe] (?)
|
||||
ld de, wcc5b
|
||||
call LoadDEPlusA ; a = [wcc5b + $fe] (?)
|
||||
jr .asm_4f5f
|
||||
.asm_4f59
|
||||
call getTileSpriteStandsOn
|
||||
|
@ -391,11 +391,11 @@ notYetMoving: ; 5073 (1:5073)
|
|||
jp UpdateSpriteImage
|
||||
|
||||
InitializeSpriteFacingDirection: ; 507f (1:507f)
|
||||
ld a, [$d72d]
|
||||
ld a, [wd72d]
|
||||
bit 5, a
|
||||
jr nz, notYetMoving
|
||||
res 7, [hl]
|
||||
ld a, [$d52a]
|
||||
ld a, [wd52a]
|
||||
bit 3, a
|
||||
jr z, .notFacingDown
|
||||
ld c, $0 ; make sprite face down
|
||||
|
@ -438,7 +438,7 @@ InitializeSpriteScreenPosition: ; 50bd (1:50bd)
|
|||
ld a, [H_CURRENTSPRITEOFFSET]
|
||||
add $4
|
||||
ld l, a
|
||||
ld a, [W_YCOORD] ; $d361
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
ld b, a
|
||||
ld a, [hl] ; c2x4 (Y position + 4)
|
||||
sub b ; relative to player position
|
||||
|
@ -447,7 +447,7 @@ InitializeSpriteScreenPosition: ; 50bd (1:50bd)
|
|||
dec h
|
||||
ld [hli], a ; c1x4 (screen Y position)
|
||||
inc h
|
||||
ld a, [W_XCOORD] ; $d362
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
ld b, a
|
||||
ld a, [hli] ; c2x6 (X position + 4)
|
||||
sub b ; relative to player position
|
||||
|
@ -474,7 +474,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
|
|||
add $4
|
||||
ld l, a
|
||||
ld b, [hl] ; c2x4: Y pos (+4)
|
||||
ld a, [W_YCOORD] ; $d361
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
cp b
|
||||
jr z, .skipYVisibilityTest
|
||||
jr nc, .spriteInvisible ; above screen region
|
||||
|
@ -484,7 +484,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
|
|||
.skipYVisibilityTest
|
||||
inc l
|
||||
ld b, [hl] ; c2x5: X pos (+4)
|
||||
ld a, [W_XCOORD] ; $d362
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
cp b
|
||||
jr z, .skipXVisibilityTest
|
||||
jr nc, .spriteInvisible ; left of screen region
|
||||
|
@ -518,7 +518,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
|
|||
jr .done
|
||||
.spriteVisible
|
||||
ld c, a
|
||||
ld a, [wWalkCounter] ; $cfc5
|
||||
ld a, [wWalkCounter] ; wcfc5
|
||||
and a
|
||||
jr nz, .done ; if player is currently walking, we're done
|
||||
call UpdateSpriteImage
|
||||
|
@ -711,15 +711,15 @@ LoadDEPlusA: ; 522f (1:522f)
|
|||
ret
|
||||
|
||||
Func_5236: ; 5236 (1:5236)
|
||||
ld a, [$d730]
|
||||
ld a, [wd730]
|
||||
bit 7, a
|
||||
ret z
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
bit 7, [hl]
|
||||
set 7, [hl]
|
||||
jp z, Func_52a6
|
||||
ld hl, $cc97
|
||||
ld a, [$cd37]
|
||||
ld hl, wcc97
|
||||
ld a, [wcd37]
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .asm_5251
|
||||
|
@ -767,20 +767,20 @@ Func_5236: ; 5236 (1:5236)
|
|||
ld a, c
|
||||
ld [hl], a
|
||||
call Func_52c3
|
||||
ld hl, $cf18
|
||||
ld hl, wcf18
|
||||
dec [hl]
|
||||
ret nz
|
||||
ld a, $8
|
||||
ld [$cf18], a
|
||||
ld hl, $cd37
|
||||
ld [wcf18], a
|
||||
ld hl, wcd37
|
||||
inc [hl]
|
||||
ret
|
||||
|
||||
Func_52a6: ; 52a6 (1:52a6)
|
||||
xor a
|
||||
ld [$cd37], a
|
||||
ld [wcd37], a
|
||||
ld a, $8
|
||||
ld [$cf18], a
|
||||
ld [wcf18], a
|
||||
jp Func_52c3
|
||||
|
||||
Func_52b2: ; 52b2 (1:52b2)
|
||||
|
|
|
@ -1,47 +1,47 @@
|
|||
Func_1a3e0: ; 1a3e0 (6:63e0)
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 1, [hl]
|
||||
call HandleDoors
|
||||
jr nc, .asm_1a406
|
||||
ld a, $fc
|
||||
ld [wJoyIgnore], a
|
||||
ld hl, $d736
|
||||
ld hl, wd736
|
||||
set 1, [hl]
|
||||
ld a, $1
|
||||
ld [$cd38], a
|
||||
ld [wcd38], a
|
||||
ld a, $80
|
||||
ld [$ccd3], a
|
||||
ld [wccd3], a
|
||||
xor a
|
||||
ld [$c102], a
|
||||
ld [wSpriteStateData1 + 2], a
|
||||
call Func_3486
|
||||
ret
|
||||
.asm_1a406
|
||||
xor a
|
||||
ld [$cd3a], a
|
||||
ld [$cd38], a
|
||||
ld [$ccd3], a
|
||||
ld hl, $d736
|
||||
ld [wcd3a], a
|
||||
ld [wcd38], a
|
||||
ld [wccd3], a
|
||||
ld hl, wd736
|
||||
res 0, [hl]
|
||||
res 1, [hl]
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 7, [hl]
|
||||
ret
|
||||
|
||||
Func_1a41d: ; 1a41d (6:641d)
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 7, [hl]
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
res 7, [hl]
|
||||
ld hl, $d736
|
||||
ld hl, wd736
|
||||
res 0, [hl]
|
||||
res 1, [hl]
|
||||
xor a
|
||||
ld [$cf17], a
|
||||
ld [$cc57], a
|
||||
ld [$cf10], a
|
||||
ld [$cd3a], a
|
||||
ld [$cd38], a
|
||||
ld [$ccd3], a
|
||||
ld [wcf17], a
|
||||
ld [wcc57], a
|
||||
ld [wcf10], a
|
||||
ld [wcd3a], a
|
||||
ld [wcd38], a
|
||||
ld [wccd3], a
|
||||
ret
|
||||
|
||||
PointerTable_1a442: ; 1a442 (6:6442)
|
||||
|
@ -52,26 +52,26 @@ PointerTable_1a442: ; 1a442 (6:6442)
|
|||
dw Func_1a4f4
|
||||
|
||||
Func_1a44c: ; 1a44c (6:644c)
|
||||
ld a, [W_XCOORD] ; $d362
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
sub $a
|
||||
ld [$cca1], a
|
||||
ld [wcca1], a
|
||||
jr z, .asm_1a475
|
||||
ld b, $0
|
||||
ld c, a
|
||||
ld hl, $cc97
|
||||
ld hl, wcc97
|
||||
ld a, $80
|
||||
call FillMemory
|
||||
ld [hl], $ff
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
ld de, $cc97
|
||||
ld de, wcc97
|
||||
call MoveSprite
|
||||
ld a, $1
|
||||
ld [$cf10], a
|
||||
ld [wcf10], a
|
||||
jr .asm_1a47a
|
||||
.asm_1a475
|
||||
ld a, $3
|
||||
ld [$cf10], a
|
||||
ld [wcf10], a
|
||||
.asm_1a47a
|
||||
ld hl, W_FLAGS_D733
|
||||
set 1, [hl]
|
||||
|
@ -80,46 +80,46 @@ Func_1a44c: ; 1a44c (6:644c)
|
|||
ret
|
||||
|
||||
Func_1a485: ; 1a485 (6:6485)
|
||||
ld a, [$d730]
|
||||
ld a, [wd730]
|
||||
bit 0, a
|
||||
ret nz
|
||||
ld a, [$cca1]
|
||||
ld [$cd38], a
|
||||
ld a, [wcca1]
|
||||
ld [wcd38], a
|
||||
ld [$ff95], a
|
||||
ld a, $23
|
||||
call Predef
|
||||
call Func_3486
|
||||
ld a, $2
|
||||
ld [$cf10], a
|
||||
ld [wcf10], a
|
||||
ret
|
||||
|
||||
Func_1a4a1: ; 1a4a1 (6:64a1)
|
||||
ld a, [$cd38]
|
||||
ld a, [wcd38]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
Func_1a4a6: ; 1a4a6 (6:64a6)
|
||||
xor a
|
||||
ld [$cd3b], a
|
||||
ld a, [$cf13]
|
||||
ld [wcd3b], a
|
||||
ld a, [wcf13]
|
||||
swap a
|
||||
ld [$cf17], a
|
||||
ld [wcf17], a
|
||||
xor a
|
||||
ld [$c206], a
|
||||
ld hl, $ccd3
|
||||
ld [wSpriteStateData2 + $06], a
|
||||
ld hl, wccd3
|
||||
ld de, RLEList_1a4e9
|
||||
call DecodeRLEList
|
||||
dec a
|
||||
ld [$cd38], a
|
||||
ld hl, $cc97
|
||||
ld [wcd38], a
|
||||
ld hl, wcc97
|
||||
ld de, RLEList_1a4dc
|
||||
call DecodeRLEList
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
res 7, [hl]
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 7, [hl]
|
||||
ld a, $4
|
||||
ld [$cf10], a
|
||||
ld [wcf10], a
|
||||
ret
|
||||
|
||||
RLEList_1a4dc: ; 1a4dc (6:64dc)
|
||||
|
@ -140,16 +140,16 @@ RLEList_1a4e9: ; 1a4e9 (6:64e9)
|
|||
db $FF
|
||||
|
||||
Func_1a4f4: ; 1a4f4 (6:64f4)
|
||||
ld a, [$cd38]
|
||||
ld a, [wcd38]
|
||||
and a
|
||||
ret nz
|
||||
ld a, $0
|
||||
ld [$cc4d], a
|
||||
ld [wcc4d], a
|
||||
ld a, $11
|
||||
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 7, [hl]
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
res 7, [hl]
|
||||
jp Func_314e
|
||||
|
||||
|
@ -159,31 +159,31 @@ PointerTable_1a510: ; 1a510 (6:6510)
|
|||
|
||||
Func_1a514: ; 1a514 (6:6514)
|
||||
ld a, Bank(Func_9876)
|
||||
ld [$c0ef], a
|
||||
ld [$c0f0], a
|
||||
ld [wc0ef], a
|
||||
ld [wc0f0], a
|
||||
ld a, MUSIC_MUSEUM_GUY
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
swap a
|
||||
ld [$cf17], a
|
||||
ld [wcf17], a
|
||||
call Func_3486
|
||||
ld hl, $ccd3
|
||||
ld hl, wccd3
|
||||
ld de, RLEList_PewterMuseumPlayer
|
||||
call DecodeRLEList
|
||||
dec a
|
||||
ld [$cd38], a
|
||||
ld [wcd38], a
|
||||
xor a
|
||||
ld [$d12f], a
|
||||
ld [wd12f], a
|
||||
ld a, $4f
|
||||
call Predef
|
||||
ld hl, $cc97
|
||||
ld hl, wcc97
|
||||
ld de, RLEList_PewterMuseumGuy
|
||||
call DecodeRLEList
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
res 7, [hl]
|
||||
ld a, $1
|
||||
ld [$cf10], a
|
||||
ld [wcf10], a
|
||||
ret
|
||||
|
||||
RLEList_PewterMuseumPlayer: ; 1a559 (6:6559)
|
||||
|
@ -201,12 +201,12 @@ RLEList_PewterMuseumGuy: ; 1a562 (6:6562)
|
|||
db $FF
|
||||
|
||||
Func_1a56b: ; 1a56b (6:656b)
|
||||
ld a, [$cd38]
|
||||
ld a, [wcd38]
|
||||
and a
|
||||
ret nz
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 7, [hl]
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
res 7, [hl]
|
||||
jp Func_314e
|
||||
|
||||
|
@ -216,34 +216,34 @@ PointerTable_1a57d: ; 1a57d (6:657d)
|
|||
|
||||
Func_1a581: ; 1a581 (6:6581)
|
||||
ld a, Bank(Func_9876)
|
||||
ld [$c0ef], a
|
||||
ld [$c0f0], a
|
||||
ld [wc0ef], a
|
||||
ld [wc0f0], a
|
||||
ld a, MUSIC_MUSEUM_GUY
|
||||
ld [$c0ee], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
swap a
|
||||
ld [$cf17], a
|
||||
ld [wcf17], a
|
||||
xor a
|
||||
ld [$c206], a
|
||||
ld hl, $ccd3
|
||||
ld [wSpriteStateData2 + $06], a
|
||||
ld hl, wccd3
|
||||
ld de, RLEList_PewterGymPlayer
|
||||
call DecodeRLEList
|
||||
dec a
|
||||
ld [$cd38], a
|
||||
ld [wcd38], a
|
||||
ld a, $1
|
||||
ld [$d12f], a
|
||||
ld [wd12f], a
|
||||
ld a, $4f
|
||||
call Predef
|
||||
ld hl, $cc97
|
||||
ld hl, wcc97
|
||||
ld de, RLEList_PewterGymGuy
|
||||
call DecodeRLEList
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
res 7, [hl]
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
set 7, [hl]
|
||||
ld a, $1
|
||||
ld [$cf10], a
|
||||
ld [wcf10], a
|
||||
ret
|
||||
|
||||
RLEList_PewterGymPlayer: ; 1a5cd (6:65cd)
|
||||
|
@ -266,7 +266,7 @@ RLEList_PewterGymGuy: ; 1a5da (6:65da)
|
|||
|
||||
; XXX why would this function want to return on POKEMONTOWER_7?
|
||||
Func_1a5e7: ; 1a5e7 (6:65e7)
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp POKEMONTOWER_7
|
||||
ret z
|
||||
ld hl, RivalIDs ; $6605
|
||||
|
@ -280,7 +280,7 @@ Func_1a5e7: ; 1a5e7 (6:65e7)
|
|||
ret z
|
||||
jr .loop
|
||||
.notRival
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
jp SetSpriteMovementBytesToFF
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@ OaksAideScript ; 0x59035
|
|||
ld hl, OaksAideHiText
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [$cc26]
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .asm_59086 ; 0x59042 $42
|
||||
ld hl, wPokedexOwned
|
||||
ld b, wPokedexOwnedEnd - wPokedexOwned
|
||||
call CountSetBits
|
||||
ld a, [$d11e]
|
||||
ld a, [wd11e]
|
||||
ld [$ffdd], a
|
||||
ld b, a
|
||||
ld a, [$ffdb]
|
||||
|
|
|
@ -2,13 +2,13 @@ PrepareOAMData:
|
|||
; Determine OAM data for currently visible
|
||||
; sprites and write it to wOAMBuffer.
|
||||
|
||||
ld a, [$cfcb]
|
||||
ld a, [wcfcb]
|
||||
dec a
|
||||
jr z, .asm_4b1e
|
||||
|
||||
cp 0 - 1
|
||||
ret nz
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
jp HideSprites
|
||||
|
||||
.asm_4b1e
|
||||
|
@ -27,7 +27,7 @@ PrepareOAMData:
|
|||
inc e
|
||||
inc e
|
||||
ld a, [de] ; c1x2 (facing/anim)
|
||||
ld [$d5cd], a
|
||||
ld [wd5cd], a
|
||||
cp $ff ; off-screen (don't draw)
|
||||
jr nz, .visible
|
||||
|
||||
|
@ -92,7 +92,7 @@ PrepareOAMData:
|
|||
push bc
|
||||
ld b, a
|
||||
|
||||
ld a, [$d5cd] ; temp copy of c1x2
|
||||
ld a, [wd5cd] ; temp copy of c1x2
|
||||
swap a ; high nybble determines sprite used (0 is always player sprite, next are some npcs)
|
||||
and $f
|
||||
|
||||
|
@ -143,7 +143,7 @@ PrepareOAMData:
|
|||
ld h, wOAMBuffer / $100
|
||||
ld de, $4
|
||||
ld b, $a0
|
||||
ld a, [$d736]
|
||||
ld a, [wd736]
|
||||
bit 6, a
|
||||
ld a, $a0
|
||||
jr z, .clear
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
PewterGuys: ; 37ca1 (d:7ca1)
|
||||
ld hl, $ccd3
|
||||
ld a, [$cd38]
|
||||
ld hl, wccd3
|
||||
ld a, [wcd38]
|
||||
dec a
|
||||
ld [$cd38], a
|
||||
ld [wcd38], a
|
||||
ld d, 0
|
||||
ld e, a
|
||||
add hl, de
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, PointerTable_37ce6
|
||||
ld a, [$d12f]
|
||||
ld a, [wd12f]
|
||||
add a
|
||||
ld b, 0
|
||||
ld c, a
|
||||
|
@ -37,9 +37,9 @@ PewterGuys: ; 37ca1 (d:7ca1)
|
|||
ret z
|
||||
ld [de], a
|
||||
inc de
|
||||
ld a, [$cd38]
|
||||
ld a, [wcd38]
|
||||
inc a
|
||||
ld [$cd38], a
|
||||
ld [wcd38], a
|
||||
jr .asm_37cd2
|
||||
.asm_37ce1
|
||||
inc hl
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Func_70510: ; 70510 (1c:4510)
|
||||
call Func_706ef
|
||||
ld a, $ec
|
||||
ld [$c104], a
|
||||
ld [wSpriteStateData1 + 4], a
|
||||
call Delay3
|
||||
push hl
|
||||
call GBFadeIn2
|
||||
|
@ -11,7 +11,7 @@ Func_70510: ; 70510 (1c:4510)
|
|||
jr nz, .asm_70568
|
||||
ld a, (SFX_02_4c - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld hl, $d732
|
||||
ld hl, wd732
|
||||
bit 4, [hl]
|
||||
res 4, [hl]
|
||||
pop hl
|
||||
|
@ -23,7 +23,7 @@ Func_70510: ; 70510 (1c:4510)
|
|||
ld a, b
|
||||
and a
|
||||
jr nz, .asm_7055b
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
xor a
|
||||
ld [hli], a
|
||||
inc a
|
||||
|
@ -31,7 +31,7 @@ Func_70510: ; 70510 (1c:4510)
|
|||
ld a, $8
|
||||
ld [hli], a
|
||||
ld [hl], $ff
|
||||
ld hl, $cd48
|
||||
ld hl, wcd48
|
||||
call Func_70730
|
||||
.asm_70558
|
||||
call Func_2307
|
||||
|
@ -51,7 +51,7 @@ Func_70510: ; 70510 (1c:4510)
|
|||
call Func_706d7
|
||||
ld a, (SFX_02_50 - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, $c
|
||||
|
@ -80,7 +80,7 @@ FlyAnimationEnterScreenCoords: ; 70592 (1c:4592)
|
|||
db $3C, $40
|
||||
|
||||
Func_705aa: ; 705aa (1c:45aa)
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld a, $10
|
||||
ld [hli], a
|
||||
ld a, $3c
|
||||
|
@ -100,7 +100,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
|
|||
.asm_705c8
|
||||
ld a, (SFX_02_4b - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld a, $f0
|
||||
ld [hli], a
|
||||
ld a, $ec
|
||||
|
@ -120,10 +120,10 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
|
|||
.asm_705ef
|
||||
ld a, $4
|
||||
call StopMusic
|
||||
ld a, [$d732]
|
||||
ld a, [wd732]
|
||||
bit 6, a
|
||||
jr z, .asm_70610
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld a, $10
|
||||
ld [hli], a
|
||||
ld a, $ff
|
||||
|
@ -131,12 +131,12 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
|
|||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], $a1
|
||||
ld hl, $cd48
|
||||
ld hl, wcd48
|
||||
call Func_70730
|
||||
jr .asm_705c8
|
||||
.asm_70610
|
||||
call Func_706d7
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld a, $ff
|
||||
ld [hli], a
|
||||
ld a, $8
|
||||
|
@ -145,7 +145,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
|
|||
call Func_706ae
|
||||
ld a, (SFX_02_50 - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld hl, wWhichTrade ; $cd3d
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, $c
|
||||
|
@ -155,7 +155,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
|
|||
call Func_706ae
|
||||
ld c, $28
|
||||
call DelayFrames
|
||||
ld hl, $cd3e
|
||||
ld hl, wTrainerEngageDistance
|
||||
ld a, $b
|
||||
ld [hli], a
|
||||
ld [hl], $8
|
||||
|
@ -200,34 +200,34 @@ FlyAnimationScreenCoords2: ; 70667 (1c:4667)
|
|||
|
||||
Func_7067d: ; 7067d (1c:467d)
|
||||
ld a, $ff
|
||||
ld [$cfcb], a
|
||||
ld a, [$c302]
|
||||
ld [$c30a], a
|
||||
ld a, [$c306]
|
||||
ld [$c30e], a
|
||||
ld [wcfcb], a
|
||||
ld a, [wOAMBuffer + $02]
|
||||
ld [wOAMBuffer + $0a], a
|
||||
ld a, [wOAMBuffer + $06]
|
||||
ld [wOAMBuffer + $0e], a
|
||||
ld a, $a0
|
||||
ld [wOAMBuffer], a
|
||||
ld [$c304], a
|
||||
ld [wOAMBuffer + $04], a
|
||||
ld c, $2
|
||||
call DelayFrames
|
||||
ld a, $a0
|
||||
ld [$c308], a
|
||||
ld [$c30c], a
|
||||
ld [wOAMBuffer + $08], a
|
||||
ld [wOAMBuffer + $0c], a
|
||||
call GBFadeOut2
|
||||
ld a, $1
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
jp Func_70772
|
||||
|
||||
Func_706ae: ; 706ae (1c:46ae)
|
||||
ld a, [$cd3f]
|
||||
ld a, [wTrainerFacingDirection]
|
||||
xor $1
|
||||
ld [$cd3f], a
|
||||
ld [$c102], a
|
||||
ld [wTrainerFacingDirection], a
|
||||
ld [wSpriteStateData1 + 2], a
|
||||
call Delay3
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
cp $ff
|
||||
jr z, .asm_706cd
|
||||
ld hl, $c104
|
||||
ld hl, wSpriteStateData1 + 4
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a
|
||||
|
@ -236,9 +236,9 @@ Func_706ae: ; 706ae (1c:46ae)
|
|||
inc de
|
||||
ld [hl], a
|
||||
.asm_706cd
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
dec a
|
||||
ld [$cd3e], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
jr nz, Func_706ae
|
||||
ret
|
||||
|
||||
|
@ -253,16 +253,16 @@ Func_706d7: ; 706d7 (1c:46d7)
|
|||
jp CopyVideoData
|
||||
|
||||
Func_706ef: ; 706ef (1c:46ef)
|
||||
ld a, [$c102]
|
||||
ld [$cd50], a
|
||||
ld a, [$c104]
|
||||
ld [$cd4f], a
|
||||
ld a, [wSpriteStateData1 + 2]
|
||||
ld [wcd50], a
|
||||
ld a, [wSpriteStateData1 + 4]
|
||||
ld [wcd4f], a
|
||||
ld hl, PlayerSpinningFacingOrder ; $4713
|
||||
ld de, $cd48
|
||||
ld de, wcd48
|
||||
ld bc, $4
|
||||
call CopyData
|
||||
ld a, [$c102]
|
||||
ld hl, $cd48
|
||||
ld a, [wSpriteStateData1 + 2]
|
||||
ld hl, wcd48
|
||||
.asm_7070d
|
||||
cp [hl]
|
||||
inc hl
|
||||
|
@ -277,32 +277,32 @@ PlayerSpinningFacingOrder: ; 70713 (1c:4713)
|
|||
|
||||
Func_70717: ; 70717 (1c:4717)
|
||||
ld a, [hl]
|
||||
ld [$c102], a
|
||||
ld [wSpriteStateData1 + 2], a
|
||||
push hl
|
||||
ld hl, $cd48
|
||||
ld de, $cd47
|
||||
ld hl, wcd48
|
||||
ld de, wcd47
|
||||
ld bc, $4
|
||||
call CopyData
|
||||
ld a, [$cd47]
|
||||
ld [$cd4b], a
|
||||
ld a, [wcd47]
|
||||
ld [wcd4b], a
|
||||
pop hl
|
||||
ret
|
||||
|
||||
Func_70730: ; 70730 (1c:4730)
|
||||
call Func_70717
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld c, a
|
||||
and $3
|
||||
jr nz, .asm_70743
|
||||
ld a, [$cd40]
|
||||
ld a, [wTrainerScreenY]
|
||||
cp $ff
|
||||
call nz, PlaySound
|
||||
.asm_70743
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
add c
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld c, a
|
||||
ld a, [$cd3f]
|
||||
ld a, [wTrainerFacingDirection]
|
||||
cp c
|
||||
ret z
|
||||
call DelayFrames
|
||||
|
@ -310,29 +310,29 @@ Func_70730: ; 70730 (1c:4730)
|
|||
|
||||
Func_70755: ; 70755 (1c:4755)
|
||||
call Func_70717
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld c, a
|
||||
ld a, [$c104]
|
||||
ld a, [wSpriteStateData1 + 4]
|
||||
add c
|
||||
ld [$c104], a
|
||||
ld [wSpriteStateData1 + 4], a
|
||||
ld c, a
|
||||
ld a, [$cd3e]
|
||||
ld a, [wTrainerEngageDistance]
|
||||
cp c
|
||||
ret z
|
||||
ld a, [$cd3f]
|
||||
ld a, [wTrainerFacingDirection]
|
||||
ld c, a
|
||||
call DelayFrames
|
||||
jr Func_70755
|
||||
|
||||
Func_70772: ; 70772 (1c:4772)
|
||||
ld a, [$cd4f]
|
||||
ld [$c104], a
|
||||
ld a, [$cd50]
|
||||
ld [$c102], a
|
||||
ld a, [wcd4f]
|
||||
ld [wSpriteStateData1 + 4], a
|
||||
ld a, [wcd50]
|
||||
ld [wSpriteStateData1 + 2], a
|
||||
ret
|
||||
|
||||
Func_7077f: ; 7077f (1c:477f)
|
||||
ld a, [$cf1b]
|
||||
ld a, [wcf1b]
|
||||
xor $1
|
||||
inc a
|
||||
inc a
|
||||
|
@ -341,7 +341,7 @@ Func_7077f: ; 7077f (1c:477f)
|
|||
Func_70787: ; 70787 (1c:4787)
|
||||
ld b, 0
|
||||
ld hl, DataTable_707a9 ; $47a9
|
||||
ld a, [W_CURMAPTILESET] ; $d367
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
ld c, a
|
||||
.asm_70790
|
||||
ld a, [hli]
|
||||
|
@ -349,7 +349,7 @@ Func_70787: ; 70787 (1c:4787)
|
|||
jr z, .asm_707a4
|
||||
cp c
|
||||
jr nz, .asm_7079e
|
||||
FuncCoord 8, 9 ; $c45c
|
||||
FuncCoord 8, 9
|
||||
ld a, [Coord]
|
||||
cp [hl]
|
||||
jr z, .asm_707a2
|
||||
|
@ -362,10 +362,10 @@ Func_70787: ; 70787 (1c:4787)
|
|||
ld b, [hl]
|
||||
.asm_707a4
|
||||
ld a, b
|
||||
ld [$cd5b], a
|
||||
ld [wcd5b], a
|
||||
ret
|
||||
|
||||
; format: db tileset id, tile id, value to be put in $cd5b
|
||||
; format: db tileset id, tile id, value to be put in wcd5b
|
||||
DataTable_707a9: ; 707a9 (1c:47a9)
|
||||
db FACILITY, $20, 1 ; warp pad
|
||||
db FACILITY, $11, 2 ; hole
|
||||
|
@ -376,7 +376,7 @@ DataTable_707a9: ; 707a9 (1c:47a9)
|
|||
Func_707b6: ; 707b6 (1c:47b6)
|
||||
ld c, $a
|
||||
call DelayFrames
|
||||
ld hl, $d736
|
||||
ld hl, wd736
|
||||
set 6, [hl]
|
||||
ld de, RedSprite ; $4180
|
||||
ld hl, $8000
|
||||
|
@ -385,17 +385,17 @@ Func_707b6: ; 707b6 (1c:47b6)
|
|||
ld a, $4
|
||||
ld hl, RedFishingTiles ; $4866
|
||||
call Func_71771
|
||||
ld a, [$c102]
|
||||
ld a, [wSpriteStateData1 + 2]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld hl, FishingRodGfxProperties ; $4856
|
||||
add hl, bc
|
||||
ld de, $c39c
|
||||
ld de, wOAMBuffer + $9c
|
||||
ld bc, $4
|
||||
call CopyData
|
||||
ld c, $64
|
||||
call DelayFrames
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
and a
|
||||
ld hl, NoNibbleText
|
||||
jr z, .asm_70836
|
||||
|
@ -404,35 +404,35 @@ Func_707b6: ; 707b6 (1c:47b6)
|
|||
jr z, .asm_70836
|
||||
ld b, $a
|
||||
.asm_707fe
|
||||
ld hl, $c104
|
||||
ld hl, wSpriteStateData1 + 4
|
||||
call Func_70842
|
||||
ld hl, $c39c
|
||||
ld hl, wOAMBuffer + $9c
|
||||
call Func_70842
|
||||
call Delay3
|
||||
dec b
|
||||
jr nz, .asm_707fe
|
||||
ld a, [$c102]
|
||||
ld a, [wSpriteStateData1 + 2]
|
||||
cp $4
|
||||
jr nz, .asm_7081c
|
||||
ld a, $a0
|
||||
ld [$c39c], a
|
||||
ld [wOAMBuffer + $9c], a
|
||||
.asm_7081c
|
||||
ld hl, $cd4f
|
||||
ld hl, wcd4f
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld a, $4c
|
||||
call Predef ; indirect jump to PrintEmotionBubble (17c47 (5:7c47))
|
||||
ld a, [$c102]
|
||||
ld a, [wSpriteStateData1 + 2]
|
||||
cp $4
|
||||
jr nz, .asm_70833
|
||||
ld a, $44
|
||||
ld [$c39c], a
|
||||
ld [wOAMBuffer + $9c], a
|
||||
.asm_70833
|
||||
ld hl, ItsABiteText
|
||||
.asm_70836
|
||||
call PrintText
|
||||
ld hl, $d736
|
||||
ld hl, wd736
|
||||
res 6, [hl]
|
||||
call LoadFontTilePatterns
|
||||
ret
|
||||
|
@ -484,20 +484,20 @@ RedFishingTiles: ; 70866 (1c:4866)
|
|||
dw $8FD0
|
||||
|
||||
_HandleMidJump: ; 7087e (1c:487e)
|
||||
ld a, [$d714]
|
||||
ld a, [wd714]
|
||||
ld c, a
|
||||
inc a
|
||||
cp $10
|
||||
jr nc, .asm_70895
|
||||
ld [$d714], a
|
||||
ld [wd714], a
|
||||
ld b, $0
|
||||
ld hl, PlayerJumpingYScreenCoords ; $48ba
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [$c104], a ; player's sprite y coordinate
|
||||
ld [wSpriteStateData1 + 4], a ; player's sprite y coordinate
|
||||
ret
|
||||
.asm_70895
|
||||
ld a, [wWalkCounter] ; $cfc5
|
||||
ld a, [wWalkCounter] ; wcfc5
|
||||
cp $0
|
||||
ret nz
|
||||
call UpdateSprites
|
||||
|
@ -506,10 +506,10 @@ _HandleMidJump: ; 7087e (1c:487e)
|
|||
ld [hJoyHeld], a
|
||||
ld [hJoyPressed], a
|
||||
ld [hJoyReleased], a
|
||||
ld [$d714], a
|
||||
ld hl, $d736
|
||||
ld [wd714], a
|
||||
ld hl, wd736
|
||||
res 6, [hl]
|
||||
ld hl, $d730
|
||||
ld hl, wd730
|
||||
res 7, [hl]
|
||||
xor a
|
||||
ld [wJoyIgnore], a
|
||||
|
|
|
@ -2,7 +2,7 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6)
|
|||
call SaveScreenTilesToBuffer1 ; save screen
|
||||
ld hl, PokemonCenterWelcomeText
|
||||
call PrintText
|
||||
ld hl, $d72e
|
||||
ld hl, wd72e
|
||||
bit 2, [hl]
|
||||
set 1, [hl]
|
||||
set 2, [hl]
|
||||
|
@ -19,22 +19,22 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6)
|
|||
ld hl, NeedYourPokemonText
|
||||
call PrintText
|
||||
ld a, $18
|
||||
ld [$c112], a ; make the nurse turn to face the machine
|
||||
ld [wSpriteStateData1 + $12], a ; make the nurse turn to face the machine
|
||||
call Delay3
|
||||
PREDEF HealPartyPredef
|
||||
callba AnimateHealingMachine ; do the healing machine animation
|
||||
xor a
|
||||
ld [wMusicHeaderPointer], a
|
||||
ld a, [$c0f0]
|
||||
ld [$c0ef], a
|
||||
ld a, [$d35b]
|
||||
ld [$cfca], a
|
||||
ld [$c0ee], a
|
||||
ld a, [wc0f0]
|
||||
ld [wc0ef], a
|
||||
ld a, [wd35b]
|
||||
ld [wcfca], a
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld hl, PokemonFightingFitText
|
||||
call PrintText
|
||||
ld a, $14
|
||||
ld [$c112], a ; make the nurse bow
|
||||
ld [wSpriteStateData1 + $12], a ; make the nurse bow
|
||||
ld c, a
|
||||
call DelayFrames
|
||||
jr .done
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
||||
ld a,[wListScrollOffset]
|
||||
ld [$d07e],a
|
||||
ld [wd07e],a
|
||||
call UpdateSprites ; move sprites
|
||||
xor a
|
||||
ld [$cf0a],a ; flag that is set if something is sold or bought
|
||||
ld [wcf0a],a ; flag that is set if something is sold or bought
|
||||
.loop
|
||||
xor a
|
||||
ld [wListScrollOffset],a
|
||||
ld [wCurrentMenuItem],a
|
||||
ld [$cc2f],a
|
||||
ld [wPlayerMonNumber],a
|
||||
inc a
|
||||
ld [$cf93],a
|
||||
ld [wcf93],a
|
||||
ld a,$13
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID ; draw money text box
|
||||
ld a,$15
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID ; do buy/sell/quit menu
|
||||
ld hl,$d128 ; pointer to this pokemart's inventory
|
||||
ld hl,wd128 ; pointer to this pokemart's inventory
|
||||
ld a,[hli]
|
||||
ld l,[hl]
|
||||
ld h,a ; hl = address of inventory
|
||||
ld a,[$d12e]
|
||||
ld a,[wd12e]
|
||||
cp a,$02
|
||||
jp z,.done
|
||||
ld a,[$d12d] ; ID of the chosen menu item
|
||||
ld a,[wd12d] ; ID of the chosen menu item
|
||||
and a ; buying?
|
||||
jp z,.buyMenu
|
||||
dec a ; selling?
|
||||
|
@ -33,9 +33,9 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
jp z,.done
|
||||
.sellMenu
|
||||
xor a
|
||||
ld [$cf93],a
|
||||
ld [wcf93],a
|
||||
ld a,$02
|
||||
ld [$d11b],a
|
||||
ld [wd11b],a
|
||||
callab Func_39bd5
|
||||
ld a,[wNumBagItems]
|
||||
and a
|
||||
|
@ -46,15 +46,15 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
.sellMenuLoop
|
||||
call LoadScreenTilesFromBuffer1 ; restore saved screen
|
||||
ld a,$13
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID ; draw money text box
|
||||
ld hl,wNumBagItems
|
||||
ld a,l
|
||||
ld [$cf8b],a
|
||||
ld [wcf8b],a
|
||||
ld a,h
|
||||
ld [$cf8c],a
|
||||
ld [wcf8c],a
|
||||
xor a
|
||||
ld [$cf93],a
|
||||
ld [wcf93],a
|
||||
ld [wCurrentMenuItem],a
|
||||
ld a,ITEMLISTMENU
|
||||
ld [wListMenuID],a
|
||||
|
@ -62,10 +62,10 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
jp c,.returnToMainPokemartMenu ; if the player closed the menu
|
||||
.confirmItemSale ; if the player is trying to sell a specific item
|
||||
call IsKeyItem ; check if item is unsellable
|
||||
ld a,[$d124]
|
||||
ld a,[wd124]
|
||||
and a
|
||||
jr nz,.unsellableItem
|
||||
ld a,[$cf91]
|
||||
ld a,[wcf91]
|
||||
call IsItemHM
|
||||
jr c,.unsellableItem
|
||||
ld a,PRICEDITEMLISTMENU
|
||||
|
@ -81,20 +81,20 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
ld hl,Coord
|
||||
ld bc,$080f
|
||||
ld a,$14
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID ; yes/no menu
|
||||
ld a,[$d12e]
|
||||
ld a,[wd12e]
|
||||
cp a,$02
|
||||
jr z,.sellMenuLoop ; if the player pressed the B button
|
||||
ld a,[$d12d] ; ID of the chosen menu item
|
||||
ld a,[wd12d] ; ID of the chosen menu item
|
||||
dec a
|
||||
jr z,.sellMenuLoop ; if the player chose No
|
||||
.sellItem
|
||||
ld a,[$cf0a] ; flag that is set if something is sold or bought
|
||||
ld a,[wcf0a] ; flag that is set if something is sold or bought
|
||||
and a
|
||||
jr nz,.skipSettingFlag1
|
||||
inc a
|
||||
ld [$cf0a],a
|
||||
ld [wcf0a],a
|
||||
.skipSettingFlag1
|
||||
call AddAmountSoldToMoney
|
||||
ld hl,wNumBagItems
|
||||
|
@ -111,9 +111,9 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
jp .returnToMainPokemartMenu
|
||||
.buyMenu
|
||||
ld a,$01
|
||||
ld [$cf93],a
|
||||
ld [wcf93],a
|
||||
ld a,$03
|
||||
ld [$d11b],a
|
||||
ld [wd11b],a
|
||||
callab Func_39bd5
|
||||
ld hl,PokemartBuyingGreetingText
|
||||
call PrintText
|
||||
|
@ -121,44 +121,44 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
.buyMenuLoop
|
||||
call LoadScreenTilesFromBuffer1 ; restore saved screen
|
||||
ld a,$13
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID ; draw money text box
|
||||
ld hl,$cf7b
|
||||
ld hl,wStringBuffer2 + 11
|
||||
ld a,l
|
||||
ld [$cf8b],a
|
||||
ld [wcf8b],a
|
||||
ld a,h
|
||||
ld [$cf8c],a
|
||||
ld [wcf8c],a
|
||||
xor a
|
||||
ld [wCurrentMenuItem],a
|
||||
inc a
|
||||
ld [$cf93],a
|
||||
ld [wcf93],a
|
||||
inc a ; a = 2 (PRICEDITEMLISTMENU)
|
||||
ld [wListMenuID],a
|
||||
call DisplayListMenuID
|
||||
jr c,.returnToMainPokemartMenu ; if the player closed the menu
|
||||
ld a,$63
|
||||
ld [$cf97],a
|
||||
ld [wcf97],a
|
||||
xor a
|
||||
ld [$ff8e],a
|
||||
call DisplayChooseQuantityMenu
|
||||
inc a
|
||||
jr z,.buyMenuLoop ; if the player closed the choose quantity menu with the B button
|
||||
ld a,[$cf91] ; item ID
|
||||
ld [$d11e],a ; store item ID for GetItemName
|
||||
ld a,[wcf91] ; item ID
|
||||
ld [wd11e],a ; store item ID for GetItemName
|
||||
call GetItemName
|
||||
call CopyStringToCF4B ; copy name to $cf4b
|
||||
call CopyStringToCF4B ; copy name to wcf4b
|
||||
ld hl,PokemartTellBuyPriceText
|
||||
call PrintText
|
||||
FuncCoord 14,7
|
||||
ld hl,Coord
|
||||
ld bc,$080f
|
||||
ld a,$14
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID ; yes/no menu
|
||||
ld a,[$d12e]
|
||||
ld a,[wd12e]
|
||||
cp a,$02
|
||||
jp z,.buyMenuLoop ; if the player pressed the B button
|
||||
ld a,[$d12d] ; ID of the chosen menu item
|
||||
ld a,[wd12d] ; ID of the chosen menu item
|
||||
dec a
|
||||
jr z,.buyMenuLoop ; if the player chose No
|
||||
.buyItem
|
||||
|
@ -168,11 +168,11 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
call AddItemToInventory
|
||||
jr nc,.bagFull
|
||||
call SubtractAmountPaidFromMoney
|
||||
ld a,[$cf0a] ; flag that is set if something is sold or bought
|
||||
ld a,[wcf0a] ; flag that is set if something is sold or bought
|
||||
and a
|
||||
jr nz,.skipSettingFlag2
|
||||
ld a,$01
|
||||
ld [$cf0a],a
|
||||
ld [wcf0a],a
|
||||
.skipSettingFlag2
|
||||
ld a,(SFX_02_5a - SFX_Headers_02) / 3
|
||||
call PlaySoundWaitForCurrent ; play sound
|
||||
|
@ -183,7 +183,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
.returnToMainPokemartMenu
|
||||
call LoadScreenTilesFromBuffer1 ; restore save screen
|
||||
ld a,$13
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID ; draw money text box
|
||||
ld hl,PokemartAnythingElseText
|
||||
call PrintText
|
||||
|
@ -205,9 +205,9 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
ld hl,PokemartThankYouText
|
||||
call PrintText
|
||||
ld a,$01
|
||||
ld [$cfcb],a
|
||||
ld [wcfcb],a
|
||||
call UpdateSprites ; move sprites
|
||||
ld a,[$d07e]
|
||||
ld a,[wd07e]
|
||||
ld [wListScrollOffset],a
|
||||
ret
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
Func_79f54: ; 79f54 (1e:5f54)
|
||||
ld a, $1
|
||||
ld [$cd50], a
|
||||
ld a, [$cfcb]
|
||||
ld [wcd50], a
|
||||
ld a, [wcfcb]
|
||||
push af
|
||||
ld a, $ff
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
ld a, $e4
|
||||
ld [rOBP1], a ; $ff49
|
||||
call LoadSmokeTileFourTimes
|
||||
|
@ -26,24 +26,24 @@ Func_79f54: ; 79f54 (1e:5f54)
|
|||
dec c
|
||||
jr nz, .asm_79f73
|
||||
pop af
|
||||
ld [$cfcb], a
|
||||
ld [wcfcb], a
|
||||
jp LoadPlayerSpriteGraphics
|
||||
|
||||
Func_79f92: ; 79f92 (1e:5f92)
|
||||
ld a, [$c109]
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
ld hl, PointerTable_79fb0 ; $5fb0
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld [$d08a], a
|
||||
ld [wd08a], a
|
||||
ld a, [hli]
|
||||
ld e, a
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
push hl
|
||||
ld hl, $c390
|
||||
ld hl, wOAMBuffer + $90
|
||||
ld d, $0
|
||||
add hl, de
|
||||
ld e, l
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Func_567f9: ; 567f9 (15:67f9)
|
||||
ld hl, wSpriteStateData1
|
||||
ld de, $4
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
call Func_56903
|
||||
ld a, [hli]
|
||||
|
@ -20,26 +20,26 @@ Func_567f9: ; 567f9 (15:67f9)
|
|||
Func_56819: ; 56819 (15:6819)
|
||||
ld hl, wSpriteStateData1
|
||||
ld de, $0004
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
call Func_56903
|
||||
ld a, [hli]
|
||||
ld [$d130], a
|
||||
ld [wd130], a
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
ld [$d131], a
|
||||
ld [wd131], a
|
||||
ld de, $00fe
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
ld [$d132], a
|
||||
ld [wd132], a
|
||||
ld a, [hl]
|
||||
ld [$d133], a
|
||||
ld [wd133], a
|
||||
ret
|
||||
|
||||
Func_5683d: ; 5683d (15:683d)
|
||||
ld hl, wSpriteStateData1
|
||||
ld de, $4
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
call Func_56903
|
||||
ld a, [$ffeb]
|
||||
|
@ -58,26 +58,26 @@ Func_5683d: ; 5683d (15:683d)
|
|||
Func_5685d: ; 5685d (15:685d)
|
||||
ld hl, wSpriteStateData1
|
||||
ld de, $0004
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
call Func_56903
|
||||
ld a, [$d130]
|
||||
ld a, [wd130]
|
||||
ld [hli], a
|
||||
inc hl
|
||||
ld a, [$d131]
|
||||
ld a, [wd131]
|
||||
ld [hl], a
|
||||
ld de, $00fe
|
||||
add hl, de
|
||||
ld a, [$d132]
|
||||
ld a, [wd132]
|
||||
ld [hli], a
|
||||
ld a, [$d133]
|
||||
ld a, [wd133]
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
TrainerWalkUpToPlayer: ; 56881 (15:6881)
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
swap a
|
||||
ld [wTrainerSpriteOffset], a ; $cd3d
|
||||
ld [wTrainerSpriteOffset], a ; wWhichTrade
|
||||
call ReadTrainerScreenPosition
|
||||
ld a, [wTrainerFacingDirection]
|
||||
and a
|
||||
|
@ -127,7 +127,7 @@ TrainerWalkUpToPlayer: ; 56881 (15:6881)
|
|||
ld a, $c0 ; a = direction to go to
|
||||
jr .writeWalkScript
|
||||
.facingLeft
|
||||
ld a, [$cd41]
|
||||
ld a, [wTrainerScreenX]
|
||||
ld b, a
|
||||
ld a, $40 ; (fixed) player screen X pos
|
||||
call CalcDifference
|
||||
|
@ -139,11 +139,11 @@ TrainerWalkUpToPlayer: ; 56881 (15:6881)
|
|||
ld b, $0
|
||||
ld a, $80 ; a = direction to go to
|
||||
.writeWalkScript
|
||||
ld hl, $cc97
|
||||
ld de, $cc97
|
||||
ld hl, wcc97
|
||||
ld de, wcc97
|
||||
call FillMemory ; write the necessary steps to reach player
|
||||
ld [hl], $ff ; write end of list sentinel
|
||||
ld a, [$cf13]
|
||||
ld a, [wcf13]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
jp MoveSprite_
|
||||
|
||||
|
@ -162,7 +162,7 @@ Func_56903: ; 56903 (15:6903)
|
|||
CheckEngagePlayer: ; 5690f (15:690f)
|
||||
push hl
|
||||
push de
|
||||
ld a, [wTrainerSpriteOffset] ; $cd3d
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
add $2
|
||||
ld d, $0
|
||||
ld e, a
|
||||
|
@ -173,21 +173,21 @@ CheckEngagePlayer: ; 5690f (15:690f)
|
|||
jr nz, .spriteOnScreen ; test if sprite is on screen
|
||||
jp .noEngage
|
||||
.spriteOnScreen
|
||||
ld a, [wTrainerSpriteOffset] ; $cd3d
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
add $9
|
||||
ld d, $0
|
||||
ld e, a
|
||||
ld hl, wSpriteStateData1
|
||||
add hl, de
|
||||
ld a, [hl] ; c1x9: facing direction
|
||||
ld [$cd3f], a
|
||||
ld [wTrainerFacingDirection], a
|
||||
call ReadTrainerScreenPosition
|
||||
ld a, [$cd40] ; sprite screen Y pos
|
||||
ld a, [wTrainerScreenY] ; sprite screen Y pos
|
||||
ld b, a
|
||||
ld a, $3c
|
||||
cp b
|
||||
jr z, .linedUpY
|
||||
ld a, [$cd41] ; sprite screen X pos
|
||||
ld a, [wTrainerScreenX] ; sprite screen X pos
|
||||
ld b, a
|
||||
ld a, $40
|
||||
cp b
|
||||
|
@ -195,7 +195,7 @@ CheckEngagePlayer: ; 5690f (15:690f)
|
|||
xor a
|
||||
jp .noEngage
|
||||
.linedUpY
|
||||
ld a, [$cd41] ; sprite screen X pos
|
||||
ld a, [wTrainerScreenX] ; sprite screen X pos
|
||||
ld b, a
|
||||
ld a, $40 ; (fixed) player X position
|
||||
call CalcDifference ; calc distance
|
||||
|
@ -205,7 +205,7 @@ CheckEngagePlayer: ; 5690f (15:690f)
|
|||
xor a
|
||||
jr .noEngage
|
||||
.linedUpX
|
||||
ld a, [$cd40] ; sprite screen Y pos
|
||||
ld a, [wTrainerScreenY] ; sprite screen Y pos
|
||||
ld b, a
|
||||
ld a, $3c ; (fixed) player Y position
|
||||
call CalcDifference ; calc distance
|
||||
|
@ -216,7 +216,7 @@ CheckEngagePlayer: ; 5690f (15:690f)
|
|||
jp .noEngage
|
||||
.engage
|
||||
call CheckPlayerIsInFrontOfSprite
|
||||
ld a, [wTrainerSpriteOffset] ; $cd3d
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
and a
|
||||
jr z, .noEngage
|
||||
ld hl, wFlags_0xcd60
|
||||
|
@ -224,29 +224,29 @@ CheckEngagePlayer: ; 5690f (15:690f)
|
|||
call EngageMapTrainer
|
||||
ld a, $ff
|
||||
.noEngage: ; 56988 (15:6988)
|
||||
ld [wTrainerSpriteOffset], a ; $cd3d
|
||||
ld [wTrainerSpriteOffset], a ; wWhichTrade
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
|
||||
; reads trainer's Y position to $cd40 and X position to $cd41
|
||||
; reads trainer's Y position to wTrainerScreenY and X position to wTrainerScreenX
|
||||
ReadTrainerScreenPosition: ; 5698e (15:698e)
|
||||
ld a, [wTrainerSpriteOffset] ; $cd3d
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
add $4
|
||||
ld d, $0
|
||||
ld e, a
|
||||
ld hl, wSpriteStateData1
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [$cd40], a
|
||||
ld a, [wTrainerSpriteOffset] ; $cd3d
|
||||
ld [wTrainerScreenY], a
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
add $6
|
||||
ld d, $0
|
||||
ld e, a
|
||||
ld hl, wSpriteStateData1
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [$cd41], a
|
||||
ld [wTrainerScreenX], a
|
||||
ret
|
||||
|
||||
; checks if the sprite is properly lined up with the player with respect to the direction it's looking. Also checks the distance between player and sprite
|
||||
|
@ -259,7 +259,7 @@ CheckSpriteCanSeePlayer: ; 569af (15:69af)
|
|||
jr nc, .checkIfLinedUp
|
||||
jr .notInLine ; player too far away
|
||||
.checkIfLinedUp
|
||||
ld a, [$cd3f] ; sprite facing direction
|
||||
ld a, [wTrainerFacingDirection] ; sprite facing direction
|
||||
cp $0 ; down
|
||||
jr z, .checkXCoord
|
||||
cp $4 ; up
|
||||
|
@ -270,13 +270,13 @@ CheckSpriteCanSeePlayer: ; 569af (15:69af)
|
|||
jr z, .checkYCoord
|
||||
jr .notInLine
|
||||
.checkXCoord
|
||||
ld a, [$cd41] ; sprite screen X position
|
||||
ld a, [wTrainerScreenX] ; sprite screen X position
|
||||
ld b, a
|
||||
cp $40
|
||||
jr z, .inLine
|
||||
jr .notInLine
|
||||
.checkYCoord
|
||||
ld a, [$cd40] ; sprite screen Y position
|
||||
ld a, [wTrainerScreenY] ; sprite screen Y position
|
||||
ld b, a
|
||||
cp $3c
|
||||
jr nz, .notInLine
|
||||
|
@ -289,10 +289,10 @@ CheckSpriteCanSeePlayer: ; 569af (15:69af)
|
|||
|
||||
; tests if the player is in front of the sprite (rather than behind it)
|
||||
CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
|
||||
ld a, [W_CURMAP] ; $d35e
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
cp POWER_PLANT
|
||||
jp z, .engage ; XXX not sure why bypass this for power plant (maybe to get voltorb fake items to work?)
|
||||
ld a, [wTrainerSpriteOffset] ; $cd3d
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
add $4
|
||||
ld d, $0
|
||||
ld e, a
|
||||
|
@ -303,38 +303,38 @@ CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
|
|||
jr nz, .notOnTopmostTile ; special case if sprite is on topmost tile (Y = $fc (-4)), make it come down a block
|
||||
ld a, $c
|
||||
.notOnTopmostTile
|
||||
ld [$cd40], a
|
||||
ld a, [wTrainerSpriteOffset] ; $cd3d
|
||||
ld [wTrainerScreenY], a
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
add $6
|
||||
ld d, $0
|
||||
ld e, a
|
||||
ld hl, wSpriteStateData1
|
||||
add hl, de
|
||||
ld a, [hl] ; c1x6 (sprite screen X pos)
|
||||
ld [$cd41], a
|
||||
ld a, [$cd3f] ; facing direction
|
||||
ld [wTrainerScreenX], a
|
||||
ld a, [wTrainerFacingDirection] ; facing direction
|
||||
cp $0
|
||||
jr nz, .notFacingDown
|
||||
ld a, [$cd40] ; sprite screen Y pos
|
||||
ld a, [wTrainerScreenY] ; sprite screen Y pos
|
||||
cp $3c
|
||||
jr c, .engage ; sprite above player
|
||||
jr .noEngage ; sprite below player
|
||||
.notFacingDown
|
||||
cp $4
|
||||
jr nz, .notFacingUp
|
||||
ld a, [$cd40] ; sprite screen Y pos
|
||||
ld a, [wTrainerScreenY] ; sprite screen Y pos
|
||||
cp $3c
|
||||
jr nc, .engage ; sprite below player
|
||||
jr .noEngage ; sprite above player
|
||||
.notFacingUp
|
||||
cp $8
|
||||
jr nz, .notFacingLeft
|
||||
ld a, [$cd41] ; sprite screen X pos
|
||||
ld a, [wTrainerScreenX] ; sprite screen X pos
|
||||
cp $40
|
||||
jr nc, .engage ; sprite right of player
|
||||
jr .noEngage ; sprite left of player
|
||||
.notFacingLeft
|
||||
ld a, [$cd41] ; sprite screen X pos
|
||||
ld a, [wTrainerScreenX] ; sprite screen X pos
|
||||
cp $40
|
||||
jr nc, .noEngage ; sprite right of player
|
||||
.engage
|
||||
|
@ -343,5 +343,5 @@ CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
|
|||
.noEngage
|
||||
xor a
|
||||
.done
|
||||
ld [wTrainerSpriteOffset], a ; $cd3d
|
||||
ld [wTrainerSpriteOffset], a ; wWhichTrade
|
||||
ret
|
||||
|
|
|
@ -3,7 +3,7 @@ Func_71ddf: ; 71ddf (1c:5ddf)
|
|||
ld a, b
|
||||
cp $ff
|
||||
jr nz, .asm_71dea
|
||||
ld a, [$cf1c]
|
||||
ld a, [wcf1c]
|
||||
.asm_71dea
|
||||
cp $fc
|
||||
jp z, Func_71fc2
|
||||
|
@ -27,7 +27,7 @@ SendPalPacket_Black: ; 71dff (1c:5dff)
|
|||
; uses PalPacket_Empty to build a packet based on mon IDs and health color
|
||||
BuildBattlePalPacket: ; 71e06 (1c:5e06)
|
||||
ld hl, PalPacket_Empty
|
||||
ld de, $cf2d
|
||||
ld de, wcf2d
|
||||
ld bc, $10
|
||||
call CopyData
|
||||
ld a, [W_PLAYERBATTSTATUS3]
|
||||
|
@ -38,12 +38,12 @@ BuildBattlePalPacket: ; 71e06 (1c:5e06)
|
|||
ld hl, W_ENEMYMONID
|
||||
call DeterminePaletteID
|
||||
ld c, a
|
||||
ld hl, $cf2e
|
||||
ld a, [$cf1d]
|
||||
ld hl, wcf2e
|
||||
ld a, [wcf1d]
|
||||
add PAL_GREENBAR
|
||||
ld [hli], a
|
||||
inc hl
|
||||
ld a, [$cf1e]
|
||||
ld a, [wcf1e]
|
||||
add PAL_GREENBAR
|
||||
ld [hli], a
|
||||
inc hl
|
||||
|
@ -52,10 +52,10 @@ BuildBattlePalPacket: ; 71e06 (1c:5e06)
|
|||
inc hl
|
||||
ld a, c
|
||||
ld [hl], a
|
||||
ld hl, $cf2d
|
||||
ld hl, wcf2d
|
||||
ld de, BlkPacket_Battle
|
||||
ld a, $1
|
||||
ld [$cf1c], a
|
||||
ld [wcf1c], a
|
||||
ret
|
||||
|
||||
SendPalPacket_TownMap: ; 71e48 (1c:5e48)
|
||||
|
@ -66,42 +66,42 @@ SendPalPacket_TownMap: ; 71e48 (1c:5e48)
|
|||
; uses PalPacket_Empty to build a packet based the mon ID
|
||||
BuildStatusScreenPalPacket: ; 71e4f (1c:5e4f)
|
||||
ld hl, PalPacket_Empty
|
||||
ld de, $cf2d
|
||||
ld de, wcf2d
|
||||
ld bc, $10
|
||||
call CopyData
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
cp VICTREEBEL + 1
|
||||
jr c, .pokemon
|
||||
ld a, $1 ; not pokemon
|
||||
.pokemon
|
||||
call DeterminePaletteIDOutOfBattle
|
||||
push af
|
||||
ld hl, $cf2e
|
||||
ld a, [$cf25]
|
||||
ld hl, wcf2e
|
||||
ld a, [wcf25]
|
||||
add $1f
|
||||
ld [hli], a
|
||||
inc hl
|
||||
pop af
|
||||
ld [hl], a
|
||||
ld hl, $cf2d
|
||||
ld hl, wcf2d
|
||||
ld de, BlkPacket_StatusScreen
|
||||
ret
|
||||
|
||||
SendPalPacket_PartyMenu: ; 71e7b (1c:5e7b)
|
||||
ld hl, PalPacket_PartyMenu
|
||||
ld de, $cf2e
|
||||
ld de, wcf2e
|
||||
ret
|
||||
|
||||
SendPalPacket_Pokedex: ; 71e82 (1c:5e82)
|
||||
ld hl, PalPacket_Pokedex
|
||||
ld de, $cf2d
|
||||
ld de, wcf2d
|
||||
ld bc, $10
|
||||
call CopyData
|
||||
ld a, [$cf91]
|
||||
ld a, [wcf91]
|
||||
call DeterminePaletteIDOutOfBattle
|
||||
ld hl, $cf30
|
||||
ld hl, wcf30
|
||||
ld [hl], a
|
||||
ld hl, $cf2d
|
||||
ld hl, wcf2d
|
||||
ld de, BlkPacket_Pokedex
|
||||
ret
|
||||
|
||||
|
@ -130,13 +130,13 @@ SendPalPacket_GameFreakIntro: ; 71ebb (1c:5ebb)
|
|||
ld hl, PalPacket_GameFreakIntro
|
||||
ld de, BlkPacket_GameFreakIntro
|
||||
ld a, $8
|
||||
ld [$cf1c], a
|
||||
ld [wcf1c], a
|
||||
ret
|
||||
|
||||
; uses PalPacket_Empty to build a packet based on the current map
|
||||
BuildOverworldPalPacket: ; 71ec7 (1c:5ec7)
|
||||
ld hl, PalPacket_Empty
|
||||
ld de, $cf2d
|
||||
ld de, wcf2d
|
||||
ld bc, $10
|
||||
call CopyData
|
||||
ld a, [W_CURMAPTILESET]
|
||||
|
@ -163,11 +163,11 @@ BuildOverworldPalPacket: ; 71ec7 (1c:5ec7)
|
|||
ld a, PAL_ROUTE - 1
|
||||
.town
|
||||
inc a ; a town's pallete ID is its map ID + 1
|
||||
ld hl, $cf2e
|
||||
ld hl, wcf2e
|
||||
ld [hld], a
|
||||
ld de, BlkPacket_WholeScreen
|
||||
ld a, $9
|
||||
ld [$cf1c], a
|
||||
ld [wcf1c], a
|
||||
ret
|
||||
.PokemonTowerOrAgatha
|
||||
ld a, PAL_GREYMON - 1
|
||||
|
@ -184,7 +184,7 @@ BuildOverworldPalPacket: ; 71ec7 (1c:5ec7)
|
|||
SendPokemonPalette_WholeScreen: ; 71f17 (1c:5f17)
|
||||
push bc
|
||||
ld hl, PalPacket_Empty
|
||||
ld de, $cf2d
|
||||
ld de, wcf2d
|
||||
ld bc, $10
|
||||
call CopyData
|
||||
pop bc
|
||||
|
@ -192,21 +192,21 @@ SendPokemonPalette_WholeScreen: ; 71f17 (1c:5f17)
|
|||
and a
|
||||
ld a, $1e
|
||||
jr nz, .asm_71f31
|
||||
ld a, [$cf1d]
|
||||
ld a, [wcf1d]
|
||||
call DeterminePaletteIDOutOfBattle
|
||||
.asm_71f31
|
||||
ld [$cf2e], a
|
||||
ld hl, $cf2d
|
||||
ld [wcf2e], a
|
||||
ld hl, wcf2d
|
||||
ld de, BlkPacket_WholeScreen
|
||||
ret
|
||||
|
||||
BuildTrainerCardPalPacket: ; 71f3b (1c:5f3b)
|
||||
ld hl, BlkPacket_TrainerCard
|
||||
ld de, $cc5b
|
||||
ld de, wcc5b
|
||||
ld bc, $40
|
||||
call CopyData
|
||||
ld de, LoopCounts_71f8f
|
||||
ld hl, $cc5d
|
||||
ld hl, wcc5d
|
||||
ld a, [W_OBTAINEDBADGES]
|
||||
ld c, $8
|
||||
.asm_71f52
|
||||
|
@ -235,7 +235,7 @@ BuildTrainerCardPalPacket: ; 71f3b (1c:5f3b)
|
|||
dec c
|
||||
jr nz, .asm_71f52
|
||||
ld hl, PalPacket_TrainerCard
|
||||
ld de, $cc5b
|
||||
ld de, wcc5b
|
||||
ret
|
||||
|
||||
PointerTable_71f73: ; 71f73 (1c:5f73)
|
||||
|
@ -264,14 +264,14 @@ DeterminePaletteID: ; 71f97 (1c:5f97)
|
|||
ret nz
|
||||
ld a, [hl]
|
||||
DeterminePaletteIDOutOfBattle: ; 71f9d (1c:5f9d)
|
||||
ld [$D11E], a
|
||||
ld [wd11e], a
|
||||
and a
|
||||
jr z, .idZero
|
||||
push bc
|
||||
ld a, $3A
|
||||
call Predef ; turn Pokemon ID number into Pokedex number
|
||||
pop bc
|
||||
ld a, [$D11E]
|
||||
ld a, [wd11e]
|
||||
.idZero
|
||||
ld e, a
|
||||
ld d, $00
|
||||
|
@ -282,13 +282,13 @@ DeterminePaletteIDOutOfBattle: ; 71f9d (1c:5f9d)
|
|||
|
||||
SendBlkPacket_PartyMenu: ; 71fb6 (1c:5fb6)
|
||||
ld hl, BlkPacket_PartyMenu ; $62f4
|
||||
ld de, $cf2e
|
||||
ld de, wcf2e
|
||||
ld bc, $30
|
||||
jp CopyData
|
||||
|
||||
Func_71fc2: ; 71fc2 (1c:5fc2)
|
||||
ld hl, $cf1f
|
||||
ld a, [$cf2d]
|
||||
ld hl, wcf1f
|
||||
ld a, [wcf2d]
|
||||
ld e, a
|
||||
ld d, $0
|
||||
add hl, de
|
||||
|
@ -304,9 +304,9 @@ Func_71fc2: ; 71fc2 (1c:5fc2)
|
|||
ld e, $f
|
||||
.asm_71fdb
|
||||
push de
|
||||
ld hl, $cf37
|
||||
ld hl, wcf37
|
||||
ld bc, $6
|
||||
ld a, [$cf2d]
|
||||
ld a, [wcf2d]
|
||||
call AddNTimes
|
||||
pop de
|
||||
ld [hl], e
|
||||
|
@ -381,12 +381,12 @@ SendSGBPacket: ; 71feb (1c:5feb)
|
|||
|
||||
LoadSGBBorderAndPalettes: ; 7202b (1c:602b)
|
||||
xor a
|
||||
ld [$cf1b], a
|
||||
ld [wcf1b], a
|
||||
call Func_7209b
|
||||
ret nc
|
||||
ld a, $1
|
||||
ld [$cf1b], a
|
||||
ld a, [$cf1a]
|
||||
ld [wcf1b], a
|
||||
ld a, [wGBC]
|
||||
and a
|
||||
jr z, .asm_7203f
|
||||
ret
|
||||
|
@ -395,17 +395,17 @@ LoadSGBBorderAndPalettes: ; 7202b (1c:602b)
|
|||
call Func_72075
|
||||
ei
|
||||
ld a, $1
|
||||
ld [$cf2d], a
|
||||
ld [wcf2d], a
|
||||
ld de, PalPacket_72508
|
||||
ld hl, SGBBorderGraphics
|
||||
call Func_7210b
|
||||
xor a
|
||||
ld [$cf2d], a
|
||||
ld [wcf2d], a
|
||||
ld de, PalPacket_72518
|
||||
ld hl, BorderPalettes
|
||||
call Func_7210b
|
||||
xor a
|
||||
ld [$cf2d], a
|
||||
ld [wcf2d], a
|
||||
ld de, PalPacket_724d8
|
||||
ld hl, SuperPalettes
|
||||
call Func_7210b
|
||||
|
@ -504,7 +504,7 @@ Func_7210b: ; 7210b (1c:610b)
|
|||
ld a, $e4
|
||||
ld [rBGP], a ; $ff47
|
||||
ld de, $8800
|
||||
ld a, [$cf2d]
|
||||
ld a, [wcf2d]
|
||||
and a
|
||||
jr z, .asm_72122
|
||||
call Func_72188
|
||||
|
@ -551,7 +551,7 @@ Wait7000: ; 7214a (1c:614a)
|
|||
ret
|
||||
|
||||
Func_72156: ; 72156 (1c:6156)
|
||||
ld a, [$cf1a]
|
||||
ld a, [wGBC]
|
||||
and a
|
||||
jr z, .asm_72165
|
||||
push de
|
||||
|
|
|
@ -1,43 +1,43 @@
|
|||
Func_18dee: ; 18dee (6:4dee)
|
||||
call Func_18e36
|
||||
ld a, [$d732]
|
||||
ld a, [wd732]
|
||||
bit 0, a
|
||||
ret z
|
||||
ld a, [W_PLAYTIMEMINUTES] ; $da42
|
||||
ld a, [W_PLAYTIMEMINUTES] ; wda42
|
||||
and a
|
||||
ret nz
|
||||
ld a, [W_PLAYTIMEFRAMES] ; $da45
|
||||
ld a, [W_PLAYTIMEFRAMES] ; wda45
|
||||
inc a
|
||||
ld [W_PLAYTIMEFRAMES], a ; $da45
|
||||
ld [W_PLAYTIMEFRAMES], a ; wda45
|
||||
cp 60
|
||||
ret nz
|
||||
xor a
|
||||
ld [W_PLAYTIMEFRAMES], a ; $da45
|
||||
ld a, [W_PLAYTIMESECONDS] ; $da44
|
||||
ld [W_PLAYTIMEFRAMES], a ; wda45
|
||||
ld a, [W_PLAYTIMESECONDS] ; wda44
|
||||
inc a
|
||||
ld [W_PLAYTIMESECONDS], a ; $da44
|
||||
ld [W_PLAYTIMESECONDS], a ; wda44
|
||||
cp 60
|
||||
ret nz
|
||||
xor a
|
||||
ld [W_PLAYTIMESECONDS], a ; $da44
|
||||
ld a, [$da43]
|
||||
ld [W_PLAYTIMESECONDS], a ; wda44
|
||||
ld a, [W_PLAYTIMEMINUTES + 1]
|
||||
inc a
|
||||
ld [$da43], a
|
||||
ld [W_PLAYTIMEMINUTES + 1], a
|
||||
cp 60
|
||||
ret nz
|
||||
xor a
|
||||
ld [$da43], a
|
||||
ld a, [$da41]
|
||||
ld [W_PLAYTIMEMINUTES + 1], a
|
||||
ld a, [W_PLAYTIMEHOURS + 1]
|
||||
inc a
|
||||
ld [$da41], a
|
||||
ld [W_PLAYTIMEHOURS + 1], a
|
||||
cp $ff
|
||||
ret nz
|
||||
ld a, $ff
|
||||
ld [W_PLAYTIMEMINUTES], a ; $da42
|
||||
ld [W_PLAYTIMEMINUTES], a ; wda42
|
||||
ret
|
||||
|
||||
Func_18e36: ; 18e36 (6:4e36)
|
||||
ld a, [$d13a]
|
||||
ld a, [wd13a]
|
||||
and a
|
||||
jr nz, .asm_18e40
|
||||
ld a, $ff
|
||||
|
@ -45,15 +45,15 @@ Func_18e36: ; 18e36 (6:4e36)
|
|||
.asm_18e40
|
||||
dec a
|
||||
.asm_18e41
|
||||
ld [$d13a], a
|
||||
ld [wd13a], a
|
||||
and a
|
||||
ret nz
|
||||
ld a, [$d730]
|
||||
ld a, [wd730]
|
||||
res 1, a
|
||||
res 2, a
|
||||
bit 5, a
|
||||
res 5, a
|
||||
ld [$d730], a
|
||||
ld [wd730], a
|
||||
ret z
|
||||
xor a
|
||||
ld [hJoyPressed], a
|
||||
|
|
|
@ -2,12 +2,12 @@ DisplayDexRating: ; 44169 (11:4169)
|
|||
ld hl, wPokedexSeen
|
||||
ld b, wPokedexSeenEnd - wPokedexSeen
|
||||
call CountSetBits
|
||||
ld a, [$D11E] ; result of CountSetBits (seen count)
|
||||
ld a, [wd11e] ; result of CountSetBits (seen count)
|
||||
ld [$FFDB], a
|
||||
ld hl, wPokedexOwned
|
||||
ld b, wPokedexOwnedEnd - wPokedexOwned
|
||||
call CountSetBits
|
||||
ld a, [$D11E] ; result of CountSetBits (own count)
|
||||
ld a, [wd11e] ; result of CountSetBits (own count)
|
||||
ld [$FFDC], a
|
||||
ld hl, DexRatingsTable
|
||||
.findRating
|
||||
|
@ -23,10 +23,10 @@ DisplayDexRating: ; 44169 (11:4169)
|
|||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a ; load text pointer into hl
|
||||
ld a, [$D747]
|
||||
ld a, [wd747]
|
||||
bit 3, a
|
||||
res 3, a
|
||||
ld [$D747], a
|
||||
ld [wd747], a
|
||||
jr nz, .label3
|
||||
push hl
|
||||
ld hl, PokedexRatingText_441cc
|
||||
|
@ -36,7 +36,7 @@ DisplayDexRating: ; 44169 (11:4169)
|
|||
callba Func_7d13b
|
||||
jp WaitForTextScrollButtonPress ; wait for button press
|
||||
.label3
|
||||
ld de, $CC5B
|
||||
ld de, wcc5b
|
||||
ld a, [$FFDB]
|
||||
ld [de], a
|
||||
inc de
|
||||
|
|
|
@ -1,25 +1,20 @@
|
|||
GetPredefPointer: ; 4fe49 (13:7e49)
|
||||
; stores hl in $CC4F,$CC50
|
||||
; stores de in $CC51,$CC52
|
||||
; stores bc in $CC53,$CC54
|
||||
; grabs a byte "n" from $CC4E,
|
||||
; and gets the nth (3-byte) pointer in PredefPointers
|
||||
; stores the bank of said pointer in [$D0B7]
|
||||
; stores the pointer in hl and returns
|
||||
; ld $CC4F,hl
|
||||
ld a,h
|
||||
ld [$CC4F],a
|
||||
ld a,l
|
||||
ld [$CC50],a
|
||||
GetPredefPointer:
|
||||
; Store the contents of the register
|
||||
; pairs (hl, de, bc) at wPredefRegisters.
|
||||
; Then put the bank and address of predef
|
||||
; wPredefID in [wPredefBank] and hl.
|
||||
|
||||
; ld $CC51,de
|
||||
ld hl,$CC51
|
||||
ld a,h
|
||||
ld [wPredefRegisters],a
|
||||
ld a,l
|
||||
ld [wPredefRegisters + 1],a
|
||||
|
||||
ld hl,wPredefRegisters + 2
|
||||
ld a,d
|
||||
ld [hli],a
|
||||
ld a,e
|
||||
ld [hli],a
|
||||
|
||||
; ld $CC53,bc
|
||||
ld a,b
|
||||
ld [hli],a
|
||||
ld [hl],c
|
||||
|
@ -27,11 +22,10 @@ GetPredefPointer: ; 4fe49 (13:7e49)
|
|||
ld hl,PredefPointers
|
||||
ld de,0
|
||||
|
||||
; de = 3 * [$CC4E]
|
||||
ld a,[$CC4E]
|
||||
ld a,[wPredefID]
|
||||
ld e,a
|
||||
add a,a
|
||||
add a,e
|
||||
add a
|
||||
add e
|
||||
ld e,a
|
||||
jr nc,.next
|
||||
inc d
|
||||
|
@ -43,7 +37,7 @@ GetPredefPointer: ; 4fe49 (13:7e49)
|
|||
|
||||
; get bank of predef routine
|
||||
ld a,[de]
|
||||
ld [$D0B7],a
|
||||
ld [wPredefBank],a
|
||||
|
||||
; get pointer
|
||||
inc de
|
||||
|
|
|
@ -13,7 +13,7 @@ Func_480eb: ; 480eb (12:40eb)
|
|||
Func_480ff: ; 480ff (12:40ff)
|
||||
call GetPredefRegisters
|
||||
ld a, $1
|
||||
ld [$d0a0], a
|
||||
ld [wd0a0], a
|
||||
xor a
|
||||
.asm_48108
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
|
@ -23,7 +23,7 @@ Func_480ff: ; 480ff (12:40ff)
|
|||
ld a, b
|
||||
jr nz, .asm_48108
|
||||
xor a
|
||||
ld [$d0a0], a
|
||||
ld [wd0a0], a
|
||||
ret
|
||||
|
||||
Func_48119: ; 48119 (12:4119)
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
; so that the full Pokedex information gets displayed in Oak's lab
|
||||
DisplayStarterMonDex: ; 5c0dc (17:40dc)
|
||||
ld a, %01001011 ; set starter flags
|
||||
ld [wPokedexOwned], a ; $d2f7
|
||||
ld [wPokedexOwned], a ; wPokedexOwned
|
||||
ld a, $3d
|
||||
call Predef ; indirect jump to ShowPokedexData (402d1 (10:42d1))
|
||||
xor a ; unset starter flags
|
||||
ld [wPokedexOwned], a ; $d2f7
|
||||
ld [wPokedexOwned], a ; wPokedexOwned
|
||||
ret
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue