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:
yenatch 2014-05-26 14:04:56 -07:00
parent 52ba96f5f4
commit 40c17c906b
290 changed files with 8262 additions and 7759 deletions

View file

@ -365,9 +365,9 @@ SECTION "Audio Engine 1", ROMX, BANK[AUDIO_1]
PlayBattleMusic:: ; 0x90c6 PlayBattleMusic:: ; 0x90c6
xor a xor a
ld [wMusicHeaderPointer], a ld [wMusicHeaderPointer], a
ld [$d083], a ld [wd083], a
dec a dec a
ld [$c0ee], a ld [wc0ee], a
call PlaySound ; stop music call PlaySound ; stop music
call DelayFrame call DelayFrame
ld c, BANK(Music_GymLeaderBattle) ld c, BANK(Music_GymLeaderBattle)
@ -406,7 +406,7 @@ Music_RivalAlternateStart:: ; 0x9b47
ld c, BANK(Music_MeetRival) ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL ld a, MUSIC_MEET_RIVAL
call PlayMusic call PlayMusic
ld hl, $c006 ld hl, wc006
ld de, Music_MeetRival_branch_b1a2 ld de, Music_MeetRival_branch_b1a2
call Music2_OverwriteChannelPointer call Music2_OverwriteChannelPointer
ld de, Music_MeetRival_branch_b21d ld de, Music_MeetRival_branch_b21d
@ -425,22 +425,22 @@ Music_RivalAlternateTempo:: ; 0x9b65
ld c, BANK(Music_MeetRival) ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL ld a, MUSIC_MEET_RIVAL
call PlayMusic call PlayMusic
ld hl, $c006 ld hl, wc006
ld de, Music_MeetRival_branch_b119 ld de, Music_MeetRival_branch_b119
jp Music2_OverwriteChannelPointer jp Music2_OverwriteChannelPointer
; applies both the alternate start and alternate tempo ; applies both the alternate start and alternate tempo
Music_RivalAlternateStartAndTempo:: ; 0x9b75 Music_RivalAlternateStartAndTempo:: ; 0x9b75
call Music_RivalAlternateStart call Music_RivalAlternateStart
ld hl, $c006 ld hl, wc006
ld de, Music_MeetRival_branch_b19b ld de, Music_MeetRival_branch_b19b
jp Music2_OverwriteChannelPointer jp Music2_OverwriteChannelPointer
; an alternate tempo for Cities1 which is used for the Hall of Fame room ; an alternate tempo for Cities1 which is used for the Hall of Fame room
Music_Cities1AlternateTempo:: ; 0x9b81 Music_Cities1AlternateTempo:: ; 0x9b81
ld a, $a ld a, $a
ld [$cfc8], a ld [wcfc8], a
ld [$cfc9], a ld [wcfc9], a
ld a, $ff ld a, $ff
ld [wMusicHeaderPointer], a ld [wMusicHeaderPointer], a
ld c, $64 ld c, $64
@ -448,7 +448,7 @@ Music_Cities1AlternateTempo:: ; 0x9b81
ld c, BANK(Music_Cities1) ld c, BANK(Music_Cities1)
ld a, MUSIC_CITIES1 ld a, MUSIC_CITIES1
call PlayMusic call PlayMusic
ld hl, $c006 ld hl, wc006
ld de, Music_Cities1_branch_aa6f ld de, Music_Cities1_branch_aa6f
jp Music2_OverwriteChannelPointer jp Music2_OverwriteChannelPointer
@ -456,7 +456,7 @@ Music_Cities1AlternateTempo:: ; 0x9b81
SECTION "Audio Engine 2", ROMX, BANK[AUDIO_2] SECTION "Audio Engine 2", ROMX, BANK[AUDIO_2]
Func_2136e:: ; 2136e (8:536e) Func_2136e:: ; 2136e (8:536e)
ld a, [$d083] ld a, [wd083]
cp $ff cp $ff
jr z, .asm_2139b jr z, .asm_2139b
bit 7, a bit 7, a
@ -472,18 +472,18 @@ Func_2136e:: ; 2136e (8:536e)
call Func_213ac call Func_213ac
.asm_2138a .asm_2138a
ld a, $86 ld a, $86
ld [$c02a], a ld [wc02a], a
ld a, [$d083] ld a, [wd083]
and $7f and $7f
dec a dec a
.asm_21395 .asm_21395
set 7, a set 7, a
ld [$d083], a ld [wd083], a
ret ret
.asm_2139b .asm_2139b
xor a xor a
ld [$d083], a ld [wd083], a
ld [$c02a], a ld [wc02a], a
ld de, Unknown_213c4 ; $53c4 ld de, Unknown_213c4 ; $53c4
jr asm_213af jr asm_213af
@ -523,7 +523,7 @@ INCLUDE "audio/engine_2.asm"
Music_PokeFluteInBattle:: ; 22306 (8:6306) Music_PokeFluteInBattle:: ; 22306 (8:6306)
ld a, (SFX_08_46 - SFX_Headers_08) / 3 ; PokeFlute outside of battle ld a, (SFX_08_46 - SFX_Headers_08) / 3 ; PokeFlute outside of battle
call PlaySoundWaitForCurrent call PlaySoundWaitForCurrent
ld hl, $c00e ld hl, wc00e
ld de, SFX_08_PokeFlute_Ch1 ld de, SFX_08_PokeFlute_Ch1
call Music8_OverwriteChannelPointer call Music8_OverwriteChannelPointer
ld de, SFX_08_PokeFlute_Ch2 ld de, SFX_08_PokeFlute_Ch2
@ -553,7 +553,7 @@ Func_7d13b:: ; 7d13b (1f:513b)
.gotSfxPointer .gotSfxPointer
push bc push bc
ld a, $ff ld a, $ff
ld [$c0ee], a ld [wc0ee], a
call PlaySoundWaitForCurrent call PlaySoundWaitForCurrent
pop bc pop bc
ld b, $0 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

View file

@ -1,10 +1,14 @@
SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile) 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 ; Overload enemy party data
W_WATERRATE EQU $d8a4 W_WATERRATE EQU $d8a4 ; wEnemyMon1Species
W_WATERMONS EQU $d8a5 W_WATERMONS EQU $d8a5 ; wEnemyMon1Species + 1
; Overload enemy stat modifiers ; Overload enemy stat modifiers
wTradeMonNick EQU $cd1e wTradeMonNick EQU $cd1e ; wPlayerMonAccuracyMod

View file

@ -263,7 +263,7 @@ MapHSPointers: ; c8f5 (3:48f5)
; a) Map_ID = $FF ; a) Map_ID = $FF
; b) Map_ID ≠ currentMapID ; 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: ; These constants come from the bytes for Predef functions:
Hide equ $11 Hide equ $11

View file

@ -16,7 +16,7 @@ HallOfFameComputer: ; 7405c (1d:405c)
call FillMemory call FillMemory
ld hl, wTileMap ld hl, wTileMap
call Func_7417b call Func_7417b
FuncCoord 0, 14 ; $c4b8 FuncCoord 0, 14
ld hl, Coord ld hl, Coord
call Func_7417b call Func_7417b
ld a, $c0 ld a, $c0
@ -30,8 +30,8 @@ HallOfFameComputer: ; 7405c (1d:405c)
ld c, $80 ld c, $80
call DelayFrames call DelayFrames
xor a xor a
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
ld [$cd3e], a ld [wTrainerEngageDistance], a
jp Credits jp Credits
Func_740ba: ; 740ba (1d:40ba) Func_740ba: ; 740ba (1d:40ba)
@ -53,16 +53,16 @@ DisplayCreditsMon: ; 740cb (1d:40cb)
call FillMiddleOfScreenWithWhite call FillMiddleOfScreenWithWhite
; display the next monster from CreditsMons ; display the next monster from CreditsMons
ld hl,$CD3E ld hl,wTrainerEngageDistance
ld c,[hl] ; how many monsters have we displayed so far? ld c,[hl] ; how many monsters have we displayed so far?
inc [hl] inc [hl]
ld b,0 ld b,0
ld hl,CreditsMons ld hl,CreditsMons
add hl,bc ; go that far in the list of monsters and get the next one add hl,bc ; go that far in the list of monsters and get the next one
ld a,[hl] ld a,[hl]
ld [$CF91],a ld [wcf91],a
ld [$D0B5],a ld [wd0b5],a
FuncCoord 8, 6 ; $c420 FuncCoord 8, 6
ld hl,Coord ld hl,Coord
call GetMonHeader call GetMonHeader
call LoadFrontSpriteByMonIndex call LoadFrontSpriteByMonIndex
@ -153,7 +153,7 @@ Func_7417b: ; 7417b (1d:417b)
jp FillMemory jp FillMemory
FillMiddleOfScreenWithWhite: ; 74183 (1d:4183) FillMiddleOfScreenWithWhite: ; 74183 (1d:4183)
FuncCoord 0, 4 ; $c3f0 FuncCoord 0, 4
ld hl, Coord ld hl, Coord
ld bc, $c8 ; 10 rows of 20 tiles each ld bc, $c8 ; 10 rows of 20 tiles each
ld a, $7f ; blank white tile ld a, $7f ; blank white tile
@ -164,7 +164,7 @@ Credits: ; 7418e (1d:418e)
push de push de
.asm_74192 .asm_74192
pop de pop de
FuncCoord 9, 6 ; $c421 FuncCoord 9, 6
ld hl, Coord ld hl, Coord
push hl push hl
call FillMiddleOfScreenWithWhite call FillMiddleOfScreenWithWhite
@ -241,11 +241,11 @@ Credits: ; 7418e (1d:418e)
ld hl, $9600 ld hl, $9600
ld bc, (BANK(TheEndGfx) << 8) + $0a ld bc, (BANK(TheEndGfx) << 8) + $0a
call CopyVideoData call CopyVideoData
FuncCoord 4, 8 ; $c444 FuncCoord 4, 8
ld hl, Coord ld hl, Coord
ld de, UnnamedText_74229 ; $4229 ld de, UnnamedText_74229 ; $4229
call PlaceString call PlaceString
FuncCoord 4, 9 ; $c458 FuncCoord 4, 9
ld hl, Coord ld hl, Coord
inc de inc de
call PlaceString call PlaceString

View file

@ -1,5 +1,5 @@
DrainHPEffect_: ; 783f (1:783f) DrainHPEffect_: ; 783f (1:783f)
ld hl, W_DAMAGE ; $d0d7 ld hl, W_DAMAGE ; W_DAMAGE
ld a, [hl] ld a, [hl]
srl a ; divide damage by 2 srl a ; divide damage by 2
ld [hli], a ld [hli], a
@ -11,13 +11,13 @@ DrainHPEffect_: ; 783f (1:783f)
inc hl inc hl
inc [hl] inc [hl]
.asm_784f .asm_784f
ld hl, W_PLAYERMONCURHP ; $d015 ld hl, W_PLAYERMONCURHP ; wd015
ld de, W_PLAYERMONMAXHP ; $d023 ld de, W_PLAYERMONMAXHP ; wd023
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jp z, Func_7861 jp z, Func_7861
ld hl, W_ENEMYMONCURHP ; $cfe6 ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
ld de, W_ENEMYMONMAXHP ; $cff4 ld de, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
Func_7861: ; 7861 (1:7861) Func_7861: ; 7861 (1:7861)
ld bc, wHPBarOldHP+1 ld bc, wHPBarOldHP+1
@ -33,12 +33,12 @@ Func_7861: ; 7861 (1:7861)
ld a, [de] ld a, [de]
dec bc dec bc
ld [bc], a ld [bc], a
ld a, [$d0d8] ld a, [wd0d8]
ld b, [hl] ld b, [hl]
add b add b
ld [hld], a ld [hld], a
ld [wHPBarNewHP], a ld [wHPBarNewHP], a
ld a, [W_DAMAGE] ; $d0d7 ld a, [W_DAMAGE] ; W_DAMAGE
ld b, [hl] ld b, [hl]
adc b adc b
ld [hli], a ld [hli], a
@ -67,15 +67,15 @@ Func_7861: ; 7861 (1:7861)
.asm_789c .asm_789c
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
FuncCoord 10, 9 ; $c45e FuncCoord 10, 9
ld hl, Coord ld hl, Coord
ld a, $1 ld a, $1
jr z, .asm_78aa jr z, .asm_78aa
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl, Coord ld hl, Coord
xor a xor a
.asm_78aa .asm_78aa
ld [wListMenuID], a ; $cf94 ld [wListMenuID], a ; wListMenuID
ld a, $48 ld a, $48
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d)) call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
ld a, $0 ld a, $0
@ -86,9 +86,9 @@ Func_7861: ; 7861 (1:7861)
ld hl, SuckedHealthText ; $78dc ld hl, SuckedHealthText ; $78dc
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
ld a, [W_PLAYERMOVEEFFECT] ; $cfd3 ld a, [W_PLAYERMOVEEFFECT] ; wcfd3
jr z, .asm_78d2 jr z, .asm_78d2
ld a, [W_ENEMYMOVEEFFECT] ; $cfcd ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
.asm_78d2 .asm_78d2
cp DREAM_EATER_EFFECT cp DREAM_EATER_EFFECT
jr nz, .asm_78d9 jr nz, .asm_78d9

View file

@ -1,52 +1,52 @@
Func_525af: ; 525af (14:65af) Func_525af: ; 525af (14:65af)
ld a, [$ffd7] ld a, [$ffd7]
ld [$d0d4], a ld [wd0d4], a
xor a xor a
ld [$cd6a], a ld [wcd6a], a
ld [$cf0b], a ld [wcf0b], a
ld hl, $cc2b ld hl, wcc2b
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld [wListScrollOffset], a ; $cc36 ld [wListScrollOffset], a ; wcc36
ld [$d05e], a ld [wd05e], a
ld [W_PLAYERMONID], a ld [W_PLAYERMONID], a
ld [W_PLAYERMONSALIVEFLAGS], a ld [W_PLAYERMONSALIVEFLAGS], a
ld [wPlayerMonNumber], a ; $cc2f ld [wPlayerMonNumber], a ; wPlayerMonNumber
ld [$d078], a ld [wd078], a
ld [$d35d], a ld [wd35d], a
ld hl, $cf1d ld hl, wcf1d
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld hl, $ccd3 ld hl, wccd3
ld b, $3c ld b, $3c
.asm_525e1 .asm_525e1
ld [hli], a ld [hli], a
dec b dec b
jr nz, .asm_525e1 jr nz, .asm_525e1
inc a inc a
ld [$ccd9], a ld [wccd9], a
ld a, [W_CURMAP] ; $d35e ld a, [W_CURMAP] ; W_CURMAP
cp SAFARI_ZONE_EAST cp SAFARI_ZONE_EAST
jr c, .asm_525f9 jr c, .asm_525f9
cp SAFARI_ZONE_REST_HOUSE_1 cp SAFARI_ZONE_REST_HOUSE_1
jr nc, .asm_525f9 jr nc, .asm_525f9
ld a, $2 ld a, $2
ld [W_BATTLETYPE], a ; $d05a ld [W_BATTLETYPE], a ; wd05a
.asm_525f9 .asm_525f9
ld hl, PlayBattleMusic ld hl, PlayBattleMusic
ld b, BANK(PlayBattleMusic) ld b, BANK(PlayBattleMusic)
jp Bankswitch jp Bankswitch
ParalyzeEffect_: ; 52601 (14:6601) ParalyzeEffect_: ; 52601 (14:6601)
ld hl, W_ENEMYMONSTATUS ; $cfe9 ld hl, W_ENEMYMONSTATUS ; wcfe9
ld de, W_PLAYERMOVETYPE ; $cfd5 ld de, W_PLAYERMOVETYPE ; wcfd5
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jp z, .asm_52613 jp z, .asm_52613
ld hl, W_PLAYERMONSTATUS ; $d018 ld hl, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS
ld de, W_ENEMYMOVETYPE ; $cfcf ld de, W_ENEMYMOVETYPE ; wcfcf
.asm_52613 .asm_52613
ld a, [hl] ld a, [hl]
@ -69,7 +69,7 @@ ParalyzeEffect_: ; 52601 (14:6601)
push hl push hl
callab MoveHitTest callab MoveHitTest
pop hl pop hl
ld a, [W_MOVEMISSED] ; $d05f ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a and a
jr nz, .asm_52659 jr nz, .asm_52659
set 6, [hl] set 6, [hl]

View file

@ -1,11 +1,11 @@
GainExperience: ; 5524f (15:524f) GainExperience: ; 5524f (15:524f)
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4 cp $4
ret z ret z
call Func_5546c 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 xor a
ld [wWhichPokemon], a ; $cf92 ld [wWhichPokemon], a ; wWhichPokemon
Func_5525f: ; 5525f (15:525f) Func_5525f: ; 5525f (15:525f)
inc hl inc hl
@ -14,7 +14,7 @@ Func_5525f: ; 5525f (15:525f)
jp z, Func_55436 jp z, Func_55436
push hl push hl
ld hl, W_PLAYERMONSALIVEFLAGS ld hl, W_PLAYERMONSALIVEFLAGS
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld c, a ld c, a
ld b, $2 ld b, $2
ld a, $10 ; FlagActionPredef ld a, $10 ; FlagActionPredef
@ -27,7 +27,7 @@ Func_5525f: ; 5525f (15:525f)
add hl, de add hl, de
ld d, h ld d, h
ld e, l ld e, l
ld hl, $d002 ld hl, wd002
ld c, $5 ld c, $5
.asm_55285 .asm_55285
ld a, [hli] ld a, [hli]
@ -58,9 +58,9 @@ Func_5525f: ; 5525f (15:525f)
xor a xor a
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND) ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
ld [$ff97], a ld [$ff97], a
ld a, [$d008] ld a, [wd008]
ld [$ff98], a 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) ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
call Multiply call Multiply
ld a, $7 ld a, $7
@ -71,11 +71,11 @@ Func_5525f: ; 5525f (15:525f)
add hl, de add hl, de
ld b, [hl] ld b, [hl]
inc hl inc hl
ld a, [wPlayerID] ; $d359 ld a, [wPlayerID] ; wPlayerID
cp b cp b
jr nz, .asm_552d1 jr nz, .asm_552d1
ld b, [hl] ld b, [hl]
ld a, [wPlayerID + 1] ; $d35a ld a, [wPlayerID + 1] ; wd35a
cp b cp b
ld a, $0 ld a, $0
jr z, .asm_552d6 jr z, .asm_552d6
@ -83,8 +83,8 @@ Func_5525f: ; 5525f (15:525f)
call Func_5549f call Func_5549f
ld a, $1 ld a, $1
.asm_552d6 .asm_552d6
ld [$cf4d], a ld [wcf4d], a
ld a, [W_ISINBATTLE] ; $d057 ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a dec a
call nz, Func_5549f call nz, Func_5549f
inc hl inc hl
@ -92,12 +92,12 @@ Func_5525f: ; 5525f (15:525f)
inc hl inc hl
ld b, [hl] ld b, [hl]
ld a, [$ff98] ld a, [$ff98]
ld [$cf4c], a ld [wcf4c], a
add b add b
ld [hld], a ld [hld], a
ld b, [hl] ld b, [hl]
ld a, [$ff97] ld a, [$ff97]
ld [$cf4b], a ld [wcf4b], a
adc b adc b
ld [hl], a ld [hl], a
jr nc, .asm_552f8 jr nc, .asm_552f8
@ -107,13 +107,13 @@ Func_5525f: ; 5525f (15:525f)
.asm_552f8 .asm_552f8
inc hl inc hl
push hl push hl
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld c, a ld c, a
ld b, $0 ld b, $0
ld hl, W_PARTYMON1 ; $d164 ld hl, W_PARTYMON1 ; W_PARTYMON1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld [$d0b5], a ld [wd0b5], a
call GetMonHeader call GetMonHeader
ld d, $64 ld d, $64
callab CalcExperience callab CalcExperience
@ -140,13 +140,13 @@ Func_5525f: ; 5525f (15:525f)
dec hl dec hl
.asm_5532e .asm_5532e
push hl push hl
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
call GetPartyMonName call GetPartyMonName
ld hl, GainedText ld hl, GainedText
call PrintText call PrintText
xor a xor a
ld [$cc49], a ld [wcc49], a
call LoadMonData call LoadMonData
pop hl pop hl
ld bc, $13 ld bc, $13
@ -157,17 +157,17 @@ Func_5525f: ; 5525f (15:525f)
ld a, [hl] ld a, [hl]
cp d cp d
jp z, Func_55436 jp z, Func_55436
ld a, [W_CURENEMYLVL] ; $d127 ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
push af push af
push hl push hl
ld a, d ld a, d
ld [W_CURENEMYLVL], a ; $d127 ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
ld [hl], a ld [hl], a
ld bc, $ffdf ld bc, $ffdf
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld [$d0b5], a ld [wd0b5], a
ld [$d11e], a ld [wd11e], a
call GetMonHeader call GetMonHeader
ld bc, $23 ld bc, $23
add hl, bc add hl, bc
@ -198,12 +198,12 @@ Func_5525f: ; 5525f (15:525f)
ld a, [hl] ld a, [hl]
adc b adc b
ld [hl], a ld [hl], a
ld a, [wPlayerMonNumber] ; $cc2f ld a, [wPlayerMonNumber] ; wPlayerMonNumber
ld b, a ld b, a
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
cp b cp b
jr nz, .asm_553f7 jr nz, .asm_553f7
ld de, W_PLAYERMONCURHP ; $d015 ld de, W_PLAYERMONCURHP ; wd015
ld a, [hli] ld a, [hli]
ld [de], a ld [de], a
inc de inc de
@ -212,19 +212,19 @@ Func_5525f: ; 5525f (15:525f)
ld bc, $1f ld bc, $1f
add hl, bc add hl, bc
push hl push hl
ld de, W_PLAYERMONLEVEL ; $d022 ld de, W_PLAYERMONLEVEL ; W_PLAYERMONLEVEL
ld bc, $b ld bc, $b
call CopyData call CopyData
pop hl pop hl
ld a, [W_PLAYERBATTSTATUS3] ; $d064 ld a, [W_PLAYERBATTSTATUS3] ; W_PLAYERBATTSTATUS3
bit 3, a bit 3, a
jr nz, .asm_553c8 jr nz, .asm_553c8
ld de, $cd0f ld de, wcd0f
ld bc, $b ld bc, $b
call CopyData call CopyData
.asm_553c8 .asm_553c8
xor a xor a
ld [$d11e], a ld [wd11e], a
callab Func_3ed99 callab Func_3ed99
callab Func_3ed1a callab Func_3ed1a
callab Func_3ee19 callab Func_3ee19
@ -235,51 +235,51 @@ Func_5525f: ; 5525f (15:525f)
ld hl, GrewLevelText ld hl, GrewLevelText
call PrintText call PrintText
xor a xor a
ld [$cc49], a ld [wcc49], a
call LoadMonData call LoadMonData
ld d, $1 ld d, $1
callab PrintStatsBox callab PrintStatsBox
call WaitForTextScrollButtonPress call WaitForTextScrollButtonPress
call LoadScreenTilesFromBuffer1 call LoadScreenTilesFromBuffer1
xor a xor a
ld [$cc49], a ld [wcc49], a
ld a, [$d0b5] ld a, [wd0b5]
ld [$d11e], a ld [wd11e], a
ld a, $1a ld a, $1a
call Predef ; indirect jump to Func_3af5b (3af5b (e:6f5b)) call Predef ; indirect jump to Func_3af5b (3af5b (e:6f5b))
ld hl, $ccd3 ld hl, wccd3
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld c, a ld c, a
ld b, $1 ld b, $1
ld a, $10 ; FlagActionPredef ld a, $10 ; FlagActionPredef
call Predef call Predef
pop hl pop hl
pop af pop af
ld [W_CURENEMYLVL], a ; $d127 ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
Func_55436: ; 55436 (15:5436) Func_55436: ; 55436 (15:5436)
ld a, [W_NUMINPARTY] ; $d163 ld a, [W_NUMINPARTY] ; W_NUMINPARTY
ld b, a ld b, a
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
inc a inc a
cp b cp b
jr z, .asm_55450 jr z, .asm_55450
ld [wWhichPokemon], a ; $cf92 ld [wWhichPokemon], a ; wWhichPokemon
ld bc, $2c 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 call AddNTimes
jp Func_5525f jp Func_5525f
.asm_55450 .asm_55450
ld hl, W_PLAYERMONSALIVEFLAGS ld hl, W_PLAYERMONSALIVEFLAGS
xor a xor a
ld [hl], a ld [hl], a
ld a, [wPlayerMonNumber] ; $cc2f ld a, [wPlayerMonNumber] ; wPlayerMonNumber
ld c, a ld c, a
ld b, $1 ld b, $1
push bc push bc
ld a, $10 ; FlagActionPredef ld a, $10 ; FlagActionPredef
call Predef call Predef
ld hl, $ccf5 ld hl, wccf5
xor a xor a
ld [hl], a ld [hl], a
pop bc pop bc
@ -301,15 +301,15 @@ Func_5546c: ; 5546c (15:546c)
jr nz, .asm_55475 jr nz, .asm_55475
cp $2 cp $2
ret c ret c
ld [$d11e], a ld [wd11e], a
ld hl, $d002 ld hl, wd002
ld c, $7 ld c, $7
.asm_55488 .asm_55488
xor a xor a
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
ld a, [hl] ld a, [hl]
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND) 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 [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
ld b, $2 ld b, $2
call Divide call Divide
@ -336,12 +336,12 @@ Func_5549f: ; 5549f (15:549f)
GainedText: ; 554b2 (15:54b2) GainedText: ; 554b2 (15:54b2)
TX_FAR _GainedText TX_FAR _GainedText
db $08 ; asm db $08 ; asm
ld a, [$cc5b] ld a, [wcc5b]
ld hl, WithExpAllText ld hl, WithExpAllText
and a and a
ret nz ret nz
ld hl, ExpPointsText ld hl, ExpPointsText
ld a, [$cf4d] ld a, [wcf4d]
and a and a
ret z ret z
ld hl, BoostedText ld hl, BoostedText

View file

@ -1,8 +1,8 @@
PrintBeginningBattleText: ; 58d99 (16:4d99) PrintBeginningBattleText: ; 58d99 (16:4d99)
ld a, [W_ISINBATTLE] ; $d057 ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a dec a
jr nz, .trainerBattle jr nz, .trainerBattle
ld a, [W_CURMAP] ; $d35e ld a, [W_CURMAP] ; W_CURMAP
cp POKEMONTOWER_3 cp POKEMONTOWER_3
jr c, .notPokemonTower jr c, .notPokemonTower
cp LAVENDER_HOUSE_1 cp LAVENDER_HOUSE_1
@ -11,7 +11,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
ld a, [W_ENEMYMONID] ld a, [W_ENEMYMONID]
call PlayCry call PlayCry
ld hl, WildMonAppearedText ld hl, WildMonAppearedText
ld a, [W_MOVEMISSED] ; $d05f ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a and a
jr z, .notFishing jr z, .notFishing
ld hl, HookedMonAttackedText ld hl, HookedMonAttackedText
@ -32,7 +32,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
ld b, SILPH_SCOPE ld b, SILPH_SCOPE
call IsItemInBag call IsItemInBag
ld a, [W_ENEMYMONID] ld a, [W_ENEMYMONID]
ld [$cf91], a ld [wcf91], a
cp MAROWAK cp MAROWAK
jr z, .isMarowak jr z, .isMarowak
ld a, b ld a, b
@ -61,9 +61,9 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
.playSFX .playSFX
xor a xor a
ld [$c0f1], a ld [wc0f1], a
ld a, $80 ld a, $80
ld [$c0f2], a ld [wc0f2], a
ld a, (SFX_08_77 - SFX_Headers_08) / 3 ld a, (SFX_08_77 - SFX_Headers_08) / 3
call PlaySound call PlaySound
jp WaitForSoundToFinish jp WaitForSoundToFinish
@ -95,24 +95,24 @@ GhostCantBeIDdText: ; 58e54 (16:4e54)
db "@" db "@"
SendOutMon: ; 58e59 (16:4e59) SendOutMon: ; 58e59 (16:4e59)
ld hl, W_ENEMYMONCURHP ; $cfe6 ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
ld a, [hli] ld a, [hli]
or [hl] or [hl]
ld hl, GoText ld hl, GoText
jr z, .printText jr z, .printText
xor a xor a
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND) ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
ld hl, W_ENEMYMONCURHP ; $cfe6 ld hl, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
ld a, [hli] ld a, [hli]
ld [$cce3], a ld [wcce3], a
ld [$ff97], a ld [$ff97], a
ld a, [hl] ld a, [hl]
ld [$cce4], a ld [wcce4], a
ld [$ff98], a ld [$ff98], a
ld a, $19 ld a, $19
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
call Multiply call Multiply
ld hl, W_ENEMYMONMAXHP ; $cff4 ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
ld a, [hli] ld a, [hli]
ld b, [hl] ld b, [hl]
srl a srl a
@ -173,8 +173,8 @@ PlayerMon2Text: ; 58ed7 (16:4ed7)
db $08 ; asm db $08 ; asm
push de push de
push bc push bc
ld hl, $cfe7 ld hl, W_ENEMYMONCURHP + 1
ld de, $cce4 ld de, wcce4
ld b, [hl] ld b, [hl]
dec hl dec hl
ld a, [de] ld a, [de]

View file

@ -11,10 +11,10 @@ DecrementPP: ; 68000 (1a:4000)
ret nz ; if any of these statuses are true, don't decrement PP ret nz ; if any of these statuses are true, don't decrement PP
bit 6, [hl] ; check 6th bit status flag on W_PLAYERBATTSTATUS2 bit 6, [hl] ; check 6th bit status flag on W_PLAYERBATTSTATUS2
ret nz ; and return if it is set 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 call .DecrementPP
ld a, [$D064] ; load pokemon status bits? ld a, [W_PLAYERBATTSTATUS3] ; load pokemon status bits?
bit 3, a ; XXX transform status? bit 3, a ; XXX transform status?
ret nz ; If it is, return. Pokemon Red stores the "current pokemon's" PP 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 ; 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 ; 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. ; party. So we return, and don't do that part.
ld hl, $D188 ; PP of first move (in party) ld hl, W_PARTYMON1_MOVE1PP ; PP of first move (in party)
ld a, [$CC2F] ; which mon in party is active ld a, [wPlayerMonNumber] ; which mon in party is active
ld bc, $2C ; XXX probably size of party pokemon's data structure ld bc, $2C ; XXX probably size of party pokemon's data structure
call AddNTimes ; calculate address of the mon to modify call AddNTimes ; calculate address of the mon to modify
.DecrementPP .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 c, a
ld b, 0 ld b, 0
add hl ,bc ; calculate the address in memory of the PP we need to decrement add hl ,bc ; calculate the address in memory of the PP we need to decrement

View file

@ -2,7 +2,7 @@ Func_708ca: ; 708ca (1c:48ca)
ld a, $e4 ld a, $e4
ld [rOBP1], a ; $ff49 ld [rOBP1], a ; $ff49
call Func_7092a call Func_7092a
FuncCoord 12, 0 ; $c3ac FuncCoord 12, 0
ld hl, Coord ld hl, Coord
ld bc, $707 ld bc, $707
call ClearScreenArea call ClearScreenArea
@ -10,7 +10,7 @@ Func_708ca: ; 708ca (1c:48ca)
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld a, $91 ld a, $91
ld [$cee9], a ld [wHPBarMaxHP], a
ld a, $1 ld a, $1
ld [H_WHOSETURN], a ; $fff3 ld [H_WHOSETURN], a ; $fff3
callab Func_79793 callab Func_79793
@ -50,22 +50,22 @@ Func_7092a: ; 7092a (1c:492a)
ld bc, $31 ld bc, $31
call CopyVideoData call CopyVideoData
ld a, $10 ld a, $10
ld [W_BASECOORDY], a ; $d082 ld [W_BASECOORDY], a ; wd082
ld a, $70 ld a, $70
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
ld hl, wOAMBuffer ld hl, wOAMBuffer
ld bc, $606 ld bc, $606
ld d, $8 ld d, $8
.asm_70948 .asm_70948
push bc push bc
ld a, [W_BASECOORDY] ; $d082 ld a, [W_BASECOORDY] ; wd082
ld e, a ld e, a
.asm_7094d .asm_7094d
ld a, e ld a, e
add $8 add $8
ld e, a ld e, a
ld [hli], a ld [hli], a
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
ld [hli], a ld [hli], a
ld a, d ld a, d
ld [hli], a ld [hli], a
@ -75,9 +75,9 @@ Func_7092a: ; 7092a (1c:492a)
dec c dec c
jr nz, .asm_7094d jr nz, .asm_7094d
inc d inc d
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
add $8 add $8
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
pop bc pop bc
dec b dec b
jr nz, .asm_70948 jr nz, .asm_70948
@ -90,9 +90,9 @@ Func_7096d: ; 7096d (1c:496d)
xor a xor a
ld [$ffb0], a ld [$ffb0], a
dec a dec a
ld [$cfcb], a ld [wcfcb], a
call DelayFrame call DelayFrame
ld hl, $c102 ld hl, wSpriteStateData1 + 2
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
ld c, a ld c, a
ld b, $0 ld b, $0
@ -106,7 +106,7 @@ Func_7096d: ; 7096d (1c:496d)
add hl, de add hl, de
dec c dec c
jr nz, .asm_70989 jr nz, .asm_70989
ld hl, $c310 ld hl, wOAMBuffer + $10
ld c, $9 ld c, $9
.asm_70998 .asm_70998
ld a, b ld a, b
@ -128,7 +128,7 @@ Func_7096d: ; 7096d (1c:496d)
call Delay3 call Delay3
call LoadBattleTransitionTile call LoadBattleTransitionTile
ld bc, $0 ld bc, $0
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4 cp $4
jr z, .asm_709c9 jr z, .asm_709c9
call Func_709e2 call Func_709e2
@ -154,7 +154,7 @@ PointerTable_709d2: ; 709d2 (1c:49d2)
dw Func_70bca dw Func_70bca
Func_709e2: ; 709e2 (1c:49e2) Func_709e2: ; 709e2 (1c:49e2)
ld a, [W_CUROPPONENT] ; $d059 ld a, [W_CUROPPONENT] ; wd059
cp $c8 cp $c8
jr nc, .asm_709ec jr nc, .asm_709ec
res 0, c res 0, c
@ -164,7 +164,7 @@ Func_709e2: ; 709e2 (1c:49e2)
ret ret
Func_709ef: ; 709ef (1c:49ef) Func_709ef: ; 709ef (1c:49ef)
ld hl, W_PARTYMON1_HP ; $d16c ld hl, W_PARTYMON1_HP ; wd16c
.asm_709f2 .asm_709f2
ld a, [hli] ld a, [hli]
or [hl] or [hl]
@ -178,21 +178,21 @@ Func_709ef: ; 709ef (1c:49ef)
ld a, [hl] ld a, [hl]
add $3 add $3
ld e, a ld e, a
ld a, [W_CURENEMYLVL] ; $d127 ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
sub e sub e
jr nc, .asm_70a12 jr nc, .asm_70a12
res 1, c res 1, c
ld a, $1 ld a, $1
ld [$cd47], a ld [wcd47], a
ret ret
.asm_70a12 .asm_70a12
set 1, c set 1, c
xor a xor a
ld [$cd47], a ld [wcd47], a
ret ret
Func_70a19: ; 70a19 (1c:4a19) Func_70a19: ; 70a19 (1c:4a19)
ld a, [W_CURMAP] ; $d35e ld a, [W_CURMAP] ; W_CURMAP
ld e, a ld e, a
ld hl, MapIDList_70a3f ; $4a3f ld hl, MapIDList_70a3f ; $4a3f
.asm_70a20 .asm_70a20
@ -266,20 +266,20 @@ Func_70a69: ; 70a69 (1c:4a69)
ret ret
Func_70a72: ; 70a72 (1c:4a72) Func_70a72: ; 70a72 (1c:4a72)
ld a, [$cd47] ld a, [wcd47]
and a and a
jr z, .asm_70a7d jr z, .asm_70a7d
call Func_70aaa call Func_70aaa
jr .asm_70a9f jr .asm_70a9f
.asm_70a7d .asm_70a7d
FuncCoord 10, 10 ; $c472 FuncCoord 10, 10
ld hl, Coord ld hl, Coord
ld a, $3 ld a, $3
ld [$d09f], a ld [wd09f], a
ld a, l ld a, l
ld [$d09b], a ld [wd09b], a
ld a, h ld a, h
ld [$d09a], a ld [wd09a], a
ld b, $78 ld b, $78
.asm_70a8f .asm_70a8f
ld c, $3 ld c, $3
@ -295,13 +295,13 @@ Func_70a72: ; 70a72 (1c:4a72)
.asm_70a9f .asm_70a9f
call Func_70a69 call Func_70a69
xor a xor a
ld [$d09b], a ld [wd09b], a
ld [$d09a], a ld [wd09a], a
ret ret
Func_70aaa: ; 70aaa (1c:4aaa) Func_70aaa: ; 70aaa (1c:4aaa)
ld a, $7 ld a, $7
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
ld hl, wTileMap ld hl, wTileMap
ld c, $11 ld c, $11
ld de, $14 ld de, $14
@ -335,13 +335,13 @@ Func_70ae0: ; 70ae0 (1c:4ae0)
ld [hl], $ff ld [hl], $ff
add hl, de add hl, de
push bc push bc
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
dec a dec a
jr nz, .asm_70af0 jr nz, .asm_70af0
call Func_70d19 call Func_70d19
ld a, $7 ld a, $7
.asm_70af0 .asm_70af0
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
pop bc pop bc
dec c dec c
jr nz, .asm_70ae1 jr nz, .asm_70ae1
@ -351,11 +351,11 @@ Func_70ae0: ; 70ae0 (1c:4ae0)
Func_70af9: ; 70af9 (1c:4af9) Func_70af9: ; 70af9 (1c:4af9)
ld bc, $ffec ld bc, $ffec
ld de, $14 ld de, $14
ld a, [$d09b] ld a, [wd09b]
ld l, a ld l, a
ld a, [$d09a] ld a, [wd09a]
ld h, a ld h, a
ld a, [$d09f] ld a, [wd09f]
cp $0 cp $0
jr z, .asm_70b25 jr z, .asm_70b25
cp $1 cp $1
@ -368,9 +368,9 @@ Func_70af9: ; 70af9 (1c:4af9)
ld [hl], $ff ld [hl], $ff
.asm_70b1c .asm_70b1c
ld a, l ld a, l
ld [$d09b], a ld [wd09b], a
ld a, h ld a, h
ld [$d09a], a ld [wd09a], a
ret ret
.asm_70b25 .asm_70b25
dec hl dec hl
@ -406,13 +406,13 @@ Func_70af9: ; 70af9 (1c:4af9)
jr .asm_70b1a jr .asm_70b1a
.asm_70b4d .asm_70b4d
ld [hl], $ff ld [hl], $ff
ld a, [$d09f] ld a, [wd09f]
inc a inc a
cp $4 cp $4
jr nz, .asm_70b58 jr nz, .asm_70b58
xor a xor a
.asm_70b58 .asm_70b58
ld [$d09f], a ld [wd09f], a
jr .asm_70b1c jr .asm_70b1c
Func_70b5d: ; 70b5d (1c:4b5d) Func_70b5d: ; 70b5d (1c:4b5d)
@ -440,27 +440,27 @@ Func_70b7f: ; 70b7f (1c:4b7f)
push bc push bc
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
FuncCoord 0, 7 ; $c42c FuncCoord 0, 7
ld hl, Coord ld hl, Coord
FuncCoord 0, 8 ; $c440 FuncCoord 0, 8
ld de, Coord ld de, Coord
ld bc, $ffd8 ld bc, $ffd8
call Func_70c12 call Func_70c12
FuncCoord 0, 10 ; $c468 FuncCoord 0, 10
ld hl, Coord ld hl, Coord
FuncCoord 0, 9 ; $c454 FuncCoord 0, 9
ld de, Coord ld de, Coord
ld bc, $28 ld bc, $28
call Func_70c12 call Func_70c12
FuncCoord 8, 0 ; $c3a8 FuncCoord 8, 0
ld hl, Coord ld hl, Coord
FuncCoord 9, 0 ; $c3a9 FuncCoord 9, 0
ld de, Coord ld de, Coord
ld bc, $fffe ld bc, $fffe
call Func_70c3f call Func_70c3f
FuncCoord 11, 0 ; $c3ab FuncCoord 11, 0
ld hl, Coord ld hl, Coord
FuncCoord 10, 0 ; $c3aa FuncCoord 10, 0
ld de, Coord ld de, Coord
ld bc, $2 ld bc, $2
call Func_70c3f call Func_70c3f
@ -481,24 +481,24 @@ Func_70bca: ; 70bca (1c:4bca)
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
.asm_70bcf .asm_70bcf
push bc push bc
FuncCoord 0, 16 ; $c4e0 FuncCoord 0, 16
ld hl, Coord ld hl, Coord
FuncCoord 0, 17 ; $c4f4 FuncCoord 0, 17
ld de, Coord ld de, Coord
ld bc, $ffd8 ld bc, $ffd8
call Func_70c12 call Func_70c12
FuncCoord 0, 1 ; $c3b4 FuncCoord 0, 1
ld hl, Coord ld hl, Coord
ld de, wTileMap ld de, wTileMap
ld bc, $28 ld bc, $28
call Func_70c12 call Func_70c12
FuncCoord 18, 0 ; $c3b2 FuncCoord 18, 0
ld hl, Coord ld hl, Coord
FuncCoord 19, 0 ; $c3b3 FuncCoord 19, 0
ld de, Coord ld de, Coord
ld bc, $fffe ld bc, $fffe
call Func_70c3f call Func_70c3f
FuncCoord 1, 0 ; $c3a1 FuncCoord 1, 0
ld hl, Coord ld hl, Coord
ld de, wTileMap ld de, wTileMap
ld bc, $2 ld bc, $2
@ -514,9 +514,9 @@ Func_70bca: ; 70bca (1c:4bca)
Func_70c12: ; 70c12 (1c:4c12) Func_70c12: ; 70c12 (1c:4c12)
ld a, c ld a, c
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
ld a, b ld a, b
ld [$cd3e], a ld [wTrainerEngageDistance], a
ld c, $8 ld c, $8
.asm_70c1c .asm_70c1c
push bc push bc
@ -526,9 +526,9 @@ Func_70c12: ; 70c12 (1c:4c12)
call CopyData call CopyData
pop hl pop hl
pop de pop de
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld c, a ld c, a
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
ld b, a ld b, a
add hl, bc add hl, bc
pop bc pop bc
@ -546,9 +546,9 @@ Func_70c12: ; 70c12 (1c:4c12)
Func_70c3f: ; 70c3f (1c:4c3f) Func_70c3f: ; 70c3f (1c:4c3f)
ld a, c ld a, c
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
ld a, b ld a, b
ld [$cd3e], a ld [wTrainerEngageDistance], a
ld c, $9 ld c, $9
.asm_70c49 .asm_70c49
push bc push bc
@ -574,9 +574,9 @@ Func_70c3f: ; 70c3f (1c:4c3f)
jr nz, .asm_70c4e jr nz, .asm_70c4e
pop hl pop hl
pop de pop de
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld c, a ld c, a
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
ld b, a ld b, a
add hl, bc add hl, bc
pop bc pop bc
@ -596,7 +596,7 @@ Func_70c3f: ; 70c3f (1c:4c3f)
Func_70c7e: ; 70c7e (1c:4c7e) Func_70c7e: ; 70c7e (1c:4c7e)
ld c, $12 ld c, $12
ld hl, wTileMap ld hl, wTileMap
FuncCoord 1, 17 ; $c4f5 FuncCoord 1, 17
ld de, Coord ld de, Coord
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
@ -635,7 +635,7 @@ Func_70caa: ; 70caa (1c:4caa)
Func_70cb4: ; 70cb4 (1c:4cb4) Func_70cb4: ; 70cb4 (1c:4cb4)
ld c, $14 ld c, $14
ld hl, wTileMap ld hl, wTileMap
FuncCoord 19, 1 ; $c3c7 FuncCoord 19, 1
ld de, Coord ld de, Coord
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
@ -736,9 +736,9 @@ Func_70d24: ; 70d24 (1c:4d24)
jp Func_70a69 jp Func_70a69
Func_70d50: ; 70d50 (1c:4d50) Func_70d50: ; 70d50 (1c:4d50)
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
ld a, [hli] ld a, [hli]
ld [$cd3e], a ld [wTrainerEngageDistance], a
ld a, [hli] ld a, [hli]
ld e, a ld e, a
ld a, [hli] ld a, [hli]
@ -857,7 +857,7 @@ Func_70dc5: ; 70dc5 (1c:4dc5)
inc de inc de
.asm_70dc9 .asm_70dc9
ld [hl], $ff ld [hl], $ff
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
and a and a
jr z, .asm_70dd4 jr z, .asm_70dd4
inc hl inc hl
@ -868,7 +868,7 @@ Func_70dc5: ; 70dc5 (1c:4dc5)
dec c dec c
jr nz, .asm_70dc9 jr nz, .asm_70dc9
pop hl pop hl
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
and a and a
ld bc, $14 ld bc, $14
jr z, .asm_70de5 jr z, .asm_70de5
@ -883,7 +883,7 @@ Func_70dc5: ; 70dc5 (1c:4dc5)
jr z, Func_70dc5 jr z, Func_70dc5
ld c, a ld c, a
.asm_70def .asm_70def
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
and a and a
jr z, .asm_70df8 jr z, .asm_70df8
dec hl dec hl

View file

@ -1,12 +1,12 @@
Func_128d8: ; 128d8 (4:68d8) Func_128d8: ; 128d8 (4:68d8)
ld a, [W_YCOORD] ; $d361 ld a, [W_YCOORD] ; wd361
ld b, a ld b, a
ld a, [W_CURMAPHEIGHT] ; $d368 ld a, [W_CURMAPHEIGHT] ; wd368
call Func_128ea call Func_128ea
ret z ret z
ld a, [W_XCOORD] ; $d362 ld a, [W_XCOORD] ; wd362
ld b, a ld b, a
ld a, [W_CURMAPWIDTH] ; $d369 ld a, [W_CURMAPWIDTH] ; wd369
Func_128ea: ; 128ea (4:68ea) Func_128ea: ; 128ea (4:68ea)
add a add a
@ -24,11 +24,11 @@ Func_128f6: ; 128f6 (4:68f6)
call GetPredefRegisters call GetPredefRegisters
ld a, $2 ld a, $2
asm_128fb: ; 128fb (4:68fb) asm_128fb: ; 128fb (4:68fb)
ld [wListMenuID], a ; $cf94 ld [wListMenuID], a ; wListMenuID
push hl push hl
ld a, [$cf99] ld a, [wcf99]
ld b, a ld b, a
ld a, [$cf9a] ld a, [wcf9a]
ld c, a ld c, a
or b or b
jr nz, .asm_12913 jr nz, .asm_12913
@ -39,9 +39,9 @@ asm_128fb: ; 128fb (4:68fb)
ld d, a ld d, a
jp Func_12924 jp Func_12924
.asm_12913 .asm_12913
ld a, [$cfba] ld a, [wcfba]
ld d, a ld d, a
ld a, [$cfbb] ld a, [wcfbb]
ld e, a ld e, a
ld a, $26 ld a, $26
call Predef ; indirect jump to UpdateHPBar_LoadRegisters (f9dc (3:79dc)) call Predef ; indirect jump to UpdateHPBar_LoadRegisters (f9dc (3:79dc))
@ -65,12 +65,12 @@ Func_12924: ; 12924 (4:6924)
ld bc, $15 ld bc, $15
.asm_1293a .asm_1293a
add hl, bc add hl, bc
ld de, $cf99 ld de, wcf99
ld bc, $203 ld bc, $203
call PrintNumber call PrintNumber
ld a, "/" ld a, "/"
ld [hli], a ld [hli], a
ld de, $cfba ld de, wcfba
ld bc, $203 ld bc, $203
call PrintNumber call PrintNumber
pop hl pop hl

View file

@ -1,16 +1,16 @@
Func_137aa: ; 137aa (4:77aa) Func_137aa: ; 137aa (4:77aa)
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4 cp $4
jr nz, .asm_137eb jr nz, .asm_137eb
ld a, [W_ENEMYMONNUMBER] ; $cfe8 ld a, [W_ENEMYMONNUMBER] ; W_ENEMYMONNUMBER
ld hl, $d8a8 ld hl, wd8a8
ld bc, $2c ld bc, $2c
call AddNTimes call AddNTimes
ld a, [W_ENEMYMONSTATUS] ; $cfe9 ld a, [W_ENEMYMONSTATUS] ; wcfe9
ld [hl], a ld [hl], a
call ClearScreen call ClearScreen
callab Func_372d6 callab Func_372d6
ld a, [$cf0b] ld a, [wcf0b]
cp $1 cp $1
ld de, YouWinText ld de, YouWinText
jr c, .asm_137de jr c, .asm_137de
@ -18,23 +18,23 @@ Func_137aa: ; 137aa (4:77aa)
jr z, .asm_137de jr z, .asm_137de
ld de, DrawText ld de, DrawText
.asm_137de .asm_137de
FuncCoord 6, 8 ; $c446 FuncCoord 6, 8
ld hl, Coord ld hl, Coord
call PlaceString call PlaceString
ld c, $c8 ld c, $c8
call DelayFrames call DelayFrames
jr .asm_1380a jr .asm_1380a
.asm_137eb .asm_137eb
ld a, [$cf0b] ld a, [wcf0b]
and a and a
jr nz, .asm_13813 jr nz, .asm_13813
ld hl, $cce5 ld hl, wcce5
ld a, [hli] ld a, [hli]
or [hl] or [hl]
inc hl inc hl
or [hl] or [hl]
jr z, .asm_1380a jr z, .asm_1380a
ld de, wPlayerMoney + 2 ; $d349 ld de, wPlayerMoney + 2 ; wd349
ld c, $3 ld c, $3
ld a, $b ; AddBCDPredef ld a, $b ; AddBCDPredef
call Predef call Predef
@ -42,38 +42,38 @@ Func_137aa: ; 137aa (4:77aa)
call PrintText call PrintText
.asm_1380a .asm_1380a
xor a xor a
ld [$ccd4], a ld [wccd4], a
ld a, $2a ld a, $2a
call Predef ; indirect jump to Func_3ad1c (3ad1c (e:6d1c)) call Predef ; indirect jump to Func_3ad1c (3ad1c (e:6d1c))
.asm_13813 .asm_13813
xor a xor a
ld [$d083], a ld [wd083], a
ld [$c02a], a ld [wc02a], a
ld [W_ISINBATTLE], a ; $d057 ld [W_ISINBATTLE], a ; W_ISINBATTLE
ld [W_BATTLETYPE], a ; $d05a ld [W_BATTLETYPE], a ; wd05a
ld [W_MOVEMISSED], a ; $d05f ld [W_MOVEMISSED], a ; W_MOVEMISSED
ld [W_CUROPPONENT], a ; $d059 ld [W_CUROPPONENT], a ; wd059
ld [$d11f], a ld [wd11f], a
ld [$d120], a ld [wd120], a
ld [$d078], a ld [wd078], a
ld hl, $cc2b ld hl, wcc2b
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld [wListScrollOffset], a ; $cc36 ld [wListScrollOffset], a ; wcc36
ld hl, $d060 ld hl, wd060
ld b, $18 ld b, $18
.asm_1383e .asm_1383e
ld [hli], a ld [hli], a
dec b dec b
jr nz, .asm_1383e jr nz, .asm_1383e
ld hl, $d72c ld hl, wd72c
set 0, [hl] set 0, [hl]
call WaitForSoundToFinish call WaitForSoundToFinish
call GBPalWhiteOut call GBPalWhiteOut
ld a, $ff ld a, $ff
ld [$d42f], a ld [wd42f], a
ret ret
YouWinText: ; 13853 (4:7853) YouWinText: ; 13853 (4:7853)
@ -90,10 +90,10 @@ PickUpPayDayMoneyText: ; 1386b (4:786b)
db "@" db "@"
Func_13870: ; 13870 (4:7870) Func_13870: ; 13870 (4:7870)
ld a, [$cc57] ld a, [wcc57]
and a and a
ret nz ret nz
ld a, [$d736] ld a, [wd736]
and a and a
ret nz ret nz
callab Func_c49d callab Func_c49d
@ -105,31 +105,31 @@ Func_13870: ; 13870 (4:7870)
.asm_13888 .asm_13888
callab Func_128d8 callab Func_128d8
jr z, .asm_13884 jr z, .asm_13884
ld a, [$d0db] ld a, [wd0db]
and a and a
jr z, .asm_1389e jr z, .asm_1389e
dec a dec a
jr z, .asm_13905 jr z, .asm_13905
ld [$d0db], a ld [wd0db], a
.asm_1389e .asm_1389e
FuncCoord 9, 9 ; $c45d FuncCoord 9, 9
ld hl, Coord ld hl, Coord
ld c, [hl] ld c, [hl]
ld a, [W_GRASSTILE] ld a, [W_GRASSTILE]
cp c cp c
ld a, [W_GRASSRATE] ; $d887 ld a, [W_GRASSRATE] ; W_GRASSRATE
jr z, .asm_138c4 jr z, .asm_138c4
ld a, $14 ld a, $14
cp c cp c
ld a, [W_WATERRATE] ; $d8a4 ld a, [W_WATERRATE] ; wEnemyMon1Species
jr z, .asm_138c4 jr z, .asm_138c4
ld a, [W_CURMAP] ; $d35e ld a, [W_CURMAP] ; W_CURMAP
cp REDS_HOUSE_1F cp REDS_HOUSE_1F
jr c, .asm_13912 jr c, .asm_13912
ld a, [W_CURMAPTILESET] ; $d367 ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
cp FOREST ; Viridian Forest/Safari Zone cp FOREST ; Viridian Forest/Safari Zone
jr z, .asm_13912 jr z, .asm_13912
ld a, [W_GRASSRATE] ; $d887 ld a, [W_GRASSRATE] ; W_GRASSRATE
.asm_138c4 .asm_138c4
ld b, a ld b, a
ld a, [hRandomAdd] ld a, [hRandomAdd]
@ -146,31 +146,31 @@ Func_13870: ; 13870 (4:7870)
jr .asm_138d0 jr .asm_138d0
.asm_138d7 .asm_138d7
ld c, [hl] ld c, [hl]
ld hl, W_GRASSMONS ; $d888 ld hl, W_GRASSMONS ; wd888
FuncCoord 8, 9 ; $c45c FuncCoord 8, 9
ld a, [Coord] ld a, [Coord]
cp $14 cp $14
jr nz, .asm_138e5 jr nz, .asm_138e5
ld hl, W_WATERMONS ; $d8a5 (aliases: W_ENEMYMON1HP) ld hl, W_WATERMONS ; wd8a5 (aliases: W_ENEMYMON1HP)
.asm_138e5 .asm_138e5
ld b, $0 ld b, $0
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
ld [W_CURENEMYLVL], a ; $d127 ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
ld a, [hl] ld a, [hl]
ld [$cf91], a ld [wcf91], a
ld [W_ENEMYMONID], a ld [W_ENEMYMONID], a
ld a, [$d0db] ld a, [wd0db]
and a and a
jr z, .asm_13916 jr z, .asm_13916
ld a, [W_PARTYMON1_LEVEL] ; $d18c ld a, [W_PARTYMON1_LEVEL] ; W_PARTYMON1_LEVEL
ld b, a ld b, a
ld a, [W_CURENEMYLVL] ; $d127 ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
cp b cp b
jr c, .asm_13912 jr c, .asm_13912
jr .asm_13916 jr .asm_13916
.asm_13905 .asm_13905
ld [$d0db], a ld [wd0db], a
ld a, $d2 ld a, $d2
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
@ -202,14 +202,14 @@ WildMonEncounterSlotChances: ; 13918 (4:7918)
RecoilEffect_: ; 1392c (4:792c) RecoilEffect_: ; 1392c (4:792c)
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
ld a, [W_PLAYERMOVENUM] ; $cfd2 ld a, [W_PLAYERMOVENUM] ; wcfd2
ld hl, W_PLAYERMONMAXHP ; $d023 ld hl, W_PLAYERMONMAXHP ; wd023
jr z, .asm_1393d jr z, .asm_1393d
ld a, [W_ENEMYMOVENUM] ; $cfcc ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
ld hl, W_ENEMYMONMAXHP ; $cff4 ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
.asm_1393d .asm_1393d
ld d, a ld d, a
ld a, [W_DAMAGE] ; $d0d7 ld a, [W_DAMAGE] ; W_DAMAGE
ld b, a ld b, a
ld a, [W_DAMAGE + 1] ld a, [W_DAMAGE + 1]
ld c, a ld c, a
@ -252,17 +252,17 @@ RecoilEffect_: ; 1392c (4:792c)
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
.asm_13982 .asm_13982
FuncCoord 10, 9 ; $c45e FuncCoord 10, 9
ld hl, Coord ld hl, Coord
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
ld a, $1 ld a, $1
jr z, .asm_13990 jr z, .asm_13990
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl, Coord ld hl, Coord
xor a xor a
.asm_13990 .asm_13990
ld [wListMenuID], a ; $cf94 ld [wListMenuID], a ; wListMenuID
ld a, $48 ld a, $48
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d)) call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
ld hl, HitWithRecoilText ; $799e ld hl, HitWithRecoilText ; $799e
@ -312,10 +312,10 @@ HazeEffect_: ; 139da (4:79da)
call Func_13a43 call Func_13a43
ld hl, wEnemyMonAttackMod ld hl, wEnemyMonAttackMod
call Func_13a43 call Func_13a43
ld hl, $cd12 ld hl, wcd12
ld de, W_PLAYERMONATK ld de, W_PLAYERMONATK
call Func_13a4a call Func_13a4a
ld hl, $cd26 ld hl, wcd26
ld de, W_ENEMYMONATTACK ld de, W_ENEMYMONATTACK
call Func_13a4a call Func_13a4a
ld hl, W_ENEMYMONSTATUS ld hl, W_ENEMYMONSTATUS
@ -338,7 +338,7 @@ HazeEffect_: ; 139da (4:79da)
xor a xor a
ld [W_PLAYERDISABLEDMOVE], a ld [W_PLAYERDISABLEDMOVE], a
ld [W_ENEMYDISABLEDMOVE], a ld [W_ENEMYDISABLEDMOVE], a
ld hl, $ccee ld hl, wccee
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld hl, W_PLAYERBATTSTATUS1 ld hl, W_PLAYERBATTSTATUS1
@ -384,25 +384,25 @@ StatusChangesEliminatedText: ; 13a53 (4:7a53)
db "@" db "@"
GetTrainerName_: ; 13a58 (4:7a58) GetTrainerName_: ; 13a58 (4:7a58)
ld hl, W_GRASSRATE ; $d887 ld hl, W_GRASSRATE ; W_GRASSRATE
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
and a and a
jr nz, .rival jr nz, .rival
ld hl, W_RIVALNAME ; $d34a ld hl, W_RIVALNAME ; wd34a
ld a, [W_TRAINERCLASS] ; $d031 ld a, [W_TRAINERCLASS] ; wd031
cp SONY1 cp SONY1
jr z, .rival jr z, .rival
cp SONY2 cp SONY2
jr z, .rival jr z, .rival
cp SONY3 cp SONY3
jr z, .rival jr z, .rival
ld [$d0b5], a ld [wd0b5], a
ld a, TRAINER_NAME ld a, TRAINER_NAME
ld [W_LISTTYPE], a ld [W_LISTTYPE], a
ld a, $e ld a, $e
ld [$d0b7], a ld [wPredefBank], a
call GetName call GetName
ld hl, $cd6d ld hl, wcd6d
.rival .rival
ld de, W_TRAINERNAME ld de, W_TRAINERNAME
ld bc, $d ld bc, $d

View file

@ -42,7 +42,7 @@ SubstituteEffectHandler: ; 17dad (5:7dad)
ld h, b ld h, b
ld l, c ld l, c
set 4, [hl] ;set bit 4 of flags, user now has substitute 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? bit 7, a ;battle animation is enabled?
ld hl, Func_3fba8 ; $7ba8 ;animation enabled: 0F:7BA8 ld hl, Func_3fba8 ; $7ba8 ;animation enabled: 0F:7BA8
ld b, BANK(Func_3fba8) ld b, BANK(Func_3fba8)

View file

@ -28,7 +28,7 @@ asm_27d8c: ; 27d8c (9:7d8c)
Func_27d98: ; 27d98 (9:7d98) Func_27d98: ; 27d98 (9:7d98)
call GetPredefRegisters call GetPredefRegisters
push hl push hl
ld a, [W_PLAYERMOVETYPE] ; $cfd5 ld a, [W_PLAYERMOVETYPE] ; wcfd5
asm_27d9f: ; 27d9f (9:7d9f) asm_27d9f: ; 27d9f (9:7d9f)
add a add a
ld hl, TypeNamePointers ; $7dae ld hl, TypeNamePointers ; $7dae
@ -54,7 +54,7 @@ SaveTrainerName: ; 27e4a (9:7e4a)
ld a,[hli] ld a,[hli]
ld h,[hl] ld h,[hl]
ld l,a ld l,a
ld de,$CD6D ld de,wcd6d
.CopyCharacter .CopyCharacter
ld a,[hli] ld a,[hli]
ld [de],a ld [de],a
@ -157,11 +157,11 @@ CooltrainerFName: ; 27f79 (9:7f79)
db "COOLTRAINER♀@" db "COOLTRAINER♀@"
FocusEnergyEffect_: ; 27f86 (9:7f86) FocusEnergyEffect_: ; 27f86 (9:7f86)
ld hl, W_PLAYERBATTSTATUS2 ; $d063 ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr z, .asm_27f91 jr z, .asm_27f91
ld hl, W_ENEMYBATTSTATUS2 ; $d068 ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
.asm_27f91 .asm_27f91
bit 2, [hl] ; is mon already using focus energy? bit 2, [hl] ; is mon already using focus energy?
jr nz, .asm_27fa5 jr nz, .asm_27fa5

View file

@ -1,15 +1,15 @@
LeechSeedEffect_: ; 2bea9 (a:7ea9) LeechSeedEffect_: ; 2bea9 (a:7ea9)
callab MoveHitTest callab MoveHitTest
ld a, [W_MOVEMISSED] ; $d05f ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a and a
jr nz, .asm_2bee7 jr nz, .asm_2bee7
ld hl, W_ENEMYBATTSTATUS2 ; $d068 ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
ld de, W_ENEMYMONTYPE1 ; $cfea (aliases: W_ENEMYMONTYPES) ld de, W_ENEMYMONTYPE1 ; wcfea (aliases: W_ENEMYMONTYPES)
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr z, .asm_2bec8 jr z, .asm_2bec8
ld hl, W_PLAYERBATTSTATUS2 ; $d063 ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
ld de, W_PLAYERMONTYPE1 ; $d019 (aliases: W_PLAYERMONTYPES) ld de, W_PLAYERMONTYPE1 ; wd019 (aliases: W_PLAYERMONTYPES)
.asm_2bec8 .asm_2bec8
ld a, [de] ld a, [de]
cp GRASS cp GRASS

View file

@ -223,7 +223,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
rla rla
sla c sla c
rla rla
ld [$D09F],a ; tile select ld [wd09f],a ; tile select
ld a,[hli] ; sound ld a,[hli] ; sound
ld [wAnimSoundID],a ; store sound ld [wAnimSoundID],a ; store sound
ld a,[hli] ; subanimation ID ld a,[hli] ; subanimation ID
@ -243,7 +243,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
push hl push hl
ld a,[rOBP0] ld a,[rOBP0]
push af push af
ld a,[$CC79] ld a,[wcc79]
ld [rOBP0],a ld [rOBP0],a
call LoadAnimationTileset call LoadAnimationTileset
call LoadSubanimation call LoadSubanimation
@ -328,7 +328,7 @@ GetSubanimationTransform2: ; 781ca (1e:41ca)
; loads tile patterns for battle animations ; loads tile patterns for battle animations
LoadAnimationTileset: ; 781d2 (1e:41d2) LoadAnimationTileset: ; 781d2 (1e:41d2)
ld a,[$D09F] ; tileset select ld a,[wd09f] ; tileset select
add a add a
add a add a
ld hl,AnimationTilesetPointers ld hl,AnimationTilesetPointers
@ -336,14 +336,14 @@ LoadAnimationTileset: ; 781d2 (1e:41d2)
ld d,0 ld d,0
add hl,de add hl,de
ld a,[hli] ld a,[hli]
ld [$D07D],a ; number of tiles ld [wd07d],a ; number of tiles
ld a,[hli] ld a,[hli]
ld e,a ld e,a
ld a,[hl] ld a,[hl]
ld d,a ; de = address of tileset ld d,a ; de = address of tileset
ld hl,$8310 ; destination address in VRAM ld hl,$8310 ; destination address in VRAM
ld b, BANK(AnimationTileset1) ; ROM bank ld b, BANK(AnimationTileset1) ; ROM bank
ld a,[$D07D] ld a,[wd07d]
ld c,a ; number of tiles ld c,a ; number of tiles
jp CopyVideoData ; load tileset jp CopyVideoData ; load tileset
@ -394,7 +394,7 @@ MoveAnimation: ; 78d5e (1e:4d5e)
.MoveAnimation .MoveAnimation
; check if battle animations are disabled in the options ; check if battle animations are disabled in the options
ld a,[$D355] ld a,[W_OPTIONS]
bit 7,a bit 7,a
jr nz,.AnimationsDisabled jr nz,.AnimationsDisabled
call ShareMoveAnimations call ShareMoveAnimations
@ -408,11 +408,11 @@ MoveAnimation: ; 78d5e (1e:4d5e)
.AnimationFinished .AnimationFinished
call WaitForSoundToFinish call WaitForSoundToFinish
xor a xor a
ld [$D096],a ld [W_SUBANIMSUBENTRYADDR],a
ld [$D09B],a ld [wd09b],a
ld [$D08B],a ld [W_SUBANIMTRANSFORM],a
dec a dec a
ld [$CF07],a ld [wAnimSoundID],a
pop af pop af
pop bc pop bc
pop de pop de
@ -443,7 +443,7 @@ ShareMoveAnimations: ; 78da6 (1e:4da6)
ret ret
Func_78dbd: ; 78dbd (1e:4dbd) Func_78dbd: ; 78dbd (1e:4dbd)
ld a,[$CC5B] ld a,[wcc5b]
and a and a
ret z ret z
dec a dec a
@ -517,14 +517,14 @@ Func_78e01: ; 78e01 (1e:4e01)
ret ret
Func_78e23: ; 78e23 (1e:4e23) Func_78e23: ; 78e23 (1e:4e23)
ld a, [$cf1b] ld a, [wcf1b]
and a and a
ld a, $e4 ld a, $e4
jr z, .asm_78e47 jr z, .asm_78e47
ld a, $f0 ld a, $f0
ld [$cc79], a ld [wcc79], a
ld b, $e4 ld b, $e4
ld a, [W_ANIMATIONID] ; $d07c ld a, [W_ANIMATIONID] ; W_ANIMATIONID
cp $aa cp $aa
jr c, .asm_78e3f jr c, .asm_78e3f
cp $ae cp $ae
@ -538,7 +538,7 @@ Func_78e23: ; 78e23 (1e:4e23)
ret ret
.asm_78e47 .asm_78e47
ld a, $e4 ld a, $e4
ld [$cc79], a ld [wcc79], a
ld [rOBP0], a ; $ff48 ld [rOBP0], a ; $ff48
ld a, $6c ld a, $6c
ld [rOBP1], a ; $ff49 ld [rOBP1], a ; $ff49
@ -724,7 +724,7 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
db $FF ; terminator db $FF ; terminator
DoBallTossSpecialEffects: ; 78f3e (1e:4f3e) DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
ld a,[$CF91] ld a,[wcf91]
cp a,3 ; is it a Master Ball or Ultra Ball? cp a,3 ; is it a Master Ball or Ultra Ball?
jr nc,.skipFlashingEffect jr nc,.skipFlashingEffect
.flashingEffect ; do a flashing effect if it's Master Ball or Ultra Ball .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] ld a,[W_ISINBATTLE]
cp a,02 ; is it a trainer battle? cp a,02 ; is it a trainer battle?
jr z,.isTrainerBattle jr z,.isTrainerBattle
ld a,[$d11e] ld a,[wd11e]
cp a,$10 ; is the enemy pokemon the Ghost Marowak? cp a,$10 ; is the enemy pokemon the Ghost Marowak?
ret nz ret nz
; if the enemy pokemon is the Ghost Marowak, make it dodge during the last 3 frames ; 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 dec a
ret nz ret nz
; if it's the end of the ball shaking subanimation, check if more shakes are left and restart the subanimation ; 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 dec a ; decrement number of shakes
ld [$cd3d],a ld [wWhichTrade],a
ret z ret z
; if there are shakes left, restart the subanimation ; if there are shakes left, restart the subanimation
ld a,[W_SUBANIMSUBENTRYADDR] ld a,[W_SUBANIMSUBENTRYADDR]
@ -856,7 +856,7 @@ DoExplodeSpecialEffects: ; 79009 (1e:5009)
cp a,1 ; is it the end of the subanimation? cp a,1 ; is it the end of the subanimation?
jr nz,FlashScreenEveryFourFrameBlocks jr nz,FlashScreenEveryFourFrameBlocks
; if it's the end of the subanimation, make the attacking pokemon disappear ; if it's the end of the subanimation, make the attacking pokemon disappear
FuncCoord 1, 5 ; $c405 FuncCoord 1, 5
ld hl,Coord ld hl,Coord
jp AnimationHideMonPic ; make pokemon disappear 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 ; so that there are two musical notes flying towards the defending pokemon
DoGrowlSpecialEffects: ; 790bc (1e:50bc) DoGrowlSpecialEffects: ; 790bc (1e:50bc)
ld hl,wOAMBuffer ; OAM buffer ld hl,wOAMBuffer ; OAM buffer
ld de,$c310 ld de,wOAMBuffer + $10
ld bc,$10 ld bc,$10
call CopyData ; copy the musical note graphic call CopyData ; copy the musical note graphic
ld a,[W_SUBANIMCOUNTER] ld a,[W_SUBANIMCOUNTER]
@ -1094,8 +1094,8 @@ CallWithTurnFlipped: ; 79155 (1e:5155)
; flashes the screen for an extended period (48 frames) ; flashes the screen for an extended period (48 frames)
AnimationFlashScreenLong: ; 79165 (1e:5165) AnimationFlashScreenLong: ; 79165 (1e:5165)
ld a,3 ; cycle through the palettes 3 times ld a,3 ; cycle through the palettes 3 times
ld [$D08A],a ld [wd08a],a
ld a,[$cf1b] ; running on SGB? ld a,[wcf1b] ; running on SGB?
and a and a
ld hl,FlashScreenLongMonochrome ld hl,FlashScreenLongMonochrome
jr z,.loop jr z,.loop
@ -1110,9 +1110,9 @@ AnimationFlashScreenLong: ; 79165 (1e:5165)
call FlashScreenLongDelay call FlashScreenLongDelay
jr .innerLoop jr .innerLoop
.endOfPalettes .endOfPalettes
ld a,[$D08A] ld a,[wd08a]
dec a dec a
ld [$D08A],a ld [wd08a],a
pop hl pop hl
jr nz,.loop jr nz,.loop
ret ret
@ -1152,8 +1152,8 @@ FlashScreenLongSGB: ; 7919b (1e:519b)
; causes a delay of 2 frames for the first cycle ; causes a delay of 2 frames for the first cycle
; causes a delay of 1 frame for the second and third cycles ; causes a delay of 1 frame for the second and third cycles
FlashScreenLongDelay: ; 791a8 (1e:51a8) FlashScreenLongDelay: ; 791a8 (1e:51a8)
ld a,[$D08A] ld a,[wd08a]
cp a,4 ; never true since [$D08A] starts at 3 cp a,4 ; never true since [wd08a] starts at 3
ld c,4 ld c,4
jr z,.delayFrames jr z,.delayFrames
cp a,3 cp a,3
@ -1215,7 +1215,7 @@ Func_791f9: ; 791f9 (1e:51f9)
ld bc, $4040 ld bc, $4040
Func_791fc: ; 791fc (1e:51fc) Func_791fc: ; 791fc (1e:51fc)
ld a, [$cf1b] ld a, [wcf1b]
and a and a
ld a, b ld a, b
jr z, .asm_79204 jr z, .asm_79204
@ -1243,23 +1243,23 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
; scroll. It's hard to describe, but it's the main animation ; scroll. It's hard to describe, but it's the main animation
; in Surf/Mist/Toxic. ; in Surf/Mist/Toxic.
xor a xor a
ld [$d09f], a ld [wd09f], a
call LoadAnimationTileset call LoadAnimationTileset
ld d, $20 ld d, $20
ld a, $f0 ld a, $f0
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
ld a, $71 ld a, $71
ld [$d09f], a ld [wd09f], a
.asm_79228 .asm_79228
ld a, $10 ld a, $10
ld [W_BASECOORDY], a ; $d082 ld [W_BASECOORDY], a ; wd082
ld a, $0 ld a, $0
ld [$d08a], a ld [wd08a], a
call Func_79246 call Func_79246
ld a, $18 ld a, $18
ld [W_BASECOORDY], a ; $d082 ld [W_BASECOORDY], a ; wd082
ld a, $20 ld a, $20
ld [$d08a], a ld [wd08a], a
call Func_79246 call Func_79246
dec d dec d
jr nz, .asm_79228 jr nz, .asm_79228
@ -1268,24 +1268,24 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
Func_79246: ; 79246 (1e:5246) Func_79246: ; 79246 (1e:5246)
ld hl, wOAMBuffer ld hl, wOAMBuffer
.asm_79249 .asm_79249
ld a, [W_BASECOORDY] ; $d082 ld a, [W_BASECOORDY] ; wd082
ld [hli], a ld [hli], a
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
add $1b add $1b
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
ld [hli], a ld [hli], a
ld a, [$d09f] ld a, [wd09f]
ld [hli], a ld [hli], a
xor a xor a
ld [hli], a ld [hli], a
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
cp $90 cp $90
jr c, .asm_79249 jr c, .asm_79249
sub $a8 sub $a8
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
ld a, [W_BASECOORDY] ; $d082 ld a, [W_BASECOORDY] ; wd082
add $10 add $10
ld [W_BASECOORDY], a ; $d082 ld [W_BASECOORDY], a ; wd082
cp $70 cp $70
jr c, .asm_79249 jr c, .asm_79249
call AnimationCleanOAM call AnimationCleanOAM
@ -1296,15 +1296,15 @@ AnimationSlideMonUp: ; 7927a (1e:527a)
ld c, $7 ld c, $7
ld a, [H_WHOSETURN] ld a, [H_WHOSETURN]
and a and a
ld hl, $c419 ld hl, wTileMap + $79
ld de, $c405 ld de, wTileMap + $65
ld a, $30 ld a, $30
jr z, .asm_79291 jr z, .asm_79291
ld hl, $c3c0 ld hl, wTileMap + $20
ld de, $c3ac ld de, wTileMap + $c
ld a, $ff ld a, $ff
.asm_79291 .asm_79291
ld [$d09f], a ld [wd09f], a
jp Func_792bf jp Func_792bf
AnimationSlideMonDown: ; 79297 (1e:5297) AnimationSlideMonDown: ; 79297 (1e:5297)
@ -1328,7 +1328,7 @@ AnimationSlideMonOut: ; 792af (1e:52af)
; Slides the mon's sprite out of the screen horizontally. ; Slides the mon's sprite out of the screen horizontally.
ld e, $8 ld e, $8
ld a, $3 ld a, $3
ld [W_SUBANIMTRANSFORM], a ; $d08b ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
jp Func_795f8 jp Func_795f8
AnimationSlideEnemyMonOut: ; 792b9 (1e:52b9) AnimationSlideEnemyMonOut: ; 792b9 (1e:52b9)
@ -1356,13 +1356,13 @@ Func_792bf: ; 792bf (1e:52bf)
jr nz, .asm_792c4 jr nz, .asm_792c4
ld a, [H_WHOSETURN] ld a, [H_WHOSETURN]
and a and a
ld hl, $c47d ld hl, wTileMap + $dd
jr z, .asm_792e2 jr z, .asm_792e2
ld hl, $c424 ld hl, wTileMap + $84
.asm_792e2 .asm_792e2
ld a, [$d09f] ld a, [wd09f]
inc a inc a
ld [$d09f], a ld [wd09f], a
ld c, $7 ld c, $7
.asm_792eb .asm_792eb
ld [hli], a ld [hli], a
@ -1409,7 +1409,7 @@ Func_79329: ; 79329 (1e:5329)
add $8 add $8
ld e, a ld e, a
ld [hli], a ld [hli], a
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
ld [hli], a ld [hli], a
ld a, d ld a, d
ld [hli], a ld [hli], a
@ -1424,7 +1424,7 @@ Func_79337: ; 79337 (1e:5337)
Func_79339: ; 79339 (1e:5339) Func_79339: ; 79339 (1e:5339)
ld de, $4 ld de, $4
.asm_7933c .asm_7933c
ld a, [$d08a] ld a, [wd08a]
ld b, a ld b, a
ld a, [hl] ld a, [hl]
add b add b
@ -1447,7 +1447,7 @@ Func_79350: ; 79350 (1e:5350)
Func_79352: ; 79352 (1e:5352) Func_79352: ; 79352 (1e:5352)
ld de, $4 ld de, $4
.asm_79355 .asm_79355
ld a, [$d08a] ld a, [wd08a]
ld b, a ld b, a
ld a, [hl] ld a, [hl]
add b add b
@ -1489,9 +1489,9 @@ AnimationBlinkMon: ; 7936f (1e:536f)
AnimationFlashMonPic: ; 79389 (1e:5389) AnimationFlashMonPic: ; 79389 (1e:5389)
; Flashes the mon's sprite on and off ; Flashes the mon's sprite on and off
ld a, [W_PLAYERMONID] ld a, [W_PLAYERMONID]
ld [$ceea], a ld [wHPBarMaxHP + 1], a
ld a, [$cfe5] ld a, [wcfe5]
ld [$cee9], a ld [wHPBarMaxHP], a
jp Func_79793 jp Func_79793
AnimationFlashEnemyMonPic: ; 79398 (1e:5398) AnimationFlashEnemyMonPic: ; 79398 (1e:5398)
@ -1517,11 +1517,11 @@ AnimationShakeBackAndForth: ; 793b1 (1e:53b1)
; The mon's sprite disappears after this animation. ; The mon's sprite disappears after this animation.
ld a, [H_WHOSETURN] ld a, [H_WHOSETURN]
and a and a
ld hl, $c404 ld hl, wTileMap + $64
ld de, $c406 ld de, wTileMap + $66
jr z, .asm_793c2 jr z, .asm_793c2
ld hl, $c3ab ld hl, wTileMap + $b
ld de, $c3ad ld de, wTileMap + $d
.asm_793c2 .asm_793c2
xor a xor a
@ -1565,10 +1565,10 @@ AnimationMoveMonHorizontally: ; 793f9 (1e:53f9)
call AnimationHideMonPic call AnimationHideMonPic
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
FuncCoord 2, 5 ; $c406 FuncCoord 2, 5
ld hl, Coord ld hl, Coord
jr z, .asm_79407 jr z, .asm_79407
FuncCoord 11, 0 ; $c3ab FuncCoord 11, 0
ld hl, Coord ld hl, Coord
.asm_79407 .asm_79407
xor a xor a
@ -1597,14 +1597,14 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
and a and a
jr z, .asm_79435 jr z, .asm_79435
ld a, $d8 ld a, $d8
ld [$d08a], a ld [wd08a], a
ld a, $50 ld a, $50
ld [W_SUBANIMTRANSFORM], a ; $d08b ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
jr .asm_7943c jr .asm_7943c
.asm_79435 .asm_79435
xor a xor a
ld [$d08a], a ld [wd08a], a
ld [W_SUBANIMTRANSFORM], a ; $d08b ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
.asm_7943c .asm_7943c
ld d, $7a ld d, $7a
ld c, $3 ld c, $3
@ -1619,12 +1619,12 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
ld a, [hl] ld a, [hl]
cp $ff cp $ff
jr z, .asm_7946f jr z, .asm_7946f
ld a, [$d08a] ld a, [wd08a]
add [hl] add [hl]
ld [de], a ld [de], a
inc de inc de
inc hl inc hl
ld a, [W_SUBANIMTRANSFORM] ; $d08b ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
add [hl] add [hl]
ld [de], a ld [de], a
inc hl inc hl
@ -1680,24 +1680,24 @@ AnimationSquishMonPic: ; 794a1 (1e:54a1)
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr z, .asm_794b1 jr z, .asm_794b1
FuncCoord 16, 0 ; $c3b0 FuncCoord 16, 0
ld hl, Coord ld hl, Coord
FuncCoord 14, 0 ; $c3ae FuncCoord 14, 0
ld de, Coord ld de, Coord
jr .asm_794b7 jr .asm_794b7
.asm_794b1 .asm_794b1
FuncCoord 5, 5 ; $c409 FuncCoord 5, 5
ld hl, Coord ld hl, Coord
FuncCoord 3, 5 ; $c407 FuncCoord 3, 5
ld de, Coord ld de, Coord
.asm_794b7 .asm_794b7
push de push de
xor a xor a
ld [$d09f], a ld [wd09f], a
call Func_794d4 call Func_794d4
pop hl pop hl
ld a, $1 ld a, $1
ld [$d09f], a ld [wd09f], a
call Func_794d4 call Func_794d4
pop bc pop bc
dec c dec c
@ -1712,7 +1712,7 @@ Func_794d4: ; 794d4 (1e:54d4)
push bc push bc
push hl push hl
ld c, $3 ld c, $3
ld a, [$d09f] ld a, [wd09f]
cp $0 cp $0
jr nz, .asm_794e7 jr nz, .asm_794e7
call Func_7985b call Func_7985b
@ -1743,9 +1743,9 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
ld bc, $3028 ld bc, $3028
.asm_79506 .asm_79506
ld a, b ld a, b
ld [W_BASECOORDY], a ; $d082 ld [W_BASECOORDY], a ; wd082
ld a, c ld a, c
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
ld bc, $501 ld bc, $501
call Func_79517 call Func_79517
jp AnimationCleanOAM jp AnimationCleanOAM
@ -1753,13 +1753,13 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
Func_79517: ; 79517 (1e:5517) Func_79517: ; 79517 (1e:5517)
push bc push bc
xor a xor a
ld [$d09f], a ld [wd09f], a
call LoadAnimationTileset call LoadAnimationTileset
pop bc pop bc
ld d, $7a ld d, $7a
ld hl, wOAMBuffer ld hl, wOAMBuffer
push bc push bc
ld a, [W_BASECOORDY] ; $d082 ld a, [W_BASECOORDY] ; wd082
ld e, a ld e, a
.asm_7952a .asm_7952a
call Func_79329 call Func_79329
@ -1768,12 +1768,12 @@ Func_79517: ; 79517 (1e:5517)
call DelayFrame call DelayFrame
pop bc pop bc
ld a, b ld a, b
ld [$d08a], a ld [wd08a], a
.asm_79538 .asm_79538
push bc push bc
ld hl, wOAMBuffer ld hl, wOAMBuffer
.asm_7953c .asm_7953c
ld a, [W_BASECOORDY] ; $d082 ld a, [W_BASECOORDY] ; wd082
add $8 add $8
ld e, a ld e, a
ld a, [hl] ld a, [hl]
@ -1784,9 +1784,9 @@ Func_79517: ; 79517 (1e:5517)
jr .asm_79554 jr .asm_79554
.asm_7954b .asm_7954b
ld [hl], $0 ld [hl], $0
ld a, [$d08a] ld a, [wd08a]
dec a dec a
ld [$d08a], a ld [wd08a], a
.asm_79554 .asm_79554
ld de, $4 ld de, $4
add hl, de add hl, de
@ -1794,7 +1794,7 @@ Func_79517: ; 79517 (1e:5517)
jr nz, .asm_7953c jr nz, .asm_7953c
call DelayFrames call DelayFrames
pop bc pop bc
ld a, [$d08a] ld a, [wd08a]
and a and a
jr nz, .asm_79538 jr nz, .asm_79538
ret ret
@ -1838,7 +1838,7 @@ UpwardBallsAnimXCoordinatesEnemyTurn: ; 79598 (1e:5598)
AnimationMinimizeMon: ; 7959f (1e:559f) AnimationMinimizeMon: ; 7959f (1e:559f)
; Changes the mon's sprite to a mini black sprite. Used by the ; Changes the mon's sprite to a mini black sprite. Used by the
; Minimize animation. ; Minimize animation.
ld hl, $c6e8 ld hl, wTempPic
push hl push hl
xor a xor a
ld bc, $310 ld bc, $310
@ -1883,7 +1883,7 @@ AnimationSlideMonDownAndHide: ; 795c9 (1e:55c9)
dec c dec c
jr nz, .asm_795cd jr nz, .asm_795cd
call AnimationHideMonPic call AnimationHideMonPic
ld hl, $c6e8 ld hl, wTempPic
ld bc, $0310 ld bc, $0310
xor a xor a
call FillMemory call FillMemory
@ -1893,11 +1893,11 @@ Func_795f8: ; 795f8 (1e:55f8)
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr z, .asm_79602 jr z, .asm_79602
FuncCoord 12, 0 ; $c3ac FuncCoord 12, 0
ld hl, Coord ld hl, Coord
jr .asm_79605 jr .asm_79605
.asm_79602 .asm_79602
FuncCoord 0, 5 ; $c404 FuncCoord 0, 5
ld hl, Coord ld hl, Coord
.asm_79605 .asm_79605
ld d, $8 ld d, $8
@ -1924,7 +1924,7 @@ Func_795f8: ; 795f8 (1e:55f8)
pop de pop de
dec b dec b
jr nz, .asm_7960a jr nz, .asm_7960a
ld a, [W_SUBANIMTRANSFORM] ; $d08b ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
ld c, a ld c, a
call DelayFrames call DelayFrames
pop hl pop hl
@ -1964,7 +1964,7 @@ Func_79652: ; 79652 (1e:5652)
jr z, .asm_7965d jr z, .asm_7965d
ld hl, $9000 ld hl, $9000
.asm_7965d .asm_7965d
ld de, $c6e8 ld de, wTempPic
ld bc, $31 ld bc, $31
jp CopyVideoData jp CopyVideoData
@ -2031,38 +2031,38 @@ WavyScreenLineOffsets: ; 796bf (1e:56bf)
AnimationSubstitute: ; 796e0 (1e:56e0) AnimationSubstitute: ; 796e0 (1e:56e0)
; Changes the pokemon's sprite to the mini sprite ; Changes the pokemon's sprite to the mini sprite
ld hl, $c6e8 ld hl, wTempPic
xor a xor a
ld bc, $0310 ld bc, $0310
call FillMemory call FillMemory
ld a, [$fff3] ld a, [$fff3]
and a and a
jr z, .asm_79715 ; 0x796ed $26 jr z, .asm_79715 ; 0x796ed $26
ld hl, SlowbroSprite ; $4780 ; facing down sprite ld hl, SlowbroSprite ; facing down sprite
ld de, $c808 ld de, wTempPic + $120
call CopySlowbroSpriteData call CopySlowbroSpriteData
ld hl, SlowbroSprite + $10 ; $4790 ld hl, SlowbroSprite + $10
ld de, $c878 ld de, wTempPic + $120 + $70
call CopySlowbroSpriteData call CopySlowbroSpriteData
ld hl, SlowbroSprite + $20 ; $47a0 ld hl, SlowbroSprite + $20
ld de, $c818 ld de, wTempPic + $120 + $10
call CopySlowbroSpriteData call CopySlowbroSpriteData
ld hl, SlowbroSprite + $30 ; $47b0 ld hl, SlowbroSprite + $30
ld de, $c888 ld de, wTempPic + $120 + $10 + $70
call CopySlowbroSpriteData call CopySlowbroSpriteData
jr .asm_79739 ; 0x79713 $24 jr .asm_79739
.asm_79715 .asm_79715
ld hl, SlowbroSprite + $40 ; $47c0 ; facing up sprite ld hl, SlowbroSprite + $40 ; facing up sprite
ld de, $c878 ld de, wTempPic + $120 + $70
call CopySlowbroSpriteData call CopySlowbroSpriteData
ld hl, SlowbroSprite + $50 ; $47d0 ld hl, SlowbroSprite + $50
ld de, $c8e8 ld de, wTempPic + $120 + $e0
call CopySlowbroSpriteData call CopySlowbroSpriteData
ld hl, SlowbroSprite + $60 ; $47e0 ld hl, SlowbroSprite + $60
ld de, $c888 ld de, wTempPic + $120 + $80
call CopySlowbroSpriteData call CopySlowbroSpriteData
ld hl, SlowbroSprite + $70 ; $47f0 ld hl, SlowbroSprite + $70
ld de, $c8f8 ld de, wTempPic + $120 + $f0
call CopySlowbroSpriteData call CopySlowbroSpriteData
.asm_79739 .asm_79739
call Func_79652 call Func_79652
@ -2076,11 +2076,11 @@ CopySlowbroSpriteData: ; 7973f (1e:573f)
Func_79747: ; 79747 (1e:5747) Func_79747: ; 79747 (1e:5747)
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
ld hl, $ccf7 ld hl, wccf7
ld a, [W_PLAYERBATTSTATUS2] ; $d063 ld a, [W_PLAYERBATTSTATUS2] ; W_PLAYERBATTSTATUS2
jr z, .asm_79758 jr z, .asm_79758
ld hl, $ccf3 ld hl, wccf3
ld a, [W_ENEMYBATTSTATUS2] ; $d068 ld a, [W_ENEMYBATTSTATUS2] ; W_ENEMYBATTSTATUS2
.asm_79758 .asm_79758
push hl push hl
bit 4, a bit 4, a
@ -2117,31 +2117,31 @@ AnimationBoundUpAndDown: ; 7977a (1e:577a)
AnimationTransformMon: ; 79787 (1e:5787) AnimationTransformMon: ; 79787 (1e:5787)
; Redraws this mon's sprite as the back/front sprite of the opposing mon. ; Redraws this mon's sprite as the back/front sprite of the opposing mon.
; Used in Transform. ; Used in Transform.
ld a, [$cfe5] ld a, [wcfe5]
ld [$ceea], a ld [wHPBarMaxHP + 1], a
ld a, [W_PLAYERMONID] ld a, [W_PLAYERMONID]
ld [$cee9], a ld [wHPBarMaxHP], a
Func_79793: ; 79793 (1e:5793) Func_79793: ; 79793 (1e:5793)
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr z, .asm_797b0 jr z, .asm_797b0
ld a, [$cee9] ld a, [wHPBarMaxHP]
ld [$cf91], a ld [wcf91], a
ld [$d0b5], a ld [wd0b5], a
xor a xor a
ld [W_SPRITEFLIPPED], a ld [W_SPRITEFLIPPED], a
call GetMonHeader call GetMonHeader
FuncCoord 12, 0 ; $c3ac FuncCoord 12, 0
ld hl, Coord ld hl, Coord
call LoadFrontSpriteByMonIndex call LoadFrontSpriteByMonIndex
jr .asm_797d3 jr .asm_797d3
.asm_797b0 .asm_797b0
ld a, [$cfd9] ld a, [wcfd9]
push af push af
ld a, [$ceea] ld a, [wHPBarMaxHP + 1]
ld [$cfd9], a ld [wcfd9], a
ld [$d0b5], a ld [wd0b5], a
call GetMonHeader call GetMonHeader
ld a, $4 ld a, $4
call Predef ; indirect jump to LoadMonBackSprite (3f103 (f:7103)) call Predef ; indirect jump to LoadMonBackSprite (3f103 (f:7103))
@ -2150,7 +2150,7 @@ Func_79793: ; 79793 (1e:5793)
call Func_79820 call Func_79820
call Func_79aae call Func_79aae
pop af pop af
ld [$cfd9], a ld [wcfd9], a
.asm_797d3 .asm_797d3
ld b, $1 ld b, $1
jp GoPAL_SET jp GoPAL_SET
@ -2168,13 +2168,13 @@ AnimationHideEnemyMonPic: ; 797d8 (1e:57d8)
Func_797e8: ; 797e8 (1e:57e8) Func_797e8: ; 797e8 (1e:57e8)
push bc push bc
push de push de
ld [$d09f], a ld [wd09f], a
call LoadAnimationTileset call LoadAnimationTileset
pop de pop de
pop bc pop bc
xor a xor a
ld e, a ld e, a
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
ld hl, wOAMBuffer ld hl, wOAMBuffer
.asm_797fa .asm_797fa
call Func_79329 call Func_79329
@ -2294,25 +2294,25 @@ Func_7986f: ; 7986f (1e:586f)
ld a,[W_PLAYERMONID] ; get number of current monster ld a,[W_PLAYERMONID] ; get number of current monster
jr .Continue jr .Continue
.next .next
ld a,[$CFE5] ld a,[wcfe5]
.Continue .Continue
push hl push hl
call GetCryData call GetCryData
ld b,a ld b,a
pop hl pop hl
ld a,[$C0F1] ld a,[wc0f1]
add [hl] add [hl]
ld [$C0F1],a ld [wc0f1],a
inc hl inc hl
ld a,[$C0F2] ld a,[wc0f2]
add [hl] add [hl]
ld [$C0F2],a ld [wc0f2],a
jr .done jr .done
.NotCryMove .NotCryMove
ld a,[hli] ld a,[hli]
ld [$C0F1],a ld [wc0f1],a
ld a,[hli] ld a,[hli]
ld [$C0F2],a ld [wc0f2],a
.done .done
ld a,b ld a,b
ret ret
@ -2510,7 +2510,7 @@ Func_79aae: ; 79aae (1e:5aae)
Func_79aba: ; 79aba (1e:5aba) Func_79aba: ; 79aba (1e:5aba)
call GetPredefRegisters call GetPredefRegisters
ld a, [$cd6c] ld a, [wcd6c]
and a and a
jr nz, .asm_79ac8 jr nz, .asm_79ac8
ld de, Unknown_79b02 ; $5b02 ld de, Unknown_79b02 ; $5b02
@ -2599,7 +2599,7 @@ AnimationLeavesFalling: ; 79c74 (1e:5c74)
; in Razor Leaf's animation. ; in Razor Leaf's animation.
ld a, [$ff48] ld a, [$ff48]
push af push af
ld a, [$cc79] ld a, [wcc79]
ld [$ff48], a ld [$ff48], a
ld d, $37 ld d, $37
ld a, $3 ld a, $3
@ -2636,7 +2636,7 @@ Func_79c97: ; 79c97 (1e:5c97)
push hl push hl
push de push de
ld a, [hl] ld a, [hl]
ld [$d08a], a ld [wd08a], a
call Func_79d16 call Func_79d16
call Func_79cdb call Func_79cdb
pop de pop de
@ -2645,7 +2645,7 @@ Func_79c97: ; 79c97 (1e:5c97)
ld e, l ld e, l
ld d, h ld d, h
pop hl pop hl
ld a, [$d08a] ld a, [wd08a]
ld [hli], a ld [hli], a
pop bc pop bc
dec c dec c
@ -2668,7 +2668,7 @@ Func_79cdb: ; 79cdb (1e:5cdb)
ld a, $a0 ld a, $a0
.asm_79ce8 .asm_79ce8
ld [hli], a ld [hli], a
ld a, [$d08a] ld a, [wd08a]
ld b, a ld b, a
ld de, Unknown_79d0d ld de, Unknown_79d0d
and $7f and $7f
@ -2702,7 +2702,7 @@ Unknown_79d0d: ; 79d0d (1e:5d0d)
db $00,$01,$03,$05,$07,$09,$0B,$0D,$0F db $00,$01,$03,$05,$07,$09,$0B,$0D,$0F
Func_79d16: ; 79d16 (1e:5d16) Func_79d16: ; 79d16 (1e:5d16)
ld a, [$d08a] ld a, [wd08a]
inc a inc a
ld b, a ld b, a
and $7f and $7f
@ -2712,11 +2712,11 @@ Func_79d16: ; 79d16 (1e:5d16)
and $80 and $80
xor $80 xor $80
.asm_79d26 .asm_79d26
ld [$d08a], a ld [wd08a], a
ret ret
Func_79d2a: ; 79d2a (1e:5d2a) Func_79d2a: ; 79d2a (1e:5d2a)
ld hl, $c301 ld hl, wOAMBuffer + $01
ld de, Unknown_79d3e ld de, Unknown_79d3e
ld a, [W_SUBANIMTRANSFORM] ld a, [W_SUBANIMTRANSFORM]
ld c, a ld c, a
@ -2830,7 +2830,7 @@ TossBallAnimation: ; 79e16 (1e:5e16)
ld a,[W_ISINBATTLE] ld a,[W_ISINBATTLE]
cp a,2 cp a,2
jr z,.BlockBall ; if in trainer battle, play different animation jr z,.BlockBall ; if in trainer battle, play different animation
ld a,[$D11E] ld a,[wd11e]
ld b,a ld b,a
; upper nybble: how many animations (from PokeBallAnimations) to play ; upper nybble: how many animations (from PokeBallAnimations) to play
@ -2843,11 +2843,11 @@ TossBallAnimation: ; 79e16 (1e:5e16)
; store these for later ; store these for later
ld a,b ld a,b
and a,$F and a,$F
ld [$CD3D],a ld [wWhichTrade],a
ld hl,.PokeBallAnimations ld hl,.PokeBallAnimations
; choose which toss animation to use ; choose which toss animation to use
ld a,[$CF91] ld a,[wcf91]
cp a,POKE_BALL cp a,POKE_BALL
ld b,TOSS_ANIM ld b,TOSS_ANIM
jr z,.done jr z,.done
@ -2885,7 +2885,7 @@ TossBallAnimation: ; 79e16 (1e:5e16)
Func_79e6a: ; 79e6a (1e:5e6a) Func_79e6a: ; 79e6a (1e:5e6a)
call WaitForSoundToFinish call WaitForSoundToFinish
ld a, [$d05b] ld a, [wd05b]
and $7f and $7f
ret z ret z
cp $a cp $a
@ -2901,8 +2901,8 @@ Func_79e6a: ; 79e6a (1e:5e6a)
ld b, $1 ld b, $1
ld c, (SFX_08_51 - SFX_Headers_08) / 3 ld c, (SFX_08_51 - SFX_Headers_08) / 3
.asm_79e8b .asm_79e8b
ld [$c0f1], a ld [wc0f1], a
ld a, b ld a, b
ld [$c0f2], a ld [wc0f2], a
ld a, c ld a, c
jp PlaySound jp PlaySound

View file

@ -1,5 +1,5 @@
DisplayEffectiveness: ; 2fb7b (b:7b7b) DisplayEffectiveness: ; 2fb7b (b:7b7b)
ld a, [$D05B] ld a, [wd05b]
and a, $7F and a, $7F
cp a, $0A cp a, $0A
ret z ret z

View file

@ -86,13 +86,13 @@ DuplicateBitsTable: ; 2fea8 (b:7ea8)
PayDayEffect_ ; 2feb8 (b:7eb8) PayDayEffect_ ; 2feb8 (b:7eb8)
xor a xor a
ld hl, $cd6d ld hl, wcd6d
ld [hli], a ld [hli], a
ld a, [$fff3] ld a, [$fff3]
and a and a
ld a, [$d022] ld a, [W_PLAYERMONLEVEL]
jr z, .asm_2fec8 ; 0x2fec3 $3 jr z, .asm_2fec8 ; 0x2fec3 $3
ld a, [$cff3] ld a, [W_ENEMYMONLEVEL]
.asm_2fec8 .asm_2fec8
add a add a
ld [$ff98], a ld [$ff98], a
@ -118,7 +118,7 @@ PayDayEffect_ ; 2feb8 (b:7eb8)
ld a, [$ff99] ld a, [$ff99]
add b add b
ld [hl], a ld [hl], a
ld de, $cce7 ld de, wcce7
ld c, $3 ld c, $3
ld a, $b ; AddBCDPredef ld a, $b ; AddBCDPredef
call Predef call Predef

View file

@ -21,19 +21,19 @@ ShroudedInMistText: ; 33f52 (c:7f52)
db "@" db "@"
OneHitKOEffect_: ; 33f57 (c:7f57) OneHitKOEffect_: ; 33f57 (c:7f57)
ld hl, W_DAMAGE ; $d0d7 ld hl, W_DAMAGE ; W_DAMAGE
xor a xor a
ld [hli], a ld [hli], a
ld [hl], a ; set the damage output to zero ld [hl], a ; set the damage output to zero
dec a dec a
ld [$d05e], a ld [wd05e], a
ld hl, $d02a ld hl, W_PLAYERMONSPEED + 1
ld de, $cffb ld de, W_ENEMYMONSPEED + 1
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr z, .asm_33f72 jr z, .asm_33f72
ld hl, $cffb ld hl, W_ENEMYMONSPEED + 1
ld de, $d02a ld de, W_PLAYERMONSPEED + 1
.asm_33f72 .asm_33f72
ld a, [de] ld a, [de]
dec de dec de
@ -45,14 +45,14 @@ OneHitKOEffect_: ; 33f57 (c:7f57)
ld a, [hl] ld a, [hl]
sbc b sbc b
jr c, .asm_33f8a jr c, .asm_33f8a
ld hl, W_DAMAGE ; $d0d7 ld hl, W_DAMAGE ; W_DAMAGE
ld a, $ff ld a, $ff
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld a, $2 ld a, $2
ld [$d05e], a ld [wd05e], a
ret ret
.asm_33f8a .asm_33f8a
ld a, $1 ld a, $1
ld [W_MOVEMISSED], a ; $d05f ld [W_MOVEMISSED], a ; W_MOVEMISSED
ret ret

File diff suppressed because it is too large Load diff

View file

@ -1,25 +1,25 @@
Func_372d6: ; 372d6 (d:72d6) Func_372d6: ; 372d6 (d:72d6)
call LoadTextBoxTilePatterns call LoadTextBoxTilePatterns
FuncCoord 3, 4 ; $c3f3 FuncCoord 3, 4
ld hl, Coord ld hl, Coord
ld b, $7 ld b, $7
ld c, $c ld c, $c
call TextBoxBorder call TextBoxBorder
FuncCoord 4, 5 ; $c408 FuncCoord 4, 5
ld hl, Coord ld hl, Coord
ld de, W_PLAYERNAME ; $d158 ld de, W_PLAYERNAME ; wd158
call PlaceString call PlaceString
FuncCoord 4, 10 ; $c46c FuncCoord 4, 10
ld hl, Coord ld hl, Coord
ld de, W_GRASSRATE ; $d887 ld de, W_GRASSRATE ; W_GRASSRATE
call PlaceString call PlaceString
FuncCoord 9, 8 ; $c449 FuncCoord 9, 8
ld hl, Coord ld hl, Coord
ld a, $69 ld a, $69
ld [hli], a ld [hli], a
ld [hl], $6a ld [hl], $6a
xor a xor a
ld [$cfcb], a ld [wcfcb], a
callab SetupPlayerAndEnemyPokeballs callab SetupPlayerAndEnemyPokeballs
ld c, $96 ld c, $96
jp DelayFrames jp DelayFrames

View file

@ -1,11 +1,11 @@
Func_39680: ; 39680 (e:5680) Func_39680: ; 39680 (e:5680)
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
ld a, [$d060] ld a, [wd060]
ld hl, $d026 ld hl, W_PLAYERMONATK + 1
jr z, .asm_39691 jr z, .asm_39691
ld a, [$d065] ld a, [wd065]
ld hl, $cff7 ld hl, W_ENEMYMONATTACK + 1
.asm_39691 .asm_39691
ld c, $4 ld c, $4
ld b, a ld b, a
@ -30,10 +30,10 @@ Func_3969f: ; 3969f (e:569f)
Func_396a7: ; 396a7 (e:56a7) Func_396a7: ; 396a7 (e:56a7)
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
ld a, [$d061] ld a, [wd061]
ld hl, W_PLAYERMONATK ld hl, W_PLAYERMONATK
jr z, .asm_396b8 jr z, .asm_396b8
ld a, [$d066] ld a, [wd066]
ld hl, W_ENEMYMONATTACK ld hl, W_ENEMYMONATTACK
.asm_396b8 .asm_396b8
ld c, $4 ld c, $4
@ -67,7 +67,7 @@ _ScrollTrainerPicAfterBattle: ; 396d3 (e:56d3)
ld b, $1 ld b, $1
call GoPAL_SET call GoPAL_SET
callab _LoadTrainerPic callab _LoadTrainerPic
FuncCoord 19, 0 ; $c3b3 FuncCoord 19, 0
ld hl, Coord ld hl, Coord
ld c, $0 ld c, $0
.asm_396e9 .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 ; unused slots are filled with 0, all used slots may be chosen with equal probability
AIEnemyTrainerChooseMoves: ; 39719 (e:5719) AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
ld a, $a 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 1
ld [hli], a ; move 2 ld [hli], a ; move 2
ld [hli], a ; move 3 ld [hli], a ; move 3
@ -123,7 +123,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
swap a swap a
and $f and $f
jr z, .noMoveDisabled jr z, .noMoveDisabled
ld hl, $cee9 ld hl, wHPBarMaxHP
dec a dec a
ld c, a ld c, a
ld b, $0 ld b, $0
@ -165,7 +165,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
push de push de
jp [hl] ; execute modification function jp [hl] ; execute modification function
.loopFindMinimumEntries ; all entries will be decremented sequentially until one of them is zero .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 de, W_ENEMYMONMOVES ; enemy moves
ld c, $4 ld c, $4
.loopDecrementEntries .loopDecrementEntries
@ -187,7 +187,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
inc a inc a
cp $5 cp $5
jr nz, .loopUndoPartialIteration jr nz, .loopUndoPartialIteration
ld hl, $cee9 ; temp move selection array ld hl, wHPBarMaxHP ; temp move selection array
ld de, W_ENEMYMONMOVES ; enemy moves ld de, W_ENEMYMONMOVES ; enemy moves
ld c, $4 ld c, $4
.filterMinimalEntries ; all minimal entries now have value 1. All other slots will be disabled (move set to 0) .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 inc de
dec c dec c
jr nz, .filterMinimalEntries jr nz, .filterMinimalEntries
ld hl, $cee9 ; use created temporary array as move set ld hl, wHPBarMaxHP ; use created temporary array as move set
ret ret
.useOriginalMoveSet .useOriginalMoveSet
ld hl, W_ENEMYMONMOVES ; use original move set ld hl, W_ENEMYMONMOVES ; use original move set
@ -226,7 +226,7 @@ AIMoveChoiceModification1: ; 397ab (e:57ab)
ld a, [W_PLAYERMONSTATUS] ld a, [W_PLAYERMONSTATUS]
and a and a
ret z ; return if no status ailment on player's mon 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 de, W_ENEMYMONMOVES ; enemy moves
ld b, $5 ld b, $5
.nextMove .nextMove
@ -266,10 +266,10 @@ StatusAilmentMoveEffects ; 57e2
; slightly encourage moves with specific effects ; slightly encourage moves with specific effects
AIMoveChoiceModification2: ; 397e7 (e:57e7) AIMoveChoiceModification2: ; 397e7 (e:57e7)
ld a, [$ccd5] ld a, [wccd5]
cp $1 cp $1
ret nz 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 de, W_ENEMYMONMOVES ; enemy moves
ld b, $5 ld b, $5
.nextMove .nextMove
@ -297,7 +297,7 @@ AIMoveChoiceModification2: ; 397e7 (e:57e7)
; encourages moves that are effective against the player's mon ; encourages moves that are effective against the player's mon
AIMoveChoiceModification3: ; 39817 (e:5817) 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 de, W_ENEMYMONMOVES ; enemy moves
ld b, $5 ld b, $5
.nextMove .nextMove
@ -316,7 +316,7 @@ AIMoveChoiceModification3: ; 39817 (e:5817)
pop de pop de
pop bc pop bc
pop hl pop hl
ld a, [$d11e] ld a, [wd11e]
cp $10 cp $10
jr z, .nextMove jr z, .nextMove
jr c, .notEffectiveMove jr c, .notEffectiveMove
@ -374,7 +374,7 @@ ReadMove: ; 39884 (e:5884)
ld hl,Moves ld hl,Moves
ld bc,6 ld bc,6
call AddNTimes call AddNTimes
ld de,$CFCC ld de,W_ENEMYMOVENUM
call CopyData call CopyData
pop bc pop bc
pop de pop de
@ -579,21 +579,21 @@ TrainerPicAndMoneyPointers: ; 39914 (e:5914)
INCLUDE "text/trainer_names.asm" INCLUDE "text/trainer_names.asm"
Func_39b87: ; 39b87 (e:5b87) Func_39b87: ; 39b87 (e:5b87)
ld hl, $d0dc ld hl, wd0dc
ld de, $d0e1 ld de, wd0e1
ld b, $0 ld b, $0
.asm_39b8f .asm_39b8f
ld a, [hli] ld a, [hli]
and a and a
jr z, .asm_39bc1 jr z, .asm_39bc1
push hl push hl
ld [$d0b5], a ld [wd0b5], a
ld a, $2c ld a, $2c
ld [$d0b7], a ld [wPredefBank], a
ld a, MOVE_NAME ld a, MOVE_NAME
ld [W_LISTTYPE], a ld [W_LISTTYPE], a
call GetName call GetName
ld hl, $cd6d ld hl, wcd6d
.asm_39ba7 .asm_39ba7
ld a, [hli] ld a, [hli]
cp $50 cp $50
@ -603,7 +603,7 @@ Func_39b87: ; 39b87 (e:5b87)
jr .asm_39ba7 jr .asm_39ba7
.asm_39bb0 .asm_39bb0
ld a, b ld a, b
ld [$cd6c], a ld [wcd6c], a
inc b inc b
ld a, $4e ld a, $4e
ld [de], a ld [de], a
@ -631,71 +631,71 @@ Func_39b87: ; 39b87 (e:5b87)
ret ret
Func_39bd5: ; 39bd5 (e:5bd5) Func_39bd5: ; 39bd5 (e:5bd5)
ld a, [$d11b] ld a, [wd11b]
cp $1 cp $1
jr nz, .asm_39be6 jr nz, .asm_39be6
ld hl, wEnemyPartyCount ; $d89c ld hl, wEnemyPartyCount ; wEnemyPartyCount
ld de, W_ENEMYMON1OT ; $d9ac OT names of other player ld de, W_ENEMYMON1OT ; wd9ac OT names of other player
ld a, $6 ld a, $6
jr .asm_39c18 jr .asm_39c18
.asm_39be6 .asm_39be6
cp $4 cp $4
jr nz, .calcAttackStat4 jr nz, .calcAttackStat4
ld hl, W_NUMINPARTY ; $d163 ld hl, W_NUMINPARTY ; W_NUMINPARTY
ld de, W_PARTYMON1OT ; $d273 ld de, W_PARTYMON1OT ; wd273
ld a, $5 ld a, $5
jr .asm_39c18 jr .asm_39c18
.calcAttackStat4 .calcAttackStat4
cp $5 cp $5
jr nz, .asm_39c02 jr nz, .asm_39c02
ld hl, $cf7b ld hl, wStringBuffer2 + 11
ld de, MonsterNames ; $421e ld de, MonsterNames ; $421e
ld a, $1 ld a, $1
jr .asm_39c18 jr .asm_39c18
.asm_39c02 .asm_39c02
cp $2 cp $2
jr nz, .asm_39c10 jr nz, .asm_39c10
ld hl, wNumBagItems ; $d31d ld hl, wNumBagItems ; wNumBagItems
ld de, ItemNames ; $472b ld de, ItemNames ; $472b
ld a, $4 ld a, $4
jr .asm_39c18 jr .asm_39c18
.asm_39c10 .asm_39c10
ld hl, $cf7b ld hl, wStringBuffer2 + 11
ld de, ItemNames ; $472b ld de, ItemNames ; $472b
ld a, ITEM_NAME ld a, ITEM_NAME
.asm_39c18 .asm_39c18
ld [W_LISTTYPE], a ld [W_LISTTYPE], a
ld a, l ld a, l
ld [$cf8b], a ld [wcf8b], a
ld a, h ld a, h
ld [$cf8c], a ld [wcf8c], a
ld a, e ld a, e
ld [$cf8d], a ld [wcf8d], a
ld a, d ld a, d
ld [$cf8e], a ld [wcf8e], a
ld bc, ItemPrices ; $4608 ld bc, ItemPrices ; $4608
ld a, c ld a, c
ld [$cf8f], a ld [wcf8f], a
ld a, b ld a, b
ld [$cf90], a ld [wcf90], a
ret ret
Func_39c37: ; 39c37 (e:5c37) Func_39c37: ; 39c37 (e:5c37)
ld hl, W_PARTYMON1 ; $d164 ld hl, W_PARTYMON1 ; W_PARTYMON1
ld a, [$cc49] ld a, [wcc49]
and a and a
jr z, .asm_39c4b jr z, .asm_39c4b
dec a dec a
jr z, .asm_39c48 jr z, .asm_39c48
ld hl, $da81 ld hl, wda81
jr .asm_39c4b jr .asm_39c4b
.asm_39c48 .asm_39c48
ld hl, $d89d ld hl, wEnemyPartyMons
.asm_39c4b .asm_39c4b
ld d, $0 ld d, $0
add hl, de add hl, de
ld a, [hl] ld a, [hl]
ld [$cf91], a ld [wcf91], a
ret ret
ReadTrainer: ; 39c53 (e:5c53) ReadTrainer: ; 39c53 (e:5c53)
@ -705,7 +705,7 @@ ReadTrainer: ; 39c53 (e:5c53)
and a and a
ret nz ret nz
; set [wEnemyPartyCount] to 0, [$D89D] to FF ; set [wEnemyPartyCount] to 0, [wEnemyPartyMons] to FF
; XXX first is total enemy pokemon? ; XXX first is total enemy pokemon?
; XXX second is species of first pokemon? ; XXX second is species of first pokemon?
ld hl,wEnemyPartyCount ld hl,wEnemyPartyCount
@ -754,9 +754,9 @@ ReadTrainer: ; 39c53 (e:5c53)
ld a,[hli] ld a,[hli]
and a ; have we reached the end of the trainer data? and a ; have we reached the end of the trainer data?
jr z,.FinishUp jr z,.FinishUp
ld [$CF91],a ; write species somewhere (XXX why?) ld [wcf91],a ; write species somewhere (XXX why?)
ld a,1 ld a,1
ld [$CC49],a ld [wcc49],a
push hl push hl
call AddPokemonToParty call AddPokemonToParty
pop hl pop hl
@ -771,9 +771,9 @@ ReadTrainer: ; 39c53 (e:5c53)
jr z,.AddLoneMove jr z,.AddLoneMove
ld [W_CURENEMYLVL],a ld [W_CURENEMYLVL],a
ld a,[hli] ld a,[hli]
ld [$CF91],a ld [wcf91],a
ld a,1 ld a,1
ld [$CC49],a ld [wcc49],a
push hl push hl
call AddPokemonToParty call AddPokemonToParty
pop hl pop hl
@ -821,7 +821,7 @@ ReadTrainer: ; 39c53 (e:5c53)
jr .FinishUp ; nope jr .FinishUp ; nope
.GiveTeamMoves .GiveTeamMoves
ld a,[hl] ld a,[hl]
ld [$D95E],a ld [W_ENEMYMON5MOVE3],a
jr .FinishUp jr .FinishUp
.ChampionRival ; give moves to his team .ChampionRival ; give moves to his team
@ -843,7 +843,7 @@ ReadTrainer: ; 39c53 (e:5c53)
ld [W_ENEMYMON6MOVE3],a ld [W_ENEMYMON6MOVE3],a
.FinishUp ; XXX this needs documenting .FinishUp ; XXX this needs documenting
xor a ; clear D079-D07B xor a ; clear D079-D07B
ld de,$D079 ld de,wd079
ld [de],a ld [de],a
inc de inc de
ld [de],a ld [de],a
@ -852,7 +852,7 @@ ReadTrainer: ; 39c53 (e:5c53)
ld a,[W_CURENEMYLVL] ld a,[W_CURENEMYLVL]
ld b,a ld b,a
.LastLoop .LastLoop
ld hl,$D047 ld hl,wd047
ld c,2 ld c,2
push bc push bc
ld a,$B ld a,$B
@ -1092,21 +1092,21 @@ Func_3a69b: ; 3a69b (e:669b)
AIUseFullRestore: ; 3a6a0 (e:66a0) AIUseFullRestore: ; 3a6a0 (e:66a0)
call AICureStatus call AICureStatus
ld a,FULL_RESTORE ld a,FULL_RESTORE
ld [$CF05],a ld [wcf05],a
ld de,wHPBarOldHP ld de,wHPBarOldHP
ld hl,$CFE7 ld hl,W_ENEMYMONCURHP + 1
ld a,[hld] ld a,[hld]
ld [de],a ld [de],a
inc de inc de
ld a,[hl] ld a,[hl]
ld [de],a ld [de],a
inc de inc de
ld hl,$CFF5 ld hl,W_ENEMYMONMAXHP + 1
ld a,[hld] ld a,[hld]
ld [de],a ld [de],a
inc de inc de
ld [wHPBarMaxHP],a ld [wHPBarMaxHP],a
ld [$CFE7],a ld [W_ENEMYMONCURHP + 1],a
ld a,[hl] ld a,[hl]
ld [de],a ld [de],a
ld [wHPBarMaxHP+1],a ld [wHPBarMaxHP+1],a
@ -1133,8 +1133,8 @@ AIUseHyperPotion: ; 3a6d6 (e:66d6)
AIRecoverHP: ; 3a6da (e:66da) AIRecoverHP: ; 3a6da (e:66da)
; heal b HP and print "trainer used $(a) on pokemon!" ; heal b HP and print "trainer used $(a) on pokemon!"
ld [$CF05],a ld [wcf05],a
ld hl,$CFE7 ld hl,W_ENEMYMONCURHP + 1
ld a,[hl] ld a,[hl]
ld [wHPBarOldHP],a ld [wHPBarOldHP],a
add b add b
@ -1151,7 +1151,7 @@ AIRecoverHP: ; 3a6da (e:66da)
inc hl inc hl
ld a,[hld] ld a,[hld]
ld b,a ld b,a
ld de,$CFF5 ld de,W_ENEMYMONMAXHP + 1
ld a,[de] ld a,[de]
dec de dec de
ld [wHPBarMaxHP],a ld [wHPBarMaxHP],a
@ -1174,10 +1174,10 @@ AIRecoverHP: ; 3a6da (e:66da)
Func_3a718: ; 3a718 (e:6718) Func_3a718: ; 3a718 (e:6718)
call AIPrintItemUse_ call AIPrintItemUse_
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl,Coord ld hl,Coord
xor a xor a
ld [$CF94],a ld [wListMenuID],a
ld a,$48 ld a,$48
call Predef call Predef
jp DecrementAICount jp DecrementAICount
@ -1229,10 +1229,10 @@ Func_3a74b: ; 3a74b (e:674b)
call PrintText call PrintText
ld a,1 ld a,1
ld [$D11D],a ld [wd11d],a
callab EnemySendOut callab EnemySendOut
xor a xor a
ld [$D11D],a ld [wd11d],a
ld a,[W_ISLINKBATTLE] ld a,[W_ISLINKBATTLE]
cp 4 cp 4
@ -1253,40 +1253,40 @@ AIUseFullHeal: ; 3a786 (e:6786)
AICureStatus: ; 3a791 (e:6791) AICureStatus: ; 3a791 (e:6791)
; cures the status of enemy's active pokemon ; cures the status of enemy's active pokemon
ld a,[W_ENEMYMONNUMBER] ld a,[W_ENEMYMONNUMBER]
ld hl,$D8A8 ld hl,wd8a8
ld bc,$2C ld bc,$2C
call AddNTimes call AddNTimes
xor a xor a
ld [hl],a ; clear status in enemy team roster ld [hl],a ; clear status in enemy team roster
ld [W_ENEMYMONSTATUS],a ; clear status of active enemy ld [W_ENEMYMONSTATUS],a ; clear status of active enemy
ld hl,$D069 ld hl,W_ENEMYBATTSTATUS3
res 0,[hl] res 0,[hl]
ret ret
AIUseXAccuracy: ; 0x3a7a8 unused AIUseXAccuracy: ; 0x3a7a8 unused
call Func_3a69b call Func_3a69b
ld hl,$D068 ld hl,W_ENEMYBATTSTATUS2
set 0,[hl] set 0,[hl]
ld a,X_ACCURACY ld a,X_ACCURACY
jp AIPrintItemUse jp AIPrintItemUse
AIUseGuardSpec: ; 3a7b5 (e:67b5) AIUseGuardSpec: ; 3a7b5 (e:67b5)
call Func_3a69b call Func_3a69b
ld hl,$D068 ld hl,W_ENEMYBATTSTATUS2
set 1,[hl] set 1,[hl]
ld a,GUARD_SPEC_ ld a,GUARD_SPEC_
jp AIPrintItemUse jp AIPrintItemUse
AIUseDireHit: ; 0x3a7c2 unused AIUseDireHit: ; 0x3a7c2 unused
call Func_3a69b call Func_3a69b
ld hl,$D068 ld hl,W_ENEMYBATTSTATUS2
set 2,[hl] set 2,[hl]
ld a,DIRE_HIT ld a,DIRE_HIT
jp AIPrintItemUse jp AIPrintItemUse
Func_3a7cf: ; 3a7cf (e:67cf) Func_3a7cf: ; 3a7cf (e:67cf)
ld [H_DIVISOR],a ld [H_DIVISOR],a
ld hl,$CFF4 ld hl,W_ENEMYMONMAXHP
ld a,[hli] ld a,[hli]
ld [H_DIVIDEND],a ld [H_DIVIDEND],a
ld a,[hl] ld a,[hl]
@ -1297,7 +1297,7 @@ Func_3a7cf: ; 3a7cf (e:67cf)
ld c,a ld c,a
ld a,[H_QUOTIENT + 2] ld a,[H_QUOTIENT + 2]
ld b,a ld b,a
ld hl,$CFE7 ld hl,W_ENEMYMONCURHP + 1
ld a,[hld] ld a,[hld]
ld e,a ld e,a
ld a,[hl] ld a,[hl]
@ -1330,11 +1330,11 @@ AIUseXSpecial: ; 3a804 (e:6804)
; fallthrough ; fallthrough
AIIncreaseStat: ; 3a808 (e:6808) AIIncreaseStat: ; 3a808 (e:6808)
ld [$CF05],a ld [wcf05],a
push bc push bc
call AIPrintItemUse_ call AIPrintItemUse_
pop bc pop bc
ld hl,$CFCD ld hl,W_ENEMYMOVEEFFECT
ld a,[hld] ld a,[hld]
push af push af
ld a,[hl] ld a,[hl]
@ -1352,14 +1352,14 @@ AIIncreaseStat: ; 3a808 (e:6808)
jp DecrementAICount jp DecrementAICount
AIPrintItemUse: ; 3a82c (e:682c) AIPrintItemUse: ; 3a82c (e:682c)
ld [$CF05],a ld [wcf05],a
call AIPrintItemUse_ call AIPrintItemUse_
jp DecrementAICount jp DecrementAICount
AIPrintItemUse_: ; 3a835 (e:6835) AIPrintItemUse_: ; 3a835 (e:6835)
; print "x used [$CF05] on z!" ; print "x used [wcf05] on z!"
ld a,[$CF05] ld a,[wcf05]
ld [$D11E],a ld [wd11e],a
call GetItemName call GetItemName
ld hl, AIBattleUseItemText ld hl, AIBattleUseItemText
jp PrintText jp PrintText
@ -1371,7 +1371,7 @@ AIBattleUseItemText: ; 3a844 (e:6844)
DrawAllPokeballs: ; 3a849 (e:6849) DrawAllPokeballs: ; 3a849 (e:6849)
call LoadPartyPokeballGfx call LoadPartyPokeballGfx
call SetupOwnPartyPokeballs call SetupOwnPartyPokeballs
ld a, [W_ISINBATTLE] ; $d057 ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a dec a
ret z ; return if wild pokémon ret z ; return if wild pokémon
jp SetupEnemyPartyPokeballs jp SetupEnemyPartyPokeballs
@ -1389,29 +1389,29 @@ LoadPartyPokeballGfx: ; 3a85d (e:685d)
SetupOwnPartyPokeballs: ; 3a869 (e:6869) SetupOwnPartyPokeballs: ; 3a869 (e:6869)
call PlacePlayerHUDTiles call PlacePlayerHUDTiles
ld hl, W_PARTYMON1DATA ld hl, W_PARTYMON1DATA
ld de, W_NUMINPARTY ; $d163 ld de, W_NUMINPARTY ; W_NUMINPARTY
call SetupPokeballs call SetupPokeballs
ld a, $60 ld a, $60
ld hl, W_BASECOORDX ; $d081 ld hl, W_BASECOORDX ; wd081
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld a, $8 ld a, $8
ld [$cd3e], a ld [wTrainerEngageDistance], a
ld hl, wOAMBuffer ld hl, wOAMBuffer
jp Func_3a8e1 jp Func_3a8e1
SetupEnemyPartyPokeballs: ; 3a887 (e:6887) SetupEnemyPartyPokeballs: ; 3a887 (e:6887)
call PlaceEnemyHUDTiles call PlaceEnemyHUDTiles
ld hl, wEnemyMons ld hl, wEnemyMons
ld de, wEnemyPartyCount ; $d89c ld de, wEnemyPartyCount ; wEnemyPartyCount
call SetupPokeballs call SetupPokeballs
ld hl, W_BASECOORDX ; $d081 ld hl, W_BASECOORDX ; wd081
ld a, $48 ld a, $48
ld [hli], a ld [hli], a
ld [hl], $20 ld [hl], $20
ld a, $f8 ld a, $f8
ld [$cd3e], a ld [wTrainerEngageDistance], a
ld hl, $c318 ld hl, wOAMBuffer + $18
jp Func_3a8e1 jp Func_3a8e1
SetupPokeballs: ; 0x3a8a6 SetupPokeballs: ; 0x3a8a6
@ -1465,22 +1465,22 @@ PickPokeball: ; 3a8c2 (e:68c2)
ret ret
Func_3a8e1: ; 3a8e1 (e:68e1) Func_3a8e1: ; 3a8e1 (e:68e1)
ld de, $cee9 ld de, wHPBarMaxHP
ld c, $6 ld c, $6
.asm_3a8e6 .asm_3a8e6
ld a, [W_BASECOORDY] ; $d082 ld a, [W_BASECOORDY] ; wd082
ld [hli], a ld [hli], a
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
ld [hli], a ld [hli], a
ld a, [de] ld a, [de]
ld [hli], a ld [hli], a
xor a xor a
ld [hli], a ld [hli], a
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
ld b, a ld b, a
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
add b add b
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
inc de inc de
dec c dec c
jr nz, .asm_3a8e6 jr nz, .asm_3a8e6
@ -1488,10 +1488,10 @@ Func_3a8e1: ; 3a8e1 (e:68e1)
PlacePlayerHUDTiles: ; 3a902 (e:6902) PlacePlayerHUDTiles: ; 3a902 (e:6902)
ld hl, PlayerBattleHUDGraphicsTiles ; $6916 ld hl, PlayerBattleHUDGraphicsTiles ; $6916
ld de, $cd3f ld de, wTrainerFacingDirection
ld bc, $3 ld bc, $3
call CopyData call CopyData
FuncCoord 18, 10 ; $c47a FuncCoord 18, 10
ld hl, Coord ld hl, Coord
ld de, rIE ; $ffff ld de, rIE ; $ffff
jr PlaceHUDTiles jr PlaceHUDTiles
@ -1504,10 +1504,10 @@ PlayerBattleHUDGraphicsTiles: ; 3a916 (e:6916)
PlaceEnemyHUDTiles: ; 3a919 (e:6919) PlaceEnemyHUDTiles: ; 3a919 (e:6919)
ld hl, EnemyBattleHUDGraphicsTiles ; $692d ld hl, EnemyBattleHUDGraphicsTiles ; $692d
ld de, $cd3f ld de, wTrainerFacingDirection
ld bc, $3 ld bc, $3
call CopyData call CopyData
FuncCoord 1, 2 ; $c3c9 FuncCoord 1, 2
ld hl, Coord ld hl, Coord
ld de, $1 ld de, $1
jr PlaceHUDTiles jr PlaceHUDTiles
@ -1522,7 +1522,7 @@ PlaceHUDTiles: ; 3a930 (e:6930)
ld [hl], $73 ld [hl], $73
ld bc, $14 ld bc, $14
add hl, bc add hl, bc
ld a, [$cd40] ld a, [wTrainerScreenY]
ld [hl], a ld [hl], a
ld a, $8 ld a, $8
.asm_3a93c .asm_3a93c
@ -1531,31 +1531,31 @@ PlaceHUDTiles: ; 3a930 (e:6930)
dec a dec a
jr nz, .asm_3a93c jr nz, .asm_3a93c
add hl, de add hl, de
ld a, [$cd41] ld a, [wTrainerScreenX]
ld [hl], a ld [hl], a
ret ret
SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948) SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948)
call LoadPartyPokeballGfx call LoadPartyPokeballGfx
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA) ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
ld de, W_NUMINPARTY ; $d163 ld de, W_NUMINPARTY ; W_NUMINPARTY
call SetupPokeballs call SetupPokeballs
ld hl, W_BASECOORDX ; $d081 ld hl, W_BASECOORDX ; wd081
ld a, $50 ld a, $50
ld [hli], a ld [hli], a
ld [hl], $40 ld [hl], $40
ld a, $8 ld a, $8
ld [$cd3e], a ld [wTrainerEngageDistance], a
ld hl, wOAMBuffer ld hl, wOAMBuffer
call Func_3a8e1 call Func_3a8e1
ld hl, wEnemyMons ; $d8a4 ld hl, wEnemyMons ; wEnemyMon1Species
ld de, wEnemyPartyCount ; $d89c ld de, wEnemyPartyCount ; wEnemyPartyCount
call SetupPokeballs call SetupPokeballs
ld hl, W_BASECOORDX ; $d081 ld hl, W_BASECOORDX ; wd081
ld a, $50 ld a, $50
ld [hli], a ld [hli], a
ld [hl], $68 ld [hl], $68
ld hl, $c318 ld hl, wOAMBuffer + $18
jp Func_3a8e1 jp Func_3a8e1
; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (faited) and pokeball slot (no mon) ; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (faited) and pokeball slot (no mon)

View file

@ -1,13 +1,13 @@
HealEffect_: ; 3b9ec (e:79ec) HealEffect_: ; 3b9ec (e:79ec)
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
ld de, W_PLAYERMONCURHP ; $d015 ld de, W_PLAYERMONCURHP ; wd015
ld hl, W_PLAYERMONMAXHP ; $d023 ld hl, W_PLAYERMONMAXHP ; wd023
ld a, [W_PLAYERMOVENUM] ; $cfd2 ld a, [W_PLAYERMOVENUM] ; wcfd2
jr z, .asm_3ba03 jr z, .asm_3ba03
ld de, W_ENEMYMONCURHP ; $cfe6 ld de, W_ENEMYMONCURHP ; W_ENEMYMONCURHP
ld hl, W_ENEMYMONMAXHP ; $cff4 ld hl, W_ENEMYMONMAXHP ; W_ENEMYMONMAXHP
ld a, [W_ENEMYMOVENUM] ; $cfcc ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
.asm_3ba03 .asm_3ba03
ld b, a ld b, a
ld a, [de] ld a, [de]
@ -25,11 +25,11 @@ HealEffect_: ; 3b9ec (e:79ec)
push af push af
ld c, $32 ld c, $32
call DelayFrames call DelayFrames
ld hl, W_PLAYERMONSTATUS ; $d018 ld hl, W_PLAYERMONSTATUS ; W_PLAYERMONSTATUS
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr z, .asm_3ba25 jr z, .asm_3ba25
ld hl, W_ENEMYMONSTATUS ; $cfe9 ld hl, W_ENEMYMONSTATUS ; wcfe9
.asm_3ba25 .asm_3ba25
ld a, [hl] ld a, [hl]
and a and a
@ -85,15 +85,15 @@ HealEffect_: ; 3b9ec (e:79ec)
call BankswitchEtoF call BankswitchEtoF
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
FuncCoord 10, 9 ; $c45e FuncCoord 10, 9
ld hl, Coord ld hl, Coord
ld a, $1 ld a, $1
jr z, .asm_3ba83 jr z, .asm_3ba83
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl, Coord ld hl, Coord
xor a xor a
.asm_3ba83 .asm_3ba83
ld [wListMenuID], a ; $cf94 ld [wListMenuID], a ; wListMenuID
ld a, $48 ld a, $48
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d)) call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
ld hl, Func_3cd5a ; $4d5a ld hl, Func_3cd5a ; $4d5a
@ -121,35 +121,35 @@ RegainedHealthText: ; 3baac (e:7aac)
TransformEffect_: ; 3bab1 (e:7ab1) TransformEffect_: ; 3bab1 (e:7ab1)
ld hl, W_PLAYERMONID ld hl, W_PLAYERMONID
ld de, $cfe5 ld de, wcfe5
ld bc, W_ENEMYBATTSTATUS3 ; $d069 ld bc, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
ld a, [W_ENEMYBATTSTATUS1] ; $d067 ld a, [W_ENEMYBATTSTATUS1] ; W_ENEMYBATTSTATUS1
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr nz, .asm_3bad1 jr nz, .asm_3bad1
ld hl, $cfe5 ld hl, wcfe5
ld de, W_PLAYERMONID ld de, W_PLAYERMONID
ld bc, W_PLAYERBATTSTATUS3 ; $d064 ld bc, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
ld [wPlayerMoveListIndex], a ; $cc2e ld [wPlayerMoveListIndex], a ; wPlayerMoveListIndex
ld a, [W_PLAYERBATTSTATUS1] ; $d062 ld a, [W_PLAYERBATTSTATUS1] ; W_PLAYERBATTSTATUS1
.asm_3bad1 .asm_3bad1
bit 6, a ; is mon invulnerable to typical attacks? (fly/dig) bit 6, a ; is mon invulnerable to typical attacks? (fly/dig)
jp nz, Func_3bb8c jp nz, Func_3bb8c
push hl push hl
push de push de
push bc push bc
ld hl, W_PLAYERBATTSTATUS2 ; $d063 ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr z, .asm_3bae4 jr z, .asm_3bae4
ld hl, W_ENEMYBATTSTATUS2 ; $d068 ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
.asm_3bae4 .asm_3bae4
bit 4, [hl] bit 4, [hl]
push af push af
ld hl, Func_79747 ld hl, Func_79747
ld b, BANK(Func_79747) ld b, BANK(Func_79747)
call nz, Bankswitch call nz, Bankswitch
ld a, [W_OPTIONS] ; $d355 ld a, [W_OPTIONS] ; W_OPTIONS
add a add a
ld hl, Func_3fba8 ; $7ba8 ld hl, Func_3fba8 ; $7ba8
ld b, BANK(Func_3fba8) ld b, BANK(Func_3fba8)
@ -185,10 +185,10 @@ TransformEffect_: ; 3bab1 (e:7ab1)
and a and a
jr z, .asm_3bb32 jr z, .asm_3bb32
ld a, [de] ld a, [de]
ld [$cceb], a ld [wcceb], a
inc de inc de
ld a, [de] ld a, [de]
ld [$ccec], a ld [wccec], a
dec de dec de
.asm_3bb32 .asm_3bb32
ld a, [hli] ld a, [hli]
@ -227,13 +227,13 @@ TransformEffect_: ; 3bab1 (e:7ab1)
.asm_3bb5d .asm_3bb5d
pop hl pop hl
ld a, [hl] ld a, [hl]
ld [$d11e], a ld [wd11e], a
call GetMonName call GetMonName
ld hl, $cd26 ld hl, wcd26
ld de, $cd12 ld de, wcd12
call Func_3bb7d call Func_3bb7d
ld hl, wEnemyMonStatMods ; $cd2e ld hl, wEnemyMonStatMods ; wcd2e
ld de, wPlayerMonStatMods ; $cd1a ld de, wPlayerMonStatMods ; wcd1a
call Func_3bb7d call Func_3bb7d
ld hl, TransformedText ; $7b92 ld hl, TransformedText ; $7b92
jp PrintText jp PrintText
@ -259,13 +259,13 @@ TransformedText: ; 3bb92 (e:7b92)
db "@" db "@"
ReflectLightScreenEffect_: ; 3bb97 (e:7b97) ReflectLightScreenEffect_: ; 3bb97 (e:7b97)
ld hl, W_PLAYERBATTSTATUS3 ; $d064 ld hl, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
ld de, W_PLAYERMOVEEFFECT ; $cfd3 ld de, W_PLAYERMOVEEFFECT ; wcfd3
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN] ; $fff3
and a and a
jr z, .asm_3bba8 jr z, .asm_3bba8
ld hl, W_ENEMYBATTSTATUS3 ; $d069 ld hl, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
ld de, W_ENEMYMOVEEFFECT ; $cfcd ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
.asm_3bba8 .asm_3bba8
ld a, [de] ld a, [de]
cp LIGHT_SCREEN_EFFECT cp LIGHT_SCREEN_EFFECT

View file

@ -1,5 +1,5 @@
PrintSafariZoneBattleText: ; 4277 (1:4277) PrintSafariZoneBattleText: ; 4277 (1:4277)
ld hl, $cce9 ld hl, wcce9
ld a, [hl] ld a, [hl]
and a and a
jr z, .asm_4284 jr z, .asm_4284
@ -15,11 +15,11 @@ PrintSafariZoneBattleText: ; 4277 (1:4277)
ld hl, SafariZoneAngryText ld hl, SafariZoneAngryText
jr nz, .asm_429f jr nz, .asm_429f
push hl push hl
ld a, [$cfe5] ld a, [wcfe5]
ld [$d0b5], a ld [wd0b5], a
call GetMonHeader call GetMonHeader
ld a, [W_MONHCATCHRATE] ld a, [W_MONHCATCHRATE]
ld [$d007], a ld [wd007], a
pop hl pop hl
.asm_429f .asm_429f
push hl push hl

View file

@ -6,29 +6,29 @@ Func_5317: ; 5317 (1:5317)
call LoadFontTilePatterns call LoadFontTilePatterns
call LoadHpBarAndStatusTilePatterns call LoadHpBarAndStatusTilePatterns
call LoadTrainerInfoTextBoxTiles call LoadTrainerInfoTextBoxTiles
FuncCoord 3, 8 ; $c443 FuncCoord 3, 8
ld hl, Coord ld hl, Coord
ld b, $2 ld b, $2
ld c, $c ld c, $c
call Func_5ab3 call Func_5ab3
FuncCoord 4, 10 ; $c46c FuncCoord 4, 10
ld hl, Coord ld hl, Coord
ld de, PleaseWaitString ; $550f ld de, PleaseWaitString ; $550f
call PlaceString call PlaceString
ld hl, W_NUMHITS ; $d074 ld hl, W_NUMHITS ; wd074
xor a xor a
ld [hli], a ld [hli], a
ld [hl], $50 ld [hl], $50
Func_5345: ; 5345 Func_5345: ; 5345
ld hl, $d152 ld hl, wd152
ld a, $fd ld a, $fd
ld b, $6 ld b, $6
.asm_534c .asm_534c
ld [hli], a ld [hli], a
dec b dec b
jr nz, .asm_534c jr nz, .asm_534c
ld hl, $d141 ld hl, wd141
ld a, $fd ld a, $fd
ld b, $7 ld b, $7
.asm_5357 .asm_5357
@ -54,7 +54,7 @@ Func_5345: ; 5345
ld [hli], a ld [hli], a
dec b dec b
jr nz, .asm_5373 jr nz, .asm_5373
ld hl, W_GRASSRATE ; $d887 ld hl, W_GRASSRATE ; W_GRASSRATE
ld bc, $1a9 ld bc, $1a9
.asm_537d .asm_537d
xor a xor a
@ -63,8 +63,8 @@ Func_5345: ; 5345
ld a, b ld a, b
or c or c
jr nz, .asm_537d jr nz, .asm_537d
ld hl, W_PARTYMONEND ; $d16a ld hl, W_PARTYMONEND
ld de, $c512 ld de, wTileMapBackup + 10
ld bc, $0 ld bc, $0
.asm_538d .asm_538d
inc c inc c
@ -114,20 +114,20 @@ Func_5345: ; 5345
call Delay3 call Delay3
ld a, $8 ld a, $8
ld [rIE], a ; $ffff ld [rIE], a ; $ffff
ld hl, $d141 ld hl, wd141
ld de, wTileMapBackup2 ld de, wTileMapBackup2
ld bc, $11 ld bc, $11
call Func_216f call Func_216f
ld a, $fe ld a, $fe
ld [de], a ld [de], a
ld hl, $d152 ld hl, wd152
ld de, $d893 ld de, wd893
ld bc, $1a8 ld bc, $1a8
call Func_216f call Func_216f
ld a, $fe ld a, $fe
ld [de], a ld [de], a
ld hl, wTileMapBackup ld hl, wTileMapBackup
ld de, $c5d0 ld de, wTileMapBackup + 200
ld bc, $c8 ld bc, $c8
call Func_216f call Func_216f
ld a, $d ld a, $d
@ -147,7 +147,7 @@ Func_5345: ; 5345
cp $fe cp $fe
jr z, .asm_5415 jr z, .asm_5415
dec hl dec hl
ld de, $d148 ld de, wd148
ld c, $a ld c, $a
.asm_5427 .asm_5427
ld a, [hli] ld a, [hli]
@ -158,7 +158,7 @@ Func_5345: ; 5345
dec c dec c
jr nz, .asm_5427 jr nz, .asm_5427
.asm_5431 .asm_5431
ld hl, $d896 ld hl, wd896
.asm_5434 .asm_5434
ld a, [hli] ld a, [hli]
and a and a
@ -168,7 +168,7 @@ Func_5345: ; 5345
cp $fe cp $fe
jr z, .asm_5434 jr z, .asm_5434
dec hl dec hl
ld de, W_GRASSRATE ; $d887 ld de, W_GRASSRATE ; W_GRASSRATE
ld c, $b ld c, $b
.asm_5446 .asm_5446
ld a, [hli] ld a, [hli]
@ -178,7 +178,7 @@ Func_5345: ; 5345
inc de inc de
dec c dec c
jr nz, .asm_5446 jr nz, .asm_5446
ld de, wEnemyPartyCount ; $d89c ld de, wEnemyPartyCount ; wEnemyPartyCount
ld bc, $194 ld bc, $194
.asm_5456 .asm_5456
ld a, [hli] ld a, [hli]
@ -191,7 +191,7 @@ Func_5345: ; 5345
or c or c
jr nz, .asm_5456 jr nz, .asm_5456
ld de, wTileMapBackup 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 ld c, $2
.asm_546a .asm_546a
ld a, [de] ld a, [de]
@ -216,11 +216,11 @@ Func_5345: ; 5345
pop hl pop hl
jr .asm_546a jr .asm_546a
.asm_5489 .asm_5489
ld hl, W_PARTYMON6DATA + W_PARTYMON1_MOVE4PP - W_PARTYMON1DATA ; $d267 ld hl, W_PARTYMON6DATA + W_PARTYMON1_MOVE4PP - W_PARTYMON1DATA ; wd267
dec c dec c
jr nz, .asm_546a jr nz, .asm_546a
ld de, $c5d0 ld de, wTileMapBackup + 200
ld hl, W_WATERRATE ; $d8a4 ld hl, W_WATERRATE ; wEnemyMon1Species
ld c, $2 ld c, $2
.asm_5497 .asm_5497
ld a, [de] ld a, [de]
@ -245,33 +245,33 @@ Func_5345: ; 5345
pop hl pop hl
jr .asm_5497 jr .asm_5497
.asm_54b6 .asm_54b6
ld hl, $d9a0 ld hl, wd9a0
dec c dec c
jr nz, .asm_5497 jr nz, .asm_5497
ld a, $ac ld a, $ac
ld [$cf8d], a ld [wcf8d], a
ld a, $d9 ld a, $d9
ld [$cf8e], a ld [wcf8e], a
xor a xor a
ld [$cc38], a ld [wcc38], a
ld a, $ff ld a, $ff
call PlaySound call PlaySound
ld a, [$ffaa] ld a, [$ffaa]
cp $2 cp $2
ld c, $42 ld c, $42
call z, DelayFrames call z, DelayFrames
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $3 cp $3
ld a, $32 ld a, $32
ld [W_ISLINKBATTLE], a ; $d12b ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
jr nz, .asm_5506 jr nz, .asm_5506
ld a, $4 ld a, $4
ld [W_ISLINKBATTLE], a ; $d12b ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
ld a, SONY1 + $c8 ld a, SONY1 + $c8
ld [W_CUROPPONENT], a ; $d059 ld [W_CUROPPONENT], a ; wd059
call ClearScreen call ClearScreen
call Delay3 call Delay3
ld hl, W_OPTIONS ; $d355 ld hl, W_OPTIONS ; W_OPTIONS
res 7, [hl] res 7, [hl]
ld a, $2c ld a, $2c
call Predef ; indirect jump to InitOpponent (3ef18 (f:6f18)) call Predef ; indirect jump to InitOpponent (3ef18 (f:6f18))
@ -290,7 +290,7 @@ PleaseWaitString: ; 550f (1:550f)
Func_551c: Func_551c:
ld hl, PointerTable_5a5b ; $5a5b ld hl, PointerTable_5a5b ; $5a5b
ld b, $0 ld b, $0
ld a, [$cc38] ld a, [wcc38]
cp $ff cp $ff
jp z, LoadTitlescreenGraphics jp z, LoadTitlescreenGraphics
add a add a
@ -307,31 +307,31 @@ TradeCenter_SelectMon:
call Func_57f2 call Func_57f2
call Func_57a2 call Func_57a2
xor a xor a
ld hl, $cc3d ld hl, wcc3d
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld [$cc37], a ld [wcc37], a
ld [$cc26], a ld [wCurrentMenuItem], a
ld [$cc2a], a ld [wLastMenuItem], a
ld [$cc34], a ld [wMenuJoypadPollCount], a
inc a inc a
ld [$cc42], a ld [wcc42], a
jp .asm_55dc jp .asm_55dc
.asm_5557 .asm_5557
xor a xor a
ld [$cc37], a ld [wcc37], a
inc a inc a
ld [$cc49], a ld [wcc49], a
ld a, $a1 ld a, $a1
ld [$cc29], a ld [wMenuWatchedKeys], a
ld a, [$d89c] ld a, [wEnemyPartyCount]
ld [$cc28], a ld [wMaxMenuItem], a
ld a, $9 ld a, $9
ld [$cc24], a ld [wTopMenuItemY], a
ld a, $1 ld a, $1
ld [$cc25], a ld [wTopMenuItemX], a
.asm_5574 .asm_5574
ld hl, $fff6 ld hl, $fff6
set 1, [hl] set 1, [hl]
@ -342,17 +342,17 @@ TradeCenter_SelectMon:
jp z, .asm_565b jp z, .asm_565b
bit 0, a bit 0, a
jr z, .asm_55b0 ; 0x5587 $27 jr z, .asm_55b0 ; 0x5587 $27
ld a, [$cc28] ld a, [wMaxMenuItem]
ld c, a ld c, a
ld a, [$cc26] ld a, [wCurrentMenuItem]
cp c cp c
jr c, .asm_559a ; 0x5591 $7 jr c, .asm_559a ; 0x5591 $7
ld a, [$cc28] ld a, [wMaxMenuItem]
dec a dec a
ld [$cc26], a ld [wCurrentMenuItem], a
.asm_559a .asm_559a
ld a, $1 ld a, $1
ld [$d11b], a ld [wd11b], a
callab Func_39bd5 callab Func_39bd5
ld hl, wEnemyMons ld hl, wEnemyMons
call Func_57d6 call Func_57d6
@ -361,20 +361,20 @@ TradeCenter_SelectMon:
bit 5, a bit 5, a
jr z, .asm_55d4 ; 0x55b2 $20 jr z, .asm_55d4 ; 0x55b2 $20
xor a xor a
ld [$cc49], a ld [wcc49], a
ld a, [$cc30] ld a, [wMenuCursorLocation]
ld l, a ld l, a
ld a, [$cc31] ld a, [wMenuCursorLocation + 1]
ld h, a ld h, a
ld a, [$cc27] ld a, [wTileBehindCursor]
ld [hl], a ld [hl], a
ld a, [$cc26] ld a, [wCurrentMenuItem]
ld b, a ld b, a
ld a, [$d163] ld a, [W_NUMINPARTY]
dec a dec a
cp b cp b
jr nc, .asm_55dc ; 0x55cd $d jr nc, .asm_55dc ; 0x55cd $d
ld [$cc26], a ld [wCurrentMenuItem], a
jr .asm_55dc ; 0x55d2 $8 jr .asm_55dc ; 0x55d2 $8
.asm_55d4 .asm_55d4
bit 7, a bit 7, a
@ -382,17 +382,17 @@ TradeCenter_SelectMon:
jp .asm_572f jp .asm_572f
.asm_55dc .asm_55dc
xor a xor a
ld [$cc49], a ld [wcc49], a
ld [$cc37], a ld [wcc37], a
ld a, $91 ld a, $91
ld [$cc29], a ld [wMenuWatchedKeys], a
ld a, [$d163] ld a, [W_NUMINPARTY]
ld [$cc28], a ld [wMaxMenuItem], a
ld a, $1 ld a, $1
ld [$cc24], a ld [wTopMenuItemY], a
ld a, $1 ld a, $1
ld [$cc25], a ld [wTopMenuItemX], a
ld hl, $c3b5 ld hl, wTileMap + $15
ld bc, $0601 ld bc, $0601
call ClearScreenArea call ClearScreenArea
.asm_5601 .asm_5601
@ -409,7 +409,7 @@ TradeCenter_SelectMon:
jr z, .asm_562e ; 0x5616 $16 jr z, .asm_562e ; 0x5616 $16
jp .asm_5665 jp .asm_5665
ld a, $4 ld a, $4
ld [$d11b], a ld [wd11b], a
callab Func_39bd5 callab Func_39bd5
call Func_57d6 call Func_57d6
jp .asm_565b jp .asm_565b
@ -417,20 +417,20 @@ TradeCenter_SelectMon:
bit 4, a bit 4, a
jr z, .asm_5654 ; 0x5630 $22 jr z, .asm_5654 ; 0x5630 $22
ld a, $1 ld a, $1
ld [$cc49], a ld [wcc49], a
ld a, [$cc30] ld a, [wMenuCursorLocation]
ld l, a ld l, a
ld a, [$cc31] ld a, [wMenuCursorLocation + 1]
ld h, a ld h, a
ld a, [$cc27] ld a, [wTileBehindCursor]
ld [hl], a ld [hl], a
ld a, [$cc26] ld a, [wCurrentMenuItem]
ld b, a ld b, a
ld a, [$d89c] ld a, [wEnemyPartyCount]
dec a dec a
cp b cp b
jr nc, .asm_5651 ; 0x564c $3 jr nc, .asm_5651 ; 0x564c $3
ld [$cc26], a ld [wCurrentMenuItem], a
.asm_5651 .asm_5651
jp .asm_5557 jp .asm_5557
.asm_5654 .asm_5654
@ -438,43 +438,43 @@ TradeCenter_SelectMon:
jr z, .asm_565b ; 0x5656 $3 jr z, .asm_565b ; 0x5656 $3
jp .asm_572f jp .asm_572f
.asm_565b .asm_565b
ld a, [$cc49] ld a, [wcc49]
and a and a
jp z, .asm_5601 jp z, .asm_5601
jp .asm_5574 jp .asm_5574
.asm_5665 .asm_5665
call SaveScreenTilesToBuffer1 call SaveScreenTilesToBuffer1
call PlaceUnfilledArrowMenuCursor call PlaceUnfilledArrowMenuCursor
ld a, [$cc28] ld a, [wMaxMenuItem]
ld c, a ld c, a
ld a, [$cc26] ld a, [wCurrentMenuItem]
cp c cp c
jr c, .asm_5679 ; 0x5673 $4 jr c, .asm_5679 ; 0x5673 $4
ld a, [$cc28] ld a, [wMaxMenuItem]
dec a dec a
.asm_5679 .asm_5679
push af push af
ld hl, $c4b8 ld hl, wTileMap + $118
ld b, $2 ld b, $2
ld c, $12 ld c, $12
call Func_5ab3 call Func_5ab3
ld hl, $c4e2 ld hl, wTileMap + $142
ld de, .statsTrade ld de, .statsTrade
call PlaceString call PlaceString
xor a xor a
ld [$cc26], a ld [wCurrentMenuItem], a
ld [$cc2a], a ld [wLastMenuItem], a
ld [$cc34], a ld [wMenuJoypadPollCount], a
ld [$cc28], a ld [wMaxMenuItem], a
ld a, $10 ld a, $10
ld [$cc24], a ld [wTopMenuItemY], a
.asm_569f .asm_569f
ld a, $7f ld a, $7f
ld [$c4eb], a ld [wTileMap + $14b], a
ld a, $13 ld a, $13
ld [$cc29], a ld [wMenuWatchedKeys], a
ld a, $1 ld a, $1
ld [$cc25], a ld [wTopMenuItemX], a
call HandleMenuInput call HandleMenuInput
bit 4, a bit 4, a
jr nz, .asm_56c3 ; 0x56b3 $e jr nz, .asm_56c3 ; 0x56b3 $e
@ -482,16 +482,16 @@ TradeCenter_SelectMon:
jr z, .asm_56df ; 0x56b7 $26 jr z, .asm_56df ; 0x56b7 $26
.asm_56b9 .asm_56b9
pop af pop af
ld [$cc26], a ld [wCurrentMenuItem], a
call LoadScreenTilesFromBuffer1 call LoadScreenTilesFromBuffer1
jp .asm_55dc jp .asm_55dc
.asm_56c3 .asm_56c3
ld a, $7f ld a, $7f
ld [$c4e1], a ld [wTileMap + $141], a
ld a, $23 ld a, $23
ld [$cc29], a ld [wMenuWatchedKeys], a
ld a, $b ld a, $b
ld [$cc25], a ld [wTopMenuItemX], a
call HandleMenuInput call HandleMenuInput
bit 5, a bit 5, a
jr nz, .asm_569f ; 0x56d7 $c6 jr nz, .asm_569f ; 0x56d7 $c6
@ -500,9 +500,9 @@ TradeCenter_SelectMon:
jr .asm_56f9 ; 0x56dd $1a jr .asm_56f9 ; 0x56dd $1a
.asm_56df .asm_56df
pop af pop af
ld [$cc26], a ld [wCurrentMenuItem], a
ld a, $4 ld a, $4
ld [$d11b], a ld [wd11b], a
callab Func_39bd5 callab Func_39bd5
call Func_57d6 call Func_57d6
call LoadScreenTilesFromBuffer1 call LoadScreenTilesFromBuffer1
@ -510,35 +510,35 @@ TradeCenter_SelectMon:
.asm_56f9 .asm_56f9
call PlaceUnfilledArrowMenuCursor call PlaceUnfilledArrowMenuCursor
pop af pop af
ld [$cc26], a ld [wCurrentMenuItem], a
ld [$cd3d], a ld [wWhichTrade], a
ld [$cc42], a ld [wcc42], a
call Func_226e call Func_226e
ld a, [$cc3d] ld a, [wcc3d]
cp $f cp $f
jp z, Func_551c jp z, Func_551c
ld [$cd3e], a ld [wTrainerEngageDistance], a
call Func_57c7 call Func_57c7
ld a, $1 ld a, $1
ld [$cc38], a ld [wcc38], a
jp Func_551c jp Func_551c
.statsTrade .statsTrade
db "STATS TRADE@" db "STATS TRADE@"
.asm_572f .asm_572f
ld a, [$cc26] ld a, [wCurrentMenuItem]
ld b, a ld b, a
ld a, [$cc28] ld a, [wMaxMenuItem]
cp b cp b
jp nz, .asm_565b jp nz, .asm_565b
ld a, [$cc30] ld a, [wMenuCursorLocation]
ld l, a ld l, a
ld a, [$cc31] ld a, [wMenuCursorLocation + 1]
ld h, a ld h, a
ld a, $7f ld a, $7f
ld [hl], a ld [hl], a
.asm_5745 .asm_5745
ld a, $ed ld a, $ed
ld [$c4e1], a ld [wTileMap + $141], a
.asm_574a .asm_574a
call JoypadLowSensitivity call JoypadLowSensitivity
ld a, [$ffb5] ld a, [$ffb5]
@ -549,32 +549,32 @@ TradeCenter_SelectMon:
bit 6, a bit 6, a
jr z, .asm_574a ; 0x5758 $f0 jr z, .asm_574a ; 0x5758 $f0
ld a, $7f ld a, $7f
ld [$c4e1], a ld [wTileMap + $141], a
ld a, [$d163] ld a, [W_NUMINPARTY]
dec a dec a
ld [$cc26], a ld [wCurrentMenuItem], a
jp .asm_55dc jp .asm_55dc
.asm_5769 .asm_5769
ld a, $ec ld a, $ec
ld [$c4e1], a ld [wTileMap + $141], a
ld a, $f ld a, $f
ld [$cc42], a ld [wcc42], a
call Func_226e call Func_226e
ld a, [$cc3d] ld a, [wcc3d]
cp $f cp $f
jr nz, .asm_5745 ; 0x577b $c8 jr nz, .asm_5745 ; 0x577b $c8
Func_577d: ; 577d (1:577d) Func_577d: ; 577d (1:577d)
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
ld hl, $cfc4 ld hl, wcfc4
ld a, [hl] ld a, [hl]
push af push af
push hl push hl
res 0, [hl] res 0, [hl]
xor a xor a
ld [$d72d], a ld [wd72d], a
dec a dec a
ld [$d42f], a ld [wd42f], a
call LoadMapData call LoadMapData
callba Func_c335 callba Func_c335
pop hl pop hl
@ -584,15 +584,15 @@ Func_577d: ; 577d (1:577d)
ret ret
Func_57a2: Func_57a2:
ld hl, $c4d7 ld hl, wTileMap + $137
ld a, $7e ld a, $7e
ld bc, $0031 ld bc, $0031
call FillMemory call FillMemory
ld hl, $c4cc ld hl, wTileMap + $12c
ld b, $1 ld b, $1
ld c, $9 ld c, $9
call Func_5ab3 call Func_5ab3
ld hl, $c4e2 ld hl, wTileMap + $142
ld de, CancelTextString ld de, CancelTextString
jp PlaceString jp PlaceString
@ -600,15 +600,15 @@ CancelTextString:
db "CANCEL@" db "CANCEL@"
Func_57c7: Func_57c7:
ld a, [$cc3d] ld a, [wcc3d]
ld hl, $c455 ld hl, wTileMap + $b5
ld bc, $0014 ld bc, $0014
call AddNTimes call AddNTimes
ld [hl], $ec ld [hl], $ec
ret ret
Func_57d6: Func_57d6:
ld a, [$cc26] ld a, [wCurrentMenuItem]
ld [wWhichPokemon], a ld [wWhichPokemon], a
ld a, $36 ld a, $36
call Predef call Predef
@ -624,21 +624,21 @@ Func_57f2:
ld b, $6 ld b, $6
ld c, $12 ld c, $12
call Func_5ab3 call Func_5ab3
ld hl, $c440 ld hl, wTileMap + $a0
ld b, $6 ld b, $6
ld c, $12 ld c, $12
call Func_5ab3 call Func_5ab3
ld hl, $c3a5 ld hl, wTileMap + $5
ld de, W_PLAYERNAME ld de, W_PLAYERNAME
call PlaceString call PlaceString
ld hl, $c445 ld hl, wTileMap + $a5
ld de, $d887 ld de, W_GRASSRATE
call PlaceString call PlaceString
ld hl, $c3b6 ld hl, wTileMap + $16
ld de, $d164 ld de, W_PARTYMON1
call Func_5827 call Func_5827
ld hl, $c456 ld hl, wTileMap + $b6
ld de, $d89d ld de, wEnemyPartyMons
Func_5827: Func_5827:
ld c, $0 ld c, $0
@ -646,7 +646,7 @@ Func_5827:
ld a, [de] ld a, [de]
cp $ff cp $ff
ret z ret z
ld [$d11e], a ld [wd11e], a
push bc push bc
push hl push hl
push de push de
@ -669,161 +669,161 @@ TradeCenter_Trade:
ld c, $64 ld c, $64
call DelayFrames call DelayFrames
xor a xor a
ld [$cc43], a ld [wcc43], a
ld [$cc3e], a ld [wcc3e], a
ld [$cc37], a ld [wcc37], a
ld [$cc34], a ld [wMenuJoypadPollCount], a
ld hl, $c490 ld hl, wTileMap + $f0
ld b, $4 ld b, $4
ld c, $12 ld c, $12
call Func_5ab3 call Func_5ab3
ld a, [$cd3d] ld a, [wWhichTrade]
ld hl, $d164 ld hl, W_PARTYMON1
ld c, a ld c, a
ld b, $0 ld b, $0
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld [$d11e], a ld [wd11e], a
call GetMonName call GetMonName
ld hl, $cd6d ld hl, wcd6d
ld de, $cd3f ld de, wTrainerFacingDirection
ld bc, $000b ld bc, $000b
call CopyData call CopyData
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
ld hl, $d89d ld hl, wEnemyPartyMons
ld c, a ld c, a
ld b, $0 ld b, $0
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld [$d11e], a ld [wd11e], a
call GetMonName call GetMonName
ld hl, WillBeTradedText ld hl, WillBeTradedText
ld bc, $c4b9 ld bc, wTileMap + $119
call TextCommandProcessor call TextCommandProcessor
call SaveScreenTilesToBuffer1 call SaveScreenTilesToBuffer1
ld hl, $c436 ld hl, wTileMap + $96
ld bc, $080b ld bc, $080b
ld a, $5 ld a, $5
ld [$d12c], a ld [wd12c], a
ld a, $14 ld a, $14
ld [$d125], a ld [wd125], a
call DisplayTextBoxID call DisplayTextBoxID
call LoadScreenTilesFromBuffer1 call LoadScreenTilesFromBuffer1
ld a, [$cc26] ld a, [wCurrentMenuItem]
and a and a
jr z, .asm_58d9 ; 0x58b9 $1e jr z, .asm_58d9 ; 0x58b9 $1e
ld a, $1 ld a, $1
ld [$cc42], a ld [wcc42], a
ld hl, $c490 ld hl, wTileMap + $f0
ld b, $4 ld b, $4
ld c, $12 ld c, $12
call Func_5ab3 call Func_5ab3
ld hl, $c4b9 ld hl, wTileMap + $119
ld de, TradeCanceled ld de, TradeCanceled
call PlaceString call PlaceString
call Func_226e call Func_226e
jp Func_5a18 jp Func_5a18
.asm_58d9 .asm_58d9
ld a, $2 ld a, $2
ld [$cc42], a ld [wcc42], a
call Func_226e call Func_226e
ld a, [$cc3d] ld a, [wcc3d]
dec a dec a
jr nz, .asm_58fd ; 0x58e5 $16 jr nz, .asm_58fd ; 0x58e5 $16
ld hl, $c490 ld hl, wTileMap + $f0
ld b, $4 ld b, $4
ld c, $12 ld c, $12
call Func_5ab3 call Func_5ab3
ld hl, $c4b9 ld hl, wTileMap + $119
ld de, TradeCanceled ld de, TradeCanceled
call PlaceString call PlaceString
jp Func_5a18 jp Func_5a18
.asm_58fd .asm_58fd
ld a, [$cd3d] ld a, [wWhichTrade]
ld hl, W_PARTYMON1OT ; OT names of player ld hl, W_PARTYMON1OT ; OT names of player
call SkipFixedLengthTextEntries call SkipFixedLengthTextEntries
ld de, $cd41 ld de, wTrainerScreenX
ld bc, $000b ld bc, $000b
call CopyData call CopyData
ld hl, $d16b ld hl, W_PARTYMON1_NUM
ld a, [$cd3d] ld a, [wWhichTrade]
ld bc, $002c ld bc, $002c
call AddNTimes call AddNTimes
ld bc, $000c ld bc, $000c
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
ld [$cd4c], a ld [wcd4c], a
ld a, [hl] ld a, [hl]
ld [$cd4d], a ld [wcd4d], a
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
ld hl, W_ENEMYMON1OT ; OT names of other player ld hl, W_ENEMYMON1OT ; OT names of other player
call SkipFixedLengthTextEntries call SkipFixedLengthTextEntries
ld de, $cd4e ld de, wcd4e
ld bc, $000b ld bc, $000b
call CopyData call CopyData
ld hl, wEnemyMons ld hl, wEnemyMons
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
ld bc, $002c ld bc, $002c
call AddNTimes call AddNTimes
ld bc, $000c ld bc, $000c
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
ld [$cd59], a ld [wcd59], a
ld a, [hl] ld a, [hl]
ld [$cd5a], a ld [wcd5a], a
ld a, [$cd3d] ld a, [wWhichTrade]
ld [wWhichPokemon], a ld [wWhichPokemon], a
ld hl, $d164 ld hl, W_PARTYMON1
ld b, $0 ld b, $0
ld c, a ld c, a
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld [$cd3d], a ld [wWhichTrade], a
xor a xor a
ld [$cf95], a ld [wcf95], a
call RemovePokemon call RemovePokemon
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
ld c, a ld c, a
ld [wWhichPokemon], a ld [wWhichPokemon], a
ld hl, $d89d ld hl, wEnemyPartyMons
ld d, $0 ld d, $0
ld e, a ld e, a
add hl, de add hl, de
ld a, [hl] ld a, [hl]
ld [$cf91], a ld [wcf91], a
ld hl, wEnemyMons ld hl, wEnemyMons
ld a, c ld a, c
ld bc, $002c ld bc, $002c
call AddNTimes call AddNTimes
ld de, $cf98 ld de, wcf98
ld bc, $002c ld bc, $002c
call CopyData call CopyData
call AddEnemyMonToPlayerParty call AddEnemyMonToPlayerParty
ld a, [$d163] ld a, [W_NUMINPARTY]
dec a dec a
ld [wWhichPokemon], a ld [wWhichPokemon], a
ld a, $1 ld a, $1
ld [$ccd4], a ld [wccd4], a
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
ld hl, $d89d ld hl, wEnemyPartyMons
ld b, $0 ld b, $0
ld c, a ld c, a
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld [$cd3e], a ld [wTrainerEngageDistance], a
ld a, $a ld a, $a
ld [wMusicHeaderPointer], a ld [wMusicHeaderPointer], a
ld a, $2 ld a, $2
ld [$c0f0], a ld [wc0f0], a
ld a, MUSIC_SAFARI_ZONE ld a, MUSIC_SAFARI_ZONE
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
ld c, $64 ld c, $64
call DelayFrames call DelayFrames
call ClearScreen call ClearScreen
call LoadHpBarAndStatusTilePatterns call LoadHpBarAndStatusTilePatterns
xor a xor a
ld [$cc5b], a ld [wcc5b], a
ld a, [$ffaa] ld a, [$ffaa]
cp $1 cp $1
jr z, .asm_59d9 ; 0x59d0 $7 jr z, .asm_59d9 ; 0x59d0 $7
@ -840,11 +840,11 @@ TradeCenter_Trade:
call Func_226e call Func_226e
ld c, $28 ld c, $28
call DelayFrames call DelayFrames
ld hl, $c490 ld hl, wTileMap + $f0
ld b, $4 ld b, $4
ld c, $12 ld c, $12
call Func_5ab3 call Func_5ab3
ld hl, $c4b9 ld hl, wTileMap + $119
ld de, TradeCompleted ld de, TradeCompleted
call PlaceString call PlaceString
ld a, $50 ld a, $50
@ -852,14 +852,14 @@ TradeCenter_Trade:
ld c, $32 ld c, $32
call DelayFrames call DelayFrames
xor a xor a
ld [$cc38], a ld [wcc38], a
jp Func_5345 jp Func_5345
Func_5a18: Func_5a18:
ld c, $64 ld c, $64
call DelayFrames call DelayFrames
xor a xor a
ld [$cc38], a ld [wcc38], a
jp Func_551c jp Func_551c
WillBeTradedText: ; 5a24 (1:5a24) WillBeTradedText: ; 5a24 (1:5a24)
@ -878,7 +878,7 @@ PointerTable_5a5b: ; 5a5b (1:5a5b)
dw TradeCenter_Trade dw TradeCenter_Trade
Func_5a5f: ; 5a5f (1:5a5f) Func_5a5f: ; 5a5f (1:5a5f)
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $2 cp $2
jr z, .asm_5a75 jr z, .asm_5a75
cp $3 cp $3
@ -892,27 +892,27 @@ Func_5a5f: ; 5a5f (1:5a5f)
call Func_5317 call Func_5317
ld hl, Club_GFX ld hl, Club_GFX
ld a, h ld a, h
ld [$d52f], a ld [W_TILESETGFXPTR + 1], a
ld a, l ld a, l
ld [$d52e], a ld [W_TILESETGFXPTR], a
ld a, Bank(Club_GFX) ld a, Bank(Club_GFX)
ld [$d52b], a ld [W_TILESETBANK], a
ld hl, Club_Coll ld hl, Club_Coll
ld a, h ld a, h
ld [$d531], a ld [W_TILESETCOLLISIONPTR + 1], a
ld a, l ld a, l
ld [$d530], a ld [W_TILESETCOLLISIONPTR], a
xor a xor a
ld [W_GRASSRATE], a ; $d887 ld [W_GRASSRATE], a ; W_GRASSRATE
inc a inc a
ld [W_ISLINKBATTLE], a ; $d12b ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
ld [$ffb5], a ld [$ffb5], a
ld a, $a ld a, $a
ld [wMusicHeaderPointer], a ld [wMusicHeaderPointer], a
ld a, BANK(Music_Celadon) ld a, BANK(Music_Celadon)
ld [$c0f0], a ld [wc0f0], a
ld a, MUSIC_CELADON ld a, MUSIC_CELADON
ld [$c0ee], a ld [wc0ee], a
jp PlaySound jp PlaySound
Func_5aaf: ; 5aaf (1:5aaf) Func_5aaf: ; 5aaf (1:5aaf)

View file

@ -5,15 +5,15 @@ Func_1c98a: ; 1c98a (7:498a)
call LoadTextBoxTilePatterns call LoadTextBoxTilePatterns
ld hl, ClearSaveDataText ld hl, ClearSaveDataText
call PrintText call PrintText
FuncCoord 14, 7 ; $c43a FuncCoord 14, 7
ld hl, Coord ld hl, Coord
ld bc, $80f ld bc, $80f
ld a, $7 ld a, $7
ld [$d12c], a ld [wd12c], a
ld a, $14 ld a, $14
ld [$d125], a ld [wd125], a
call DisplayTextBoxID call DisplayTextBoxID
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
jp z, Init jp z, Init
callba Func_73b6a callba Func_73b6a

View file

@ -2,15 +2,15 @@ Func_7bde9: ; 7bde9 (1e:7de9)
push hl push hl
push de push de
push bc push bc
ld a, [$cf91] ld a, [wcf91]
push af push af
ld a, [$d0b5] ld a, [wd0b5]
push af push af
xor a xor a
ld [$d083], a ld [wd083], a
ld [$c02a], a ld [wc02a], a
dec a dec a
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
ld a, $1 ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
@ -20,25 +20,25 @@ Func_7bde9: ; 7bde9 (1e:7de9)
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld [$ffd7], a ld [$ffd7], a
ld a, [$cee9] ld a, [wHPBarMaxHP]
ld [$cf1d], a ld [wcf1d], a
ld c, $0 ld c, $0
call Func_7beb4 call Func_7beb4
ld a, [$ceea] ld a, [wHPBarMaxHP + 1]
ld [$cf91], a ld [wcf91], a
ld [$d0b5], a ld [wd0b5], a
call Func_7beb9 call Func_7beb9
ld de, $9000 ld de, $9000
ld hl, $9310 ld hl, $9310
ld bc, $31 ld bc, $31
call CopyVideoData call CopyVideoData
ld a, [$cee9] ld a, [wHPBarMaxHP]
ld [$cf91], a ld [wcf91], a
ld [$d0b5], a ld [wd0b5], a
call Func_7beb9 call Func_7beb9
ld a, $1 ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld a, [$cee9] ld a, [wHPBarMaxHP]
call PlayCry call PlayCry
call WaitForSoundToFinish call WaitForSoundToFinish
ld c, BANK(Music_SafariZone) ld c, BANK(Music_SafariZone)
@ -60,28 +60,28 @@ Func_7bde9: ; 7bde9 (1e:7de9)
dec c dec c
jr nz, .asm_7be63 jr nz, .asm_7be63
xor a xor a
ld [$ceec], a ld [wHPBarOldHP + 1], a
ld a, $31 ld a, $31
ld [$ceeb], a ld [wHPBarOldHP], a
call Func_7bed6 call Func_7bed6
ld a, [$ceea] ld a, [wHPBarMaxHP + 1]
.asm_7be81 .asm_7be81
ld [$cf1d], a ld [wcf1d], a
ld a, $ff ld a, $ff
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
ld a, [$cf1d] ld a, [wcf1d]
call PlayCry call PlayCry
ld c, $0 ld c, $0
call Func_7beb4 call Func_7beb4
pop af pop af
ld [$d0b5], a ld [wd0b5], a
pop af pop af
ld [$cf91], a ld [wcf91], a
pop bc pop bc
pop de pop de
pop hl pop hl
ld a, [$ceec] ld a, [wHPBarOldHP + 1]
and a and a
ret z ret z
scf scf
@ -89,8 +89,8 @@ Func_7bde9: ; 7bde9 (1e:7de9)
.asm_7bea9 .asm_7bea9
pop bc pop bc
ld a, $1 ld a, $1
ld [$ceec], a ld [wHPBarOldHP + 1], a
ld a, [$cee9] ld a, [wHPBarMaxHP]
jr .asm_7be81 jr .asm_7be81
Func_7beb4: ; 7beb4 (1e:7eb4) Func_7beb4: ; 7beb4 (1e:7eb4)
@ -99,15 +99,15 @@ Func_7beb4: ; 7beb4 (1e:7eb4)
Func_7beb9: ; 7beb9 (1e:7eb9) Func_7beb9: ; 7beb9 (1e:7eb9)
call GetMonHeader call GetMonHeader
FuncCoord 7, 2 ; $c3cf FuncCoord 7, 2
ld hl, Coord ld hl, Coord
jp LoadFlippedFrontSpriteByMonIndex jp LoadFlippedFrontSpriteByMonIndex
asm_7bec2: ; 7bec2 (1e:7ec2) asm_7bec2: ; 7bec2 (1e:7ec2)
ld a, $31 ld a, $31
ld [$ceeb], a ld [wHPBarOldHP], a
call Func_7bed6 call Func_7bed6
ld a, $cf ld a, $cf
ld [$ceeb], a ld [wHPBarOldHP], a
call Func_7bed6 call Func_7bed6
dec b dec b
jr nz, asm_7bec2 jr nz, asm_7bec2
@ -117,14 +117,14 @@ Func_7bed6: ; 7bed6 (1e:7ed6)
push bc push bc
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
FuncCoord 7, 2 ; $c3cf FuncCoord 7, 2
ld hl, Coord ld hl, Coord
ld bc, $707 ld bc, $707
ld de, $d ld de, $d
.asm_7bee3 .asm_7bee3
push bc push bc
.asm_7bee4 .asm_7bee4
ld a, [$ceeb] ld a, [wHPBarOldHP]
add [hl] add [hl]
ld [hli], a ld [hli], a
dec c dec c
@ -152,7 +152,7 @@ asm_7befa: ; 7befa (1e:7efa)
and a and a
ret ret
.asm_7bf0d .asm_7bf0d
ld a, [$ccd4] ld a, [wccd4]
and a and a
jr nz, .asm_7bf08 jr nz, .asm_7bf08
scf scf

View file

@ -31,14 +31,14 @@ EvolveTradeMon: ; 17d7d (5:7d7d)
ret nz ret nz
.ok .ok
ld a, [W_NUMINPARTY] ; $d163 ld a, [W_NUMINPARTY] ; W_NUMINPARTY
dec a dec a
ld [wWhichPokemon], a ; $cf92 ld [wWhichPokemon], a ; wWhichPokemon
ld a, $1 ld a, $1
ld [$ccd4], a ld [wccd4], a
ld a, $32 ld a, $32
ld [W_ISLINKBATTLE], a ; $d12b ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
callab Func_3ad0e callab Func_3ad0e
xor a xor a
ld [W_ISLINKBATTLE], a ; $d12b ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
jp Func_2307 jp Func_2307

View file

@ -1,8 +1,8 @@
Func_3ad0e: ; 3ad0e (e:6d0e) Func_3ad0e: ; 3ad0e (e:6d0e)
ld hl, $ccd3 ld hl, wccd3
xor a xor a
ld [hl], a ld [hl], a
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld c, a ld c, a
ld b, $1 ld b, $1
call Func_3b057 call Func_3b057
@ -11,33 +11,33 @@ Func_3ad1c: ; 3ad1c (e:6d1c)
ld a, [$ffd7] ld a, [$ffd7]
push af push af
xor a xor a
ld [$d121], a ld [wd121], a
dec a dec a
ld [wWhichPokemon], a ; $cf92 ld [wWhichPokemon], a ; wWhichPokemon
push hl push hl
push bc push bc
push de push de
ld hl, W_NUMINPARTY ; $d163 ld hl, W_NUMINPARTY ; W_NUMINPARTY
push hl push hl
asm_3ad2e: ; 3ad2e (e:6d2e) asm_3ad2e: ; 3ad2e (e:6d2e)
ld hl, wWhichPokemon ; $cf92 ld hl, wWhichPokemon ; wWhichPokemon
inc [hl] inc [hl]
pop hl pop hl
inc hl inc hl
ld a, [hl] ld a, [hl]
cp $ff cp $ff
jp z, Func_3aede jp z, Func_3aede
ld [$cee9], a ld [wHPBarMaxHP], a
push hl push hl
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld c, a ld c, a
ld hl, $ccd3 ld hl, wccd3
ld b, $2 ld b, $2
call Func_3b057 call Func_3b057
ld a, c ld a, c
and a and a
jp z, asm_3ad2e jp z, asm_3ad2e
ld a, [$cee9] ld a, [wHPBarMaxHP]
dec a dec a
ld b, $0 ld b, $0
ld hl, EvosMovesPointerTable ld hl, EvosMovesPointerTable
@ -49,13 +49,13 @@ asm_3ad2e: ; 3ad2e (e:6d2e)
ld h, [hl] ld h, [hl]
ld l, a ld l, a
push hl push hl
ld a, [$cf91] ld a, [wcf91]
push af push af
xor a xor a
ld [$cc49], a ld [wcc49], a
call LoadMonData call LoadMonData
pop af pop af
ld [$cf91], a ld [wcf91], a
pop hl pop hl
Func_3ad71: ; 3ad71 (e:6d71) Func_3ad71: ; 3ad71 (e:6d71)
@ -65,49 +65,49 @@ Func_3ad71: ; 3ad71 (e:6d71)
ld b, a ld b, a
cp $3 cp $3
jr z, .asm_3ad91 jr z, .asm_3ad91
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $32 cp $32
jr z, asm_3ad2e jr z, asm_3ad2e
ld a, b ld a, b
cp $2 cp $2
jr z, .asm_3ada4 jr z, .asm_3ada4
ld a, [$ccd4] ld a, [wccd4]
and a and a
jr nz, asm_3ad2e jr nz, asm_3ad2e
ld a, b ld a, b
cp $1 cp $1
jr z, .asm_3adad jr z, .asm_3adad
.asm_3ad91 .asm_3ad91
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $32 cp $32
jp nz, Func_3aed9 jp nz, Func_3aed9
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [$cfb9] ld a, [wcfb9]
cp b cp b
jp c, asm_3ad2e jp c, asm_3ad2e
jr .asm_3adb6 jr .asm_3adb6
.asm_3ada4 .asm_3ada4
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [$cf91] ld a, [wcf91]
cp b cp b
jp nz, Func_3aed9 jp nz, Func_3aed9
.asm_3adad .asm_3adad
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [$cfb9] ld a, [wcfb9]
cp b cp b
jp c, Func_3aeda jp c, Func_3aeda
.asm_3adb6 .asm_3adb6
ld [W_CURENEMYLVL], a ; $d127 ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
ld a, $1 ld a, $1
ld [$d121], a ld [wd121], a
push hl push hl
ld a, [hl] ld a, [hl]
ld [$ceea], a ld [wHPBarMaxHP + 1], a
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
call GetPartyMonName call GetPartyMonName
call CopyStringToCF4B call CopyStringToCF4B
ld hl, IsEvolvingText ld hl, IsEvolvingText
@ -122,7 +122,7 @@ Func_3ad71: ; 3ad71 (e:6d71)
ld a, $1 ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld a, $ff ld a, $ff
ld [$cfcb], a ld [wcfcb], a
call ClearSprites call ClearSprites
callab Func_7bde9 callab Func_7bde9
jp c, Func_3af2e jp c, Func_3af2e
@ -130,13 +130,13 @@ Func_3ad71: ; 3ad71 (e:6d71)
call PrintText call PrintText
pop hl pop hl
ld a, [hl] ld a, [hl]
ld [$d0b5], a ld [wd0b5], a
ld [$cf98], a ld [wcf98], a
ld [$ceea], a ld [wHPBarMaxHP + 1], a
ld a, MONSTER_NAME ld a, MONSTER_NAME
ld [W_LISTTYPE], a ld [W_LISTTYPE], a
ld a, $e ld a, $e
ld [$d0b7], a ld [wPredefBank], a
call GetName call GetName
push hl push hl
ld hl, IntoText ld hl, IntoText
@ -148,29 +148,29 @@ Func_3ad71: ; 3ad71 (e:6d71)
call DelayFrames call DelayFrames
call ClearScreen call ClearScreen
call Func_3aef7 call Func_3aef7
ld a, [$d11e] ld a, [wd11e]
push af push af
ld a, [$d0b5] ld a, [wd0b5]
ld [$d11e], a ld [wd11e], a
ld a, $3a ld a, $3a
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010)) call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
ld a, [$d11e] ld a, [wd11e]
dec a dec a
ld hl, BaseStats ld hl, BaseStats
ld bc, $1c ld bc, $1c
call AddNTimes call AddNTimes
ld de, W_MONHEADER ld de, W_MONHEADER
call CopyData call CopyData
ld a, [$d0b5] ld a, [wd0b5]
ld [$d0b8], a ld [W_MONHDEXNUM], a
pop af pop af
ld [$d11e], a ld [wd11e], a
ld hl, $cfa8 ld hl, wcfa8
ld de, $cfba ld de, wcfba
ld b, $1 ld b, $1
call CalcStats call CalcStats
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA) ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
ld bc, $2c ld bc, $2c
call AddNTimes call AddNTimes
ld e, l ld e, l
@ -182,14 +182,14 @@ Func_3ad71: ; 3ad71 (e:6d71)
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld c, [hl] ld c, [hl]
ld hl, $cfbb ld hl, wcfbb
ld a, [hld] ld a, [hld]
sub c sub c
ld c, a ld c, a
ld a, [hl] ld a, [hl]
sbc b sbc b
ld b, a ld b, a
ld hl, $cf9a ld hl, wcf9a
ld a, [hl] ld a, [hl]
add c add c
ld [hld], a ld [hld], a
@ -199,32 +199,32 @@ Func_3ad71: ; 3ad71 (e:6d71)
dec hl dec hl
pop bc pop bc
call CopyData call CopyData
ld a, [$d0b5] ld a, [wd0b5]
ld [$d11e], a ld [wd11e], a
xor a xor a
ld [$cc49], a ld [wcc49], a
call Func_3af5b call Func_3af5b
pop hl pop hl
ld a, $42 ld a, $42
call Predef ; indirect jump to SetPartyMonTypes (5db5e (17:5b5e)) call Predef ; indirect jump to SetPartyMonTypes (5db5e (17:5b5e))
ld a, [W_ISINBATTLE] ; $d057 ld a, [W_ISINBATTLE] ; W_ISINBATTLE
and a and a
call z, Func_3af52 call z, Func_3af52
ld a, $3a ld a, $3a
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010)) call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
ld a, [$d11e] ld a, [wd11e]
dec a dec a
ld c, a ld c, a
ld b, $1 ld b, $1
ld hl, wPokedexOwned ; $d2f7 ld hl, wPokedexOwned ; wPokedexOwned
push bc push bc
call Func_3b057 call Func_3b057
pop bc pop bc
ld hl, wPokedexSeen ; $d30a ld hl, wPokedexSeen ; wd30a
call Func_3b057 call Func_3b057
pop de pop de
pop hl pop hl
ld a, [$cf98] ld a, [wcf98]
ld [hl], a ld [hl], a
push hl push hl
ld l, e ld l, e
@ -244,27 +244,27 @@ Func_3aede: ; 3aede (e:6ede)
pop hl pop hl
pop af pop af
ld [$ffd7], a ld [$ffd7], a
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $32 cp $32
ret z ret z
ld a, [W_ISINBATTLE] ; $d057 ld a, [W_ISINBATTLE] ; W_ISINBATTLE
and a and a
ret nz ret nz
ld a, [$d121] ld a, [wd121]
and a and a
call nz, Func_2307 call nz, Func_2307
ret ret
Func_3aef7: ; 3aef7 (e:6ef7) Func_3aef7: ; 3aef7 (e:6ef7)
ld a, [$d0b5] ld a, [wd0b5]
push af push af
ld a, [$d0b8] ld a, [W_MONHDEXNUM]
ld [$d0b5], a ld [wd0b5], a
call GetName call GetName
pop af pop af
ld [$d0b5], a ld [wd0b5], a
ld hl, $cd6d ld hl, wcd6d
ld de, $cf4b ld de, wcf4b
.asm_3af0e .asm_3af0e
ld a, [de] ld a, [de]
inc de inc de
@ -273,13 +273,13 @@ Func_3aef7: ; 3aef7 (e:6ef7)
ret nz ret nz
cp $50 cp $50
jr nz, .asm_3af0e jr nz, .asm_3af0e
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld bc, $b ld bc, $b
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
call AddNTimes call AddNTimes
push hl push hl
call GetName call GetName
ld hl, $cd6d ld hl, wcd6d
pop de pop de
jp CopyData jp CopyData
@ -308,15 +308,15 @@ IsEvolvingText: ; 3af4d (e:6f4d)
db "@" db "@"
Func_3af52: ; 3af52 (e:6f52) Func_3af52: ; 3af52 (e:6f52)
ld a, [W_ISLINKBATTLE] ; $d12b ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $32 cp $32
ret z ret z
jp ReloadTilesetTilePatterns jp ReloadTilesetTilePatterns
Func_3af5b: ; 3af5b (e:6f5b) Func_3af5b: ; 3af5b (e:6f5b)
ld hl, EvosMovesPointerTable ld hl, EvosMovesPointerTable
ld a, [$d11e] ld a, [wd11e]
ld [$cf91], a ld [wcf91], a
dec a dec a
ld bc, $0 ld bc, $0
ld hl, EvosMovesPointerTable ld hl, EvosMovesPointerTable
@ -336,16 +336,16 @@ Func_3af5b: ; 3af5b (e:6f5b)
and a and a
jr z, .asm_3afb1 jr z, .asm_3afb1
ld b, a ld b, a
ld a, [W_CURENEMYLVL] ; $d127 ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
cp b cp b
ld a, [hli] ld a, [hli]
jr nz, .asm_3af77 jr nz, .asm_3af77
ld d, a ld d, a
ld a, [$cc49] ld a, [wcc49]
and a and a
jr nz, .asm_3af96 jr nz, .asm_3af96
ld hl, W_PARTYMON1_MOVE1 ; $d173 ld hl, W_PARTYMON1_MOVE1 ; W_PARTYMON1_MOVE1
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld bc, $2c ld bc, $2c
call AddNTimes call AddNTimes
.asm_3af96 .asm_3af96
@ -357,20 +357,20 @@ Func_3af5b: ; 3af5b (e:6f5b)
dec b dec b
jr nz, .asm_3af98 jr nz, .asm_3af98
ld a, d ld a, d
ld [$d0e0], a ld [wd0e0], a
ld [$d11e], a ld [wd11e], a
call GetMoveName call GetMoveName
call CopyStringToCF4B call CopyStringToCF4B
ld a, $1b ld a, $1b
call Predef ; indirect jump to LearnMove (6e43 (1:6e43)) call Predef ; indirect jump to LearnMove (6e43 (1:6e43))
.asm_3afb1 .asm_3afb1
ld a, [$cf91] ld a, [wcf91]
ld [$d11e], a ld [wd11e], a
ret ret
; writes the moves a mon has at level [W_CURENEMYLVL] to [de] ; 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 ; move slots are being filled up sequentially and shifted if all slots are full
; [$cee9]: (?) ; [wHPBarMaxHP]: (?)
WriteMonMoves: ; 3afb8 (e:6fb8) WriteMonMoves: ; 3afb8 (e:6fb8)
call GetPredefRegisters call GetPredefRegisters
push hl push hl
@ -378,7 +378,7 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
push bc push bc
ld hl, EvosMovesPointerTable ld hl, EvosMovesPointerTable
ld b, $0 ld b, $0
ld a, [$cf91] ; cur mon ID ld a, [wcf91] ; cur mon ID
dec a dec a
add a add a
rl b rl b
@ -401,13 +401,13 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
and a and a
jp z, .done ; end of list jp z, .done ; end of list
ld b, a ld b, a
ld a, [W_CURENEMYLVL] ; $d127 ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
cp b cp b
jp c, .done ; mon level < move level (assumption: learnset is sorted by level) jp c, .done ; mon level < move level (assumption: learnset is sorted by level)
ld a, [$cee9] ld a, [wHPBarMaxHP]
and a and a
jr z, .skipMinLevelCheck jr z, .skipMinLevelCheck
ld a, [wWhichTrade] ; $cd3d (min move level) ld a, [wWhichTrade] ; wWhichTrade (min move level)
cp b cp b
jr nc, .nextMove2 ; min level >= move level jr nc, .nextMove2 ; min level >= move level
.skipMinLevelCheck .skipMinLevelCheck
@ -436,7 +436,7 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
ld h, d ld h, d
ld l, e ld l, e
call WriteMonMoves_ShiftMoveData ; shift all moves one up (deleting move 1) call WriteMonMoves_ShiftMoveData ; shift all moves one up (deleting move 1)
ld a, [$cee9] ld a, [wHPBarMaxHP]
and a and a
jr z, .writeMoveToSlot jr z, .writeMoveToSlot
push de push de
@ -451,7 +451,7 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
.writeMoveToSlot2 .writeMoveToSlot2
ld a, [hl] ld a, [hl]
ld [de], a ld [de], a
ld a, [$cee9] ld a, [wHPBarMaxHP]
and a and a
jr z, .nextMove jr z, .nextMove
push hl ; write move PP value push hl ; write move PP value
@ -463,10 +463,10 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
ld hl, Moves ld hl, Moves
ld bc, $6 ld bc, $6
call AddNTimes call AddNTimes
ld de, $cee9 ld de, wHPBarMaxHP
ld a, BANK(Moves) ld a, BANK(Moves)
call FarCopyData call FarCopyData
ld a, [$ceee] ld a, [wHPBarNewHP + 1]
pop hl pop hl
ld [hl], a ld [hl], a
pop hl pop hl

View file

@ -1,13 +1,13 @@
Func_58f43: ; 58f43 (16:4f43) Func_58f43: ; 58f43 (16:4f43)
ld a, [$cf98] ld a, [wcf98]
ld [$d0b5], a ld [wd0b5], a
call GetMonHeader call GetMonHeader
ld d, $1 ld d, $1
.asm_58f4e .asm_58f4e
inc d inc d
call CalcExperience call CalcExperience
push hl push hl
ld hl, $cfa8 ld hl, wcfa8
ld a, [$ff98] ld a, [$ff98]
ld c, a ld c, a
ld a, [hld] ld a, [hld]

View file

@ -10,7 +10,7 @@ StartSlotMachine: ; 37e2d (d:7e2d)
ld a, [wTrainerSpriteOffset] ld a, [wTrainerSpriteOffset]
and a and a
ret z ret z
ld a, [$cd05] ld a, [wcd05]
ld b, a ld b, a
ld a, [wTrainerFacingDirection] ld a, [wTrainerFacingDirection]
inc a inc a
@ -21,9 +21,9 @@ StartSlotMachine: ; 37e2d (d:7e2d)
.asm_37e58 .asm_37e58
ld a, $fa ld a, $fa
.asm_37e5a .asm_37e5a
ld [$cc5b], a ld [wcc5b], a
ld a, [H_LOADEDROMBANK] ld a, [H_LOADEDROMBANK]
ld [$cc5e], a ld [wcc5e], a
call PromptUserToPlaySlots call PromptUserToPlaySlots
ret ret
.printOutOfOrder .printOutOfOrder

View file

@ -1,5 +1,5 @@
AbleToPlaySlotsCheck ; 2ff09 (b:7f09) AbleToPlaySlotsCheck ; 2ff09 (b:7f09)
ld a, [$c102] ld a, [wSpriteStateData1 + 2]
and $8 and $8
jr z, .done ; not able jr z, .done ; not able
ld b, COIN_CASE ld b, COIN_CASE
@ -20,7 +20,7 @@ AbleToPlaySlotsCheck ; 2ff09 (b:7f09)
call PrintPredefTextID call PrintPredefTextID
xor a xor a
.done .done
ld [$cd3d], a ld [wWhichTrade], a
ret ret
GameCornerCoinCaseText: ; 2ff32 (b:7f32) GameCornerCoinCaseText: ; 2ff32 (b:7f32)

View file

@ -85,7 +85,7 @@ AnimateShootingStar: ; 70044 (1c:4044)
dec a dec a
jr nz, .asm_70098 jr nz, .asm_70098
xor a xor a
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
ld hl, PointerTable_700f2 ; $40f2 ld hl, PointerTable_700f2 ; $40f2
ld c, $6 ld c, $6
.asm_700af .asm_700af
@ -110,15 +110,15 @@ AnimateShootingStar: ; 70044 (1c:4044)
inc hl inc hl
dec c dec c
jr nz, .asm_700ba jr nz, .asm_700ba
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
cp $18 cp $18
jr z, .asm_700d5 jr z, .asm_700d5
add $6 add $6
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
.asm_700d5 .asm_700d5
call Func_7011f call Func_7011f
push af push af
ld hl, $c310 ld hl, wOAMBuffer + $10
ld de, wOAMBuffer ld de, wOAMBuffer
ld bc, $50 ld bc, $50
call CopyData call CopyData
@ -173,8 +173,8 @@ OAMData_7011e: ; 7011e (1c:411e)
Func_7011f: ; 7011f (1c:411f) Func_7011f: ; 7011f (1c:411f)
ld b, $8 ld b, $8
.asm_70121 .asm_70121
ld hl, $c35c ld hl, wOAMBuffer + $5c
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld de, $fffc ld de, $fffc
ld c, a ld c, a
.asm_7012b .asm_7012b

View file

@ -1,22 +1,22 @@
_GivePokemon: ; 4fda5 (13:7da5) _GivePokemon: ; 4fda5 (13:7da5)
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
xor a xor a
ld [$ccd3], a ld [wccd3], a
ld a, [W_NUMINPARTY] ; $d163 ld a, [W_NUMINPARTY] ; W_NUMINPARTY
cp $6 cp $6
jr c, .asm_4fe01 jr c, .asm_4fe01
ld a, [W_NUMINBOX] ; $da80 ld a, [W_NUMINBOX] ; wda80
cp $14 cp $14
jr nc, .asm_4fdf9 jr nc, .asm_4fdf9
xor a xor a
ld [W_ENEMYBATTSTATUS3], a ; $d069 ld [W_ENEMYBATTSTATUS3], a ; W_ENEMYBATTSTATUS3
ld a, [$cf91] ld a, [wcf91]
ld [W_ENEMYMONID], a ld [W_ENEMYMONID], a
callab Func_3eb01 callab Func_3eb01
call SetPokedexOwnedFlag call SetPokedexOwnedFlag
callab Func_e7a4 callab Func_e7a4
ld hl, $cf4b ld hl, wcf4b
ld a, [$d5a0] ld a, [wd5a0]
and $7f and $7f
cp $9 cp $9
jr c, .asm_4fdec jr c, .asm_4fdec
@ -43,26 +43,26 @@ _GivePokemon: ; 4fda5 (13:7da5)
call SetPokedexOwnedFlag call SetPokedexOwnedFlag
call AddPokemonToParty call AddPokemonToParty
ld a, $1 ld a, $1
ld [$cc3c], a ld [wcc3c], a
ld [$ccd3], a ld [wccd3], a
scf scf
ret ret
SetPokedexOwnedFlag: ; 4fe11 (13:7e11) SetPokedexOwnedFlag: ; 4fe11 (13:7e11)
ld a, [$cf91] ld a, [wcf91]
push af push af
ld [$d11e], a ld [wd11e], a
ld a, $3a ld a, $3a
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010)) call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
ld a, [$d11e] ld a, [wd11e]
dec a dec a
ld c, a ld c, a
ld hl, wPokedexOwned ; $d2f7 ld hl, wPokedexOwned ; wPokedexOwned
ld b, $1 ld b, $1
ld a, $10 ; FlagActionPredef ld a, $10 ; FlagActionPredef
call Predef call Predef
pop af pop af
ld [$d11e], a ld [wd11e], a
call GetMonName call GetMonName
ld hl, GotMonText ld hl, GotMonText
jp PrintText jp PrintText

View file

@ -14,18 +14,18 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
ld hl, rLCDC ; $ff40 ld hl, rLCDC ; $ff40
set 3, [hl] set 3, [hl]
xor a xor a
ld hl, $cc5b ld hl, wcc5b
ld bc, $60 ld bc, $60
call FillMemory call FillMemory
xor a xor a
ld [$cfcb], a ld [wcfcb], a
ld [$ffd7], a ld [$ffd7], a
ld [W_SPRITEFLIPPED], a ld [W_SPRITEFLIPPED], a
ld [$d358], a ld [wd358], a
ld [$cd40], a ld [wTrainerScreenY], a
inc a inc a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld hl, $d5a2 ld hl, wd5a2
ld a, [hl] ld a, [hl]
inc a inc a
jr z, .asm_701eb jr z, .asm_701eb
@ -36,7 +36,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
ld c, BANK(Music_HallOfFame) ld c, BANK(Music_HallOfFame)
ld a, MUSIC_HALL_OF_FAME ld a, MUSIC_HALL_OF_FAME
call PlayMusic call PlayMusic
ld hl, W_PARTYMON1 ; $d164 ld hl, W_PARTYMON1 ; W_PARTYMON1
ld c, $ff ld c, $ff
.asm_701fb .asm_701fb
ld a, [hli] ld a, [hli]
@ -45,24 +45,24 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
inc c inc c
push hl push hl
push bc push bc
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
ld a, c ld a, c
ld [$cd3e], a ld [wTrainerEngageDistance], a
ld hl, W_PARTYMON1_LEVEL ; $d18c ld hl, W_PARTYMON1_LEVEL ; W_PARTYMON1_LEVEL
ld bc, $2c ld bc, $2c
call AddNTimes call AddNTimes
ld a, [hl] ld a, [hl]
ld [$cd3f], a ld [wTrainerFacingDirection], a
call Func_70278 call Func_70278
call Func_702e1 call Func_702e1
ld c, $50 ld c, $50
call DelayFrames call DelayFrames
FuncCoord 2, 13 ; $c4a6 FuncCoord 2, 13
ld hl, Coord ld hl, Coord
ld b, $3 ld b, $3
ld c, $e ld c, $e
call TextBoxBorder call TextBoxBorder
FuncCoord 4, 15 ; $c4d0 FuncCoord 4, 15
ld hl, Coord ld hl, Coord
ld de, HallOfFameText ld de, HallOfFameText
call PlaceString call PlaceString
@ -75,15 +75,15 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
.asm_70241 .asm_70241
ld a, c ld a, c
inc a inc a
ld hl, $cc5b ld hl, wcc5b
ld bc, $10 ld bc, $10
call AddNTimes call AddNTimes
ld [hl], $ff ld [hl], $ff
call Func_73b0d call Func_73b0d
xor a xor a
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
inc a inc a
ld [$cd40], a ld [wTrainerScreenY], a
call Func_70278 call Func_70278
call Func_70377 call Func_70377
call Func_70423 call Func_70423
@ -102,18 +102,18 @@ Func_70278: ; 70278 (1c:4278)
ld [$ffaf], a ld [$ffaf], a
ld a, $c0 ld a, $c0
ld [$ffae], a ld [$ffae], a
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld [$cf91], a ld [wcf91], a
ld [$d0b5], a ld [wd0b5], a
ld [$cfd9], a ld [wcfd9], a
ld [$cf1d], a ld [wcf1d], a
ld a, [$cd40] ld a, [wTrainerScreenY]
and a and a
jr z, .asm_7029d jr z, .asm_7029d
call Func_7033e call Func_7033e
jr .asm_702ab jr .asm_702ab
.asm_7029d .asm_7029d
FuncCoord 12, 5 ; $c410 FuncCoord 12, 5
ld hl, Coord ld hl, Coord
call GetMonHeader call GetMonHeader
call LoadFrontSpriteByMonIndex call LoadFrontSpriteByMonIndex
@ -129,7 +129,7 @@ Func_70278: ; 70278 (1c:4278)
call Func_7036d call Func_7036d
ld d, $a0 ld d, $a0
ld e, $4 ld e, $4
ld a, [$cf1b] ld a, [wcf1b]
and a and a
jr z, .asm_702c7 jr z, .asm_702c7
sla e sla e
@ -151,37 +151,37 @@ Func_70278: ; 70278 (1c:4278)
ret ret
Func_702e1: ; 702e1 (1c:42e1) Func_702e1: ; 702e1 (1c:42e1)
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
call GetPartyMonName call GetPartyMonName
call Func_702f0 call Func_702f0
jp Func_70404 jp Func_70404
Func_702f0: ; 702f0 (1c:42f0) Func_702f0: ; 702f0 (1c:42f0)
FuncCoord 0, 2 ; $c3c8 FuncCoord 0, 2
ld hl, Coord ld hl, Coord
ld b, $9 ld b, $9
ld c, $a ld c, $a
call TextBoxBorder call TextBoxBorder
FuncCoord 2, 6 ; $c41a FuncCoord 2, 6
ld hl, Coord ld hl, Coord
ld de, HoFMonInfoText ld de, HoFMonInfoText
call PlaceString call PlaceString
FuncCoord 1, 4 ; $c3f1 FuncCoord 1, 4
ld hl, Coord ld hl, Coord
ld de, $cd6d ld de, wcd6d
call PlaceString call PlaceString
ld a, [$cd3f] ld a, [wTrainerFacingDirection]
FuncCoord 8, 7 ; $c434 FuncCoord 8, 7
ld hl, Coord ld hl, Coord
call PrintLevelCommon call PrintLevelCommon
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld [$d0b5], a ld [wd0b5], a
FuncCoord 3, 9 ; $c457 FuncCoord 3, 9
ld hl, Coord ld hl, Coord
ld a, $4b ld a, $4b
call Predef ; indirect jump to Func_27d6b (27d6b (9:7d6b)) call Predef ; indirect jump to Func_27d6b (27d6b (9:7d6b))
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
jp PlayCry jp PlayCry
HoFMonInfoText: ; 70329 (1c:4329) HoFMonInfoText: ; 70329 (1c:4329)
@ -210,58 +210,58 @@ Func_7033e: ; 7033e (1c:433e)
Func_7036d: ; 7036d (1c:436d) Func_7036d: ; 7036d (1c:436d)
ld b, $0 ld b, $0
FuncCoord 12, 5 ; $c410 FuncCoord 12, 5
ld hl, Coord ld hl, Coord
ld a, $31 ld a, $31
jp Predef ; indirect jump to Func_79dda (79dda (1e:5dda)) jp Predef ; indirect jump to Func_79dda (79dda (1e:5dda))
Func_70377: ; 70377 (1c:4377) Func_70377: ; 70377 (1c:4377)
ld hl, $d747 ld hl, wd747
set 3, [hl] set 3, [hl]
ld a, $56 ld a, $56
call Predef ; indirect jump to DisplayDexRating (44169 (11:4169)) call Predef ; indirect jump to DisplayDexRating (44169 (11:4169))
FuncCoord 0, 4 ; $c3f0 FuncCoord 0, 4
ld hl, Coord ld hl, Coord
ld b, $6 ld b, $6
ld c, $a ld c, $a
call TextBoxBorder call TextBoxBorder
FuncCoord 5, 0 ; $c3a5 FuncCoord 5, 0
ld hl, Coord ld hl, Coord
ld b, $2 ld b, $2
ld c, $9 ld c, $9
call TextBoxBorder call TextBoxBorder
FuncCoord 7, 2 ; $c3cf FuncCoord 7, 2
ld hl, Coord ld hl, Coord
ld de, W_PLAYERNAME ; $d158 ld de, W_PLAYERNAME ; wd158
call PlaceString call PlaceString
FuncCoord 1, 6 ; $c419 FuncCoord 1, 6
ld hl, Coord ld hl, Coord
ld de, HoFPlayTimeText ld de, HoFPlayTimeText
call PlaceString call PlaceString
FuncCoord 5, 7 ; $c431 FuncCoord 5, 7
ld hl, Coord ld hl, Coord
ld de, $da41 ld de, W_PLAYTIMEHOURS + 1
ld bc, $103 ld bc, $103
call PrintNumber call PrintNumber
ld [hl], $6d ld [hl], $6d
inc hl inc hl
ld de, $da43 ld de, W_PLAYTIMEMINUTES + 1
ld bc, $8102 ld bc, $8102
call PrintNumber call PrintNumber
FuncCoord 1, 9 ; $c455 FuncCoord 1, 9
ld hl, Coord ld hl, Coord
ld de, HoFMoneyText ld de, HoFMoneyText
call PlaceString call PlaceString
FuncCoord 4, 10 ; $c46c FuncCoord 4, 10
ld hl, Coord ld hl, Coord
ld de, wPlayerMoney ; $d347 ld de, wPlayerMoney ; wPlayerMoney
ld c, $a3 ld c, $a3
call PrintBCDNumber call PrintBCDNumber
ld hl, DexSeenOwnedText ld hl, DexSeenOwnedText
call Func_703e2 call Func_703e2
ld hl, DexRatingText ld hl, DexRatingText
call Func_703e2 call Func_703e2
ld hl, $cc5d ld hl, wcc5d
Func_703e2: ; 703e2 (1c:43e2) Func_703e2: ; 703e2 (1c:43e2)
call PrintText call PrintText
@ -283,24 +283,24 @@ DexRatingText: ; 703ff (1c:43ff)
db "@" db "@"
Func_70404: ; 70404 (1c:4404) Func_70404: ; 70404 (1c:4404)
ld hl, $cc5b ld hl, wcc5b
ld bc, $10 ld bc, $10
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
call AddNTimes call AddNTimes
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld [hli], a ld [hli], a
ld a, [$cd3f] ld a, [wTrainerFacingDirection]
ld [hli], a ld [hli], a
ld e, l ld e, l
ld d, h ld d, h
ld hl, $cd6d ld hl, wcd6d
ld bc, $b ld bc, $b
jp CopyData jp CopyData
Func_70423: ; 70423 (1c:4423) Func_70423: ; 70423 (1c:4423)
ld a, $a ld a, $a
ld [$cfc8], a ld [wcfc8], a
ld [$cfc9], a ld [wcfc9], a
ld a, $ff ld a, $ff
ld [wMusicHeaderPointer], a ld [wMusicHeaderPointer], a
jp GBFadeOut2 jp GBFadeOut2

View file

@ -1,7 +1,7 @@
PrintNotebookText: ; 52996 (14:6996) PrintNotebookText: ; 52996 (14:6996)
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, $1 ld a, $1
ld [$cc3c], a ld [wcc3c], a
ld a, [wTrainerSpriteOffset] ld a, [wTrainerSpriteOffset]
jp PrintPredefTextID jp PrintPredefTextID
@ -92,7 +92,7 @@ FightingDojoText: ; 52a2a (14:6a2a)
db "@" db "@"
PrintIndigoPlateauHQText: ; 52a2f (14:6a2f) PrintIndigoPlateauHQText: ; 52a2f (14:6a2f)
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 cp $4
ret nz ret nz
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing

View file

@ -16,14 +16,14 @@ RedBedroomPC: ; 5db8e (17:5b8e)
db $fc ; FuncTX_ItemStoragePC db $fc ; FuncTX_ItemStoragePC
Route15GateLeftBinoculars: ; 5db8f (17:5b8f) Route15GateLeftBinoculars: ; 5db8f (17:5b8f)
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 ; i cp $4 ; i
ret nz ret nz
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, $a ; text id Route15UpstairsBinocularsText ld a, $a ; text id Route15UpstairsBinocularsText
call PrintPredefTextID call PrintPredefTextID
ld a, ARTICUNO ld a, ARTICUNO
ld [$cf91], a ld [wcf91], a
call PlayCry call PlayCry
jp DisplayMonFrontSpriteInBox jp DisplayMonFrontSpriteInBox
@ -33,7 +33,7 @@ Route15UpstairsBinocularsText: ; 5dba8 (17:5ba8)
AerodactylFossil: ; 5dbad (17:5bad) AerodactylFossil: ; 5dbad (17:5bad)
ld a, FOSSIL_AERODACTYL ld a, FOSSIL_AERODACTYL
ld [$cf91], a ld [wcf91], a
call DisplayMonFrontSpriteInBox call DisplayMonFrontSpriteInBox
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, $9 ld a, $9
@ -46,7 +46,7 @@ AerodactylFossilText: ; 5dbbe (17:5bbe)
KabutopsFossil: ; 5bdc3 (17:5bc3) KabutopsFossil: ; 5bdc3 (17:5bc3)
ld a, FOSSIL_KABUTOPS ld a, FOSSIL_KABUTOPS
ld [$cf91], a ld [wcf91], a
call DisplayMonFrontSpriteInBox call DisplayMonFrontSpriteInBox
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, $b ld a, $b
@ -59,7 +59,7 @@ KabutopsFossilText: ; 5dbd4 (17:5bd4)
DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9) DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9)
; Displays a pokemon's front sprite in a pop-up window. ; 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 a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
call Delay3 call Delay3
@ -67,17 +67,17 @@ DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9)
ld [$ffb0], a ld [$ffb0], a
call SaveScreenTilesToBuffer1 call SaveScreenTilesToBuffer1
ld a, $11 ld a, $11
ld [$d125], a ld [wd125], a
call DisplayTextBoxID call DisplayTextBoxID
call UpdateSprites call UpdateSprites
ld a, [$cf91] ld a, [wcf91]
ld [$d0b5], a ld [wd0b5], a
call GetMonHeader call GetMonHeader
ld de, $8b10 ld de, $8b10
call LoadMonFrontSprite call LoadMonFrontSprite
ld a, $80 ld a, $80
ld [$ffe1], a ld [$ffe1], a
FuncCoord 10, 11 ; $c486 FuncCoord 10, 11
ld hl, Coord ld hl, Coord
ld a, $2 ld a, $2
call Predef ; indirect jump to Func_3f073 (3f073 (f:7073)) call Predef ; indirect jump to Func_3f073 (3f073 (f:7073))
@ -91,8 +91,8 @@ DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9)
PrintBlackboardLinkCableText: ; 5dc1a (17:5c1a) PrintBlackboardLinkCableText: ; 5dc1a (17:5c1a)
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, $1 ld a, $1
ld [$cc3c], a ld [wcc3c], a
ld a, [$cd3d] ld a, [wWhichTrade]
call PrintPredefTextID call PrintPredefTextID
ret ret
@ -114,13 +114,13 @@ LinkCableHelp: ; 5dc29 (17:5c29)
ld a, $1 ld a, $1
ld [wTopMenuItemX], a ld [wTopMenuItemX], a
.asm_5c51 .asm_5c51
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
ld hl, wTileMap ld hl, wTileMap
ld b, $8 ld b, $8
ld c, $d ld c, $d
call TextBoxBorder call TextBoxBorder
ld hl, $c3ca ld hl, wTileMap + $2a
ld de, HowToLinkText ld de, HowToLinkText
call PlaceString call PlaceString
ld hl, LinkCableHelpText2 ld hl, LinkCableHelpText2
@ -131,7 +131,7 @@ LinkCableHelp: ; 5dc29 (17:5c29)
ld a, [wCurrentMenuItem] ld a, [wCurrentMenuItem]
cp $3 cp $3
jr z, .asm_5dc93 ; 0x5dc7b $16 jr z, .asm_5dc93 ; 0x5dc7b $16
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
ld hl, LinkCableInfoTexts ld hl, LinkCableInfoTexts
add a add a
@ -144,7 +144,7 @@ LinkCableHelp: ; 5dc29 (17:5c29)
call PrintText call PrintText
jp .asm_5c51 jp .asm_5c51
.asm_5dc93 .asm_5dc93
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
call LoadScreenTilesFromBuffer1 call LoadScreenTilesFromBuffer1
jp TextScriptEnd jp TextScriptEnd
@ -198,15 +198,15 @@ ViridianSchoolBlackboard: ; 5dced (17:5ced)
ld a, $1 ld a, $1
ld [wTopMenuItemX], a ld [wTopMenuItemX], a
.asm_5dd15 .asm_5dd15
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
ld hl, wTileMap ld hl, wTileMap
ld bc, $060a ld bc, $060a
call TextBoxBorder call TextBoxBorder
ld hl, $c3c9 ld hl, wTileMap + $29
ld de, StatusAilmentText1 ld de, StatusAilmentText1
call PlaceString call PlaceString
ld hl, $c3ce ld hl, wTileMap + $2e
ld de, StatusAilmentText2 ld de, StatusAilmentText2
call PlaceString call PlaceString
ld hl, ViridianSchoolBlackboardText2 ld hl, ViridianSchoolBlackboardText2
@ -244,7 +244,7 @@ ViridianSchoolBlackboard: ; 5dced (17:5ced)
add b add b
cp $5 cp $5
jr z, .exitBlackboard jr z, .exitBlackboard
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
ld hl, ViridianBlackboardStatusPointers ld hl, ViridianBlackboardStatusPointers
add a add a
@ -257,7 +257,7 @@ ViridianSchoolBlackboard: ; 5dced (17:5ced)
call PrintText call PrintText
jp .asm_5dd15 jp .asm_5dd15
.exitBlackboard .exitBlackboard
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
call LoadScreenTilesFromBuffer1 call LoadScreenTilesFromBuffer1
jp TextScriptEnd jp TextScriptEnd
@ -318,11 +318,11 @@ VermilionGymTrashText: ; 5ddf7 (17:5df7)
GymTrashScript: ; 5ddfc (17:5dfc) GymTrashScript: ; 5ddfc (17:5dfc)
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld [$cd5b], a ld [wcd5b], a
; Don't do the trash can puzzle if it's already been done. ; Don't do the trash can puzzle if it's already been done.
ld a, [$d773] ld a, [wd773]
bit 0, a bit 0, a
jr z, .ok jr z, .ok
@ -333,9 +333,9 @@ GymTrashScript: ; 5ddfc (17:5dfc)
bit 1, a bit 1, a
jr nz, .trySecondLock jr nz, .trySecondLock
ld a, [$d743] ld a, [wd743]
ld b, a ld b, a
ld a, [$cd5b] ld a, [wcd5b]
cp b cp b
jr z, .openFirstLock jr z, .openFirstLock
@ -344,11 +344,11 @@ GymTrashScript: ; 5ddfc (17:5dfc)
.openFirstLock .openFirstLock
; Next can is trying for the second switch. ; Next can is trying for the second switch.
ld hl, $d773 ld hl, wd773
set 1, [hl] set 1, [hl]
ld hl, GymTrashCans ; $5e7d ld hl, GymTrashCans ; $5e7d
ld a, [$cd5b] ld a, [wcd5b]
; * 5 ; * 5
ld b, a ld b, a
add a add a
@ -375,34 +375,34 @@ GymTrashScript: ; 5ddfc (17:5dfc)
add hl, de add hl, de
ld a, [hl] ld a, [hl]
and $f and $f
ld [$d744], a ld [wd744], a
ld a, $3b ; DisplayTextID $3b = VermilionGymTrashSuccesText1 (first lock opened!) ld a, $3b ; DisplayTextID $3b = VermilionGymTrashSuccesText1 (first lock opened!)
jr .done jr .done
.trySecondLock .trySecondLock
ld a, [$d744] ld a, [wd744]
ld b, a ld b, a
ld a, [$cd5b] ld a, [wcd5b]
cp b cp b
jr z, .openSecondLock jr z, .openSecondLock
; Reset the cans. ; Reset the cans.
ld hl, $d773 ld hl, wd773
res 1, [hl] res 1, [hl]
call Random call Random
and $e and $e
ld [$d743], a ld [wd743], a
ld a, $3e ; DisplayTextID $3e = VermilionGymTrashFailText (locks reset!) ld a, $3e ; DisplayTextID $3e = VermilionGymTrashFailText (locks reset!)
jr .done jr .done
.openSecondLock .openSecondLock
; Completed the trash can puzzle. ; Completed the trash can puzzle.
ld hl, $d773 ld hl, wd773
set 0, [hl] set 0, [hl]
ld hl, $d126 ld hl, wd126
set 6, [hl] set 6, [hl]
ld a, $3d ; DisplayTextID $3d = VermilionGymTrashSuccesText3 (2nd lock opened!) ld a, $3d ; DisplayTextID $3d = VermilionGymTrashSuccesText3 (2nd lock opened!)

View file

@ -3,7 +3,7 @@ GymStatues: ; 62419 (18:6419)
; if in a gym and dont have the corresponding badge, a = $C and jp PrintPredefTextID ; if in a gym and dont have the corresponding badge, a = $C and jp PrintPredefTextID
; else ret ; else ret
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 cp $4
ret nz ret nz
ld hl, .BadgeFlags ld hl, .BadgeFlags
@ -19,7 +19,7 @@ GymStatues: ; 62419 (18:6419)
jr .asm_62429 ; 0x62431 $f6 jr .asm_62429 ; 0x62431 $f6
.asm_62433 .asm_62433
ld b, [hl] ld b, [hl]
ld a, [$d72a] ld a, [wd72a]
and b and b
cp b cp b
ld a, $d ld a, $d
@ -64,7 +64,7 @@ PrintBenchGuyText: ; 6245d (18:645d)
.asm_62472 .asm_62472
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp b cp b
jr nz, .asm_62467 jr nz, .asm_62467
ld a, [hl] ld a, [hl]
@ -140,7 +140,7 @@ CinnabarIslandPokecenterBenchGuyText: ; 624df (18:64df)
SaffronCityPokecenterBenchGuyText: ; 624e4 (18:64e4) SaffronCityPokecenterBenchGuyText: ; 624e4 (18:64e4)
db $8 ; asm db $8 ; asm
ld a, [$d838] ld a, [wd838]
bit 7, a bit 7, a
ld hl, SaffronCityPokecenterBenchGuyText2 ld hl, SaffronCityPokecenterBenchGuyText2
jr nz, .asm_624f2 ; 0x624ed $3 jr nz, .asm_624f2 ; 0x624ed $3
@ -176,12 +176,12 @@ BookcaseText: ; 62511 (18:6511)
db "@" db "@"
OpenPokemonCenterPC: ; 62516 (18:6516) OpenPokemonCenterPC: ; 62516 (18:6516)
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 ; check to see if player is facing up cp $4 ; check to see if player is facing up
ret nz ret nz
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, $1 ld a, $1
ld [$cf0c], a ld [wcf0c], a
ld a, $1f ; PredefText1f ld a, $1f ; PredefText1f
jp PrintPredefTextID jp PrintPredefTextID

View file

@ -1,11 +1,11 @@
; prints text for bookshelves in buildings without sign events ; prints text for bookshelves in buildings without sign events
PrintBookshelfText: ; fb50 (3:7b50) PrintBookshelfText: ; fb50 (3:7b50)
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 cp $4
jr nz, .asm_fb7f jr nz, .asm_fb7f
ld a, [W_CURMAPTILESET] ; $d367 ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
ld b, a ld b, a
FuncCoord 8, 7 ; $c434 FuncCoord 8, 7
ld a, [Coord] ld a, [Coord]
ld c, a ld c, a
ld hl, BookshelfTileIDs ; $7b8b ld hl, BookshelfTileIDs ; $7b8b
@ -90,7 +90,7 @@ BookOrSculptureText: ; fbe8 (3:7be8)
ld a, [W_CURMAPTILESET] ld a, [W_CURMAPTILESET]
cp MANSION ; Celadon Mansion tileset cp MANSION ; Celadon Mansion tileset
jr nz, .asm_fbfd jr nz, .asm_fbfd
ld a, [$c420] ld a, [wTileMap + $80]
cp $38 cp $38
jr nz, .asm_fbfd jr nz, .asm_fbfd
ld hl, DiglettSculptureText ld hl, DiglettSculptureText
@ -115,8 +115,8 @@ TownMapText: ; fc12 (3:7c12)
db $06 db $06
db $08 ; asm db $08 ; asm
ld a, $1 ld a, $1
ld [$cc3c], a ld [wcc3c], a
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
xor a xor a
@ -125,7 +125,7 @@ TownMapText: ; fc12 (3:7c12)
ld [H_AUTOBGTRANSFERENABLED], a ld [H_AUTOBGTRANSFERENABLED], a
call LoadFontTilePatterns call LoadFontTilePatterns
callba DisplayTownMap callba DisplayTownMap
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
ld de, TextScriptEnd ld de, TextScriptEnd
push de push de

View file

@ -21,7 +21,7 @@ DisplayOakLabRightPoster: ; 1e965 (7:6965)
ld hl, wPokedexOwned ld hl, wPokedexOwned
ld b, wPokedexOwnedEnd - wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned
call CountSetBits call CountSetBits
ld a, [$d11e] ld a, [wd11e]
cp $2 cp $2
ld a, $6 ; SaveOptionText ld a, $6 ; SaveOptionText
jr c, .asm_1e97b jr c, .asm_1e97b
@ -38,29 +38,29 @@ StrengthsAndWeaknessesText: ; 1e983 (7:6983)
db "@" db "@"
SafariZoneCheck: ; 1e988 (7:6988) SafariZoneCheck: ; 1e988 (7:6988)
ld hl, $d790 ld hl, wd790
bit 7, [hl] bit 7, [hl]
jr z, asm_1e9ab jr z, asm_1e9ab
ld a, [W_NUMSAFARIBALLS] ; $da47 ld a, [W_NUMSAFARIBALLS] ; W_NUMSAFARIBALLS
and a and a
jr z, asm_1e9b0 jr z, asm_1e9b0
jr asm_1e9ab jr asm_1e9ab
SafariZoneCheckSteps: ; 1e997 (7:6997) SafariZoneCheckSteps: ; 1e997 (7:6997)
ld a, [wSafariSteps] ; $d70d ld a, [wSafariSteps] ; wd70d
ld b, a ld b, a
ld a, [wSafariSteps + 1] ; $d70e ld a, [wSafariSteps + 1] ; wd70e
ld c, a ld c, a
or b or b
jr z, asm_1e9b0 jr z, asm_1e9b0
dec bc dec bc
ld a, b ld a, b
ld [wSafariSteps], a ; $d70d ld [wSafariSteps], a ; wd70d
ld a, c ld a, c
ld [wSafariSteps + 1], a ; $d70e ld [wSafariSteps + 1], a ; wd70e
asm_1e9ab: ; 1e9ab (7:69ab) asm_1e9ab: ; 1e9ab (7:69ab)
xor a xor a
ld [$da46], a ld [wda46], a
ret ret
asm_1e9b0: ; 1e9b0 (7:69b0) asm_1e9b0: ; 1e9b0 (7:69b0)
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
@ -72,24 +72,24 @@ asm_1e9b0: ; 1e9b0 (7:69b0)
ld a, (SFX_02_5f - SFX_Headers_02) / 3 ld a, (SFX_02_5f - SFX_Headers_02) / 3
call PlayMusic call PlayMusic
.asm_1e9c2 .asm_1e9c2
ld a, [$c02a] ld a, [wc02a]
cp $b9 cp $b9
jr nz, .asm_1e9c2 jr nz, .asm_1e9c2
ld a, $d3 ld a, $d3
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID call DisplayTextID
xor a xor a
ld [$d528], a ld [wd528], a
ld a, $9c ld a, $9c
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
ld a, $3 ld a, $3
ld [$d42f], a ld [wd42f], a
ld a, $5 ld a, $5
ld [W_SAFARIZONEENTRANCECURSCRIPT], a ld [W_SAFARIZONEENTRANCECURSCRIPT], a
ld hl, $d790 ld hl, wd790
set 6, [hl] set 6, [hl]
ld a, $1 ld a, $1
ld [$da46], a ld [wda46], a
ret ret
PrintSafariGameOverText: ; 1e9ed (7:69ed) PrintSafariGameOverText: ; 1e9ed (7:69ed)
@ -100,7 +100,7 @@ PrintSafariGameOverText: ; 1e9ed (7:69ed)
SafariGameOverText: ; 1e9f7 (7:69f7) SafariGameOverText: ; 1e9f7 (7:69f7)
db $08 ; asm db $08 ; asm
ld a, [W_NUMSAFARIBALLS] ; $da47 ld a, [W_NUMSAFARIBALLS] ; W_NUMSAFARIBALLS
and a and a
jr z, .asm_1ea04 jr z, .asm_1ea04
ld hl, TimesUpText ld hl, TimesUpText
@ -119,7 +119,7 @@ GameOverText: ; 1ea12 (7:6a12)
db "@" db "@"
PrintCinnabarQuiz: ; 1ea17 (7:6a17) PrintCinnabarQuiz: ; 1ea17 (7:6a17)
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 cp $4
ret nz ret nz
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
@ -129,8 +129,8 @@ PrintCinnabarQuiz: ; 1ea17 (7:6a17)
CinnabarGymQuiz: ; 1ea25 (7:6a25) CinnabarGymQuiz: ; 1ea25 (7:6a25)
db $08 ; asm db $08 ; asm
xor a xor a
ld [$da38], a ld [wda38], a
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
push af push af
and $f and $f
ld [$ffdb], a ld [$ffdb], a
@ -152,7 +152,7 @@ CinnabarGymQuiz: ; 1ea25 (7:6a25)
ld l, a ld l, a
call PrintText call PrintText
ld a, $1 ld a, $1
ld [$cc3c], a ld [wcc3c], a
call CinnabarGymQuiz_1ea92 call CinnabarGymQuiz_1ea92
jp TextScriptEnd jp TextScriptEnd
@ -193,7 +193,7 @@ CinnabarQuizQuestionsText6: ; 1ea85 (7:6a85)
db "@" db "@"
CinnabarGymQuiz_1ea8a: ; 1ea8a (7:6a8a) CinnabarGymQuiz_1ea8a: ; 1ea8a (7:6a8a)
ld hl, $d79c ld hl, wd79c
ld a, $10 ; FlagActionPredef ld a, $10 ; FlagActionPredef
jp Predef jp Predef
@ -201,10 +201,10 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92)
call YesNoChoice call YesNoChoice
ld a, [$ffdc] ld a, [$ffdc]
ld c, a ld c, a
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp c cp c
jr nz, .asm_1eab8 jr nz, .asm_1eab8
ld hl, $d126 ld hl, wd126
set 5, [hl] set 5, [hl]
ld a, [$ffdb] ld a, [$ffdb]
ld [$ffe0], a ld [$ffe0], a
@ -226,7 +226,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92)
add $2 add $2
ld c, a ld c, a
ld b, $2 ld b, $2
ld hl, $d79a ld hl, wd79a
ld a, $10 ; FlagActionPredef ld a, $10 ; FlagActionPredef
call Predef call Predef
ld a, c ld a, c
@ -234,7 +234,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92)
ret nz ret nz
ld a, [$ffdb] ld a, [$ffdb]
add $2 add $2
ld [$da38], a ld [wda38], a
ret ret
CinnabarGymQuizCorrectText: ; 1eae3 (7:6ae3) CinnabarGymQuizCorrectText: ; 1eae3 (7:6ae3)
@ -276,7 +276,7 @@ CinnabarGymQuiz_1eb0a: ; 1eb0a (7:6b0a)
ld c, a ld c, a
inc hl inc hl
ld a, [hl] ld a, [hl]
ld [$d12f], a ld [wd12f], a
push bc push bc
ld a, [$ffdb] ld a, [$ffdb]
ld [$ffe0], a ld [$ffe0], a
@ -286,13 +286,13 @@ CinnabarGymQuiz_1eb0a: ; 1eb0a (7:6b0a)
ld a, c ld a, c
and a and a
jr nz, .asm_1eb36 jr nz, .asm_1eb36
ld a, [$d12f] ld a, [wd12f]
jr .asm_1eb38 jr .asm_1eb38
.asm_1eb36 .asm_1eb36
ld a, $e ld a, $e
.asm_1eb38 .asm_1eb38
pop bc pop bc
ld [$d09f], a ld [wd09f], a
ld a, $17 ld a, $17
call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
ld hl, $ffdb ld hl, $ffdb
@ -322,10 +322,10 @@ MagazinesText: ; 1eb69 (7:6b69)
BillsHousePC: ; 1eb6e (7:6b6e) BillsHousePC: ; 1eb6e (7:6b6e)
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 cp $4
ret nz ret nz
ld a, [$d7f2] ld a, [wd7f2]
bit 7, a bit 7, a
jr nz, .asm_1ebd2 jr nz, .asm_1ebd2
bit 3, a bit 3, a
@ -337,7 +337,7 @@ BillsHousePC: ; 1eb6e (7:6b6e)
jp PrintPredefTextID jp PrintPredefTextID
.asm_1eb8b .asm_1eb8b
ld a, $1 ld a, $1
ld [$cc3c], a ld [wcc3c], a
ld a, $2e ld a, $2e
call PrintPredefTextID call PrintPredefTextID
ld c, $20 ld c, $20
@ -361,12 +361,12 @@ BillsHousePC: ; 1eb6e (7:6b6e)
call PlaySound call PlaySound
call WaitForSoundToFinish call WaitForSoundToFinish
call Func_2307 call Func_2307
ld hl, $d7f2 ld hl, wd7f2
set 3, [hl] set 3, [hl]
ret ret
.asm_1ebd2 .asm_1ebd2
ld a, $1 ld a, $1
ld [$cc3c], a ld [wcc3c], a
ld a, $2f ld a, $2f
call PrintPredefTextID call PrintPredefTextID
ret ret
@ -380,7 +380,7 @@ BillsHouseInitiatedText: ; 1ebe2 (7:6be2)
db $06 db $06
db $08 ; asm db $08 ; asm
ld a, $ff ld a, $ff
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
ld c, $10 ld c, $10
call DelayFrames call DelayFrames
@ -397,25 +397,25 @@ BillsHousePokemonList: ; 1ec05 (7:6c05)
ld hl, BillsHousePokemonListText1 ld hl, BillsHousePokemonListText1
call PrintText call PrintText
xor a xor a
ld [$d07c], a ld [W_ANIMATIONID], a
ld [$cc26], a ld [wCurrentMenuItem], a
ld [$cc2a], a ld [wLastMenuItem], a
ld a, $3 ld a, $3
ld [$cc29], a ld [wMenuWatchedKeys], a
ld a, $4 ld a, $4
ld [$cc28], a ld [wMaxMenuItem], a
ld a, $2 ld a, $2
ld [$cc24], a ld [wTopMenuItemY], a
ld a, $1 ld a, $1
ld [$cc25], a ld [wTopMenuItemX], a
.asm_1ec2d .asm_1ec2d
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
ld hl, wTileMap ld hl, wTileMap
ld b, $a ld b, $a
ld c, $9 ld c, $9
call TextBoxBorder call TextBoxBorder
ld hl, $c3ca ld hl, wTileMap + $2a
ld de, BillsMonListText ld de, BillsMonListText
call PlaceString call PlaceString
ld hl, BillsHousePokemonListText2 ld hl, BillsHousePokemonListText2
@ -424,7 +424,7 @@ BillsHousePokemonList: ; 1ec05 (7:6c05)
call HandleMenuInput call HandleMenuInput
bit 1, a bit 1, a
jr nz, .asm_1ec74 jr nz, .asm_1ec74
ld a, [$cc26] ld a, [wCurrentMenuItem]
add EEVEE add EEVEE
cp EEVEE cp EEVEE
jr z, .asm_1ec6c jr z, .asm_1ec6c
@ -440,7 +440,7 @@ BillsHousePokemonList: ; 1ec05 (7:6c05)
call LoadScreenTilesFromBuffer2 call LoadScreenTilesFromBuffer2
jr .asm_1ec2d jr .asm_1ec2d
.asm_1ec74 .asm_1ec74
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
call LoadScreenTilesFromBuffer2 call LoadScreenTilesFromBuffer2
jp TextScriptEnd jp TextScriptEnd
@ -461,7 +461,7 @@ BillsHousePokemonListText2: ; 1ecaa (7:6caa)
db "@" db "@"
DisplayOakLabEmailText: ; 1ecaf (7:6caf) DisplayOakLabEmailText: ; 1ecaf (7:6caf)
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 cp $4
ret nz ret nz
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing

View file

@ -202,13 +202,13 @@ UpdateHPBar_CalcHPDifference: ; fad7 (3:7ad7)
UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5) UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5)
push af push af
push de push de
ld a, [wListMenuID] ; $cf94 ld a, [wListMenuID] ; wListMenuID
and a and a
jr z, .asm_fb2d jr z, .asm_fb2d
ld a, [wHPBarOldHP] ld a, [wHPBarOldHP]
ld [$cef1], a ld [wcef1], a
ld a, [wHPBarOldHP+1] ld a, [wHPBarOldHP+1]
ld [$cef0], a ld [wcef0], a
push hl push hl
ld a, [$fff6] ld a, [$fff6]
bit 0, a bit 0, a
@ -225,7 +225,7 @@ UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5)
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
pop hl pop hl
ld de, $cef0 ld de, wcef0
ld bc, $203 ld bc, $203
call PrintNumber call PrintNumber
call DelayFrame call DelayFrame

View file

@ -11,12 +11,12 @@ Predef54: ; 71ad9 (1c:5ad9)
ld b,$0 ld b,$0
add hl,bc add hl,bc
ld a,[hli] ld a,[hli]
ld [$cd0f],a ld [wcd0f],a
ld a,[hli] ld a,[hli]
ld [$cd34],a ld [wcd34],a
ld a,[hli] ld a,[hli]
push af push af
ld de,$cd29 ld de,wcd29
ld bc,$000b ld bc,$000b
call CopyData call CopyData
pop af pop af
@ -26,16 +26,16 @@ Predef54: ; 71ad9 (1c:5ad9)
add hl,hl add hl,hl
add hl,de add hl,de
ld a,[hli] ld a,[hli]
ld [$cd10],a ld [wcd10],a
ld a,[hl] ld a,[hl]
ld [$cd11],a ld [wcd11],a
ld a,[$cd0f] ld a,[wcd0f]
ld de,$cd13 ld de,wcd13
call Func_71b6a call Func_71b6a
ld a,[$cd34] ld a,[wcd34]
ld de,$cd1e ld de,wPlayerMonAccuracyMod
call Func_71b6a call Func_71b6a
ld hl,$d737 ld hl,wd737
ld a,[wWhichTrade] ld a,[wWhichTrade]
ld c,a ld c,a
ld b,$2 ld b,$2
@ -44,15 +44,15 @@ Predef54: ; 71ad9 (1c:5ad9)
ld a,c ld a,c
and a and a
ld a,$4 ld a,$4
ld [$cd12],a ld [wcd12],a
jr nz,.asm_99bca ; 0x71b36 $20 jr nz,.asm_99bca ; 0x71b36 $20
xor a xor a
ld [$cd12],a ld [wcd12],a
call .asm_99bca call .asm_99bca
ld a,$1 ld a,$1
ld [$cd12],a ld [wcd12],a
call YesNoChoice call YesNoChoice
ld a,[$cc26] ld a,[wCurrentMenuItem]
and a and a
jr nz,.asm_99bca ; 0x71b4b $b jr nz,.asm_99bca ; 0x71b4b $b
call Func_71c07 call Func_71c07
@ -60,7 +60,7 @@ Predef54: ; 71ad9 (1c:5ad9)
ld hl, TradedForText ld hl, TradedForText
call PrintText call PrintText
.asm_99bca ; 0x71b58 .asm_99bca ; 0x71b58
ld hl,$cd12 ld hl,wcd12
ld a,[hld] ld a,[hld]
ld e,a ld e,a
ld d,$0 ld d,$0
@ -76,9 +76,9 @@ Predef54: ; 71ad9 (1c:5ad9)
Func_71b6a: ; 71b6a (1c:5b6a) Func_71b6a: ; 71b6a (1c:5b6a)
push de push de
ld [$d11e],a ld [wd11e],a
call GetMonName call GetMonName
ld hl,$cd6d ld hl,wcd6d
pop de pop de
ld bc,$b ld bc,$b
jp CopyData jp CopyData
@ -87,28 +87,28 @@ INCLUDE "data/trades.asm"
Func_71c07: ; 71c07 (1c:5c07) Func_71c07: ; 71c07 (1c:5c07)
xor a xor a
ld [$d07d],a ld [wd07d],a
dec a dec a
ld [$cfcb],a ld [wcfcb],a
call DisplayPartyMenu call DisplayPartyMenu
push af push af
call Func_71ca2 call Func_71ca2
pop af pop af
ld a,$1 ld a,$1
jp c,.asm_c4bc2 jp c,.asm_c4bc2
ld a,[$cd0f] ld a,[wcd0f]
ld b,a ld b,a
ld a,[$cf91] ld a,[wcf91]
cp b cp b
ld a,$2 ld a,$2
jr nz,.asm_c4bc2 ; 0x71c26 $75 jr nz,.asm_c4bc2 ; 0x71c26 $75
ld a,[wWhichPokemon] ld a,[wWhichPokemon]
ld hl,$d18c ld hl,W_PARTYMON1_LEVEL
ld bc,$002c ld bc,$002c
call AddNTimes call AddNTimes
ld a,[hl] ld a,[hl]
ld [$d127],a ld [W_CURENEMYLVL],a
ld hl,$d737 ld hl,wd737
ld a,[wWhichTrade] ld a,[wWhichTrade]
ld c,a ld c,a
ld b,$1 ld b,$1
@ -118,24 +118,24 @@ Func_71c07: ; 71c07 (1c:5c07)
call PrintText call PrintText
ld a,[wWhichPokemon] ld a,[wWhichPokemon]
push af push af
ld a,[$d127] ld a,[W_CURENEMYLVL]
push af push af
call LoadHpBarAndStatusTilePatterns call LoadHpBarAndStatusTilePatterns
call Func_71cc1 call Func_71cc1
ld a,$38 ld a,$38
call Predef call Predef
pop af pop af
ld [$d127],a ld [W_CURENEMYLVL],a
pop af pop af
ld [wWhichPokemon],a ld [wWhichPokemon],a
ld a,[$cd34] ld a,[wcd34]
ld [$cf91],a ld [wcf91],a
xor a xor a
ld [$cc49],a ld [wcc49],a
ld [$cf95],a ld [wcf95],a
call RemovePokemon call RemovePokemon
ld a,$80 ld a,$80
ld [$cc49],a ld [wcc49],a
call AddPokemonToParty call AddPokemonToParty
call Func_71d19 call Func_71d19
callab EvolveTradeMon callab EvolveTradeMon
@ -148,7 +148,7 @@ Func_71c07: ; 71c07 (1c:5c07)
.asm_c4bc2 ; 0x71c9d .asm_c4bc2 ; 0x71c9d
scf scf
.asm_ee803 ; 0x71c9e .asm_ee803 ; 0x71c9e
ld [$cd12],a ld [wcd12],a
ret ret
Func_71ca2: ; 71ca2 (1c:5ca2) Func_71ca2: ; 71ca2 (1c:5ca2)
@ -165,33 +165,33 @@ Func_71ca2: ; 71ca2 (1c:5ca2)
jp Bankswitch jp Bankswitch
Func_71cc1: ; 71cc1 (1c:5cc1) Func_71cc1: ; 71cc1 (1c:5cc1)
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
ld a, [$cd0f] ld a, [wcd0f]
ld [hli], a ld [hli], a
ld a, [$cd34] ld a, [wcd34]
ld [hl], a ld [hl], a
ld hl, W_PARTYMON1OT ; $d273 ld hl, W_PARTYMON1OT ; wd273
ld bc, $b ld bc, $b
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
call AddNTimes call AddNTimes
ld de, $cd41 ld de, wTrainerScreenX
ld bc, $b ld bc, $b
call Func_71d11 call Func_71d11
ld hl, String_71d59 ; $5d59 ld hl, String_71d59 ; $5d59
ld de, $cd4e ld de, wcd4e
call Func_71d11 call Func_71d11
ld de, W_GRASSRATE ; $d887 ld de, W_GRASSRATE ; W_GRASSRATE
call Func_71d11 call Func_71d11
ld hl, W_PARTYMON1_OTID ; $d177 ld hl, W_PARTYMON1_OTID ; W_PARTYMON1_OTID
ld bc, $2c ld bc, $2c
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
call AddNTimes call AddNTimes
ld de, $cd4c ld de, wcd4c
ld bc, $2 ld bc, $2
call Func_71d11 call Func_71d11
call Random call Random
ld hl, hRandomAdd ld hl, hRandomAdd
ld de, $cd59 ld de, wcd59
jp CopyData jp CopyData
Func_71d11: ; 71d11 (1c:5d11) Func_71d11: ; 71d11 (1c:5d11)
@ -203,27 +203,27 @@ Func_71d11: ; 71d11 (1c:5d11)
ret ret
Func_71d19: ; 71d19 (1c:5d19) Func_71d19: ; 71d19 (1c:5d19)
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
ld bc, $b ld bc, $b
call Func_71d4f call Func_71d4f
ld hl, $cd29 ld hl, wcd29
ld bc, $b ld bc, $b
call CopyData call CopyData
ld hl, W_PARTYMON1OT ; $d273 ld hl, W_PARTYMON1OT ; wd273
ld bc, $b ld bc, $b
call Func_71d4f call Func_71d4f
ld hl, String_71d59 ; $5d59 ld hl, String_71d59 ; $5d59
ld bc, $b ld bc, $b
call CopyData call CopyData
ld hl, W_PARTYMON1_OTID ; $d177 ld hl, W_PARTYMON1_OTID ; W_PARTYMON1_OTID
ld bc, $2c ld bc, $2c
call Func_71d4f call Func_71d4f
ld hl, $cd59 ld hl, wcd59
ld bc, $2 ld bc, $2
jp CopyData jp CopyData
Func_71d4f: ; 71d4f (1c:5d4f) Func_71d4f: ; 71d4f (1c:5d4f)
ld a, [W_NUMINPARTY] ; $d163 ld a, [W_NUMINPARTY] ; W_NUMINPARTY
dec a dec a
call AddNTimes call AddNTimes
ld e, l ld e, l

View file

@ -38,7 +38,7 @@ PlayIntroScene: ; 4169d (10:569d)
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3 ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
call PlaySound call PlaySound
xor a xor a
ld [$d09f], a ld [wd09f], a
ld de, IntroNidorinoAnimation1 ld de, IntroNidorinoAnimation1
call AnimateIntroNidorino call AnimateIntroNidorino
; hop ; hop
@ -86,7 +86,7 @@ PlayIntroScene: ; 4169d (10:569d)
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3 ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
call PlaySound call PlaySound
ld a, $24 ld a, $24
ld [$d09f], a ld [wd09f], a
ld de, IntroNidorinoAnimation3 ld de, IntroNidorinoAnimation3
call AnimateIntroNidorino call AnimateIntroNidorino
ld c, $1e ld c, $1e
@ -105,7 +105,7 @@ PlayIntroScene: ; 4169d (10:569d)
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3 ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
call PlaySound call PlaySound
xor a xor a
ld [$d09f], a ld [wd09f], a
ld de, IntroNidorinoAnimation4 ; $5931 ld de, IntroNidorinoAnimation4 ; $5931
call AnimateIntroNidorino call AnimateIntroNidorino
; hop ; hop
@ -118,7 +118,7 @@ PlayIntroScene: ; 4169d (10:569d)
ret c ret c
ld a, $24 ld a, $24
ld [$d09f], a ld [wd09f], a
ld de, IntroNidorinoAnimation6 ; $5947 ld de, IntroNidorinoAnimation6 ; $5947
call AnimateIntroNidorino call AnimateIntroNidorino
ld c, $1e ld c, $1e
@ -129,7 +129,7 @@ PlayIntroScene: ; 4169d (10:569d)
ld a, (SFX_1f_5e - SFX_Headers_1f) / 3 ld a, (SFX_1f_5e - SFX_Headers_1f) / 3
call PlaySound call PlaySound
ld a, $48 ld a, $48
ld [$d09f], a ld [wd09f], a
ld de, IntroNidorinoAnimation7 ; $5950 ld de, IntroNidorinoAnimation7 ; $5950
jp AnimateIntroNidorino jp AnimateIntroNidorino
@ -137,10 +137,10 @@ AnimateIntroNidorino: ; 41793 (10:5793)
ld a, [de] ld a, [de]
cp $50 cp $50
ret z ret z
ld [W_BASECOORDY], a ; $d082 ld [W_BASECOORDY], a ; wd082
inc de inc de
ld a, [de] ld a, [de]
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
push de push de
ld c, $24 ld c, $24
call Func_417ae call Func_417ae
@ -152,13 +152,13 @@ AnimateIntroNidorino: ; 41793 (10:5793)
Func_417ae: ; 417ae (10:57ae) Func_417ae: ; 417ae (10:57ae)
ld hl, wOAMBuffer ld hl, wOAMBuffer
ld a, [$d09f] ld a, [wd09f]
ld d, a ld d, a
.asm_417b5 .asm_417b5
ld a, [W_BASECOORDY] ; $d082 ld a, [W_BASECOORDY] ; wd082
add [hl] add [hl]
ld [hli], a ld [hli], a
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
add [hl] add [hl]
ld [hli], a ld [hli], a
ld a, d ld a, d
@ -174,14 +174,14 @@ Func_417c7: ; 417c7 (10:57c7)
ld d, $0 ld d, $0
.asm_417cc .asm_417cc
push bc push bc
ld a, [W_BASECOORDY] ; $d082 ld a, [W_BASECOORDY] ; wd082
ld e, a ld e, a
.asm_417d1 .asm_417d1
ld a, e ld a, e
add $8 add $8
ld e, a ld e, a
ld [hli], a ld [hli], a
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
ld [hli], a ld [hli], a
ld a, d ld a, d
ld [hli], a ld [hli], a
@ -190,9 +190,9 @@ Func_417c7: ; 417c7 (10:57c7)
inc d inc d
dec c dec c
jr nz, .asm_417d1 jr nz, .asm_417d1
ld a, [W_BASECOORDX] ; $d081 ld a, [W_BASECOORDX] ; wd081
add $8 add $8
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
pop bc pop bc
dec b dec b
jr nz, .asm_417cc jr nz, .asm_417cc
@ -204,7 +204,7 @@ Func_417f0: ; 417f0 (10:57f0)
jr asm_417fe jr asm_417fe
Func_417f8: ; 417f8 (10:57f8) Func_417f8: ; 417f8 (10:57f8)
FuncCoord 0, 4 ; $c3f0 FuncCoord 0, 4
ld hl, Coord ld hl, Coord
ld bc, $c8 ld bc, $c8
asm_417fe: ; 417fe (10:57fe) asm_417fe: ; 417fe (10:57fe)
@ -237,9 +237,9 @@ Func_4180e: ; 4180e (10:580e)
.asm_4181d .asm_4181d
push de push de
ld a, $2 ld a, $2
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a ; wd081
xor a xor a
ld [W_BASECOORDY], a ; $d082 ld [W_BASECOORDY], a ; wd082
ld c, $24 ld c, $24
call Func_417ae call Func_417ae
pop de pop de
@ -259,7 +259,7 @@ Func_4180e: ; 4180e (10:580e)
ret ret
Func_4183f: ; 4183f (10:583f) Func_4183f: ; 4183f (10:583f)
FuncCoord 13, 7 ; $c439 FuncCoord 13, 7
ld hl, Coord ld hl, Coord
Func_41842: ; 41842 (10:5842) Func_41842: ; 41842 (10:5842)
@ -306,7 +306,7 @@ PlayShootingStar: ; 4188a (10:588a)
call ClearScreen call ClearScreen
call DisableLCD call DisableLCD
xor a xor a
ld [W_CUROPPONENT], a ; $d059 ld [W_CUROPPONENT], a ; wd059
call Func_418e9 call Func_418e9
call LoadIntroGraphics call LoadIntroGraphics
call EnableLCD call EnableLCD
@ -323,10 +323,10 @@ PlayShootingStar: ; 4188a (10:588a)
call DelayFrames call DelayFrames
.asm_418d0 .asm_418d0
ld a, Bank(Func_7d8ea) ld a, Bank(Func_7d8ea)
ld [$c0ef], a ld [wc0ef], a
ld [$c0f0], a ld [wc0f0], a
ld a, MUSIC_INTRO_BATTLE ld a, MUSIC_INTRO_BATTLE
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
call Func_417f8 call Func_417f8
call ClearSprites call ClearSprites
@ -337,7 +337,7 @@ Func_418e9: ; 418e9 (10:58e9)
ld hl, wTileMap ld hl, wTileMap
ld c, $50 ld c, $50
call Func_41807 call Func_41807
FuncCoord 0, 14 ; $c4b8 FuncCoord 0, 14
ld hl, Coord ld hl, Coord
ld c, $50 ld c, $50
call Func_41807 call Func_41807

View file

@ -8,7 +8,7 @@ HiddenItemNear: ; 7481f (1d:481f)
ret nc ; return if current map has no hidden items ret nc ; return if current map has no hidden items
push bc push bc
push hl push hl
ld hl, $d6f0 ld hl, wd6f0
ld c, b ld c, b
ld b, $2 ld b, $2
ld a, $10 ; FlagActionPredef ld a, $10 ; FlagActionPredef

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
GetMachinePrice: ; 7bf86 (1e:7f86) GetMachinePrice: ; 7bf86 (1e:7f86)
ld a, [$cf91] ld a, [wcf91]
sub TM_01 sub TM_01
ret c ret c
ld d, a ld d, a

View file

@ -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) CheckIfMoveIsKnown: ; 2fe18 (b:7e18)
ld a, [wWhichPokemon] ld a, [wWhichPokemon]
ld hl, W_PARTYMON1_MOVE1 ld hl, W_PARTYMON1_MOVE1
ld bc, $2c ld bc, $2c
call AddNTimes call AddNTimes
ld a, [$d0e0] ld a, [wd0e0]
ld b, a ld b, a
ld c, $4 ; nubmer of moves ld c, $4 ; nubmer of moves
.loop .loop

View file

@ -1,11 +1,11 @@
; tests if mon [$cf91] can learn move [$d0e0] ; tests if mon [wcf91] can learn move [wd0e0]
TestMonMoveCompatibility: ; 1373e (4:773e) TestMonMoveCompatibility: ; 1373e (4:773e)
ld a, [$cf91] ld a, [wcf91]
ld [$d0b5], a ld [wd0b5], a
call GetMonHeader call GetMonHeader
ld hl, W_MONHLEARNSET ld hl, W_MONHLEARNSET
push hl push hl
ld a, [$d0e0] ld a, [wd0e0]
ld b, a ld b, a
ld c, $0 ld c, $0
ld hl, TechnicalMachines ld hl, TechnicalMachines
@ -21,17 +21,17 @@ TestMonMoveCompatibility: ; 1373e (4:773e)
ld a, $10 ; FlagActionPredef ld a, $10 ; FlagActionPredef
jp Predef jp Predef
; converts TM/HM number in $d11e into move number ; converts TM/HM number in wd11e into move number
; HMs start at 51 ; HMs start at 51
TMToMove: ; 13763 (4:7763) TMToMove: ; 13763 (4:7763)
ld a, [$d11e] ld a, [wd11e]
dec a dec a
ld hl, TechnicalMachines ld hl, TechnicalMachines
ld b, $0 ld b, $0
ld c, a ld c, a
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld [$d11e], a ld [wd11e], a
ret ret
INCLUDE "data/tms.asm" INCLUDE "data/tms.asm"

View file

@ -1,17 +1,17 @@
LearnMove: ; 6e43 (1:6e43) LearnMove: ; 6e43 (1:6e43)
call SaveScreenTilesToBuffer1 call SaveScreenTilesToBuffer1
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
call GetPartyMonName call GetPartyMonName
ld hl, $cd6d ld hl, wcd6d
ld de, $d036 ld de, wd036
ld bc, $b ld bc, $b
call CopyData call CopyData
DontAbandonLearning: ; 6e5b (1:6e5b) DontAbandonLearning: ; 6e5b (1:6e5b)
ld hl, W_PARTYMON1_MOVE1 ; $d173 ld hl, W_PARTYMON1_MOVE1 ; W_PARTYMON1_MOVE1
ld bc, $2c ld bc, $2c
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
call AddNTimes call AddNTimes
ld d, h ld d, h
ld e, l ld e, l
@ -29,14 +29,14 @@ DontAbandonLearning: ; 6e5b (1:6e5b)
jp c, AbandonLearning jp c, AbandonLearning
push hl push hl
push de push de
ld [$d11e], a ld [wd11e], a
call GetMoveName call GetMoveName
ld hl, OneTwoAndText ld hl, OneTwoAndText
call PrintText call PrintText
pop de pop de
pop hl pop hl
.asm_6e8b .asm_6e8b
ld a, [$d0e0] ld a, [wd0e0]
ld [hl], a ld [hl], a
ld bc, $15 ld bc, $15
add hl, bc add hl, bc
@ -46,19 +46,19 @@ DontAbandonLearning: ; 6e5b (1:6e5b)
ld hl, Moves ; $4000 ld hl, Moves ; $4000
ld bc, $6 ld bc, $6
call AddNTimes call AddNTimes
ld de, $cee9 ld de, wHPBarMaxHP
ld a, BANK(Moves) ld a, BANK(Moves)
call FarCopyData call FarCopyData
ld a, [$ceee] ld a, [wHPBarNewHP + 1]
pop de pop de
pop hl pop hl
ld [hl], a ld [hl], a
ld a, [W_ISINBATTLE] ; $d057 ld a, [W_ISINBATTLE] ; W_ISINBATTLE
and a and a
jp z, PrintLearnedMove jp z, PrintLearnedMove
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld b, a ld b, a
ld a, [wPlayerMonNumber] ; $cc2f ld a, [wPlayerMonNumber] ; wPlayerMonNumber
cp b cp b
jp nz, PrintLearnedMove jp nz, PrintLearnedMove
ld h, d ld h, d
@ -68,7 +68,7 @@ DontAbandonLearning: ; 6e5b (1:6e5b)
call CopyData call CopyData
ld bc, $11 ld bc, $11
add hl, bc add hl, bc
ld de, W_PLAYERMONPP ; $d02d ld de, W_PLAYERMONPP ; W_PLAYERMONPP
ld bc, $4 ld bc, $4
call CopyData call CopyData
jp PrintLearnedMove jp PrintLearnedMove
@ -76,13 +76,13 @@ DontAbandonLearning: ; 6e5b (1:6e5b)
AbandonLearning: ; 6eda (1:6eda) AbandonLearning: ; 6eda (1:6eda)
ld hl, AbandonLearningText ld hl, AbandonLearningText
call PrintText call PrintText
FuncCoord 14, 7 ; $c43a FuncCoord 14, 7
ld hl, Coord ld hl, Coord
ld bc, $80f ld bc, $80f
ld a, $14 ld a, $14
ld [$d125], a ld [wd125], a
call DisplayTextBoxID call DisplayTextBoxID
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
jp nz, DontAbandonLearning jp nz, DontAbandonLearning
ld hl, DidNotLearnText ld hl, DidNotLearnText
@ -100,20 +100,20 @@ TryingToLearn: ; 6f07 (1:6f07)
push hl push hl
ld hl, TryingToLearnText ld hl, TryingToLearnText
call PrintText call PrintText
FuncCoord 14, 7 ; $c43a FuncCoord 14, 7
ld hl, Coord ld hl, Coord
ld bc, $80f ld bc, $80f
ld a, $14 ld a, $14
ld [$d125], a ld [wd125], a
call DisplayTextBoxID call DisplayTextBoxID
pop hl pop hl
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
rra rra
ret c ret c
ld bc, $fffc ld bc, $fffc
add hl, bc add hl, bc
push hl push hl
ld de, $d0dc ld de, wd0dc
ld bc, $4 ld bc, $4
call CopyData call CopyData
callab Func_39b87 callab Func_39b87
@ -122,14 +122,14 @@ TryingToLearn: ; 6f07 (1:6f07)
push hl push hl
ld hl, WhichMoveToForgetText ld hl, WhichMoveToForgetText
call PrintText call PrintText
FuncCoord 4, 7 ; $c430 FuncCoord 4, 7
ld hl, Coord ld hl, Coord
ld b, $4 ld b, $4
ld c, $e ld c, $e
call TextBoxBorder call TextBoxBorder
FuncCoord 6, 8 ; $c446 FuncCoord 6, 8
ld hl, Coord ld hl, Coord
ld de, $d0e1 ld de, wd0e1
ld a, [$fff6] ld a, [$fff6]
set 2, a set 2, a
ld [$fff6], a ld [$fff6], a
@ -137,7 +137,7 @@ TryingToLearn: ; 6f07 (1:6f07)
ld a, [$fff6] ld a, [$fff6]
res 2, a res 2, a
ld [$fff6], a ld [$fff6], a
ld hl, wTopMenuItemY ; $cc24 ld hl, wTopMenuItemY ; wTopMenuItemY
ld a, $8 ld a, $8
ld [hli], a ld [hli], a
ld a, $5 ld a, $5
@ -145,7 +145,7 @@ TryingToLearn: ; 6f07 (1:6f07)
xor a xor a
ld [hli], a ld [hli], a
inc hl inc hl
ld a, [$cd6c] ld a, [wcd6c]
ld [hli], a ld [hli], a
ld a, $3 ld a, $3
ld [hli], a ld [hli], a
@ -162,7 +162,7 @@ TryingToLearn: ; 6f07 (1:6f07)
bit 1, a bit 1, a
jr nz, .asm_6fab jr nz, .asm_6fab
push hl push hl
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld c, a ld c, a
ld b, $0 ld b, $0
add hl, bc add hl, bc

View file

@ -2,13 +2,13 @@ Func_213c8:: ; 213c8 (8:53c8)
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
call SaveScreenTilesToBuffer2 call SaveScreenTilesToBuffer2
ld a, [$d5a2] ld a, [wd5a2]
and a and a
jr nz, .asm_213f3 jr nz, .asm_213f3
ld a, [$d74b] ld a, [wd74b]
bit 5, a bit 5, a
jr z, .asm_213ea jr z, .asm_213ea
ld a, [$d5a2] ld a, [wd5a2]
and a and a
jr nz, .asm_213f3 jr nz, .asm_213f3
ld hl, wTileMap ld hl, wTileMap
@ -28,70 +28,70 @@ Func_213c8:: ; 213c8 (8:53c8)
call TextBoxBorder call TextBoxBorder
call UpdateSprites call UpdateSprites
ld a, $3 ld a, $3
ld [wMaxMenuItem], a ; $cc28 ld [wMaxMenuItem], a ; wMaxMenuItem
ld a, [$d7f1] ld a, [wd7f1]
bit 0, a bit 0, a
jr nz, .asm_21414 jr nz, .asm_21414
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl, Coord ld hl, Coord
ld de, SomeonesPCText ; $548b ld de, SomeonesPCText ; $548b
jr .asm_2141a jr .asm_2141a
.asm_21414 .asm_21414
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl, Coord ld hl, Coord
ld de, BillsPCText ; $5497 ld de, BillsPCText ; $5497
.asm_2141a .asm_2141a
call PlaceString call PlaceString
FuncCoord 2, 4 ; $c3f2 FuncCoord 2, 4
ld hl, Coord ld hl, Coord
ld de, W_PLAYERNAME ; $d158 ld de, W_PLAYERNAME ; wd158
call PlaceString call PlaceString
ld l, c ld l, c
ld h, b ld h, b
ld de, PlayersPCText ; $54a0 ld de, PlayersPCText ; $54a0
call PlaceString call PlaceString
ld a, [$d74b] ld a, [wd74b]
bit 5, a bit 5, a
jr z, .asm_21462 jr z, .asm_21462
FuncCoord 2, 6 ; $c41a FuncCoord 2, 6
ld hl, Coord ld hl, Coord
ld de, OaksPCText ; $54a5 ld de, OaksPCText ; $54a5
call PlaceString call PlaceString
ld a, [$d5a2] ld a, [wd5a2]
and a and a
jr z, .asm_2145a jr z, .asm_2145a
ld a, $4 ld a, $4
ld [wMaxMenuItem], a ; $cc28 ld [wMaxMenuItem], a ; wMaxMenuItem
FuncCoord 2, 8 ; $c442 FuncCoord 2, 8
ld hl, Coord ld hl, Coord
ld de, PKMNLeaguePCText ; $54b2 ld de, PKMNLeaguePCText ; $54b2
call PlaceString call PlaceString
FuncCoord 2, 10 ; $c46a FuncCoord 2, 10
ld hl, Coord ld hl, Coord
ld de, LogOffPCText ; $54ba ld de, LogOffPCText ; $54ba
jr .asm_2146d jr .asm_2146d
.asm_2145a .asm_2145a
FuncCoord 2, 8 ; $c442 FuncCoord 2, 8
ld hl, Coord ld hl, Coord
ld de, LogOffPCText ; $54ba ld de, LogOffPCText ; $54ba
jr .asm_2146d jr .asm_2146d
.asm_21462 .asm_21462
ld a, $2 ld a, $2
ld [wMaxMenuItem], a ; $cc28 ld [wMaxMenuItem], a ; wMaxMenuItem
FuncCoord 2, 6 ; $c41a FuncCoord 2, 6
ld hl, Coord ld hl, Coord
ld de, LogOffPCText ; $54ba ld de, LogOffPCText ; $54ba
.asm_2146d .asm_2146d
call PlaceString call PlaceString
ld a, $3 ld a, $3
ld [wMenuWatchedKeys], a ; $cc29 ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
ld a, $2 ld a, $2
ld [wTopMenuItemY], a ; $cc24 ld [wTopMenuItemY], a ; wTopMenuItemY
ld a, $1 ld a, $1
ld [wTopMenuItemX], a ; $cc25 ld [wTopMenuItemX], a ; wTopMenuItemX
xor a xor a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld [wLastMenuItem], a ; $cc2a ld [wLastMenuItem], a ; wLastMenuItem
ld a, $1 ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ret ret
@ -116,14 +116,14 @@ LogOffPCText: ; 214ba (8:54ba)
Func_214c2:: ; 214c2 (8:54c2) Func_214c2:: ; 214c2 (8:54c2)
BillsPC_:: ; 0x214c2 BillsPC_:: ; 0x214c2
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
xor a xor a
ld [$ccd3], a ld [wccd3], a
inc a ; MONSTER_NAME inc a ; MONSTER_NAME
ld [W_LISTTYPE], a ld [W_LISTTYPE], a
call LoadHpBarAndStatusTilePatterns call LoadHpBarAndStatusTilePatterns
ld a, [wListScrollOffset] ; $cc36 ld a, [wListScrollOffset] ; wcc36
push af push af
ld a, [wFlags_0xcd60] ld a, [wFlags_0xcd60]
bit 3, a bit 3, a
@ -135,8 +135,8 @@ BillsPC_:: ; 0x214c2
Func_214e8: ; 214e8 (8:54e8) Func_214e8: ; 214e8 (8:54e8)
BillsPCMenu: BillsPCMenu:
ld a, [$ccd3] ld a, [wccd3]
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld hl, $9780 ld hl, $9780
ld de, PokeballTileGraphics ; $697e ld de, PokeballTileGraphics ; $697e
ld bc, (BANK(PokeballTileGraphics) << 8) + $01 ld bc, (BANK(PokeballTileGraphics) << 8) + $01
@ -146,11 +146,11 @@ BillsPCMenu:
ld b, $a ld b, $a
ld c, $c ld c, $c
call TextBoxBorder call TextBoxBorder
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl, Coord ld hl, Coord
ld de, BillsPCMenuText ; $56e1 ld de, BillsPCMenuText ; $56e1
call PlaceString call PlaceString
ld hl, wTopMenuItemY ; $cc24 ld hl, wTopMenuItemY ; wTopMenuItemY
ld a, $2 ld a, $2
ld [hli], a ld [hli], a
dec a dec a
@ -164,23 +164,23 @@ BillsPCMenu:
xor a xor a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld hl, wListScrollOffset ; $cc36 ld hl, wListScrollOffset ; wcc36
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld [wPlayerMonNumber], a ; $cc2f ld [wPlayerMonNumber], a ; wPlayerMonNumber
ld hl, WhatText ld hl, WhatText
call PrintText call PrintText
FuncCoord 9, 14 ; $c4c1 FuncCoord 9, 14
ld hl, Coord ld hl, Coord
ld b, $2 ld b, $2
ld c, $9 ld c, $9
call TextBoxBorder call TextBoxBorder
ld a, [$d5a0] ld a, [wd5a0]
and $7f and $7f
cp $9 cp $9
jr c, .asm_2154f jr c, .asm_2154f
sub $9 sub $9
FuncCoord 17, 16 ; $c4f1 FuncCoord 17, 16
ld hl, Coord ld hl, Coord
ld [hl], $f7 ld [hl], $f7
add $f6 add $f6
@ -188,9 +188,9 @@ BillsPCMenu:
.asm_2154f .asm_2154f
add $f7 add $f7
.asm_21551 .asm_21551
FuncCoord 18, 16 ; $c4f2 FuncCoord 18, 16
ld [Coord], a ld [Coord], a
FuncCoord 10, 16 ; $c4ea FuncCoord 10, 16
ld hl, Coord ld hl, Coord
ld de, BoxNoPCText ; $5713 ld de, BoxNoPCText ; $5713
call PlaceString call PlaceString
@ -201,8 +201,8 @@ BillsPCMenu:
bit 1, a bit 1, a
jp nz, Func_21588 ; b button jp nz, Func_21588 ; b button
call PlaceUnfilledArrowMenuCursor call PlaceUnfilledArrowMenuCursor
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld [$ccd3], a ld [wccd3], a
and a and a
jp z, Func_21618 ; withdraw jp z, Func_21618 ; withdraw
cp $1 cp $1
@ -225,44 +225,44 @@ Func_21588: ; 21588 (8:5588)
res 5, [hl] res 5, [hl]
call LoadScreenTilesFromBuffer2 call LoadScreenTilesFromBuffer2
pop af pop af
ld [wListScrollOffset], a ; $cc36 ld [wListScrollOffset], a ; wcc36
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
ret ret
Func_215ac: ; 215ac (8:55ac) Func_215ac: ; 215ac (8:55ac)
BillsPCDeposit: BillsPCDeposit:
ld a, [W_NUMINPARTY] ; $d163 ld a, [W_NUMINPARTY] ; W_NUMINPARTY
dec a dec a
jr nz, .asm_215bb jr nz, .asm_215bb
ld hl, CantDepositLastMonText ld hl, CantDepositLastMonText
call PrintText call PrintText
jp BillsPCMenu jp BillsPCMenu
.asm_215bb .asm_215bb
ld a, [W_NUMINBOX] ; $da80 ld a, [W_NUMINBOX] ; wda80
cp $14 cp $14
jr nz, .asm_215cb jr nz, .asm_215cb
ld hl, BoxFullText ; $5802 ld hl, BoxFullText ; $5802
call PrintText call PrintText
jp BillsPCMenu jp BillsPCMenu
.asm_215cb .asm_215cb
ld hl, W_NUMINPARTY ; $d163 ld hl, W_NUMINPARTY ; W_NUMINPARTY
call Func_216be call Func_216be
jp c, BillsPCMenu jp c, BillsPCMenu
call Func_2174b call Func_2174b
jp nc, BillsPCMenu jp nc, BillsPCMenu
ld a, [$cf91] ld a, [wcf91]
call GetCryData call GetCryData
call PlaySoundWaitForCurrent call PlaySoundWaitForCurrent
ld a, $1 ld a, $1
ld [$cf95], a ld [wcf95], a
call Func_3a68 call Func_3a68
xor a xor a
ld [$cf95], a ld [wcf95], a
call RemovePokemon call RemovePokemon
call WaitForSoundToFinish call WaitForSoundToFinish
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
ld a, [$d5a0] ld a, [wd5a0]
and $7f and $7f
cp $9 cp $9
jr c, .asm_2160a jr c, .asm_2160a
@ -281,36 +281,36 @@ BillsPCDeposit:
jp BillsPCMenu jp BillsPCMenu
Func_21618: ; 21618 (8:5618) Func_21618: ; 21618 (8:5618)
ld a, [W_NUMINBOX] ; $da80 ld a, [W_NUMINBOX] ; wda80
and a and a
jr nz, .asm_21627 jr nz, .asm_21627
ld hl, NoMonText ; $580c ld hl, NoMonText ; $580c
call PrintText call PrintText
jp Func_214e8 jp Func_214e8
.asm_21627 .asm_21627
ld a, [W_NUMINPARTY] ; $d163 ld a, [W_NUMINPARTY] ; W_NUMINPARTY
cp $6 cp $6
jr nz, .asm_21637 jr nz, .asm_21637
ld hl, CantTakeMonText ; $5811 ld hl, CantTakeMonText ; $5811
call PrintText call PrintText
jp Func_214e8 jp Func_214e8
.asm_21637 .asm_21637
ld hl, W_NUMINBOX ; $da80 ld hl, W_NUMINBOX ; wda80
call Func_216be call Func_216be
jp c, Func_214e8 jp c, Func_214e8
call Func_2174b call Func_2174b
jp nc, Func_214e8 jp nc, Func_214e8
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld hl, $de06 ld hl, W_BOXMON1NAME
call GetPartyMonName call GetPartyMonName
ld a, [$cf91] ld a, [wcf91]
call GetCryData call GetCryData
call PlaySoundWaitForCurrent call PlaySoundWaitForCurrent
xor a xor a
ld [$cf95], a ld [wcf95], a
call Func_3a68 call Func_3a68
ld a, $1 ld a, $1
ld [$cf95], a ld [wcf95], a
call RemovePokemon call RemovePokemon
call WaitForSoundToFinish call WaitForSoundToFinish
ld hl, MonIsTakenOutText ; $5807 ld hl, MonIsTakenOutText ; $5807
@ -318,27 +318,27 @@ Func_21618: ; 21618 (8:5618)
jp Func_214e8 jp Func_214e8
Func_21673: ; 21673 (8:5673) Func_21673: ; 21673 (8:5673)
ld a, [W_NUMINBOX] ; $da80 ld a, [W_NUMINBOX] ; wda80
and a and a
jr nz, .asm_21682 jr nz, .asm_21682
ld hl, NoMonText ; $580c ld hl, NoMonText ; $580c
call PrintText call PrintText
jp Func_214e8 jp Func_214e8
.asm_21682 .asm_21682
ld hl, W_NUMINBOX ; $da80 ld hl, W_NUMINBOX ; wda80
call Func_216be call Func_216be
jp c, Func_214e8 jp c, Func_214e8
ld hl, OnceReleasedText ; $581b ld hl, OnceReleasedText ; $581b
call PrintText call PrintText
call YesNoChoice call YesNoChoice
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
jr nz, .asm_21682 jr nz, .asm_21682
inc a inc a
ld [$cf95], a ld [wcf95], a
call RemovePokemon call RemovePokemon
call WaitForSoundToFinish call WaitForSoundToFinish
ld a, [$cf91] ld a, [wcf91]
call PlayCry call PlayCry
ld hl, MonWasReleasedText ; $5820 ld hl, MonWasReleasedText ; $5820
call PrintText call PrintText
@ -350,19 +350,19 @@ Func_216b3: ; 216b3 (8:56b3)
Func_216be: ; 216be (8:56be) Func_216be: ; 216be (8:56be)
ld a, l ld a, l
ld [$cf8b], a ld [wcf8b], a
ld a, h ld a, h
ld [$cf8c], a ld [wcf8c], a
xor a xor a
ld [$cf93], a ld [wcf93], a
ld [wListMenuID], a ; $cf94 ld [wListMenuID], a ; wListMenuID
inc a ; MONSTER_NAME inc a ; MONSTER_NAME
ld [W_LISTTYPE], a ld [W_LISTTYPE], a
ld a, [$cc2b] ld a, [wcc2b]
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
call DisplayListMenuID call DisplayListMenuID
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld [$cc2b], a ld [wcc2b], a
ret ret
BillsPCMenuText: ; 216e1 (8:56e1) BillsPCMenuText: ; 216e1 (8:56e1)
@ -372,13 +372,13 @@ BoxNoPCText: ; 21713 (8:5713)
db "BOX No.@" db "BOX No.@"
Func_2171b:: ; 2171b (8:571b) Func_2171b:: ; 2171b (8:571b)
ld hl, $d173 ld hl, W_PARTYMON1_MOVE1
ld bc, $002c ld bc, $002c
jr .asm_21729 ; 0x21721 $6 jr .asm_21729 ; 0x21721 $6
ld hl, $da9e ld hl, wda9e
ld bc, $0021 ld bc, $0021
.asm_21729 .asm_21729
ld a, [$cf92] ld a, [wWhichPokemon]
call AddNTimes call AddNTimes
ld b, $4 ld b, $4
.asm_21731 .asm_21731
@ -405,25 +405,25 @@ HMMoveArray: ; 21745 (8:5745)
db $ff db $ff
Func_2174b: ; 2174b (8:574b) Func_2174b: ; 2174b (8:574b)
FuncCoord 9, 10 ; $c471 FuncCoord 9, 10
ld hl, Coord ld hl, Coord
ld b, $6 ld b, $6
ld c, $9 ld c, $9
call TextBoxBorder call TextBoxBorder
ld a, [$ccd3] ld a, [wccd3]
and a and a
ld de, DepositPCText ; $57cb ld de, DepositPCText ; $57cb
jr nz, .asm_21761 jr nz, .asm_21761
ld de, WithdrawPCText ; $57d3 ld de, WithdrawPCText ; $57d3
.asm_21761 .asm_21761
FuncCoord 11, 12 ; $c49b FuncCoord 11, 12
ld hl, Coord ld hl, Coord
call PlaceString call PlaceString
FuncCoord 11, 14 ; $c4c3 FuncCoord 11, 14
ld hl, Coord ld hl, Coord
ld de, StatsCancelPCText ; $57dc ld de, StatsCancelPCText ; $57dc
call PlaceString call PlaceString
ld hl, wTopMenuItemY ; $cc24 ld hl, wTopMenuItemY ; wTopMenuItemY
ld a, $c ld a, $c
ld [hli], a ld [hli], a
ld a, $a ld a, $a
@ -437,16 +437,16 @@ Func_2174b: ; 2174b (8:574b)
ld [hli], a ld [hli], a
xor a xor a
ld [hl], a ld [hl], a
ld hl, wListScrollOffset ; $cc36 ld hl, wListScrollOffset ; wcc36
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld [wPlayerMonNumber], a ; $cc2f ld [wPlayerMonNumber], a ; wPlayerMonNumber
ld [$cc2b], a ld [wcc2b], a
.asm_2178f .asm_2178f
call HandleMenuInput call HandleMenuInput
bit 1, a bit 1, a
jr nz, .asm_2179f jr nz, .asm_2179f
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
jr z, .asm_217a1 jr z, .asm_217a1
dec a dec a
@ -459,13 +459,13 @@ Func_2174b: ; 2174b (8:574b)
ret ret
.asm_217a3 .asm_217a3
call SaveScreenTilesToBuffer1 call SaveScreenTilesToBuffer1
ld a, [$ccd3] ld a, [wccd3]
and a and a
ld a, $0 ld a, $0
jr nz, .asm_217b0 jr nz, .asm_217b0
ld a, $2 ld a, $2
.asm_217b0 .asm_217b0
ld [$cc49], a ld [wcc49], a
ld a, $36 ld a, $36
call Predef ; indirect jump to StatusScreen (12953 (4:6953)) call Predef ; indirect jump to StatusScreen (12953 (4:6953))
ld a, $37 ld a, $37
@ -537,16 +537,16 @@ PrintJustAMomentText1:: ; 5824 (8:5825)
ld a, [$ffaa] ld a, [$ffaa]
cp $1 cp $1
ret z ret z
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $c cp $c
ret nz ret nz
ld a, [$d35e] ld a, [W_CURMAP]
cp $ef cp $ef
ld a, $2 ld a, $2
jr z, .asm_2183a jr z, .asm_2183a
inc a inc a
.asm_2183a .asm_2183a
ld [$d12b], a ld [W_ISLINKBATTLE], a
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, $22 ld a, $22
jp PrintPredefTextID jp PrintPredefTextID
@ -555,16 +555,16 @@ PrintJustAMomentText2:: ; 5845 (8:5845)
ld a, [$ffaa] ld a, [$ffaa]
cp $2 cp $2
ret z ret z
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $8 cp $8
ret nz ret nz
ld a, [$d35e] ld a, [W_CURMAP]
cp $ef cp $ef
ld a, $2 ld a, $2
jr z, .asm_2185a jr z, .asm_2185a
inc a inc a
.asm_2185a .asm_2185a
ld [$d12b], a ld [W_ISLINKBATTLE], a
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, $22 ld a, $22
jp PrintPredefTextID jp PrintPredefTextID
@ -573,7 +573,7 @@ JustAMomentText:: ; 21865 (8:5865)
TX_FAR _JustAMomentText TX_FAR _JustAMomentText
db "@" db "@"
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 cp $4
ret nz ret nz
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing

View file

@ -3,8 +3,8 @@ DisplayDiploma: ; 566e2 (15:66e2)
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
call ClearScreen call ClearScreen
xor a xor a
ld [$cfcb], a ld [wcfcb], a
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
call DisableLCD call DisableLCD
ld hl, CircleTile ; $7d88 ld hl, CircleTile ; $7d88
@ -34,12 +34,12 @@ DisplayDiploma: ; 566e2 (15:66e2)
pop bc pop bc
dec c dec c
jr nz, .asm_56715 ; 0x56725 $ee jr nz, .asm_56715 ; 0x56725 $ee
FuncCoord 10, 4 ; $c3fa FuncCoord 10, 4
ld hl, Coord ld hl, Coord
ld de, W_PLAYERNAME ld de, W_PLAYERNAME
call PlaceString call PlaceString
callba Func_44dd callba Func_44dd
ld hl, $c301 ld hl, wOAMBuffer + $01
ld bc, $8028 ld bc, $8028
.asm_5673e .asm_5673e
ld a, [hl] ld a, [hl]
@ -60,7 +60,7 @@ DisplayDiploma: ; 566e2 (15:66e2)
ld a, $90 ld a, $90
ld [$ff48], a ld [$ff48], a
call WaitForTextScrollButtonPress call WaitForTextScrollButtonPress
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
call Func_3dbe call Func_3dbe
@ -79,15 +79,15 @@ Func_56777: ; 56777 (15:6777)
DiplomaTextPointersAndCoords: ; 56784 (15:6784) DiplomaTextPointersAndCoords: ; 56784 (15:6784)
dw DiplomaText dw DiplomaText
dw $c3cd dw wTileMap + $2d
dw DiplomaPlayer dw DiplomaPlayer
dw $c3f3 dw wTileMap + $53
dw DiplomaEmptyText dw DiplomaEmptyText
dw $c3ff dw wTileMap + $5f
dw DiplomaCongrats dw DiplomaCongrats
dw $c41a dw wTileMap + $7a
dw DiplomaGameFreak dw DiplomaGameFreak
dw $c4e9 dw wTileMap + $149
DiplomaText: DiplomaText:
db $70,"Diploma",$70,"@" db $70,"Diploma",$70,"@"

View file

@ -1,37 +1,37 @@
PKMNLeaguePC: ; 0x7657e PKMNLeaguePC: ; 0x7657e
ld hl, AccessedHoFPCText ld hl, AccessedHoFPCText
call PrintText call PrintText
ld hl, $D730 ld hl, wd730
set 6, [hl] set 6, [hl]
push hl push hl
ld a, [$CFCB] ld a, [wcfcb]
push af push af
ld a, [$ffD7] ld a, [$ffD7]
push af push af
xor a xor a
ld [$ffD7], a ld [$ffD7], a
ld [W_SPRITEFLIPPED], a ld [W_SPRITEFLIPPED], a
ld [$CFCB], a ld [wcfcb], a
ld [$CD41], a ld [wTrainerScreenX], a
ld [$CD42], a ld [wcd42], a
ld a, [$D5A2] ld a, [wd5a2]
ld b, a ld b, a
cp a, $33 cp a, $33
jr c, .first jr c, .first
ld b, $32 ld b, $32
sub b sub b
ld [$CD42], a ld [wcd42], a
.first .first
ld hl, $CD42 ld hl, wcd42
inc [hl] inc [hl]
push bc push bc
ld a, [$CD41] ld a, [wTrainerScreenX]
ld [$CD3D], a ld [wWhichTrade], a
callba Func_73b3f callba Func_73b3f
call Func_765e5 call Func_765e5
pop bc pop bc
jr c, .second jr c, .second
ld hl, $CD41 ld hl, wTrainerScreenX
inc [hl] inc [hl]
ld a, [hl] ld a, [hl]
cp b cp b
@ -40,7 +40,7 @@ PKMNLeaguePC: ; 0x7657e
pop af pop af
ld [$ffD7], a ld [$ffD7], a
pop af pop af
ld [$CFCB], a ld [wcfcb], a
pop hl pop hl
res 6, [hl] res 6, [hl]
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
@ -57,12 +57,12 @@ Func_765e5: ; 765e5 (1d:65e5)
ld a, [hJoyHeld] ld a, [hJoyHeld]
bit 1, a bit 1, a
jr nz, .fifth jr nz, .fifth
ld hl, $CC6B ld hl, wcc6b
ld de, $CC5B ld de, wcc5b
ld bc, $0050 ld bc, $0050
call CopyData call CopyData
pop bc pop bc
ld a, [$CC5B] ld a, [wcc5b]
cp a, $FF cp a, $FF
jr z, .fourth jr z, .fourth
dec c dec c
@ -78,38 +78,38 @@ Func_765e5: ; 765e5 (1d:65e5)
Func_76610: ; 76610 (1d:6610) Func_76610: ; 76610 (1d:6610)
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
call ClearScreen call ClearScreen
ld hl, $CC5B ld hl, wcc5b
ld a, [hli] ld a, [hli]
ld [$CD3D], a ld [wWhichTrade], a
ld [$CF91], a ld [wcf91], a
ld [$D0B5], a ld [wd0b5], a
ld [$CFD9], a ld [wcfd9], a
ld [$CF1D], a ld [wcf1d], a
ld a, [hli] ld a, [hli]
ld [$CD3F], a ld [wTrainerFacingDirection], a
ld de, $CD6D ld de, wcd6d
ld bc, $000B ld bc, $000B
call CopyData call CopyData
ld b, $0B ld b, $0B
ld c, 0 ld c, 0
call GoPAL_SET call GoPAL_SET
FuncCoord 12, 5 ; $c410 FuncCoord 12, 5
ld hl, Coord ld hl, Coord
call GetMonHeader call GetMonHeader
call LoadFrontSpriteByMonIndex call LoadFrontSpriteByMonIndex
call GBPalNormal call GBPalNormal
FuncCoord 0, 13 ; $c4a4 FuncCoord 0, 13
ld hl, Coord ld hl, Coord
ld b, 2 ld b, 2
ld c, $12 ld c, $12
call TextBoxBorder call TextBoxBorder
FuncCoord 1, 15 ; $c4cd FuncCoord 1, 15
ld hl, Coord ld hl, Coord
ld de, HallOfFameNoText ld de, HallOfFameNoText
call PlaceString call PlaceString
FuncCoord 16, 15 ; $c4dc FuncCoord 16, 15
ld hl, Coord ld hl, Coord
ld de, $CD42 ld de, wcd42
ld bc, $0103 ld bc, $0103
call PrintNumber call PrintNumber
ld b, BANK(Func_702f0) ld b, BANK(Func_702f0)

View file

@ -2,9 +2,9 @@ MainMenu: ; 5af2 (1:5af2)
; Check save file ; Check save file
call Func_5bff call Func_5bff
xor a xor a
ld [$D08A],a ld [wd08a],a
inc a inc a
ld [$D088],a ld [wd088],a
call Func_609e call Func_609e
jr nc,.next0 jr nc,.next0
@ -16,22 +16,22 @@ MainMenu: ; 5af2 (1:5af2)
ld c,20 ld c,20
call DelayFrames call DelayFrames
xor a xor a
ld [$D12B],a ld [W_ISLINKBATTLE],a
ld hl,$CC2B ld hl,wcc2b
ld [hli],a ld [hli],a
ld [hli],a ld [hli],a
ld [hli],a ld [hli],a
ld [hl],a ld [hl],a
ld [$D07C],a ld [W_ANIMATIONID],a
ld hl,$D72E ld hl,wd72e
res 6,[hl] res 6,[hl]
call ClearScreen call ClearScreen
call GoPAL_SET_CF1C call GoPAL_SET_CF1C
call LoadTextBoxTilePatterns call LoadTextBoxTilePatterns
call LoadFontTilePatterns call LoadFontTilePatterns
ld hl,$D730 ld hl,wd730
set 6,[hl] set 6,[hl]
ld a,[$D088] ld a,[wd088]
cp a,1 cp a,1
jr z,.next1 jr z,.next1
FuncCoord 0,0 FuncCoord 0,0
@ -55,29 +55,29 @@ MainMenu: ; 5af2 (1:5af2)
ld de,NewGameText ld de,NewGameText
call PlaceString call PlaceString
.next2 .next2
ld hl,$D730 ld hl,wd730
res 6,[hl] res 6,[hl]
call UpdateSprites ; OAM? call UpdateSprites ; OAM?
xor a xor a
ld [$CC26],a ld [wCurrentMenuItem],a
ld [$CC2A],a ld [wLastMenuItem],a
ld [$CC34],a ld [wMenuJoypadPollCount],a
inc a inc a
ld [$CC25],a ld [wTopMenuItemX],a
inc a inc a
ld [$CC24],a ld [wTopMenuItemY],a
ld a,$B ld a,$B
ld [$CC29],a ld [wMenuWatchedKeys],a
ld a,[$D088] ld a,[wd088]
ld [$CC28],a ld [wMaxMenuItem],a
call HandleMenuInput call HandleMenuInput
bit 1,a bit 1,a
jp nz,LoadTitlescreenGraphics ; load title screen (gfx and arrangement) jp nz,LoadTitlescreenGraphics ; load title screen (gfx and arrangement)
ld c,20 ld c,20
call DelayFrames call DelayFrames
ld a,[$CC26] ld a,[wCurrentMenuItem]
ld b,a ld b,a
ld a,[$D088] ld a,[wd088]
cp a,2 cp a,2
jp z,.next3 jp z,.next3
inc b ; adjust MenuArrow_Counter inc b ; adjust MenuArrow_Counter
@ -89,11 +89,11 @@ MainMenu: ; 5af2 (1:5af2)
jp z,Func_5d52 ; if press_A on NewGame jp z,Func_5d52 ; if press_A on NewGame
call DisplayOptionMenu ; if press_a on Options call DisplayOptionMenu ; if press_a on Options
ld a,1 ld a,1
ld [$D08A],a ld [wd08a],a
jp .next0 jp .next0
.next4 .next4
call ContinueGame call ContinueGame
ld hl,$D126 ld hl,wd126
set 5,[hl] set 5,[hl]
.next6 .next6
xor a xor a
@ -111,52 +111,52 @@ MainMenu: ; 5af2 (1:5af2)
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
call ClearScreen call ClearScreen
ld a,4 ld a,4
ld [$D52A],a ld [wd52a],a
ld c,10 ld c,10
call DelayFrames call DelayFrames
ld a,[$D5A2] ld a,[wd5a2]
and a and a
jp z,Func_5d5f jp z,Func_5d5f
ld a,[W_CURMAP] ; map ID ld a,[W_CURMAP] ; map ID
cp a,HALL_OF_FAME cp a,HALL_OF_FAME
jp nz,Func_5d5f jp nz,Func_5d5f
xor a xor a
ld [$D71A],a ld [wd71a],a
ld hl,$D732 ld hl,wd732
set 2,[hl] set 2,[hl]
call Func_62ce call Func_62ce
jp Func_5d5f jp Func_5d5f
Func_5bff: ; 5bff (1:5bff) Func_5bff: ; 5bff (1:5bff)
ld a,1 ld a,1
ld [$D358],a ld [wd358],a
ld a,3 ld a,3
ld [$D355],a ld [W_OPTIONS],a
ret ret
LinkMenu: ; 5c0a (1:5c0a) LinkMenu: ; 5c0a (1:5c0a)
xor a xor a
ld [$d358], a ld [wd358], a
ld hl, $d72e ld hl, wd72e
set 6, [hl] set 6, [hl]
ld hl, TextTerminator_6b20 ; $6b20 ld hl, TextTerminator_6b20 ; $6b20
call PrintText call PrintText
call SaveScreenTilesToBuffer1 call SaveScreenTilesToBuffer1
ld hl, WhereWouldYouLikeText ld hl, WhereWouldYouLikeText
call PrintText call PrintText
FuncCoord 5, 5 ; $c409 FuncCoord 5, 5
ld hl, Coord ld hl, Coord
ld b, $6 ld b, $6
ld c, $d ld c, $d
call TextBoxBorder call TextBoxBorder
call UpdateSprites call UpdateSprites
FuncCoord 7, 7 ; $c433 FuncCoord 7, 7
ld hl, Coord ld hl, Coord
ld de, TradeCenterText ld de, TradeCenterText
call PlaceString call PlaceString
xor a xor a
ld [$cd37], a ld [wcd37], a
ld [$d72d], a ld [wd72d], a
ld hl, wTopMenuItemY ; $cc24 ld hl, wTopMenuItemY ; wTopMenuItemY
ld a, $7 ld a, $7
ld [hli], a ld [hli], a
ld a, $6 ld a, $6
@ -176,19 +176,19 @@ LinkMenu: ; 5c0a (1:5c0a)
add a add a
add a add a
ld b, a ld b, a
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
add b add b
add $d0 add $d0
ld [$cc42], a ld [wcc42], a
ld [$cc43], a ld [wcc43], a
.asm_5c66 .asm_5c66
call Func_2247 call Func_2247
ld a, [$cc3d] ld a, [wcc3d]
ld b, a ld b, a
and $f0 and $f0
cp $d0 cp $d0
jr z, .asm_5c7d jr z, .asm_5c7d
ld a, [$cc3e] ld a, [wcc3e]
ld b, a ld b, a
and $f0 and $f0
cp $d0 cp $d0
@ -197,12 +197,12 @@ LinkMenu: ; 5c0a (1:5c0a)
ld a, b ld a, b
and $c and $c
jr nz, .asm_5c8b jr nz, .asm_5c8b
ld a, [$cc42] ld a, [wcc42]
and $c and $c
jr z, .asm_5c52 jr z, .asm_5c52
jr .asm_5ca1 jr .asm_5ca1
.asm_5c8b .asm_5c8b
ld a, [$cc42] ld a, [wcc42]
and $c and $c
jr z, .asm_5c98 jr z, .asm_5c98
ld a, [$ffaa] ld a, [$ffaa]
@ -210,9 +210,9 @@ LinkMenu: ; 5c0a (1:5c0a)
jr z, .asm_5ca1 jr z, .asm_5ca1
.asm_5c98 .asm_5c98
ld a, b ld a, b
ld [$cc42], a ld [wcc42], a
and $3 and $3
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
.asm_5ca1 .asm_5ca1
ld a, [$ffaa] ld a, [$ffaa]
cp $2 cp $2
@ -225,10 +225,10 @@ LinkMenu: ; 5c0a (1:5c0a)
ld b, $7f ld b, $7f
ld c, $7f ld c, $7f
ld d, $ec ld d, $ec
ld a, [$cc42] ld a, [wcc42]
and $8 and $8
jr nz, .asm_5ccc jr nz, .asm_5ccc
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp $2 cp $2
jr z, .asm_5ccc jr z, .asm_5ccc
ld c, d ld c, d
@ -239,58 +239,58 @@ LinkMenu: ; 5c0a (1:5c0a)
ld c, d ld c, d
.asm_5ccc .asm_5ccc
ld a, b ld a, b
FuncCoord 6, 7 ; $c432 FuncCoord 6, 7
ld [Coord], a ld [Coord], a
ld a, c ld a, c
FuncCoord 6, 9 ; $c45a FuncCoord 6, 9
ld [Coord], a ld [Coord], a
ld a, d ld a, d
FuncCoord 6, 11 ; $c482 FuncCoord 6, 11
ld [Coord], a ld [Coord], a
ld c, $28 ld c, $28
call DelayFrames call DelayFrames
call LoadScreenTilesFromBuffer1 call LoadScreenTilesFromBuffer1
ld a, [$cc42] ld a, [wcc42]
and $8 and $8
jr nz, .asm_5d2d jr nz, .asm_5d2d
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp $2 cp $2
jr z, .asm_5d2d jr z, .asm_5d2d
xor a xor a
ld [$d700], a ld [wd700], a
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
ld a, TRADE_CENTER ld a, TRADE_CENTER
jr nz, .asm_5cfc jr nz, .asm_5cfc
ld a, BATTLE_CENTER ld a, BATTLE_CENTER
.asm_5cfc .asm_5cfc
ld [$d72d], a ld [wd72d], a
ld hl, PleaseWaitText ld hl, PleaseWaitText
call PrintText call PrintText
ld c, $32 ld c, $32
call DelayFrames call DelayFrames
ld hl, $d732 ld hl, wd732
res 1, [hl] res 1, [hl]
ld a, [W_ANIMATIONID] ; $d07c ld a, [W_ANIMATIONID] ; W_ANIMATIONID
ld [$d71a], a ld [wd71a], a
call Func_62ce call Func_62ce
ld c, $14 ld c, $14
call DelayFrames call DelayFrames
xor a xor a
ld [wMenuJoypadPollCount], a ; $cc34 ld [wMenuJoypadPollCount], a ; wMenuJoypadPollCount
ld [$cc42], a ld [wcc42], a
inc a inc a
ld [W_ISLINKBATTLE], a ; $d12b ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
ld [$cc47], a ld [wcc47], a
jr Func_5d5f jr Func_5d5f
.asm_5d2d .asm_5d2d
xor a xor a
ld [wMenuJoypadPollCount], a ; $cc34 ld [wMenuJoypadPollCount], a ; wMenuJoypadPollCount
call Delay3 call Delay3
call Func_72d7 call Func_72d7
ld hl, LinkCanceledText ld hl, LinkCanceledText
call PrintText call PrintText
ld hl, $d72e ld hl, wd72e
res 6, [hl] res 6, [hl]
ret ret
@ -307,7 +307,7 @@ LinkCanceledText: ; 5d4d (1:5d4d)
db "@" db "@"
Func_5d52: ; 5d52 (1:5d52) Func_5d52: ; 5d52 (1:5d52)
ld hl, $d732 ld hl, wd732
res 1, [hl] res 1, [hl]
call OakSpeech call OakSpeech
ld c, $14 ld c, $14
@ -318,13 +318,13 @@ Func_5d5f: ; 5d5f (1:5d5f)
ld [hJoyPressed], a ld [hJoyPressed], a
ld [hJoyHeld], a ld [hJoyHeld], a
ld [$ffb5], a ld [$ffb5], a
ld [$d72d], a ld [wd72d], a
ld hl, $d732 ld hl, wd732
set 0, [hl] set 0, [hl]
call ResetPlayerSpriteData call ResetPlayerSpriteData
ld c, $14 ld c, $14
call DelayFrames call DelayFrames
ld a, [$cc47] ld a, [wcc47]
and a and a
ret nz ret nz
jp EnterMap jp EnterMap
@ -344,26 +344,26 @@ TradeCenterText: ; 5d97 (1:5d97)
ContinueGame: ; 5db5 (1:5db5) ContinueGame: ; 5db5 (1:5db5)
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
FuncCoord 4, 7 ; $c430 FuncCoord 4, 7
ld hl, Coord ld hl, Coord
ld b, $8 ld b, $8
ld c, $e ld c, $e
call TextBoxBorder call TextBoxBorder
FuncCoord 5, 9 ; $c459 FuncCoord 5, 9
ld hl, Coord ld hl, Coord
ld de, SaveScreenInfoText ld de, SaveScreenInfoText
call PlaceString call PlaceString
FuncCoord 12, 9 ; $c460 FuncCoord 12, 9
ld hl, Coord ld hl, Coord
ld de, W_PLAYERNAME ; $d158 ld de, W_PLAYERNAME ; wd158
call PlaceString call PlaceString
FuncCoord 17, 11 ; $c48d FuncCoord 17, 11
ld hl, Coord ld hl, Coord
call Func_5e2f call Func_5e2f
FuncCoord 16, 13 ; $c4b4 FuncCoord 16, 13
ld hl, Coord ld hl, Coord
call Func_5e42 call Func_5e42
FuncCoord 13, 15 ; $c4d9 FuncCoord 13, 15
ld hl, Coord ld hl, Coord
call Func_5e55 call Func_5e55
ld a, $1 ld a, $1
@ -374,23 +374,23 @@ ContinueGame: ; 5db5 (1:5db5)
PrintSaveScreenText: ; 5def (1:5def) PrintSaveScreenText: ; 5def (1:5def)
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ld [H_AUTOBGTRANSFERENABLED], a
ld hl, $c3a4 ld hl, wTileMap + $4
ld b, $8 ld b, $8
ld c, $e ld c, $e
call TextBoxBorder call TextBoxBorder
call LoadTextBoxTilePatterns call LoadTextBoxTilePatterns
call UpdateSprites call UpdateSprites
ld hl, $c3cd ld hl, wTileMap + $2d
ld de, SaveScreenInfoText ld de, SaveScreenInfoText
call PlaceString call PlaceString
ld hl, $c3d4 ld hl, wTileMap + $34
ld de, W_PLAYERNAME ld de, W_PLAYERNAME
call PlaceString call PlaceString
ld hl, $c401 ld hl, wTileMap + $61
call Func_5e2f call Func_5e2f
ld hl, $c428 ld hl, wTileMap + $88
call Func_5e42 call Func_5e42
ld hl, $c44d ld hl, wTileMap + $ad
call Func_5e55 call Func_5e55
ld a, $1 ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ld [H_AUTOBGTRANSFERENABLED], a
@ -403,27 +403,27 @@ Func_5e2f: ; 5e2f (1:5e2f)
ld b, $1 ld b, $1
call CountSetBits call CountSetBits
pop hl pop hl
ld de, $d11e ld de, wd11e
ld bc, $102 ld bc, $102
jp PrintNumber jp PrintNumber
Func_5e42: ; 5e42 (1:5e42) Func_5e42: ; 5e42 (1:5e42)
push hl push hl
ld hl, wPokedexOwned ; $d2f7 ld hl, wPokedexOwned ; wPokedexOwned
ld b, wPokedexOwnedEnd - wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned
call CountSetBits call CountSetBits
pop hl pop hl
ld de, $d11e ld de, wd11e
ld bc, $103 ld bc, $103
jp PrintNumber jp PrintNumber
Func_5e55: ; 5e55 (1:5e55) Func_5e55: ; 5e55 (1:5e55)
ld de, $da41 ld de, W_PLAYTIMEHOURS + 1
ld bc, $103 ld bc, $103
call PrintNumber call PrintNumber
ld [hl], $6d ld [hl], $6d
inc hl inc hl
ld de, $da43 ld de, W_PLAYTIMEMINUTES + 1
ld bc, $8102 ld bc, $8102
jp PrintNumber jp PrintNumber
@ -469,12 +469,12 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
ld [wCurrentMenuItem],a ld [wCurrentMenuItem],a
ld [wLastMenuItem],a ld [wLastMenuItem],a
inc a inc a
ld [$d358],a ld [wd358],a
ld [$cd40],a ld [wTrainerScreenY],a
ld a,3 ; text speed cursor Y coordinate ld a,3 ; text speed cursor Y coordinate
ld [wTopMenuItemY],a ld [wTopMenuItemY],a
call SetCursorPositionsFromOptions call SetCursorPositionsFromOptions
ld a,[$cd3d] ; text speed cursor X coordinate ld a,[wWhichTrade] ; text speed cursor X coordinate
ld [wTopMenuItemX],a ld [wTopMenuItemX],a
ld a,$01 ld a,$01
ld [H_AUTOBGTRANSFERENABLED],a ; enable auto background transfer ld [H_AUTOBGTRANSFERENABLED],a ; enable auto background transfer
@ -524,7 +524,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
.downPressed .downPressed
cp a,16 cp a,16
ld b,-13 ld b,-13
ld hl,$cd3d ld hl,wWhichTrade
jr z,.updateMenuVariables jr z,.updateMenuVariables
ld b,5 ld b,5
cp a,3 cp a,3
@ -539,7 +539,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
.upPressed .upPressed
cp a,8 cp a,8
ld b,-5 ld b,-5
ld hl,$cd3d ld hl,wWhichTrade
jr z,.updateMenuVariables jr z,.updateMenuVariables
cp a,13 cp a,13
inc hl inc hl
@ -558,17 +558,17 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
call PlaceUnfilledArrowMenuCursor call PlaceUnfilledArrowMenuCursor
jp .loop jp .loop
.cursorInBattleAnimation .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 xor a,$0b ; toggle between 1 and 10
ld [$cd3e],a ld [wTrainerEngageDistance],a
jp .eraseOldMenuCursor jp .eraseOldMenuCursor
.cursorInBattleStyle .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 xor a,$0b ; toggle between 1 and 10
ld [$cd3f],a ld [wTrainerFacingDirection],a
jp .eraseOldMenuCursor jp .eraseOldMenuCursor
.pressedLeftInTextSpeed .pressedLeftInTextSpeed
ld a,[$cd3d] ; text speed cursor X coordinate ld a,[wWhichTrade] ; text speed cursor X coordinate
cp a,1 cp a,1
jr z,.updateTextSpeedXCoord jr z,.updateTextSpeedXCoord
cp a,7 cp a,7
@ -579,7 +579,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
sub a,7 sub a,7
jr .updateTextSpeedXCoord jr .updateTextSpeedXCoord
.pressedRightInTextSpeed .pressedRightInTextSpeed
ld a,[$cd3d] ; text speed cursor X coordinate ld a,[wWhichTrade] ; text speed cursor X coordinate
cp a,14 cp a,14
jr z,.updateTextSpeedXCoord jr z,.updateTextSpeedXCoord
cp a,7 cp a,7
@ -589,7 +589,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
.fromFastToMedium .fromFastToMedium
add a,6 add a,6
.updateTextSpeedXCoord .updateTextSpeedXCoord
ld [$cd3d],a ; text speed cursor X coordinate ld [wWhichTrade],a ; text speed cursor X coordinate
jp .eraseOldMenuCursor jp .eraseOldMenuCursor
TextSpeedOptionText: ; 5fc0 (1:5fc0) 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 ; sets the options variable according to the current placement of the menu cursors in the options menu
SetOptionsFromCursorPositions: ; 601f (1:601f) SetOptionsFromCursorPositions: ; 601f (1:601f)
ld hl,TextSpeedOptionData ld hl,TextSpeedOptionData
ld a,[$cd3d] ; text speed cursor X coordinate ld a,[wWhichTrade] ; text speed cursor X coordinate
ld c,a ld c,a
.loop .loop
ld a,[hli] ld a,[hli]
@ -621,7 +621,7 @@ SetOptionsFromCursorPositions: ; 601f (1:601f)
.textSpeedMatchFound .textSpeedMatchFound
ld a,[hl] ld a,[hl]
ld d,a ld d,a
ld a,[$cd3e] ; battle animation cursor X coordinate ld a,[wTrainerEngageDistance] ; battle animation cursor X coordinate
dec a dec a
jr z,.battleAnimationOn jr z,.battleAnimationOn
.battleAnimationOff .battleAnimationOff
@ -630,7 +630,7 @@ SetOptionsFromCursorPositions: ; 601f (1:601f)
.battleAnimationOn .battleAnimationOn
res 7,d res 7,d
.checkBattleStyle .checkBattleStyle
ld a,[$cd3f] ; battle style cursor X coordinate ld a,[wTrainerFacingDirection] ; battle style cursor X coordinate
dec a dec a
jr z,.battleStyleShift jr z,.battleStyleShift
.battleStyleSet .battleStyleSet
@ -655,7 +655,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c)
pop bc pop bc
dec hl dec hl
ld a,[hl] ld a,[hl]
ld [$cd3d],a ; text speed cursor X coordinate ld [wWhichTrade],a ; text speed cursor X coordinate
FuncCoord 0,3 FuncCoord 0,3
ld hl,Coord ld hl,Coord
call .placeUnfilledRightArrow call .placeUnfilledRightArrow
@ -664,7 +664,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c)
jr nc,.storeBattleAnimationCursorX jr nc,.storeBattleAnimationCursorX
ld a,10 ; Off ld a,10 ; Off
.storeBattleAnimationCursorX .storeBattleAnimationCursorX
ld [$cd3e],a ; battle animation cursor X coordinate ld [wTrainerEngageDistance],a ; battle animation cursor X coordinate
FuncCoord 0,8 FuncCoord 0,8
ld hl,Coord ld hl,Coord
call .placeUnfilledRightArrow call .placeUnfilledRightArrow
@ -673,7 +673,7 @@ SetCursorPositionsFromOptions: ; 604c (1:604c)
jr nc,.storeBattleStyleCursorX jr nc,.storeBattleStyleCursorX
ld a,10 ld a,10
.storeBattleStyleCursorX .storeBattleStyleCursorX
ld [$cd3f],a ; battle style cursor X coordinate ld [wTrainerFacingDirection],a ; battle style cursor X coordinate
FuncCoord 0,13 FuncCoord 0,13
ld hl,Coord ld hl,Coord
call .placeUnfilledRightArrow call .placeUnfilledRightArrow

View file

@ -2,36 +2,36 @@ AskForMonNickname: ; 64eb (1:64eb)
call SaveScreenTilesToBuffer1 call SaveScreenTilesToBuffer1
call GetPredefRegisters call GetPredefRegisters
push hl push hl
ld a, [W_ISINBATTLE] ; $d057 ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a dec a
ld hl, wTileMap ld hl, wTileMap
ld b, $4 ld b, $4
ld c, $b ld c, $b
call z, ClearScreenArea ; only if in wild batle call z, ClearScreenArea ; only if in wild batle
ld a, [$cf91] ld a, [wcf91]
ld [$d11e], a ld [wd11e], a
call GetMonName call GetMonName
ld hl, DoYouWantToNicknameText ld hl, DoYouWantToNicknameText
call PrintText call PrintText
FuncCoord 14, 7 ; $c43a FuncCoord 14, 7
ld hl, Coord ld hl, Coord
ld bc, $80f ld bc, $80f
ld a, $14 ld a, $14
ld [$d125], a ld [wd125], a
call DisplayTextBoxID call DisplayTextBoxID
pop hl pop hl
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
jr nz, .asm_654c jr nz, .asm_654c
ld a, [$cfcb] ld a, [wcfcb]
push af push af
xor a xor a
ld [$cfcb], a ld [wcfcb], a
push hl push hl
ld a, $2 ld a, $2
ld [$d07d], a ld [wd07d], a
call DisplayNamingScreen call DisplayNamingScreen
ld a, [W_ISINBATTLE] ; $d057 ld a, [W_ISINBATTLE] ; W_ISINBATTLE
and a and a
jr nz, .asm_653e jr nz, .asm_653e
call Func_3e08 call Func_3e08
@ -39,14 +39,14 @@ AskForMonNickname: ; 64eb (1:64eb)
call LoadScreenTilesFromBuffer1 call LoadScreenTilesFromBuffer1
pop hl pop hl
pop af pop af
ld [$cfcb], a ld [wcfcb], a
ld a, [$cf4b] ld a, [wcf4b]
cp $50 cp $50
ret nz ret nz
.asm_654c .asm_654c
ld d, h ld d, h
ld e, l ld e, l
ld hl, $cd6d ld hl, wcd6d
ld bc, $000b ld bc, $000b
jp CopyData jp CopyData
@ -55,25 +55,25 @@ DoYouWantToNicknameText: ; 0x6557
db "@" db "@"
Func_655c: ; 655c (1:655c) Func_655c: ; 655c (1:655c)
ld hl, $cee9 ld hl, wHPBarMaxHP
xor a xor a
ld [$cfcb], a ld [wcfcb], a
ld a, $2 ld a, $2
ld [$d07d], a ld [wd07d], a
call DisplayNamingScreen call DisplayNamingScreen
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
call Func_3dbe call Func_3dbe
call LoadGBPal call LoadGBPal
ld a, [$cf4b] ld a, [wcf4b]
cp $50 cp $50
jr z, .asm_6594 jr z, .asm_6594
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
ld bc, $b ld bc, $b
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
call AddNTimes call AddNTimes
ld e, l ld e, l
ld d, h ld d, h
ld hl, $cee9 ld hl, wHPBarMaxHP
ld bc, $b ld bc, $b
call CopyData call CopyData
and a and a
@ -84,7 +84,7 @@ Func_655c: ; 655c (1:655c)
DisplayNamingScreen: ; 6596 (1:6596) DisplayNamingScreen: ; 6596 (1:6596)
push hl push hl
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
call ClearScreen call ClearScreen
@ -94,45 +94,45 @@ DisplayNamingScreen: ; 6596 (1:6596)
call LoadHpBarAndStatusTilePatterns call LoadHpBarAndStatusTilePatterns
call LoadEDTile call LoadEDTile
callba Func_7176c callba Func_7176c
FuncCoord 0, 4 ; $c3f0 FuncCoord 0, 4
ld hl, Coord ld hl, Coord
ld b, $9 ld b, $9
ld c, $12 ld c, $12
call TextBoxBorder call TextBoxBorder
call PrintNamingText call PrintNamingText
ld a, $3 ld a, $3
ld [wTopMenuItemY], a ; $cc24 ld [wTopMenuItemY], a ; wTopMenuItemY
ld a, $1 ld a, $1
ld [wTopMenuItemX], a ; $cc25 ld [wTopMenuItemX], a ; wTopMenuItemX
ld [wLastMenuItem], a ; $cc2a ld [wLastMenuItem], a ; wLastMenuItem
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld a, $ff ld a, $ff
ld [wMenuWatchedKeys], a ; $cc29 ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
ld a, $7 ld a, $7
ld [wMaxMenuItem], a ; $cc28 ld [wMaxMenuItem], a ; wMaxMenuItem
ld a, $50 ld a, $50
ld [$cf4b], a ld [wcf4b], a
xor a xor a
ld hl, $ceea ld hl, wHPBarMaxHP + 1
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [W_SUBANIMTRANSFORM], a ; $d08b ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
.asm_65ed .asm_65ed
call PrintAlphabet call PrintAlphabet
call GBPalNormal call GBPalNormal
.asm_65f3 .asm_65f3
ld a, [$ceea] ld a, [wHPBarMaxHP + 1]
and a and a
jr nz, .asm_662d jr nz, .asm_662d
call Func_680e call Func_680e
.asm_65fc .asm_65fc
call PlaceMenuCursor call PlaceMenuCursor
.asm_65ff .asm_65ff
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
push af push af
callba AnimatePartyMon_ForceSpeed1 callba AnimatePartyMon_ForceSpeed1
pop af pop af
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
call JoypadLowSensitivity call JoypadLowSensitivity
ld a, [hJoyPressed] ld a, [hJoyPressed]
and a and a
@ -158,7 +158,7 @@ DisplayNamingScreen: ; 6596 (1:6596)
jp [hl] jp [hl]
.asm_662d .asm_662d
pop de pop de
ld hl, $cf4b ld hl, wcf4b
ld bc, $b ld bc, $b
call CopyData call CopyData
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
@ -167,10 +167,10 @@ DisplayNamingScreen: ; 6596 (1:6596)
call GoPAL_SET_CF1C call GoPAL_SET_CF1C
call GBPalNormal call GBPalNormal
xor a xor a
ld [W_SUBANIMTRANSFORM], a ; $d08b ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
ld a, [W_ISINBATTLE] ; $d057 ld a, [W_ISINBATTLE] ; W_ISINBATTLE
and a and a
jp z, LoadTextBoxTilePatterns jp z, LoadTextBoxTilePatterns
ld hl, Func_3ee5b ld hl, Func_3ee5b
@ -200,52 +200,52 @@ DisplayNamingScreen: ; 6596 (1:6596)
ld de, .asm_65ed ; $65ed ld de, .asm_65ed ; $65ed
push de push de
.asm_6683 .asm_6683
ld a, [$ceeb] ld a, [wHPBarOldHP]
xor $1 xor $1
ld [$ceeb], a ld [wHPBarOldHP], a
ret ret
.asm_668c .asm_668c
ld a, $1 ld a, $1
ld [$ceea], a ld [wHPBarMaxHP + 1], a
ret ret
.asm_6692 .asm_6692
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp $5 cp $5
jr nz, .asm_66a0 jr nz, .asm_66a0
ld a, [wTopMenuItemX] ; $cc25 ld a, [wTopMenuItemX] ; wTopMenuItemX
cp $11 cp $11
jr z, .asm_668c jr z, .asm_668c
.asm_66a0 .asm_66a0
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp $6 cp $6
jr nz, .asm_66ae jr nz, .asm_66ae
ld a, [wTopMenuItemX] ; $cc25 ld a, [wTopMenuItemX] ; wTopMenuItemX
cp $1 cp $1
jr z, .asm_667e jr z, .asm_667e
.asm_66ae .asm_66ae
ld hl, wMenuCursorLocation ; $cc30 ld hl, wMenuCursorLocation ; wMenuCursorLocation
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
inc hl inc hl
ld a, [hl] ld a, [hl]
ld [$ceed], a ld [wHPBarNewHP], a
call CalcStringLength call CalcStringLength
ld a, [$ceed] ld a, [wHPBarNewHP]
cp $e5 cp $e5
ld de, Dakutens ; $6885 ld de, Dakutens ; $6885
jr z, .asm_66e3 jr z, .asm_66e3
cp $e4 cp $e4
ld de, Handakutens ; $68d6 ld de, Handakutens ; $68d6
jr z, .asm_66e3 jr z, .asm_66e3
ld a, [$d07d] ld a, [wd07d]
cp $2 cp $2
jr nc, .checkMonNameLength jr nc, .checkMonNameLength
ld a, [$cee9] ld a, [wHPBarMaxHP]
cp $7 ; max length of player/rival names cp $7 ; max length of player/rival names
jr .checkNameLength jr .checkNameLength
.checkMonNameLength .checkMonNameLength
ld a, [$cee9] ld a, [wHPBarMaxHP]
cp $a ; max length of pokemon nicknames cp $a ; max length of pokemon nicknames
.checkNameLength .checkNameLength
jr c, .addLetter jr c, .addLetter
@ -257,14 +257,14 @@ DisplayNamingScreen: ; 6596 (1:6596)
ret nc ret nc
dec hl dec hl
.addLetter .addLetter
ld a, [$ceed] ld a, [wHPBarNewHP]
ld [hli], a ld [hli], a
ld [hl], $50 ld [hl], $50
ld a, (SFX_02_40 - SFX_Headers_02) / 3 ld a, (SFX_02_40 - SFX_Headers_02) / 3
call PlaySound call PlaySound
ret ret
.deleteLetter .deleteLetter
ld a, [$cee9] ld a, [wHPBarMaxHP]
and a and a
ret z ret z
call CalcStringLength call CalcStringLength
@ -272,10 +272,10 @@ DisplayNamingScreen: ; 6596 (1:6596)
ld [hl], $50 ld [hl], $50
ret ret
.asm_6702 .asm_6702
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp $6 cp $6
ret z ret z
ld a, [wTopMenuItemX] ; $cc25 ld a, [wTopMenuItemX] ; wTopMenuItemX
cp $11 cp $11
jp z, .asm_6714 jp z, .asm_6714
inc a inc a
@ -285,10 +285,10 @@ DisplayNamingScreen: ; 6596 (1:6596)
ld a, $1 ld a, $1
jr .asm_6755 jr .asm_6755
.asm_6718 .asm_6718
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp $6 cp $6
ret z ret z
ld a, [wTopMenuItemX] ; $cc25 ld a, [wTopMenuItemX] ; wTopMenuItemX
dec a dec a
jp z, .asm_6728 jp z, .asm_6728
dec a dec a
@ -297,30 +297,30 @@ DisplayNamingScreen: ; 6596 (1:6596)
ld a, $11 ld a, $11
jr .asm_6755 jr .asm_6755
.asm_672c .asm_672c
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
dec a dec a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
and a and a
ret nz ret nz
ld a, $6 ld a, $6
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld a, $1 ld a, $1
jr .asm_6755 jr .asm_6755
.asm_673e .asm_673e
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
inc a inc a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
cp $7 cp $7
jr nz, .asm_6750 jr nz, .asm_6750
ld a, $1 ld a, $1
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
jr .asm_6755 jr .asm_6755
.asm_6750 .asm_6750
cp $6 cp $6
ret nz ret nz
ld a, $1 ld a, $1
.asm_6755 .asm_6755
ld [wTopMenuItemX], a ; $cc25 ld [wTopMenuItemX], a ; wTopMenuItemX
jp EraseMenuCursor jp EraseMenuCursor
LoadEDTile: ; 675b (1:675b) LoadEDTile: ; 675b (1:675b)
@ -335,13 +335,13 @@ ED_Tile: ; 6767 (1:6767)
PrintAlphabet: ; 676f (1:676f) PrintAlphabet: ; 676f (1:676f)
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld a, [$ceeb] ld a, [wHPBarOldHP]
and a and a
ld de, LowerCaseAlphabet ; $679e ld de, LowerCaseAlphabet ; $679e
jr nz, .asm_677e jr nz, .asm_677e
ld de, UpperCaseAlphabet ; $67d6 ld de, UpperCaseAlphabet ; $67d6
.asm_677e .asm_677e
FuncCoord 2, 5 ; $c406 FuncCoord 2, 5
ld hl, Coord ld hl, Coord
ld bc, $509 ld bc, $509
.asm_6784 .asm_6784
@ -372,18 +372,18 @@ UpperCaseAlphabet: ; 67d6 (1:67d6)
Func_680e: ; 680e (1:680e) Func_680e: ; 680e (1:680e)
call CalcStringLength call CalcStringLength
ld a, c ld a, c
ld [$cee9], a ld [wHPBarMaxHP], a
FuncCoord 10, 2 ; $c3d2 FuncCoord 10, 2
ld hl, Coord ld hl, Coord
ld bc, $10a ld bc, $10a
call ClearScreenArea call ClearScreenArea
FuncCoord 10, 2 ; $c3d2 FuncCoord 10, 2
ld hl, Coord ld hl, Coord
ld de, $cf4b ld de, wcf4b
call PlaceString call PlaceString
FuncCoord 10, 3 ; $c3e6 FuncCoord 10, 3
ld hl, Coord ld hl, Coord
ld a, [$d07d] ld a, [wd07d]
cp $2 cp $2
jr nc, .asm_6835 jr nc, .asm_6835
ld b, $7 ld b, $7
@ -396,9 +396,9 @@ Func_680e: ; 680e (1:680e)
ld [hli], a ld [hli], a
dec b dec b
jr nz, .asm_6839 jr nz, .asm_6839
ld a, [$d07d] ld a, [wd07d]
cp $2 cp $2
ld a, [$cee9] ld a, [wHPBarMaxHP]
jr nc, .asm_684b jr nc, .asm_684b
cp $7 cp $7
jr .asm_684d jr .asm_684d
@ -408,10 +408,10 @@ Func_680e: ; 680e (1:680e)
jr nz, .asm_6867 jr nz, .asm_6867
call EraseMenuCursor call EraseMenuCursor
ld a, $11 ld a, $11
ld [wTopMenuItemX], a ; $cc25 ld [wTopMenuItemX], a ; wTopMenuItemX
ld a, $5 ld a, $5
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld a, [$d07d] ld a, [wd07d]
cp $2 cp $2
ld a, $9 ld a, $9
jr nc, .asm_6867 jr nc, .asm_6867
@ -419,7 +419,7 @@ Func_680e: ; 680e (1:680e)
.asm_6867 .asm_6867
ld c, a ld c, a
ld b, $0 ld b, $0
FuncCoord 10, 3 ; $c3e6 FuncCoord 10, 3
ld hl, Coord ld hl, Coord
add hl, bc add hl, bc
ld [hl], $77 ld [hl], $77
@ -436,7 +436,7 @@ Func_6871: ; 6871 (1:6871)
ret nc ret nc
inc hl inc hl
ld a, [hl] ld a, [hl]
ld [$ceed], a ld [wHPBarNewHP], a
ret ret
Dakutens: ; 6885 (1:6885) Dakutens: ; 6885 (1:6885)
@ -455,9 +455,9 @@ Handakutens: ; 68d6 (1:68d6)
db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ" db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
db $ff 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) CalcStringLength: ; 68eb (1:68eb)
ld hl, $cf4b ld hl, wcf4b
ld c, $0 ld c, $0
.asm_68f0 .asm_68f0
ld a, [hl] ld a, [hl]
@ -468,29 +468,29 @@ CalcStringLength: ; 68eb (1:68eb)
jr .asm_68f0 jr .asm_68f0
PrintNamingText: ; 68f8 (1:68f8) PrintNamingText: ; 68f8 (1:68f8)
FuncCoord 0, 1 ; $c3b4 FuncCoord 0, 1
ld hl, Coord ld hl, Coord
ld a, [$d07d] ld a, [wd07d]
ld de, YourTextString ; $693f ld de, YourTextString ; $693f
and a and a
jr z, .notNickname jr z, .notNickname
ld de, RivalsTextString ; $6945 ld de, RivalsTextString ; $6945
dec a dec a
jr z, .notNickname jr z, .notNickname
ld a, [$cf91] ld a, [wcf91]
ld [$cd5d], a ld [wcd5d], a
push af push af
callba Func_71882 callba Func_71882
pop af pop af
ld [$d11e], a ld [wd11e], a
call GetMonName call GetMonName
FuncCoord 4, 1 ; $c3b8 FuncCoord 4, 1
ld hl, Coord ld hl, Coord
call PlaceString call PlaceString
ld hl, $1 ld hl, $1
add hl, bc add hl, bc
ld [hl], $c9 ld [hl], $c9
FuncCoord 1, 3 ; $c3dd FuncCoord 1, 3
ld hl, Coord ld hl, Coord
ld de, NicknameTextString ; $6953 ld de, NicknameTextString ; $6953
jr .placeString jr .placeString

View file

@ -5,7 +5,7 @@ OpenOaksPC: ; 1e915 (7:6915)
ld hl, GetDexRatedText ld hl, GetDexRatedText
call PrintText call PrintText
call YesNoChoice call YesNoChoice
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
jr nz, .asm_1e932 jr nz, .asm_1e932
ld a, $56 ld a, $56

View file

@ -1,4 +1,4 @@
; [$D07D] = menu type / message ID ; [wd07d] = menu type / message ID
; if less than $F0, it is a menu type ; if less than $F0, it is a menu type
; menu types: ; menu types:
; 00: normal pokemon menu (e.g. Start menu) ; 00: normal pokemon menu (e.g. Start menu)
@ -25,18 +25,18 @@ DrawPartyMenu_: ; 12cd2 (4:6cd2)
callba Func_71791 ; load pokemon icon graphics callba Func_71791 ; load pokemon icon graphics
RedrawPartyMenu_: ; 12ce3 (4:6ce3) RedrawPartyMenu_: ; 12ce3 (4:6ce3)
ld a,[$D07D] ld a,[wd07d]
cp a,$04 cp a,$04
jp z,.printMessage jp z,.printMessage
call ErasePartyMenuCursors call ErasePartyMenuCursors
callba SendBlkPacket_PartyMenu ; loads some data to $cf2e callba SendBlkPacket_PartyMenu ; loads some data to wcf2e
FuncCoord 3,0 FuncCoord 3,0
ld hl,Coord ld hl,Coord
ld de,W_PARTYMON1 ld de,W_PARTYMON1
xor a xor a
ld c,a ld c,a
ld [$FF8C],a ; loop counter ld [$FF8C],a ; loop counter
ld [$CF2D],a ld [wcf2d],a
.loop .loop
ld a,[de] ld a,[de]
cp a,$FF ; reached the terminator? cp a,$FF ; reached the terminator?
@ -58,7 +58,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
call LoadMonData call LoadMonData
pop hl pop hl
push hl push hl
ld a,[$CC35] ld a,[wcc35]
and a ; is the player swapping pokemon positions? and a ; is the player swapping pokemon positions?
jr z,.skipUnfilledRightArrow jr z,.skipUnfilledRightArrow
; if the player is swapping pokemon positions ; if the player is swapping pokemon positions
@ -76,7 +76,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
inc hl inc hl
inc hl inc hl
.skipUnfilledRightArrow .skipUnfilledRightArrow
ld a,[$D07D] ; menu type ld a,[wd07d] ; menu type
cp a,$03 cp a,$03
jr z,.teachMoveMenu jr z,.teachMoveMenu
cp a,$05 cp a,$05
@ -84,7 +84,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
push hl push hl
ld bc,14 ; 14 columns to the right ld bc,14 ; 14 columns to the right
add hl,bc add hl,bc
ld de,$CF9C ld de,wcf9c
call PrintStatusCondition call PrintStatusCondition
pop hl pop hl
push hl push hl
@ -137,25 +137,25 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
push hl push hl
ld hl,EvosMovesPointerTable ld hl,EvosMovesPointerTable
ld b,0 ld b,0
ld a,[$CF98] ; pokemon ID ld a,[wcf98] ; pokemon ID
dec a dec a
add a add a
rl b rl b
ld c,a ld c,a
add hl,bc add hl,bc
ld de,$CD6D ld de,wcd6d
ld a,BANK(EvosMovesPointerTable) ld a,BANK(EvosMovesPointerTable)
ld bc,2 ld bc,2
call FarCopyData call FarCopyData
ld hl,$CD6D ld hl,wcd6d
ld a,[hli] ld a,[hli]
ld h,[hl] ld h,[hl]
ld l,a ld l,a
ld de,$CD6D ld de,wcd6d
ld a,BANK(EvosMovesPointerTable) ld a,BANK(EvosMovesPointerTable)
ld bc,13 ld bc,13
call FarCopyData call FarCopyData
ld hl,$CD6D ld hl,wcd6d
ld de,.notAbleToEvolveText ld de,.notAbleToEvolveText
; loop through the pokemon's evolution entries ; loop through the pokemon's evolution entries
.checkEvolutionsLoop .checkEvolutionsLoop
@ -170,7 +170,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
dec hl dec hl
dec hl dec hl
ld b,[hl] ld b,[hl]
ld a,[$D156] ; evolution stone item ID ld a,[wd156] ; evolution stone item ID
inc hl inc hl
inc hl inc hl
inc hl inc hl
@ -194,12 +194,12 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
ld b,$0A ld b,$0A
call GoPAL_SET call GoPAL_SET
.printMessage .printMessage
ld hl,$D730 ld hl,wd730
ld a,[hl] ld a,[hl]
push af push af
push hl push hl
set 6,[hl] ; turn off letter printing delay set 6,[hl] ; turn off letter printing delay
ld a,[$D07D] ; message ID ld a,[wd07d] ; message ID
cp a,$F0 cp a,$F0
jr nc,.printItemUseMessage jr nc,.printItemUseMessage
add a add a
@ -230,7 +230,7 @@ RedrawPartyMenu_: ; 12ce3 (4:6ce3)
ld h,[hl] ld h,[hl]
ld l,a ld l,a
push hl push hl
ld a,[$CF06] ld a,[wcf06]
ld hl,W_PARTYMON1NAME ld hl,W_PARTYMON1NAME
call GetPartyMonName call GetPartyMonName
pop hl pop hl
@ -315,14 +315,14 @@ RareCandyText: ; 12ec0 (4:6ec0)
db "@" db "@"
SetPartyMenuHealthBarColor: ; 12ec7 (4:6ec7) SetPartyMenuHealthBarColor: ; 12ec7 (4:6ec7)
ld hl, $cf1f ld hl, wcf1f
ld a, [$cf2d] ld a, [wcf2d]
ld c, a ld c, a
ld b, $0 ld b, $0
add hl, bc add hl, bc
call GetHealthBarColor call GetHealthBarColor
ld b, $fc ld b, $fc
call GoPAL_SET call GoPAL_SET
ld hl, $cf2d ld hl, wcf2d
inc [hl] inc [hl]
ret ret

View file

@ -74,7 +74,7 @@ BillsPC: ; 17ee4 (5:7ee4)
ld a, (SFX_02_47 - SFX_Headers_02) / 3 ld a, (SFX_02_47 - SFX_Headers_02) / 3
call PlaySound ;XXX: play sound or stop music call PlaySound ;XXX: play sound or stop music
call WaitForSoundToFinish ;XXX: wait for sound to be done 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 bit 0, a
jr nz, .billsPC ;if you've met bill, use that bill's instead of someone's jr nz, .billsPC ;if you've met bill, use that bill's instead of someone's
ld hl, AccessedSomeonesPCText ld hl, AccessedSomeonesPCText
@ -86,7 +86,7 @@ BillsPC: ; 17ee4 (5:7ee4)
callba BillsPC_ callba BillsPC_
ReloadMainMenu: ; 17f06 (5:7f06) ReloadMainMenu: ; 17f06 (5:7f06)
xor a xor a
ld [$CC3C], a ld [wcc3c], a
call ReloadMapData call ReloadMapData
call UpdateSprites ;XXX: moves sprites call UpdateSprites ;XXX: moves sprites
jp PCMainMenu jp PCMainMenu
@ -117,7 +117,7 @@ AccessedMyPCText: ; 17f32 (5:7f32)
; removes one of the specified item ID [$FFdb] from bag (if existent) ; removes one of the specified item ID [$FFdb] from bag (if existent)
RemoveItemByID: ; 17f37 (5:7f37) RemoveItemByID: ; 17f37 (5:7f37)
ld hl, wBagItems ; $d31e ld hl, wBagItems ; wd31e
ld a, [$ffdb] ld a, [$ffdb]
ld b, a ld b, a
xor a xor a
@ -135,8 +135,8 @@ RemoveItemByID: ; 17f37 (5:7f37)
jr .asm_17f40 jr .asm_17f40
.asm_17f4f .asm_17f4f
ld a, $1 ld a, $1
ld [$cf96], a ld [wcf96], a
ld a, [$ffdc] ld a, [$ffdc]
ld [wWhichPokemon], a ; $cf92 ld [wWhichPokemon], a ; wWhichPokemon
ld hl, wNumBagItems ; $d31d ld hl, wNumBagItems ; wNumBagItems
jp RemoveItemFromInventory jp RemoveItemFromInventory

View file

@ -1,12 +1,12 @@
PlayerPC: ; 78e6 (1:78e6) PlayerPC: ; 78e6 (1:78e6)
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
ld a, ITEM_NAME ld a, ITEM_NAME
ld [W_LISTTYPE], a ld [W_LISTTYPE], a
call SaveScreenTilesToBuffer1 call SaveScreenTilesToBuffer1
xor a xor a
ld [$cc2c], a ld [wcc2c], a
ld [$ccd3], a ld [wccd3], a
ld a, [wFlags_0xcd60] ld a, [wFlags_0xcd60]
bit 3, a bit 3, a
jr nz, Func_790c jr nz, Func_790c
@ -16,8 +16,8 @@ PlayerPC: ; 78e6 (1:78e6)
call PrintText call PrintText
Func_790c: ; 790c (1:790c) Func_790c: ; 790c (1:790c)
ld a, [$ccd3] ld a, [wccd3]
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld hl, wFlags_0xcd60 ld hl, wFlags_0xcd60
set 5, [hl] set 5, [hl]
call LoadScreenTilesFromBuffer2 call LoadScreenTilesFromBuffer2
@ -26,11 +26,11 @@ Func_790c: ; 790c (1:790c)
ld c, $e ld c, $e
call TextBoxBorder call TextBoxBorder
call UpdateSprites call UpdateSprites
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl, Coord ld hl, Coord
ld de, PlayersPCMenuEntries ; $7af5 ld de, PlayersPCMenuEntries ; $7af5
call PlaceString call PlaceString
ld hl, wTopMenuItemY ; $cc24 ld hl, wTopMenuItemY ; wTopMenuItemY
ld a, $2 ld a, $2
ld [hli], a ld [hli], a
dec a dec a
@ -43,18 +43,18 @@ Func_790c: ; 790c (1:790c)
ld [hli], a ld [hli], a
xor a xor a
ld [hl], a ld [hl], a
ld hl, wListScrollOffset ; $cc36 ld hl, wListScrollOffset ; wcc36
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld [wPlayerMonNumber], a ; $cc2f ld [wPlayerMonNumber], a ; wPlayerMonNumber
ld hl, WhatDoYouWantText ld hl, WhatDoYouWantText
call PrintText call PrintText
call HandleMenuInput call HandleMenuInput
bit 1, a bit 1, a
jp nz, Func_796d jp nz, Func_796d
call PlaceUnfilledArrowMenuCursor call PlaceUnfilledArrowMenuCursor
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld [$ccd3], a ld [wccd3], a
and a and a
jp z, Func_7a12 jp z, Func_7a12
dec a dec a
@ -74,19 +74,19 @@ Func_796d: ; 796d (1:796d)
res 5, [hl] res 5, [hl]
call LoadScreenTilesFromBuffer2 call LoadScreenTilesFromBuffer2
xor a xor a
ld [wListScrollOffset], a ; $cc36 ld [wListScrollOffset], a ; wcc36
ld [$cc2c], a ld [wcc2c], a
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
xor a xor a
ld [$cc3c], a ld [wcc3c], a
ret ret
Func_7995: ; 7995 (1:7995) Func_7995: ; 7995 (1:7995)
xor a xor a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld [wListScrollOffset], a ; $cc36 ld [wListScrollOffset], a ; wcc36
ld a, [wNumBagItems] ; $d31d ld a, [wNumBagItems] ; wNumBagItems
and a and a
jr nz, Func_79ab jr nz, Func_79ab
ld hl, NothingToDepositText ld hl, NothingToDepositText
@ -96,21 +96,21 @@ Func_7995: ; 7995 (1:7995)
Func_79ab: ; 79ab (1:79ab) Func_79ab: ; 79ab (1:79ab)
ld hl, WhatToDepositText ld hl, WhatToDepositText
call PrintText call PrintText
ld hl, wNumBagItems ; $d31d ld hl, wNumBagItems ; wNumBagItems
ld a, l ld a, l
ld [$cf8b], a ld [wcf8b], a
ld a, h ld a, h
ld [$cf8c], a ld [wcf8c], a
xor a xor a
ld [$cf93], a ld [wcf93], a
ld a, $3 ld a, $3
ld [wListMenuID], a ; $cf94 ld [wListMenuID], a ; wListMenuID
call DisplayListMenuID call DisplayListMenuID
jp c, Func_790c jp c, Func_790c
call IsKeyItem call IsKeyItem
ld a, $1 ld a, $1
ld [$cf96], a ld [wcf96], a
ld a, [$d124] ld a, [wd124]
and a and a
jr nz, .asm_79e7 jr nz, .asm_79e7
ld hl, DepositHowManyText ld hl, DepositHowManyText
@ -119,14 +119,14 @@ Func_79ab: ; 79ab (1:79ab)
cp $ff cp $ff
jp z, Func_79ab jp z, Func_79ab
.asm_79e7 .asm_79e7
ld hl, wNumBoxItems ; $d53a ld hl, wNumBoxItems ; wNumBoxItems
call AddItemToInventory call AddItemToInventory
jr c, .asm_79f8 jr c, .asm_79f8
ld hl, NoRoomToStoreText ld hl, NoRoomToStoreText
call PrintText call PrintText
jp Func_79ab jp Func_79ab
.asm_79f8 .asm_79f8
ld hl, wNumBagItems ; $d31d ld hl, wNumBagItems ; wNumBagItems
call RemoveItemFromInventory call RemoveItemFromInventory
call WaitForSoundToFinish call WaitForSoundToFinish
ld a, (SFX_02_55 - SFX_Headers_02) / 3 ld a, (SFX_02_55 - SFX_Headers_02) / 3
@ -138,9 +138,9 @@ Func_79ab: ; 79ab (1:79ab)
Func_7a12: ; 7a12 (1:7a12) Func_7a12: ; 7a12 (1:7a12)
xor a xor a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld [wListScrollOffset], a ; $cc36 ld [wListScrollOffset], a ; wcc36
ld a, [wNumBoxItems] ; $d53a ld a, [wNumBoxItems] ; wNumBoxItems
and a and a
jr nz, Func_7a28 jr nz, Func_7a28
ld hl, NothingStoredText ld hl, NothingStoredText
@ -150,21 +150,21 @@ Func_7a12: ; 7a12 (1:7a12)
Func_7a28: ; 7a28 (1:7a28) Func_7a28: ; 7a28 (1:7a28)
ld hl, WhatToWithdrawText ld hl, WhatToWithdrawText
call PrintText call PrintText
ld hl, wNumBoxItems ; $d53a ld hl, wNumBoxItems ; wNumBoxItems
ld a, l ld a, l
ld [$cf8b], a ld [wcf8b], a
ld a, h ld a, h
ld [$cf8c], a ld [wcf8c], a
xor a xor a
ld [$cf93], a ld [wcf93], a
ld a, $3 ld a, $3
ld [wListMenuID], a ; $cf94 ld [wListMenuID], a ; wListMenuID
call DisplayListMenuID call DisplayListMenuID
jp c, Func_790c jp c, Func_790c
call IsKeyItem call IsKeyItem
ld a, $1 ld a, $1
ld [$cf96], a ld [wcf96], a
ld a, [$d124] ld a, [wd124]
and a and a
jr nz, .asm_7a64 jr nz, .asm_7a64
ld hl, WithdrawHowManyText ld hl, WithdrawHowManyText
@ -173,14 +173,14 @@ Func_7a28: ; 7a28 (1:7a28)
cp $ff cp $ff
jp z, Func_7a28 jp z, Func_7a28
.asm_7a64 .asm_7a64
ld hl, wNumBagItems ; $d31d ld hl, wNumBagItems ; wNumBagItems
call AddItemToInventory call AddItemToInventory
jr c, .asm_7a75 jr c, .asm_7a75
ld hl, CantCarryMoreText ld hl, CantCarryMoreText
call PrintText call PrintText
jp Func_7a28 jp Func_7a28
.asm_7a75 .asm_7a75
ld hl, wNumBoxItems ; $d53a ld hl, wNumBoxItems ; wNumBoxItems
call RemoveItemFromInventory call RemoveItemFromInventory
call WaitForSoundToFinish call WaitForSoundToFinish
ld a, (SFX_02_55 - SFX_Headers_02) / 3 ld a, (SFX_02_55 - SFX_Headers_02) / 3
@ -192,9 +192,9 @@ Func_7a28: ; 7a28 (1:7a28)
Func_7a8f: ; 7a8f (1:7a8f) Func_7a8f: ; 7a8f (1:7a8f)
xor a xor a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld [wListScrollOffset], a ; $cc36 ld [wListScrollOffset], a ; wcc36
ld a, [wNumBoxItems] ; $d53a ld a, [wNumBoxItems] ; wNumBoxItems
and a and a
jr nz, Func_7aa5 jr nz, Func_7aa5
ld hl, NothingStoredText ld hl, NothingStoredText
@ -204,15 +204,15 @@ Func_7a8f: ; 7a8f (1:7a8f)
Func_7aa5: ; 7aa5 (1:7aa5) Func_7aa5: ; 7aa5 (1:7aa5)
ld hl, WhatToTossText ld hl, WhatToTossText
call PrintText call PrintText
ld hl, wNumBoxItems ; $d53a ld hl, wNumBoxItems ; wNumBoxItems
ld a, l ld a, l
ld [$cf8b], a ld [wcf8b], a
ld a, h ld a, h
ld [$cf8c], a ld [wcf8c], a
xor a xor a
ld [$cf93], a ld [wcf93], a
ld a, $3 ld a, $3
ld [wListMenuID], a ; $cf94 ld [wListMenuID], a ; wListMenuID
push hl push hl
call DisplayListMenuID call DisplayListMenuID
pop hl pop hl
@ -221,11 +221,11 @@ Func_7aa5: ; 7aa5 (1:7aa5)
call IsKeyItem call IsKeyItem
pop hl pop hl
ld a, $1 ld a, $1
ld [$cf96], a ld [wcf96], a
ld a, [$d124] ld a, [wd124]
and a and a
jr nz, .asm_7aef jr nz, .asm_7aef
ld a, [$cf91] ld a, [wcf91]
call IsItemHM call IsItemHM
jr c, .asm_7aef jr c, .asm_7aef
push hl push hl

View file

@ -9,7 +9,7 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
ld [wListScrollOffset],a ld [wListScrollOffset],a
ld [wLastMenuItem],a ld [wLastMenuItem],a
inc a inc a
ld [$d11e],a ld [wd11e],a
ld [$ffb7],a ld [$ffb7],a
.setUpGraphics .setUpGraphics
ld b,$08 ld b,$08
@ -22,7 +22,7 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
xor a xor a
ld [hli],a ; top menu item X ld [hli],a ; top menu item X
inc a inc a
ld [$cc37],a ld [wcc37],a
inc hl inc hl
inc hl inc hl
ld a,6 ld a,6
@ -32,12 +32,12 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
jr c,.goToSideMenu ; if the player chose a pokemon from the list jr c,.goToSideMenu ; if the player chose a pokemon from the list
.exitPokedex .exitPokedex
xor a xor a
ld [$cc37],a ld [wcc37],a
ld [wCurrentMenuItem],a ld [wCurrentMenuItem],a
ld [wLastMenuItem],a ld [wLastMenuItem],a
ld [$ffb7],a ld [$ffb7],a
ld [$cd3a],a ld [wcd3a],a
ld [$cd3b],a ld [wcd3b],a
pop af pop af
ld [wListScrollOffset],a ld [wListScrollOffset],a
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
@ -68,10 +68,10 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
push af push af
add b add b
inc a inc a
ld [$d11e],a ld [wd11e],a
ld a,[$d11e] ld a,[wd11e]
push af push af
ld a,[$cd3d] ld a,[wWhichTrade]
push af push af
ld hl,wPokedexSeen ld hl,wPokedexSeen
call IsPokemonBitSet call IsPokemonBitSet
@ -91,7 +91,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
ld [hli],a ; menu watched keys (A button and B button) ld [hli],a ; menu watched keys (A button and B button)
xor a xor a
ld [hli],a ; old menu item ID ld [hli],a ; old menu item ID
ld [$cc37],a ld [wcc37],a
.handleMenuInput .handleMenuInput
call HandleMenuInput call HandleMenuInput
bit 1,a ; was the B button pressed? bit 1,a ; was the B button pressed?
@ -108,9 +108,9 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
ld b,1 ld b,1
.exitSideMenu .exitSideMenu
pop af pop af
ld [$cd3d],a ld [wWhichTrade],a
pop af pop af
ld [$d11e],a ld [wd11e],a
pop af pop af
ld [wListScrollOffset],a ld [wListScrollOffset],a
pop af pop af
@ -140,7 +140,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
jr .exitSideMenu jr .exitSideMenu
; play pokemon cry ; play pokemon cry
.choseCry .choseCry
ld a,[$d11e] ld a,[wd11e]
call GetCryData ; get cry data call GetCryData ; get cry data
call PlaySound ; play sound call PlaySound ; play sound
jr .handleMenuInput jr .handleMenuInput
@ -176,7 +176,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
ld hl,wPokedexSeen ld hl,wPokedexSeen
ld b,wPokedexSeenEnd - wPokedexSeen ld b,wPokedexSeenEnd - wPokedexSeen
call CountSetBits call CountSetBits
ld de,$d11e ld de,wd11e
FuncCoord 16,3 FuncCoord 16,3
ld hl,Coord ld hl,Coord
ld bc,$0103 ld bc,$0103
@ -184,7 +184,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
ld hl,wPokedexOwned ld hl,wPokedexOwned
ld b,wPokedexOwnedEnd - wPokedexOwned ld b,wPokedexOwnedEnd - wPokedexOwned
call CountSetBits call CountSetBits
ld de,$d11e ld de,wd11e
FuncCoord 16,6 FuncCoord 16,6
ld hl,Coord ld hl,Coord
ld bc,$0103 ld bc,$0103
@ -220,7 +220,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
jr .maxSeenPokemonLoop jr .maxSeenPokemonLoop
.storeMaxSeenPokemon .storeMaxSeenPokemon
ld a,b ld a,b
ld [$cd3d],a ; max seen pokemon ld [wWhichTrade],a ; max seen pokemon
.loop .loop
xor a xor a
ld [H_AUTOBGTRANSFERENABLED],a ld [H_AUTOBGTRANSFERENABLED],a
@ -231,9 +231,9 @@ HandlePokedexListMenu: ; 40111 (10:4111)
FuncCoord 1,3 FuncCoord 1,3
ld hl,Coord ld hl,Coord
ld a,[wListScrollOffset] ld a,[wListScrollOffset]
ld [$d11e],a ld [wd11e],a
ld d,7 ld d,7
ld a,[$cd3d] ld a,[wWhichTrade]
cp a,7 cp a,7
jr nc,.printPokemonLoop jr nc,.printPokemonLoop
ld d,a ld d,a
@ -242,15 +242,15 @@ HandlePokedexListMenu: ; 40111 (10:4111)
; loop to print pokemon pokedex numbers and names ; loop to print pokemon pokedex numbers and names
; if the player has owned the pokemon, it puts a pokeball beside the name ; if the player has owned the pokemon, it puts a pokeball beside the name
.printPokemonLoop .printPokemonLoop
ld a,[$d11e] ld a,[wd11e]
inc a inc a
ld [$d11e],a ld [wd11e],a
push af push af
push de push de
push hl push hl
ld de,-20 ld de,-20
add hl,de add hl,de
ld de,$d11e ld de,wd11e
ld bc,$8103 ld bc,$8103
call PrintNumber ; print the pokedex number call PrintNumber ; print the pokedex number
ld de,20 ld de,20
@ -285,7 +285,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
add hl,bc add hl,bc
pop de pop de
pop af pop af
ld [$d11e],a ld [wd11e],a
dec d dec d
jr nz,.printPokemonLoop jr nz,.printPokemonLoop
ld a,01 ld a,01
@ -309,7 +309,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
bit 7,a ; was Down pressed? bit 7,a ; was Down pressed?
jr z,.checkIfRightPressed jr z,.checkIfRightPressed
.downPressed ; scroll down one row .downPressed ; scroll down one row
ld a,[$cd3d] ld a,[wWhichTrade]
cp a,7 cp a,7
jp c,.loop jp c,.loop
sub a,7 sub a,7
@ -324,7 +324,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
bit 4,a ; was Right pressed? bit 4,a ; was Right pressed?
jr z,.checkIfLeftPressed jr z,.checkIfLeftPressed
.rightPressed ; scroll down 7 rows .rightPressed ; scroll down 7 rows
ld a,[$cd3d] ld a,[wWhichTrade]
cp a,7 cp a,7
jp c,.loop jp c,.loop
sub a,6 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 ; tests if a pokemon's bit is set in the seen or owned pokemon bit fields
; INPUT: ; INPUT:
; [$d11e] = pokedex number ; [wd11e] = pokedex number
; hl = address of bit field ; hl = address of bit field
IsPokemonBitSet: ; 402c2 (10:42c2) IsPokemonBitSet: ; 402c2 (10:42c2)
ld a,[$d11e] ld a,[wd11e]
dec a dec a
ld c,a ld c,a
ld b,2 ld b,2
@ -407,19 +407,19 @@ ShowPokedexData: ; 402d1 (10:42d1)
; function to display pokedex data from inside the pokedex ; function to display pokedex data from inside the pokedex
ShowPokedexDataInternal: ; 402e2 (10:42e2) ShowPokedexDataInternal: ; 402e2 (10:42e2)
ld hl,$d72c ld hl,wd72c
set 1,[hl] set 1,[hl]
ld a,$33 ; 3/7 volume ld a,$33 ; 3/7 volume
ld [$ff24],a ld [$ff24],a
call GBPalWhiteOut ; zero all palettes call GBPalWhiteOut ; zero all palettes
call ClearScreen call ClearScreen
ld a,[$d11e] ; pokemon ID ld a,[wd11e] ; pokemon ID
ld [$cf91],a ld [wcf91],a
push af push af
ld b,04 ld b,04
call GoPAL_SET call GoPAL_SET
pop af pop af
ld [$d11e],a ld [wd11e],a
ld a,[$ffd7] ld a,[$ffd7]
push af push af
xor a xor a
@ -467,7 +467,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
ld hl,Coord ld hl,Coord
call PlaceString call PlaceString
ld hl,PokedexEntryPointers ld hl,PokedexEntryPointers
ld a,[$d11e] ld a,[wd11e]
dec a dec a
ld e,a ld e,a
ld d,0 ld d,0
@ -482,7 +482,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
ld h,b ld h,b
ld l,c ld l,c
push de push de
ld a,[$d11e] ld a,[wd11e]
push af push af
call IndexToPokedex call IndexToPokedex
FuncCoord 2,8 FuncCoord 2,8
@ -491,15 +491,15 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
ld [hli],a ld [hli],a
ld a,$f2 ld a,$f2
ld [hli],a ld [hli],a
ld de,$d11e ld de,wd11e
ld bc,$8103 ld bc,$8103
call PrintNumber ; print pokedex number call PrintNumber ; print pokedex number
ld hl,wPokedexOwned ld hl,wPokedexOwned
call IsPokemonBitSet call IsPokemonBitSet
pop af pop af
ld [$d11e],a ld [wd11e],a
ld a,[$cf91] ld a,[wcf91]
ld [$d0b5],a ld [wd0b5],a
pop de pop de
push af push af
push bc push bc
@ -511,7 +511,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
FuncCoord 1,1 FuncCoord 1,1
ld hl,Coord ld hl,Coord
call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture
ld a,[$cf91] ld a,[wcf91]
call PlayCry ; play pokemon cry call PlayCry ; play pokemon cry
pop hl pop hl
pop de pop de
@ -595,7 +595,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
call GoPAL_SET_CF1C call GoPAL_SET_CF1C
call LoadTextBoxTilePatterns call LoadTextBoxTilePatterns
call GBPalNormal call GBPalNormal
ld hl,$d72c ld hl,wd72c
res 1,[hl] res 1,[hl]
ld a,$77 ; max volume ld a,$77 ; max volume
ld [$ff24],a ld [$ff24],a
@ -637,10 +637,10 @@ DrawTileLine: ; 40474 (10:4474)
INCLUDE "data/pokedex_entries.asm" INCLUDE "data/pokedex_entries.asm"
PokedexToIndex: ; 40ff9 (10:4ff9) 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 bc
push hl push hl
ld a,[$D11E] ld a,[wd11e]
ld b,a ld b,a
ld c,0 ld c,0
ld hl,PokedexOrder ld hl,PokedexOrder
@ -652,23 +652,23 @@ PokedexToIndex: ; 40ff9 (10:4ff9)
jr nz,.loop jr nz,.loop
ld a,c ld a,c
ld [$D11E],a ld [wd11e],a
pop hl pop hl
pop bc pop bc
ret ret
IndexToPokedex: ; 41010 (10:5010) 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 bc
push hl push hl
ld a,[$D11E] ld a,[wd11e]
dec a dec a
ld hl,PokedexOrder ld hl,PokedexOrder
ld b,0 ld b,0
ld c,a ld c,a
add hl,bc add hl,bc
ld a,[hl] ld a,[hl]
ld [$D11E],a ld [wd11e],a
pop hl pop hl
pop bc pop bc
ret ret

View file

@ -5,22 +5,22 @@ CeladonPrizeMenu: ; 5271b (14:671b)
ld hl,RequireCoinCaseTextPtr ld hl,RequireCoinCaseTextPtr
jp PrintText jp PrintText
.havingCoinCase .havingCoinCase
ld hl,$D730 ld hl,wd730
set 6,[hl] set 6,[hl]
ld hl,ExchangeCoinsForPrizesTextPtr ld hl,ExchangeCoinsForPrizesTextPtr
call PrintText call PrintText
; the following are the menu settings ; the following are the menu settings
xor a xor a
ld [$CC26],a ld [wCurrentMenuItem],a
ld [$CC2A],a ld [wLastMenuItem],a
ld a,$03 ld a,$03
ld [$CC29],a ld [wMenuWatchedKeys],a
ld a,$03 ld a,$03
ld [$CC28],a ld [wMaxMenuItem],a
ld a,$04 ld a,$04
ld [$CC24],a ld [wTopMenuItemY],a
ld a,$01 ld a,$01
ld [$CC25],a ld [wTopMenuItemX],a
call PrintPrizePrice ; 687A call PrintPrizePrice ; 687A
FuncCoord 0,2 FuncCoord 0,2
ld hl,Coord ld hl,Coord
@ -34,12 +34,12 @@ CeladonPrizeMenu: ; 5271b (14:671b)
call HandleMenuInput ; menu choice handler call HandleMenuInput ; menu choice handler
bit 1,a ; keypress = B (Cancel) bit 1,a ; keypress = B (Cancel)
jr nz,.NoChoice jr nz,.NoChoice
ld a,[$CC26] ld a,[wCurrentMenuItem]
cp a,$03 ; "NO,THANKS" choice cp a,$03 ; "NO,THANKS" choice
jr z,.NoChoice jr z,.NoChoice
call HandlePrizeChoice ; 14:68C6 call HandlePrizeChoice ; 14:68C6
.NoChoice .NoChoice
ld hl,$D730 ld hl,wd730
res 6,[hl] res 6,[hl]
ret ret
@ -60,14 +60,14 @@ GetPrizeMenuId: ; 5278e (14:678e)
; determine which one among the three ; determine which one among the three
; prize-texts has been selected ; prize-texts has been selected
; using the text ID (stored in [$FF8C]) ; using the text ID (stored in [$FF8C])
; load the three prizes at $D13D-$D13F ; load the three prizes at wd13d-wd13f
; load the three prices at $D141-$D146 ; load the three prices at wd141-wd146
; display the three prizes' names ; display the three prizes' names
; (distinguishing between Pokemon names ; (distinguishing between Pokemon names
; and Items (specifically TMs) names) ; and Items (specifically TMs) names)
ld a,[$FF8C] ld a,[$FF8C]
sub a,$03 ; prize-texts' id are 3, 4 and 5 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
add a add a
ld d,$00 ld d,$00
@ -85,26 +85,26 @@ GetPrizeMenuId: ; 5278e (14:678e)
ld a,[hli] ld a,[hli]
ld h,[hl] ld h,[hl]
ld l,a ld l,a
ld de,$D141 ld de,wd141
ld bc,$0006 ld bc,$0006
call CopyData call CopyData
ld a,[$D12F] ld a,[wd12f]
cp a,$02 ;is TM_menu? cp a,$02 ;is TM_menu?
jr nz,.putMonName jr nz,.putMonName
ld a,[W_PRIZE1] ld a,[W_PRIZE1]
ld [$D11E],a ld [wd11e],a
call GetItemName call GetItemName
FuncCoord 2,4 FuncCoord 2,4
ld hl,Coord ld hl,Coord
call PlaceString call PlaceString
ld a,[W_PRIZE2] ld a,[W_PRIZE2]
ld [$D11E],a ld [wd11e],a
call GetItemName call GetItemName
FuncCoord 2,6 FuncCoord 2,6
ld hl,Coord ld hl,Coord
call PlaceString call PlaceString
ld a,[W_PRIZE3] ld a,[W_PRIZE3]
ld [$D11E],a ld [wd11e],a
call GetItemName call GetItemName
FuncCoord 2,8 FuncCoord 2,8
ld hl,Coord ld hl,Coord
@ -112,19 +112,19 @@ GetPrizeMenuId: ; 5278e (14:678e)
jr .putNoThanksText jr .putNoThanksText
.putMonName ; 14:67EC .putMonName ; 14:67EC
ld a,[W_PRIZE1] ld a,[W_PRIZE1]
ld [$D11E],a ld [wd11e],a
call GetMonName call GetMonName
FuncCoord 2,4 FuncCoord 2,4
ld hl,Coord ld hl,Coord
call PlaceString call PlaceString
ld a,[W_PRIZE2] ld a,[W_PRIZE2]
ld [$D11E],a ld [wd11e],a
call GetMonName call GetMonName
FuncCoord 2,6 FuncCoord 2,6
ld hl,Coord ld hl,Coord
call PlaceString call PlaceString
ld a,[W_PRIZE3] ld a,[W_PRIZE3]
ld [$D11E],a ld [wd11e],a
call GetMonName call GetMonName
FuncCoord 2,8 FuncCoord 2,8
ld hl,Coord ld hl,Coord
@ -135,7 +135,7 @@ GetPrizeMenuId: ; 5278e (14:678e)
ld de,NoThanksText ld de,NoThanksText
call PlaceString call PlaceString
; put prices on the right side of the textbox ; put prices on the right side of the textbox
ld de,$D141 ld de,wd141
FuncCoord 13,5 FuncCoord 13,5
ld hl,Coord ld hl,Coord
; reg. c: ; reg. c:
@ -145,12 +145,12 @@ GetPrizeMenuId: ; 5278e (14:678e)
; Function $15CD displays BCD value (same routine ; Function $15CD displays BCD value (same routine
; used by text-command $02) ; used by text-command $02)
call PrintBCDNumber ; Print_BCD call PrintBCDNumber ; Print_BCD
ld de,$D143 ld de,wd143
FuncCoord 13,7 FuncCoord 13,7
ld hl,Coord ld hl,Coord
ld c,(%1 << 7 | 2) ld c,(%1 << 7 | 2)
call PrintBCDNumber call PrintBCDNumber
ld de,$D145 ld de,wd145
FuncCoord 13,9 FuncCoord 13,9
ld hl,Coord ld hl,Coord
ld c,(1 << 7 | 2) ld c,(1 << 7 | 2)
@ -187,11 +187,11 @@ PrintPrizePrice: ; 5287a (14:687a)
db " @" db " @"
LoadCoinsToSubtract: ; 528b1 (14:68b1) LoadCoinsToSubtract: ; 528b1 (14:68b1)
ld a,[$D139] ; backup of selected menu_entry ld a,[wd139] ; backup of selected menu_entry
add a add a
ld d,$00 ld d,$00
ld e,a 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 add hl,de ; get selected prize's price
xor a xor a
ld [$FF9F],a ld [$FF9F],a
@ -202,15 +202,15 @@ LoadCoinsToSubtract: ; 528b1 (14:68b1)
ret ret
HandlePrizeChoice: ; 528c6 (14:68c6) HandlePrizeChoice: ; 528c6 (14:68c6)
ld a,[$CC26] ; selected menu_entry ld a,[wCurrentMenuItem] ; selected menu_entry
ld [$D139],a ld [wd139],a
ld d,$00 ld d,$00
ld e,a ld e,a
ld hl,W_PRIZE1 ld hl,W_PRIZE1
add hl,de add hl,de
ld a,[hl] ld a,[hl]
ld [$D11E],a ld [wd11e],a
ld a,[$D12F] ld a,[wd12f]
cp a,$02 ; is prize a TM? cp a,$02 ; is prize a TM?
jr nz,.GetMonName jr nz,.GetMonName
call GetItemName call GetItemName
@ -221,16 +221,16 @@ HandlePrizeChoice: ; 528c6 (14:68c6)
ld hl,SoYouWantPrizeTextPtr ld hl,SoYouWantPrizeTextPtr
call PrintText call PrintText
call YesNoChoice ; yes/no textbox 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 and a
jr nz,.PrintOhFineThen jr nz,.PrintOhFineThen
call LoadCoinsToSubtract call LoadCoinsToSubtract
call HasEnoughCoins call HasEnoughCoins
jr c,.NotEnoughCoins jr c,.NotEnoughCoins
ld a,[$D12F] ld a,[wd12f]
cp a,$02 cp a,$02
jr nz,.GiveMon jr nz,.GiveMon
ld a,[$D11E] ld a,[wd11e]
ld b,a ld b,a
ld a,1 ld a,1
ld c,a ld c,a
@ -238,8 +238,8 @@ HandlePrizeChoice: ; 528c6 (14:68c6)
jr nc,.BagFull jr nc,.BagFull
jr .SubtractCoins jr .SubtractCoins
.GiveMon ; 14:6912 .GiveMon ; 14:6912
ld a,[$D11E] ld a,[wd11e]
ld [$CF91],a ld [wcf91],a
push af push af
call GetPrizeMonLevel ; 14:6977 call GetPrizeMonLevel ; 14:6977
ld c,a ld c,a
@ -247,7 +247,7 @@ HandlePrizeChoice: ; 528c6 (14:68c6)
ld b,a ld b,a
call GivePokemon call GivePokemon
push af push af
ld a,[$CCD3] ; XXX is there room? ld a,[wccd3] ; XXX is there room?
and a and a
call z,WaitForTextScrollButtonPress call z,WaitForTextScrollButtonPress
pop af pop af
@ -299,7 +299,7 @@ OhFineThenTextPtr: ; 52971 (14:6971)
db "@" db "@"
GetPrizeMonLevel: ; 52977 (14:6977) GetPrizeMonLevel: ; 52977 (14:6977)
ld a,[$CF91] ld a,[wcf91]
ld b,a ld b,a
ld hl,PrizeMonLevelDictionary ld hl,PrizeMonLevelDictionary
.loop ; 14:697E .loop ; 14:697E
@ -310,7 +310,7 @@ GetPrizeMonLevel: ; 52977 (14:6977)
jr .loop jr .loop
.matchFound ; 14:6985 .matchFound ; 14:6985
ld a,[hl] ld a,[hl]
ld [$D127],a ld [W_CURENEMYLVL],a
ret ret
INCLUDE "data/prize_mon_levels.asm" INCLUDE "data/prize_mon_levels.asm"

View file

@ -2,8 +2,8 @@ DisplayStartMenu:: ; 2acd (0:2acd)
ld a,$04 ; hardcoded Bank, not sure what's it refers to ld a,$04 ; hardcoded Bank, not sure what's it refers to
ld [H_LOADEDROMBANK],a ld [H_LOADEDROMBANK],a
ld [$2000],a ; ROM bank 4 ld [$2000],a ; ROM bank 4
ld a,[$d700] ; walking/biking/surfing ld a,[wd700] ; walking/biking/surfing
ld [$d11a],a ld [wd11a],a
ld a, (SFX_02_3f - SFX_Headers_02) / 3 ; Start menu sound ld a, (SFX_02_3f - SFX_Headers_02) / 3 ; Start menu sound
call PlaySound call PlaySound
@ -24,7 +24,7 @@ RedisplayStartMenu:: ; 2adf (0:2adf)
and a and a
jr nz,.loop jr nz,.loop
; if the player pressed tried to go past the top item, wrap around to the bottom ; 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? 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 ld a,6 ; there are 7 menu items with the pokedex, so the max index is 6
jr nz,.wrapMenuItemId jr nz,.wrapMenuItemId
@ -37,7 +37,7 @@ RedisplayStartMenu:: ; 2adf (0:2adf)
bit 7,a bit 7,a
jr z,.buttonPressed jr z,.buttonPressed
; if the player pressed tried to go past the bottom item, wrap around to the top ; 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? bit 5,a ; does the player have the pokedex?
ld a,[wCurrentMenuItem] ld a,[wCurrentMenuItem]
ld c,7 ; there are 7 menu items with the pokedex 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 .buttonPressed ; A, B, or Start button pressed
call PlaceUnfilledArrowMenuCursor call PlaceUnfilledArrowMenuCursor
ld a,[wCurrentMenuItem] ld a,[wCurrentMenuItem]
ld [$cc2d],a ; save current menu item ID ld [wcc2d],a ; save current menu item ID
ld a,b ld a,b
and a,%00001010 ; was the Start button or B button pressed? and a,%00001010 ; was the Start button or B button pressed?
jp nz,CloseStartMenu jp nz,CloseStartMenu
call SaveScreenTilesToBuffer2 ; copy background from wTileMap to wTileMapBackup2 call SaveScreenTilesToBuffer2 ; copy background from wTileMap to wTileMapBackup2
ld a,[$d74b] ld a,[wd74b]
bit 5,a ; does the player have the pokedex? bit 5,a ; does the player have the pokedex?
ld a,[wCurrentMenuItem] ld a,[wCurrentMenuItem]
jr nz,.displayMenuItem jr nz,.displayMenuItem

View file

@ -12,15 +12,15 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
and a and a
jp z,RedisplayStartMenu jp z,RedisplayStartMenu
xor a xor a
ld [$cc35],a ld [wcc35],a
ld [$d07d],a ld [wd07d],a
ld [$cfcb],a ld [wcfcb],a
call DisplayPartyMenu call DisplayPartyMenu
jr .checkIfPokemonChosen jr .checkIfPokemonChosen
.loop .loop
xor a xor a
ld [$cc35],a ld [wcc35],a
ld [$d07d],a ld [wd07d],a
call GoBackToPartyMenu call GoBackToPartyMenu
.checkIfPokemonChosen .checkIfPokemonChosen
jr nc,.chosePokemon jr nc,.chosePokemon
@ -32,9 +32,9 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
.chosePokemon .chosePokemon
call SaveScreenTilesToBuffer1 ; save screen call SaveScreenTilesToBuffer1 ; save screen
ld a,$04 ld a,$04
ld [$d125],a ld [wd125],a
call DisplayTextBoxID ; display pokemon menu options call DisplayTextBoxID ; display pokemon menu options
ld hl,$cd3d ld hl,wWhichTrade
ld bc,$020c ; max menu item ID, top menu item Y ld bc,$020c ; max menu item ID, top menu item Y
ld e,5 ld e,5
.adjustMenuVariablesLoop .adjustMenuVariablesLoop
@ -82,7 +82,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
jp z,.choseStats jp z,.choseStats
ld c,a ld c,a
ld b,0 ld b,0
ld hl,$cd3d ld hl,wWhichTrade
add hl,bc add hl,bc
jp .choseOutOfBattleMove jp .choseOutOfBattleMove
.choseSwitch .choseSwitch
@ -91,13 +91,13 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
jp c,StartMenu_Pokemon ; if not, no switching jp c,StartMenu_Pokemon ; if not, no switching
call SwitchPartyMon_Stats call SwitchPartyMon_Stats
ld a,$04 ; swap pokemon positions menu ld a,$04 ; swap pokemon positions menu
ld [$d07d],a ld [wd07d],a
call GoBackToPartyMenu call GoBackToPartyMenu
jp .checkIfPokemonChosen jp .checkIfPokemonChosen
.choseStats .choseStats
call ClearSprites call ClearSprites
xor a xor a
ld [$cc49],a ld [wcc49],a
ld a,$36 ld a,$36
call Predef call Predef
ld a,$37 ld a,$37
@ -145,11 +145,11 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
jp .loop jp .loop
.canFly .canFly
call ChooseFlyDestination call ChooseFlyDestination
ld a,[$d732] ld a,[wd732]
bit 3,a ; did the player decide to fly? bit 3,a ; did the player decide to fly?
jp nz,.goBackToMap jp nz,.goBackToMap
call LoadFontTilePatterns call LoadFontTilePatterns
ld hl,$d72e ld hl,wd72e
set 1,[hl] set 1,[hl]
jp StartMenu_Pokemon jp StartMenu_Pokemon
.cut .cut
@ -157,7 +157,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
jp z,.newBadgeRequired jp z,.newBadgeRequired
ld a,$3c ld a,$3c
call Predef call Predef
ld a,[$cd6a] ld a,[wcd6a]
and a and a
jp z,.loop jp z,.loop
jp CloseTextDisplay jp CloseTextDisplay
@ -165,15 +165,15 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
bit 4,a ; does the player have the Soul Badge? bit 4,a ; does the player have the Soul Badge?
jp z,.newBadgeRequired jp z,.newBadgeRequired
callba CheckForForcedBikeSurf callba CheckForForcedBikeSurf
ld hl,$d728 ld hl,wd728
bit 1,[hl] bit 1,[hl]
res 1,[hl] res 1,[hl]
jp z,.loop jp z,.loop
ld a,SURFBOARD ld a,SURFBOARD
ld [$cf91],a ld [wcf91],a
ld [$d152],a ld [wd152],a
call UseItem call UseItem
ld a,[$cd6a] ld a,[wcd6a]
and a and a
jp z,.loop jp z,.loop
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
@ -189,7 +189,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
bit 0,a ; does the player have the Boulder Badge? bit 0,a ; does the player have the Boulder Badge?
jp z,.newBadgeRequired jp z,.newBadgeRequired
xor a xor a
ld [$d35d],a ld [wd35d],a
ld hl,.flashLightsAreaText ld hl,.flashLightsAreaText
call PrintText call PrintText
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
@ -199,10 +199,10 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
db "@" db "@"
.dig .dig
ld a,ESCAPE_ROPE ld a,ESCAPE_ROPE
ld [$cf91],a ld [wcf91],a
ld [$d152],a ld [wd152],a
call UseItem call UseItem
ld a,[$cd6a] ld a,[wcd6a]
and a and a
jp z,.loop jp z,.loop
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
@ -219,10 +219,10 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
.canTeleport .canTeleport
ld hl,.warpToLastPokemonCenterText ld hl,.warpToLastPokemonCenterText
call PrintText call PrintText
ld hl,$d732 ld hl,wd732
set 3,[hl] set 3,[hl]
set 6,[hl] set 6,[hl]
ld hl,$d72e ld hl,wd72e
set 1,[hl] set 1,[hl]
res 4,[hl] res 4,[hl]
ld c,60 ld c,60
@ -261,14 +261,14 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
ld a,[H_QUOTIENT + 2] ld a,[H_QUOTIENT + 2]
sbc b sbc b
jp nc,.notHealthyEnough jp nc,.notHealthyEnough
ld a,[$cc2b] ld a,[wcc2b]
push af push af
ld a,POTION ld a,POTION
ld [$cf91],a ld [wcf91],a
ld [$d152],a ld [wd152],a
call UseItem call UseItem
pop af pop af
ld [$cc2b],a ld [wcc2b],a
jp .loop jp .loop
.notHealthyEnough ; if current HP is less than 1/5 of max HP .notHealthyEnough ; if current HP is less than 1/5 of max HP
ld hl,.notHealthyEnoughText ld hl,.notHealthyEnoughText
@ -314,19 +314,19 @@ StartMenu_Item: ; 13302 (4:7302)
jr .exitMenu jr .exitMenu
.notInLinkBattle .notInLinkBattle
ld bc,wNumBagItems ld bc,wNumBagItems
ld hl,$cf8b ld hl,wcf8b
ld a,c ld a,c
ld [hli],a 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 xor a
ld [$cf93],a ld [wcf93],a
ld a,ITEMLISTMENU ld a,ITEMLISTMENU
ld [wListMenuID],a ld [wListMenuID],a
ld a,[$cc2c] ld a,[wcc2c]
ld [wCurrentMenuItem],a ld [wCurrentMenuItem],a
call DisplayListMenuID call DisplayListMenuID
ld a,[wCurrentMenuItem] ld a,[wCurrentMenuItem]
ld [$cc2c],a ld [wcc2c],a
jr nc,.choseItem jr nc,.choseItem
.exitMenu .exitMenu
call LoadScreenTilesFromBuffer2 ; restore saved screen call LoadScreenTilesFromBuffer2 ; restore saved screen
@ -346,13 +346,13 @@ StartMenu_Item: ; 13302 (4:7302)
ld [Coord],a ld [Coord],a
call PlaceUnfilledArrowMenuCursor call PlaceUnfilledArrowMenuCursor
xor a xor a
ld [$cc35],a ld [wcc35],a
ld a,[$cf91] ld a,[wcf91]
cp a,BICYCLE cp a,BICYCLE
jp z,.useOrTossItem jp z,.useOrTossItem
.notBicycle1 .notBicycle1
ld a,$06 ; use/toss menu ld a,$06 ; use/toss menu
ld [$d125],a ld [wd125],a
call DisplayTextBoxID call DisplayTextBoxID
ld hl,wTopMenuItemY ld hl,wTopMenuItemY
ld a,11 ld a,11
@ -374,14 +374,14 @@ StartMenu_Item: ; 13302 (4:7302)
jr z,.useOrTossItem jr z,.useOrTossItem
jp ItemMenuLoop jp ItemMenuLoop
.useOrTossItem ; if the player made the choice to use or toss the item .useOrTossItem ; if the player made the choice to use or toss the item
ld a,[$cf91] ld a,[wcf91]
ld [$d11e],a ld [wd11e],a
call GetItemName call GetItemName
call CopyStringToCF4B ; copy name to $cf4b call CopyStringToCF4B ; copy name to wcf4b
ld a,[$cf91] ld a,[wcf91]
cp a,BICYCLE cp a,BICYCLE
jr nz,.notBicycle2 jr nz,.notBicycle2
ld a,[$d732] ld a,[wd732]
bit 5,a bit 5,a
jr z,.useItem_closeMenu jr z,.useItem_closeMenu
ld hl,CannotGetOffHereText ld hl,CannotGetOffHereText
@ -392,15 +392,15 @@ StartMenu_Item: ; 13302 (4:7302)
and a and a
jr nz,.tossItem jr nz,.tossItem
.useItem .useItem
ld [$d152],a ld [wd152],a
ld a,[$cf91] ld a,[wcf91]
cp a,HM_01 cp a,HM_01
jr nc,.useItem_partyMenu jr nc,.useItem_partyMenu
ld hl,UsableItems_CloseMenu ld hl,UsableItems_CloseMenu
ld de,1 ld de,1
call IsInArray call IsInArray
jr c,.useItem_closeMenu jr c,.useItem_closeMenu
ld a,[$cf91] ld a,[wcf91]
ld hl,UsableItems_PartyMenu ld hl,UsableItems_PartyMenu
ld de,1 ld de,1
call IsInArray call IsInArray
@ -409,34 +409,34 @@ StartMenu_Item: ; 13302 (4:7302)
jp ItemMenuLoop jp ItemMenuLoop
.useItem_closeMenu .useItem_closeMenu
xor a xor a
ld [$d152],a ld [wd152],a
call UseItem call UseItem
ld a,[$cd6a] ld a,[wcd6a]
and a and a
jp z,ItemMenuLoop jp z,ItemMenuLoop
jp CloseStartMenu jp CloseStartMenu
.useItem_partyMenu .useItem_partyMenu
ld a,[$cfcb] ld a,[wcfcb]
push af push af
call UseItem call UseItem
ld a,[$cd6a] ld a,[wcd6a]
cp a,$02 cp a,$02
jp z,.partyMenuNotDisplayed jp z,.partyMenuNotDisplayed
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
call Func_3dbe call Func_3dbe
pop af pop af
ld [$cfcb],a ld [wcfcb],a
jp StartMenu_Item jp StartMenu_Item
.partyMenuNotDisplayed .partyMenuNotDisplayed
pop af pop af
ld [$cfcb],a ld [wcfcb],a
jp ItemMenuLoop jp ItemMenuLoop
.tossItem .tossItem
call IsKeyItem call IsKeyItem
ld a,[$d124] ld a,[wd124]
and a and a
jr nz,.skipAskingQuantity jr nz,.skipAskingQuantity
ld a,[$cf91] ld a,[wcf91]
call IsItemHM call IsItemHM
jr c,.skipAskingQuantity jr c,.skipAskingQuantity
call DisplayChooseQuantityMenu call DisplayChooseQuantityMenu
@ -580,7 +580,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
ld de,$8d70 ld de,$8d70
call TrainerInfo_FarCopyData call TrainerInfo_FarCopyData
call EnableLCD call EnableLCD
ld hl,$cd3d ld hl,wWhichTrade
ld a,18 + 1 ld a,18 + 1
ld [hli],a ld [hli],a
dec a dec a
@ -589,7 +589,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
FuncCoord 0,0 FuncCoord 0,0
ld hl,Coord ld hl,Coord
call TrainerInfo_DrawTextBox call TrainerInfo_DrawTextBox
ld hl,$cd3d ld hl,wWhichTrade
ld a,16 + 1 ld a,16 + 1
ld [hli],a ld [hli],a
dec a dec a
@ -624,12 +624,12 @@ DrawTrainerInfo: ; 1349a (4:749a)
call PrintBCDNumber call PrintBCDNumber
FuncCoord 9,6 FuncCoord 9,6
ld hl,Coord ld hl,Coord
ld de,$da41 ; hours ld de,W_PLAYTIMEHOURS + 1 ; hours
ld bc,$4103 ld bc,$4103
call PrintNumber call PrintNumber
ld [hl],$d6 ; colon tile ID ld [hl],$d6 ; colon tile ID
inc hl inc hl
ld de,$da43 ; minutes ld de,W_PLAYTIMEMINUTES + 1 ; minutes
ld bc,$8102 ld bc,$8102
jp PrintNumber jp PrintNumber
@ -650,15 +650,15 @@ TrainerInfo_BadgesText: ; 13597 (4:7597)
; height is always 6 ; height is always 6
; INPUT: ; INPUT:
; hl = destination address ; hl = destination address
; [$cd3d] = width + 1 ; [wWhichTrade] = width + 1
; [$cd3e] = width ; [wTrainerEngageDistance] = width
; [$cd3f] = distance from the end of a text box row to the start of the next ; [wTrainerFacingDirection] = distance from the end of a text box row to the start of the next
TrainerInfo_DrawTextBox: ; 135a0 (4:75a0) TrainerInfo_DrawTextBox: ; 135a0 (4:75a0)
ld a,$79 ; upper left corner tile ID ld a,$79 ; upper left corner tile ID
ld de,$7a7b ; top edge and upper right corner tile ID's ld de,$7a7b ; top edge and upper right corner tile ID's
call TrainerInfo_DrawHorizontalEdge ; draw top edge call TrainerInfo_DrawHorizontalEdge ; draw top edge
call TrainerInfo_NextTextBoxRow 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 e,a
ld d,0 ld d,0
ld c,6 ; height of the text box ld c,6 ; height of the text box
@ -674,7 +674,7 @@ TrainerInfo_DrawTextBox: ; 135a0 (4:75a0)
TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3) TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3)
ld [hli],a ; place left corner tile 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 c,a
ld a,d ld a,d
.loop .loop
@ -686,7 +686,7 @@ TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3)
ret ret
TrainerInfo_NextTextBoxRow: ; 135d0 (4:75d0) 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 .loop
inc hl inc hl
dec a dec a
@ -708,7 +708,7 @@ TrainerInfo_DrawVerticalLine: ; 135d8 (4:75d8)
ret ret
StartMenu_SaveReset: ; 135e3 (4:75e3) StartMenu_SaveReset: ; 135e3 (4:75e3)
ld a,[$d72e] ld a,[wd72e]
bit 6,a ; is the player using the link feature? bit 6,a ; is the player using the link feature?
jp nz,Init jp nz,Init
ld a,$3f ld a,$3f
@ -729,9 +729,9 @@ StartMenu_Option: ; 135f6 (4:75f6)
SwitchPartyMon: ; 13613 (4:7613) SwitchPartyMon: ; 13613 (4:7613)
call SwitchPartyMon_Stats call SwitchPartyMon_Stats
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
call SwitchPartyMon_OAM call SwitchPartyMon_OAM
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
call SwitchPartyMon_OAM call SwitchPartyMon_OAM
jp RedrawPartyMenu_ jp RedrawPartyMenu_
@ -762,42 +762,42 @@ SwitchPartyMon_OAM: ; 13625 (4:7625)
jp PlaySound jp PlaySound
SwitchPartyMon_Stats: ; 13653 (4:7653) SwitchPartyMon_Stats: ; 13653 (4:7653)
ld a, [$cc35] ld a, [wcc35]
and a and a
jr nz, .asm_13661 jr nz, .asm_13661
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
inc a inc a
ld [$cc35], a ld [wcc35], a
ret ret
.asm_13661 .asm_13661
xor a xor a
ld [$d07d], a ld [wd07d], a
ld a, [$cc35] ld a, [wcc35]
dec a dec a
ld b, a ld b, a
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
cp b cp b
jr nz, .asm_1367b jr nz, .asm_1367b
xor a xor a
ld [$cc35], a ld [wcc35], a
ld [$d07d], a ld [wd07d], a
ret ret
.asm_1367b .asm_1367b
ld a, b ld a, b
ld [$cc35], a ld [wcc35], a
push hl push hl
push de push de
ld hl, W_PARTYMON1 ; $d164 ld hl, W_PARTYMON1 ; W_PARTYMON1
ld d, h ld d, h
ld e, l ld e, l
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
add l add l
ld l, a ld l, a
jr nc, .asm_1368e jr nc, .asm_1368e
inc h inc h
.asm_1368e .asm_1368e
ld a, [$cc35] ld a, [wcc35]
add e add e
ld e, a ld e, a
jr nc, .asm_13696 jr nc, .asm_13696
@ -809,67 +809,67 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
ld [hl], a ld [hl], a
ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
ld [de], a 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 bc, $2c
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
call AddNTimes call AddNTimes
push hl push hl
ld de, $cc97 ld de, wcc97
ld bc, $2c ld bc, $2c
call CopyData 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 bc, $2c
ld a, [$cc35] ld a, [wcc35]
call AddNTimes call AddNTimes
pop de pop de
push hl push hl
ld bc, $2c ld bc, $2c
call CopyData call CopyData
pop de pop de
ld hl, $cc97 ld hl, wcc97
ld bc, $2c ld bc, $2c
call CopyData call CopyData
ld hl, W_PARTYMON1OT ; $d273 ld hl, W_PARTYMON1OT ; wd273
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
call SkipFixedLengthTextEntries call SkipFixedLengthTextEntries
push hl push hl
ld de, $cc97 ld de, wcc97
ld bc, $b ld bc, $b
call CopyData call CopyData
ld hl, W_PARTYMON1OT ; $d273 ld hl, W_PARTYMON1OT ; wd273
ld a, [$cc35] ld a, [wcc35]
call SkipFixedLengthTextEntries call SkipFixedLengthTextEntries
pop de pop de
push hl push hl
ld bc, $b ld bc, $b
call CopyData call CopyData
pop de pop de
ld hl, $cc97 ld hl, wcc97
ld bc, $b ld bc, $b
call CopyData call CopyData
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
call SkipFixedLengthTextEntries call SkipFixedLengthTextEntries
push hl push hl
ld de, $cc97 ld de, wcc97
ld bc, $b ld bc, $b
call CopyData call CopyData
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
ld a, [$cc35] ld a, [wcc35]
call SkipFixedLengthTextEntries call SkipFixedLengthTextEntries
pop de pop de
push hl push hl
ld bc, $b ld bc, $b
call CopyData call CopyData
pop de pop de
ld hl, $cc97 ld hl, wcc97
ld bc, $b ld bc, $b
call CopyData call CopyData
ld a, [$cc35] ld a, [wcc35]
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
xor a xor a
ld [$cc35], a ld [wcc35], a
ld [$d07d], a ld [wd07d], a
pop de pop de
pop hl pop hl
ret ret

View file

@ -1,18 +1,18 @@
; Predef 0x37 ; Predef 0x37
StatusScreen: ; 12953 (4:6953) StatusScreen: ; 12953 (4:6953)
call LoadMonData call LoadMonData
ld a, [$cc49] ld a, [wcc49]
cp $2 ; 2 means we're in a PC box cp $2 ; 2 means we're in a PC box
jr c, .DontRecalculate ; 0x1295b $14 jr c, .DontRecalculate ; 0x1295b $14
ld a, [$cf9b] ld a, [wcf9b]
ld [$cfb9], a ld [wcfb9], a
ld [$d127], a ld [W_CURENEMYLVL], a
ld hl, $cfa8 ld hl, wcfa8
ld de, $cfba ld de, wcfba
ld b, $1 ld b, $1
call CalcStats ; Recalculate stats call CalcStats ; Recalculate stats
.DontRecalculate .DontRecalculate
ld hl, $d72c ld hl, wd72c
set 1, [hl] set 1, [hl]
ld a, $33 ld a, $33
ld [$ff24], a ; Reduce the volume ld [$ff24], a ; Reduce the volume
@ -60,13 +60,13 @@ StatusScreen: ; 12953 (4:6953)
FuncCoord 11,3 FuncCoord 11,3
ld hl, Coord ld hl, Coord
PREDEF DrawHPBarPredef ; predef $5f PREDEF DrawHPBarPredef ; predef $5f
ld hl, $cf25 ld hl, wcf25
call GetHealthBarColor call GetHealthBarColor
ld b, $3 ld b, $3
call GoPAL_SET ; SGB palette call GoPAL_SET ; SGB palette
FuncCoord 16,6 FuncCoord 16,6
ld hl, Coord ld hl, Coord
ld de, $cf9c ld de, wcf9c
call PrintStatusCondition call PrintStatusCondition
jr nz, .StatusWritten ; 0x129fc $9 jr nz, .StatusWritten ; 0x129fc $9
FuncCoord 16,6 FuncCoord 16,6
@ -81,14 +81,14 @@ StatusScreen: ; 12953 (4:6953)
FuncCoord 14,2 FuncCoord 14,2
ld hl, Coord ld hl, Coord
call PrintLevel ; Pokémon level call PrintLevel ; Pokémon level
ld a, [$d0b8] ld a, [W_MONHDEXNUM]
ld [$d11e], a ld [wd11e], a
ld [$d0b5], a ld [wd0b5], a
ld a, $3a ld a, $3a
call Predef call Predef
FuncCoord 3,7 FuncCoord 3,7
ld hl, Coord ld hl, Coord
ld de, $d11e ld de, wd11e
ld bc, $8103 ; Zero-padded, 3 ld bc, $8103 ; Zero-padded, 3
call PrintNumber ; Pokémon no. call PrintNumber ; Pokémon no.
FuncCoord 11,10 FuncCoord 11,10
@ -111,24 +111,24 @@ StatusScreen: ; 12953 (4:6953)
call PlaceString ; OT call PlaceString ; OT
FuncCoord 12,14 FuncCoord 12,14
ld hl, Coord ld hl, Coord
ld de, $cfa4 ld de, wcfa4
ld bc, $8205 ; 5 ld bc, $8205 ; 5
call PrintNumber ; ID Number call PrintNumber ; ID Number
ld d, $0 ld d, $0
call PrintStatsBox call PrintStatsBox
call Delay3 call Delay3
call GBPalNormal call GBPalNormal
FuncCoord 1, 0 ; $c3a1 FuncCoord 1, 0
ld hl, Coord ld hl, Coord
call LoadFlippedFrontSpriteByMonIndex ; draw Pokémon picture call LoadFlippedFrontSpriteByMonIndex ; draw Pokémon picture
ld a, [$cf91] ld a, [wcf91]
call PlayCry ; play Pokémon cry call PlayCry ; play Pokémon cry
call WaitForTextScrollButtonPress ; wait for button call WaitForTextScrollButtonPress ; wait for button
pop af pop af
ld [$ffd7], a ld [$ffd7], a
ret ret
.unk_12a7e ; 0x12a7e ; I don't know what this does, iterates over pointers? .unk_12a7e ; 0x12a7e ; I don't know what this does, iterates over pointers?
ld a, [$cc49] ld a, [wcc49]
add a add a
ld c, a ld c, a
ld b, $0 ld b, $0
@ -136,7 +136,7 @@ StatusScreen: ; 12953 (4:6953)
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
ld a, [$cc49] ld a, [wcc49]
cp $3 cp $3
ret z ret z
ld a, [wWhichPokemon] ld a, [wWhichPokemon]
@ -212,7 +212,7 @@ PrintStatsBox: ; 12ae4 (4:6ae4)
ld b, $8 ld b, $8
ld c, $9 ld c, $9
call TextBoxBorder call TextBoxBorder
FuncCoord 11, 3 ; $c3e7 FuncCoord 11, 3
ld hl, Coord ld hl, Coord
ld bc, $0018 ld bc, $0018
.PrintStats .PrintStats
@ -223,14 +223,14 @@ PrintStatsBox: ; 12ae4 (4:6ae4)
pop hl pop hl
pop bc pop bc
add hl, bc add hl, bc
ld de, $cfbc ld de, wcfbc
ld bc, $0203 ; three digits ld bc, $0203 ; three digits
call PrintStat call PrintStat
ld de, $cfbe ld de, wcfbe
call PrintStat call PrintStat
ld de, $cfc0 ld de, wcfc0
call PrintStat call PrintStat
ld de, $cfc2 ld de, wcfc2
jp PrintNumber jp PrintNumber
PrintStat PrintStat
push hl push hl
@ -253,10 +253,10 @@ StatusScreen2: ; 12b57 (4:6b57)
ld [$ffd7], a ld [$ffd7], a
ld [$ffba], a ld [$ffba], a
ld bc, $0005 ld bc, $0005
ld hl, $d0dc ld hl, wd0dc
call FillMemory call FillMemory
ld hl, $cfa0 ld hl, wcfa0
ld de, $d0dc ld de, wd0dc
ld bc, $0004 ld bc, $0004
call CopyData call CopyData
callab Func_39b87 callab Func_39b87
@ -264,7 +264,7 @@ StatusScreen2: ; 12b57 (4:6b57)
ld hl, Coord ld hl, Coord
ld bc, $050a ld bc, $050a
call ClearScreenArea ; Clear under name call ClearScreenArea ; Clear under name
FuncCoord 19, 3 ; $c3ef FuncCoord 19, 3
ld hl, Coord ld hl, Coord
ld [hl], $78 ld [hl], $78
FuncCoord 0,8 FuncCoord 0,8
@ -274,9 +274,9 @@ StatusScreen2: ; 12b57 (4:6b57)
call TextBoxBorder ; Draw move container call TextBoxBorder ; Draw move container
FuncCoord 2,9 FuncCoord 2,9
ld hl, Coord ld hl, Coord
ld de, $d0e1 ld de, wd0e1
call PlaceString ; Print moves call PlaceString ; Print moves
ld a, [$cd6c] ld a, [wcd6c]
inc a inc a
ld c, a ld c, a
ld a, $4 ld a, $4
@ -294,7 +294,7 @@ StatusScreen2: ; 12b57 (4:6b57)
ld a, "-" ld a, "-"
call Func_12ccb ; Fill the rest with -- call Func_12ccb ; Fill the rest with --
.InitPP ; 12bbb .InitPP ; 12bbb
ld hl, $cfa0 ld hl, wcfa0
FuncCoord 14,10 FuncCoord 14,10
ld de, Coord ld de, Coord
ld b, $0 ld b, $0
@ -322,16 +322,16 @@ StatusScreen2: ; 12b57 (4:6b57)
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and $3f and $3f
ld [$cd71], a ld [wcd71], a
ld h, d ld h, d
ld l, e ld l, e
push hl push hl
ld de, $cd71 ld de, wcd71
ld bc, $0102 ld bc, $0102
call PrintNumber call PrintNumber
ld a, "/" ld a, "/"
ld [hli], a ld [hli], a
ld de, $d11e ld de, wd11e
ld bc, $0102 ld bc, $0102
call PrintNumber call PrintNumber
pop hl pop hl
@ -350,12 +350,12 @@ StatusScreen2: ; 12b57 (4:6b57)
ld hl, Coord ld hl, Coord
ld de, EXPPointsText ld de, EXPPointsText
call PlaceString call PlaceString
ld a, [$cfb9] ; level ld a, [wcfb9] ; level
push af push af
cp 100 cp 100
jr z, .Level100 ; 0x12c20 $4 jr z, .Level100 ; 0x12c20 $4
inc a inc a
ld [$cfb9], a ; Increase temporarily if not 100 ld [wcfb9], a ; Increase temporarily if not 100
.Level100 .Level100
FuncCoord 14,6 FuncCoord 14,6
ld hl, Coord ld hl, Coord
@ -364,14 +364,14 @@ StatusScreen2: ; 12b57 (4:6b57)
inc hl inc hl
call PrintLevel call PrintLevel
pop af pop af
ld [$cfb9], a ld [wcfb9], a
ld de, $cfa6 ld de, wcfa6
FuncCoord 12,4 FuncCoord 12,4
ld hl, Coord ld hl, Coord
ld bc, $0307 ld bc, $0307
call PrintNumber ; exp call PrintNumber ; exp
call .asm_12c86 call .asm_12c86
ld de, $cfa6 ld de, wcfa6
FuncCoord 7,6 FuncCoord 7,6
ld hl, Coord ld hl, Coord
ld bc, $0307 ld bc, $0307
@ -382,8 +382,8 @@ StatusScreen2: ; 12b57 (4:6b57)
FuncCoord 9,1 FuncCoord 9,1
ld hl, Coord ld hl, Coord
call Func_12cc3 call Func_12cc3
ld a, [$d0b8] ld a, [W_MONHDEXNUM]
ld [$d11e], a ld [wd11e], a
call GetMonName call GetMonName
FuncCoord 9,1 FuncCoord 9,1
ld hl, Coord ld hl, Coord
@ -394,20 +394,20 @@ StatusScreen2: ; 12b57 (4:6b57)
call WaitForTextScrollButtonPress ; wait for button call WaitForTextScrollButtonPress ; wait for button
pop af pop af
ld [$ffd7], a ld [$ffd7], a
ld hl, $d72c ld hl, wd72c
res 1, [hl] res 1, [hl]
ld a, $77 ld a, $77
ld [$ff24], a ld [$ff24], a
call GBPalWhiteOut call GBPalWhiteOut
jp ClearScreen jp ClearScreen
.asm_12c86 ; This does some magic with lvl/exp? .asm_12c86 ; This does some magic with lvl/exp?
ld a, [$cfb9] ; Load level ld a, [wcfb9] ; Load level
cp $64 cp $64
jr z, .asm_12ca7 ; 0x12c8b $1a ; If 100 jr z, .asm_12ca7 ; 0x12c8b $1a ; If 100
inc a inc a
ld d, a ld d, a
callab CalcExperience callab CalcExperience
ld hl, $cfa8 ld hl, wcfa8
ld a, [$ff98] ld a, [$ff98]
sub [hl] sub [hl]
ld [hld], a ld [hld], a
@ -419,7 +419,7 @@ StatusScreen2: ; 12b57 (4:6b57)
ld [hld], a ld [hld], a
ret ret
.asm_12ca7 .asm_12ca7
ld hl, $cfa6 ld hl, wcfa6
xor a xor a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a

View file

@ -2,41 +2,41 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
ld hl, VendingMachineText1 ld hl, VendingMachineText1
call PrintText call PrintText
ld a, $13 ld a, $13
ld [$d125], a ld [wd125], a
call DisplayTextBoxID call DisplayTextBoxID
xor a xor a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld [wLastMenuItem], a ; $cc2a ld [wLastMenuItem], a ; wLastMenuItem
ld a, $3 ld a, $3
ld [wMenuWatchedKeys], a ; $cc29 ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
ld a, $3 ld a, $3
ld [wMaxMenuItem], a ; $cc28 ld [wMaxMenuItem], a ; wMaxMenuItem
ld a, $5 ld a, $5
ld [wTopMenuItemY], a ; $cc24 ld [wTopMenuItemY], a ; wTopMenuItemY
ld a, $1 ld a, $1
ld [wTopMenuItemX], a ; $cc25 ld [wTopMenuItemX], a ; wTopMenuItemX
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
FuncCoord 0, 3 ; $c3dc FuncCoord 0, 3
ld hl, Coord ld hl, Coord
ld b, $8 ld b, $8
ld c, $c ld c, $c
call TextBoxBorder call TextBoxBorder
call UpdateSprites call UpdateSprites
FuncCoord 2, 5 ; $c406 FuncCoord 2, 5
ld hl, Coord ld hl, Coord
ld de, DrinkText ld de, DrinkText
call PlaceString call PlaceString
FuncCoord 9, 6 ; $c421 FuncCoord 9, 6
ld hl, Coord ld hl, Coord
ld de, DrinkPriceText ld de, DrinkPriceText
call PlaceString call PlaceString
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
call HandleMenuInput call HandleMenuInput
bit 1, a bit 1, a
jr nz, .asm_74f93 jr nz, .asm_74f93
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp $3 cp $3
jr z, .asm_74f93 jr z, .asm_74f93
xor a xor a
@ -69,12 +69,12 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
ld hl, VendingMachineText5 ld hl, VendingMachineText5
call PrintText call PrintText
ld hl, $ffde ld hl, $ffde
ld de, wPlayerMoney + 2 ; $d349 ld de, wPlayerMoney + 2 ; wd349
ld c, $3 ld c, $3
ld a, $c ; SubtractBCDPredef ld a, $c ; SubtractBCDPredef
call Predef call Predef
ld a, $13 ld a, $13
ld [$d125], a ld [wd125], a
jp DisplayTextBoxID jp DisplayTextBoxID
.BagFull .BagFull
ld hl, VendingMachineText6 ld hl, VendingMachineText6
@ -116,7 +116,7 @@ VendingMachineText7: ; 74fe2 (1d:4fe2)
Func_74fe7: ; 74fe7 (1d:4fe7) Func_74fe7: ; 74fe7 (1d:4fe7)
ld hl, VendingPrices ld hl, VendingPrices
ld a, [$cc26] ld a, [wCurrentMenuItem]
add a add a
add a add a
ld d, $0 ld d, $0

View file

@ -1,16 +1,16 @@
AnimatePartyMon_ForceSpeed1: ; 716f7 (1c:56f7) AnimatePartyMon_ForceSpeed1: ; 716f7 (1c:56f7)
xor a xor a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld b, a ld b, a
inc a inc a
jr GetAnimationSpeed jr GetAnimationSpeed
; $cf1f contains the party mon's health bar colors ; wcf1f contains the party mon's health bar colors
; 0: green ; 0: green
; 1: yellow ; 1: yellow
; 2: red ; 2: red
AnimatePartyMon: ; 716ff (1c:56ff) AnimatePartyMon: ; 716ff (1c:56ff)
ld hl, $cf1f ld hl, wcf1f
ld a, [wCurrentMenuItem] ld a, [wCurrentMenuItem]
ld c, a ld c, a
ld b, $0 ld b, $0
@ -21,13 +21,13 @@ GetAnimationSpeed: ; 7170a (1c:570a)
ld c, a ld c, a
ld hl, PartyMonSpeeds ld hl, PartyMonSpeeds
add hl, bc add hl, bc
ld a, [$cf1b] ld a, [wcf1b]
xor $1 xor $1
add [hl] add [hl]
ld c, a ld c, a
add a add a
ld b, a ld b, a
ld a, [W_SUBANIMTRANSFORM] ; $d08b ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
and a and a
jr z, .resetSprites jr z, .resetSprites
cp c cp c
@ -38,11 +38,11 @@ GetAnimationSpeed: ; 7170a (1c:570a)
jr nz, .resetTimer jr nz, .resetTimer
xor a xor a
.resetTimer .resetTimer
ld [W_SUBANIMTRANSFORM], a ; $d08b ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
jp DelayFrame jp DelayFrame
.resetSprites .resetSprites
push bc push bc
ld hl, $cc5b ld hl, wcc5b
ld de, wOAMBuffer ld de, wOAMBuffer
ld bc, $60 ld bc, $60
call CopyData call CopyData
@ -51,7 +51,7 @@ GetAnimationSpeed: ; 7170a (1c:570a)
jr .incTimer jr .incTimer
.animateSprite .animateSprite
push bc push bc
ld hl, $c302 ; OAM tile id ld hl, wOAMBuffer + $02 ; OAM tile id
ld bc, $10 ld bc, $10
ld a, [wCurrentMenuItem] ld a, [wCurrentMenuItem]
call AddNTimes call AddNTimes
@ -298,13 +298,13 @@ Func_71868: ; 71868 (1c:5868)
push de push de
push bc push bc
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
ld hl, W_PARTYMON1 ; $d164 ld hl, W_PARTYMON1 ; W_PARTYMON1
ld e, a ld e, a
ld d, $0 ld d, $0
add hl, de add hl, de
ld a, [hl] ld a, [hl]
call GetPartyMonSpriteID call GetPartyMonSpriteID
ld [$cd5b], a ld [wcd5b], a
call Func_718c3 call Func_718c3
pop bc pop bc
pop de pop de
@ -314,13 +314,13 @@ Func_71868: ; 71868 (1c:5868)
Func_71882: ; 71882 (1c:5882) Func_71882: ; 71882 (1c:5882)
xor a xor a
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
ld a, [$cd5d] ld a, [wcd5d]
call GetPartyMonSpriteID call GetPartyMonSpriteID
ld [$cd5b], a ld [wcd5b], a
jr Func_718c3 jr Func_718c3
Func_71890: ; 71890 (1c:5890) Func_71890: ; 71890 (1c:5890)
ld a, [$cf91] ld a, [wcf91]
call GetPartyMonSpriteID call GetPartyMonSpriteID
push af push af
ld hl, $8000 ld hl, $8000
@ -330,7 +330,7 @@ Func_71890: ; 71890 (1c:5890)
ld hl, $8040 ld hl, $8040
call Func_718ac call Func_718ac
xor a xor a
ld [$cd5d], a ld [wcd5d], a
jr Func_71882 jr Func_71882
Func_718ac: ; 718ac (1c:58ac) Func_718ac: ; 718ac (1c:58ac)
@ -371,15 +371,15 @@ Func_718c3: ; 718c3 (1c:58c3)
call Func_71281 call Func_71281
.asm_718dd .asm_718dd
ld hl, wOAMBuffer ld hl, wOAMBuffer
ld de, $cc5b ld de, wcc5b
ld bc, $60 ld bc, $60
jp CopyData jp CopyData
GetPartyMonSpriteID: ; 718e9 (1c:58e9) GetPartyMonSpriteID: ; 718e9 (1c:58e9)
ld [$d11e], a ld [wd11e], a
ld a, $3a ld a, $3a
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010)) call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
ld a, [$d11e] ld a, [wd11e]
ld c, a ld c, a
dec a dec a
srl a srl a

View file

@ -1,11 +1,11 @@
SetDefaultNames: ; 60ca (1:60ca) SetDefaultNames: ; 60ca (1:60ca)
ld a, [$d358] ld a, [wd358]
push af push af
ld a, [W_OPTIONS] ; $d355 ld a, [W_OPTIONS] ; W_OPTIONS
push af push af
ld a, [$d732] ld a, [wd732]
push af push af
ld hl, W_PLAYERNAME ; $d158 ld hl, W_PLAYERNAME ; wd158
ld bc, $d8a ld bc, $d8a
xor a xor a
call FillMemory call FillMemory
@ -14,20 +14,20 @@ SetDefaultNames: ; 60ca (1:60ca)
xor a xor a
call FillMemory call FillMemory
pop af pop af
ld [$d732], a ld [wd732], a
pop af pop af
ld [W_OPTIONS], a ; $d355 ld [W_OPTIONS], a ; W_OPTIONS
pop af pop af
ld [$d358], a ld [wd358], a
ld a, [$d08a] ld a, [wd08a]
and a and a
call z, Func_5bff call z, Func_5bff
ld hl, NintenText ld hl, NintenText
ld de, W_PLAYERNAME ; $d158 ld de, W_PLAYERNAME ; wd158
ld bc, $b ld bc, $b
call CopyData call CopyData
ld hl, SonyText ld hl, SonyText
ld de, W_RIVALNAME ; $d34a ld de, W_RIVALNAME ; wd34a
ld bc, $b ld bc, $b
jp CopyData jp CopyData
@ -43,18 +43,18 @@ OakSpeech: ; 6115 (1:6115)
call SetDefaultNames call SetDefaultNames
ld a,$18 ld a,$18
call Predef ; indirect jump to InitializePlayerData call Predef ; indirect jump to InitializePlayerData
ld hl,$D53A ld hl,wNumBoxItems
ld a,POTION ld a,POTION
ld [$CF91],a ld [wcf91],a
ld a,1 ld a,1
ld [$CF96],a ld [wcf96],a
call AddItemToInventory ; give one potion call AddItemToInventory ; give one potion
ld a,[$D07C] ld a,[W_ANIMATIONID]
ld [$D71A],a ld [wd71a],a
call Func_62ce call Func_62ce
xor a xor a
ld [$FFD7],a ld [$FFD7],a
ld a,[$D732] ld a,[wd732]
bit 1,a ; XXX when is bit 1 set? bit 1,a ; XXX when is bit 1 set?
jp nz,Func_61bc ; easter egg: skip the intro jp nz,Func_61bc ; easter egg: skip the intro
ld de,ProfOakPic ld de,ProfOakPic
@ -66,10 +66,10 @@ OakSpeech: ; 6115 (1:6115)
call GBFadeOut2 call GBFadeOut2
call ClearScreen call ClearScreen
ld a,NIDORINO ld a,NIDORINO
ld [$D0B5],a ; pic displayed is stored at this location ld [wd0b5],a ; pic displayed is stored at this location
ld [$CF91],a ld [wcf91],a
call GetMonHeader ; this is also related to the pic 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 ld hl,Coord ; position on tilemap the pic is displayed
call LoadFlippedFrontSpriteByMonIndex ; displays pic? call LoadFlippedFrontSpriteByMonIndex ; displays pic?
call MovePicLeft call MovePicLeft
@ -101,7 +101,7 @@ Func_61bc: ; 61bc (1:61bc)
ld bc,(Bank(RedPicFront) << 8) | $00 ld bc,(Bank(RedPicFront) << 8) | $00
call IntroPredef3B call IntroPredef3B
call GBFadeIn2 call GBFadeIn2
ld a,[$D72D] ld a,[wd72d]
and a and a
jr nz,.next jr nz,.next
ld hl,OakSpeechText3 ld hl,OakSpeechText3
@ -132,26 +132,26 @@ Func_61bc: ; 61bc (1:61bc)
ld a,[H_LOADEDROMBANK] ld a,[H_LOADEDROMBANK]
push af push af
ld a,2 ld a,2
ld [$C0EF],a ld [wc0ef],a
ld [$C0F0],a ld [wc0f0],a
ld a,$A ld a,$A
ld [wMusicHeaderPointer],a ld [wMusicHeaderPointer],a
ld a,$FF ld a,$FF
ld [$C0EE],a ld [wc0ee],a
call PlaySound ; stop music call PlaySound ; stop music
pop af pop af
ld [H_LOADEDROMBANK],a ld [H_LOADEDROMBANK],a
ld [$2000],a ld [$2000],a
ld c,$14 ld c,$14
call DelayFrames call DelayFrames
FuncCoord 6, 5 ; $c40a FuncCoord 6, 5
ld hl,Coord ld hl,Coord
ld b,7 ld b,7
ld c,7 ld c,7
call ClearScreenArea call ClearScreenArea
call LoadTextBoxTilePatterns call LoadTextBoxTilePatterns
ld a,1 ld a,1
ld [$CFCB],a ld [wcfcb],a
ld c,$32 ld c,$32
call DelayFrames call DelayFrames
call GBFadeOut2 call GBFadeOut2
@ -226,10 +226,10 @@ IntroPredef3B: ; 62a4 (1:62a4)
pop bc pop bc
ld a,c ld a,c
and a and a
FuncCoord 15, 1 ; $c3c3 FuncCoord 15, 1
ld hl,Coord ld hl,Coord
jr nz,.next jr nz,.next
FuncCoord 6, 4 ; $c3f6 FuncCoord 6, 4
ld hl,Coord ld hl,Coord
.next .next
xor a xor a

View file

@ -2,20 +2,20 @@ LoadDefaultNamesPlayer: ; 695d (1:695d)
call Func_6a12 call Func_6a12
ld de, DefaultNamesPlayer ; $6aa8 ld de, DefaultNamesPlayer ; $6aa8
call DisplayIntroNameTextBox call DisplayIntroNameTextBox
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
jr z, .asm_697a jr z, .asm_697a
ld hl, DefaultNamesPlayerList ; $6af2 ld hl, DefaultNamesPlayerList ; $6af2
call Func_6ad6 call Func_6ad6
ld de, W_PLAYERNAME ; $d158 ld de, W_PLAYERNAME ; wd158
call Func_69ec call Func_69ec
jr .asm_6999 jr .asm_6999
.asm_697a .asm_697a
ld hl, W_PLAYERNAME ; $d158 ld hl, W_PLAYERNAME ; wd158
xor a xor a
ld [$d07d], a ld [wd07d], a
call DisplayNamingScreen call DisplayNamingScreen
ld a, [$cf4b] ld a, [wcf4b]
cp $50 cp $50
jr z, .asm_697a jr z, .asm_697a
call ClearScreen call ClearScreen
@ -35,20 +35,20 @@ LoadDefaultNamesRival: ; 69a4 (1:69a4)
call Func_6a12 ; 0x69a4 call 0x6a12 call Func_6a12 ; 0x69a4 call 0x6a12
ld de, DefaultNamesRival ld de, DefaultNamesRival
call DisplayIntroNameTextBox call DisplayIntroNameTextBox
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
jr z, .asm_69c1 jr z, .asm_69c1
ld hl, DefaultNamesRivalList ld hl, DefaultNamesRivalList
call Func_6ad6 call Func_6ad6
ld de, W_RIVALNAME ; $d34a ld de, W_RIVALNAME ; wd34a
call Func_69ec call Func_69ec
jr .asm_69e1 jr .asm_69e1
.asm_69c1 .asm_69c1
ld hl, W_RIVALNAME ; $d34a ld hl, W_RIVALNAME ; wd34a
ld a, $1 ld a, $1
ld [$d07d], a ld [wd07d], a
call DisplayNamingScreen call DisplayNamingScreen
ld a, [$cf4b] ld a, [wcf4b]
cp $50 cp $50
jr z, .asm_69c1 jr z, .asm_69c1
call ClearScreen call ClearScreen
@ -72,18 +72,18 @@ Func_69ec: ; 69ec (1:69ec)
ld c, $a ld c, $a
call DelayFrames call DelayFrames
pop de pop de
ld hl, $cd6d ld hl, wcd6d
ld bc, $b ld bc, $b
call CopyData call CopyData
call Delay3 call Delay3
FuncCoord 12, 4 ; $c3fc FuncCoord 12, 4
ld hl, Coord ld hl, Coord
ld de, $67d ld de, $67d
ld a, $ff ld a, $ff
jr asm_6a19 jr asm_6a19
Func_6a12: ; 6a12 (1:6a12) Func_6a12: ; 6a12 (1:6a12)
FuncCoord 5, 4 ; $c3f5 FuncCoord 5, 4
ld hl, Coord ld hl, Coord
ld de, $67d ld de, $67d
xor a xor a
@ -161,25 +161,25 @@ DisplayIntroNameTextBox: ; 6a6c (1:6a6c)
ld b, $a ld b, $a
ld c, $9 ld c, $9
call TextBoxBorder call TextBoxBorder
FuncCoord 3, 0 ; $c3a3 FuncCoord 3, 0
ld hl, Coord ld hl, Coord
ld de, .namestring ; $6aa3 ld de, .namestring ; $6aa3
call PlaceString call PlaceString
pop de pop de
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl, Coord ld hl, Coord
call PlaceString call PlaceString
call UpdateSprites call UpdateSprites
xor a xor a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld [wLastMenuItem], a ; $cc2a ld [wLastMenuItem], a ; wLastMenuItem
inc a inc a
ld [wTopMenuItemX], a ; $cc25 ld [wTopMenuItemX], a ; wTopMenuItemX
ld [wMenuWatchedKeys], a ; $cc29 ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
inc a inc a
ld [wTopMenuItemY], a ; $cc24 ld [wTopMenuItemY], a ; wTopMenuItemY
inc a inc a
ld [wMaxMenuItem], a ; $cc28 ld [wMaxMenuItem], a ; wMaxMenuItem
jp HandleMenuInput jp HandleMenuInput
.namestring ; 6aa3 (1:6aa3) .namestring ; 6aa3 (1:6aa3)
@ -235,7 +235,7 @@ Func_6ad6: ; 6ad6 (1:6ad6)
.asm_6ae7 .asm_6ae7
ld h, d ld h, d
ld l, e ld l, e
ld de, $cd6d ld de, wcd6d
ld bc, $14 ld bc, $14
jp CopyData jp CopyData
IF _RED IF _RED

View file

@ -1,7 +1,7 @@
CableClubNPC: ; 71c5 (1:71c5) CableClubNPC: ; 71c5 (1:71c5)
ld hl, CableClubNPCText1 ld hl, CableClubNPCText1
call PrintText call PrintText
ld a, [$d74b] ld a, [wd74b]
bit 5, a bit 5, a
jp nz, Func_71e1 jp nz, Func_71e1
ld c, $3c ld c, $3c
@ -12,9 +12,9 @@ CableClubNPC: ; 71c5 (1:71c5)
Func_71e1: ; 71e1 (1:71e1) Func_71e1: ; 71e1 (1:71e1)
ld a, $1 ld a, $1
ld [$cc34], a ld [wMenuJoypadPollCount], a
ld a, $5a ld a, $5a
ld [$cc47], a ld [wcc47], a
.asm_71eb .asm_71eb
ld a, [$ffaa] ld a, [$ffaa]
cp $2 cp $2
@ -29,9 +29,9 @@ Func_71e1: ; 71e1 (1:71e1)
ld [$ffad], a ld [$ffad], a
ld a, $80 ld a, $80
ld [$ff02], a ld [$ff02], a
ld a, [$cc47] ld a, [wcc47]
dec a dec a
ld [$cc47], a ld [wcc47], a
jr z, .asm_7287 ; 0x720b $7a jr z, .asm_7287 ; 0x720b $7a
ld a, $1 ld a, $1
ld [$ff01], a ld [$ff01], a
@ -48,11 +48,11 @@ Func_71e1: ; 71e1 (1:71e1)
ld hl, CableClubNPCText2 ld hl, CableClubNPCText2
call PrintText call PrintText
xor a xor a
ld [$cc34], a ld [wMenuJoypadPollCount], a
call YesNoChoice call YesNoChoice
ld a, $1 ld a, $1
ld [$cc34], a ld [wMenuJoypadPollCount], a
ld a, [$cc26] ld a, [wCurrentMenuItem]
and a and a
jr nz, .asm_728f ; 0x723e $4f jr nz, .asm_728f ; 0x723e $4f
callab SaveSAVtoSRAM callab SaveSAVtoSRAM
@ -61,15 +61,15 @@ Func_71e1: ; 71e1 (1:71e1)
call PlaySoundWaitForCurrent call PlaySoundWaitForCurrent
ld hl, CableClubNPCText3 ld hl, CableClubNPCText3
call PrintText call PrintText
ld hl, $cc47 ld hl, wcc47
ld a, $3 ld a, $3
ld [hli], a ld [hli], a
xor a xor a
ld [hl], a ld [hl], a
ld [$ffa9], a ld [$ffa9], a
ld [$cc42], a ld [wcc42], a
call Func_227f call Func_227f
ld hl, $cc47 ld hl, wcc47
ld a, [hli] ld a, [hli]
inc a inc a
jr nz, Func_72a8 ; 0x726b $3b jr nz, Func_72a8 ; 0x726b $3b
@ -98,13 +98,13 @@ Func_71e1: ; 71e1 (1:71e1)
Func_7298: ; 7298 (1:7298) Func_7298: ; 7298 (1:7298)
xor a xor a
ld hl, $cc47 ld hl, wcc47
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld hl, $d72e ld hl, wd72e
res 6, [hl] res 6, [hl]
xor a xor a
ld [$cc34], a ld [wMenuJoypadPollCount], a
ret ret
Func_72a8: ; 72a8 (1:72a8) Func_72a8: ; 72a8 (1:72a8)

View file

@ -10,7 +10,7 @@ PrintCardKeyText: ; 52673 (14:6673)
jr nz, .asm_5267a jr nz, .asm_5267a
ld a, $35 ld a, $35
call Predef ; indirect jump to Func_c586 (c586 (3:4586)) call Predef ; indirect jump to Func_c586 (c586 (3:4586))
ld a, [$cfc6] ld a, [wcfc6]
cp $18 cp $18
jr z, .asm_5269c jr z, .asm_5269c
cp $24 cp $24
@ -35,12 +35,12 @@ PrintCardKeyText: ; 52673 (14:6673)
srl d srl d
ld a, d ld a, d
ld b, a ld b, a
ld [$d73f], a ld [wd73f], a
srl e srl e
ld a, e ld a, e
ld c, a ld c, a
ld [$d740], a ld [wd740], a
ld a, [W_CURMAP] ; $d35e ld a, [W_CURMAP] ; W_CURMAP
cp SILPH_CO_11F cp SILPH_CO_11F
jr nz, .asm_526c8 jr nz, .asm_526c8
ld a, $3 ld a, $3
@ -48,10 +48,10 @@ PrintCardKeyText: ; 52673 (14:6673)
.asm_526c8 .asm_526c8
ld a, $e ld a, $e
.asm_526ca .asm_526ca
ld [$d09f], a ld [wd09f], a
ld a, $17 ld a, $17
call Predef ; indirect jump to Func_ee9e call Predef ; indirect jump to Func_ee9e
ld hl, $d126 ld hl, wd126
set 5, [hl] set 5, [hl]
ld a, (SFX_1f_57 - SFX_Headers_1f) / 3 ld a, (SFX_1f_57 - SFX_Headers_1f) / 3
jp PlaySound jp PlaySound
@ -84,11 +84,11 @@ CardKeyFailText: ; 526f8 (14:66f8)
db "@" db "@"
Func_526fd: ; 526fd (14:66fd) Func_526fd: ; 526fd (14:66fd)
ld a, [W_YCOORD] ; $d361 ld a, [W_YCOORD] ; wd361
ld d, a ld d, a
ld a, [W_XCOORD] ; $d362 ld a, [W_XCOORD] ; wd362
ld e, a ld e, a
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
and a and a
jr nz, .asm_5270d jr nz, .asm_5270d
inc d inc d

View file

@ -1,18 +1,18 @@
GiveFossilToCinnabarLab: ; 61006 (18:5006) GiveFossilToCinnabarLab: ; 61006 (18:5006)
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
xor a xor a
ld [wCurrentMenuItem], a ; $cc26 ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld a, $3 ld a, $3
ld [wMenuWatchedKeys], a ; $cc29 ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
ld a, [$cd37] ld a, [wcd37]
dec a dec a
ld [wMaxMenuItem], a ; $cc28 ld [wMaxMenuItem], a ; wMaxMenuItem
ld a, $2 ld a, $2
ld [wTopMenuItemY], a ; $cc24 ld [wTopMenuItemY], a ; wTopMenuItemY
ld a, $1 ld a, $1
ld [wTopMenuItemX], a ; $cc25 ld [wTopMenuItemX], a ; wTopMenuItemX
ld a, [$cd37] ld a, [wcd37]
dec a dec a
ld bc, $2 ld bc, $2
ld hl, $3 ld hl, $3
@ -24,13 +24,13 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
call TextBoxBorder call TextBoxBorder
call UpdateSprites call UpdateSprites
call Func_610c2 call Func_610c2
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
call HandleMenuInput call HandleMenuInput
bit 1, a bit 1, a
jr nz, .asm_610a7 jr nz, .asm_610a7
ld hl, $cc5b ld hl, wcc5b
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld d, $0 ld d, $0
ld e, a ld e, a
add hl, de add hl, de
@ -55,7 +55,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
ld hl, LabFossil_610ae ld hl, LabFossil_610ae
call PrintText call PrintText
call YesNoChoice call YesNoChoice
ld a, [wCurrentMenuItem] ; $cc26 ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a and a
jr nz, .asm_610a7 jr nz, .asm_610a7
ld hl, LabFossil_610b3 ld hl, LabFossil_610b3
@ -65,7 +65,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
callba RemoveItemByID callba RemoveItemByID
ld hl, LabFossil_610b8 ld hl, LabFossil_610b8
call PrintText call PrintText
ld hl, $d7a3 ld hl, wd7a3
set 0, [hl] set 0, [hl]
set 1, [hl] set 1, [hl]
ret ret
@ -91,7 +91,7 @@ LabFossil_610bd: ; 610bd (18:50bd)
db "@" db "@"
Func_610c2: ; 610c2 (18:50c2) Func_610c2: ; 610c2 (18:50c2)
ld hl, $cc5b ld hl, wcc5b
xor a xor a
ld [$ffdb], a ld [$ffdb], a
.asm_610c8 .asm_610c8
@ -99,14 +99,14 @@ Func_610c2: ; 610c2 (18:50c2)
cp $ff cp $ff
ret z ret z
push hl push hl
ld [$d11e], a ld [wd11e], a
call GetItemName call GetItemName
FuncCoord 2, 2 ; $c3ca FuncCoord 2, 2
ld hl, Coord ld hl, Coord
ld a, [$ffdb] ld a, [$ffdb]
ld bc, $28 ld bc, $28
call AddNTimes call AddNTimes
ld de, $cd6d ld de, wcd6d
call PlaceString call PlaceString
ld hl, $ffdb ld hl, $ffdb
inc [hl] inc [hl]
@ -116,10 +116,10 @@ Func_610c2: ; 610c2 (18:50c2)
; loads the names of the fossil item and the resulting mon ; loads the names of the fossil item and the resulting mon
LoadFossilItemAndMonName: ; 610eb (18:50eb) LoadFossilItemAndMonName: ; 610eb (18:50eb)
ld a, [W_FOSSILMON] ld a, [W_FOSSILMON]
ld [$d11e], a ld [wd11e], a
call GetMonName call GetMonName
call CopyStringToCF4B call CopyStringToCF4B
ld a, [W_FOSSILITEM] ld a, [W_FOSSILITEM]
ld [$d11e], a ld [wd11e], a
call GetItemName call GetItemName
ret ret

View file

@ -1,18 +1,18 @@
UsedCut: ; ef54 (3:6f54) UsedCut: ; ef54 (3:6f54)
xor a xor a
ld [$cd6a], a ld [wcd6a], a
ld a, [W_CURMAPTILESET] ; $d367 ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
and a ; OVERWORLD and a ; OVERWORLD
jr z, .asm_ef6b jr z, .asm_ef6b
cp GYM cp GYM
jr nz, .asm_ef77 jr nz, .asm_ef77
ld a, [$cfc6] ld a, [wcfc6]
cp $50 ; gym cut tree cp $50 ; gym cut tree
jr nz, .asm_ef77 jr nz, .asm_ef77
jr asm_ef82 jr asm_ef82
.asm_ef6b .asm_ef6b
dec a dec a
ld a, [$cfc6] ld a, [wcfc6]
cp $3d ; cut tree cp $3d ; cut tree
jr z, asm_ef82 jr z, asm_ef82
cp $52 ; grass cp $52 ; grass
@ -26,13 +26,13 @@ NothingToCutText: ; ef7d (3:6f7d)
db "@" db "@"
asm_ef82: ; ef82 (3:6f82) asm_ef82: ; ef82 (3:6f82)
ld [$cd4d], a ld [wcd4d], a
ld a, $1 ld a, $1
ld [$cd6a], a ld [wcd6a], a
ld a, [wWhichPokemon] ; $cf92 ld a, [wWhichPokemon] ; wWhichPokemon
ld hl, W_PARTYMON1NAME ; $d2b5 ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
call GetPartyMonName call GetPartyMonName
ld hl, $d730 ld hl, wd730
set 6, [hl] set 6, [hl]
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
call ClearSprites call ClearSprites
@ -49,17 +49,17 @@ asm_ef82: ; ef82 (3:6f82)
ld hl, UsedCutText ld hl, UsedCutText
call PrintText call PrintText
call LoadScreenTilesFromBuffer2 call LoadScreenTilesFromBuffer2
ld hl, $d730 ld hl, wd730
res 6, [hl] res 6, [hl]
ld a, $ff ld a, $ff
ld [$cfcb], a ld [wcfcb], a
call AnimateCutTree call AnimateCutTree
ld de, CutTreeBlockSwaps ; $7100 ld de, CutTreeBlockSwaps ; $7100
call Func_f09f call Func_f09f
call Func_eedc call Func_eedc
callba Func_79e96 callba Func_79e96
ld a, $1 ld a, $1
ld [$cfcb], a ld [wcfcb], a
ld a, (SFX_02_56 - SFX_Headers_02) / 3 ld a, (SFX_02_56 - SFX_Headers_02) / 3
call PlaySound call PlaySound
ld a, $90 ld a, $90
@ -73,10 +73,10 @@ UsedCutText: ; eff2 (3:6ff2)
AnimateCutTree: ; eff7 (3:6ff7) AnimateCutTree: ; eff7 (3:6ff7)
xor a xor a
ld [$cd50], a ld [wcd50], a
ld a, $e4 ld a, $e4
ld [rOBP1], a ; $ff49 ld [rOBP1], a ; $ff49
ld a, [$cd4d] ld a, [wcd4d]
cp $52 cp $52
jr z, .asm_f020 jr z, .asm_f020
ld de, Overworld_GFX + $2d0 ; $42d0 ; cuttable tree sprite top row ld de, Overworld_GFX + $2d0 ; $42d0 ; cuttable tree sprite top row
@ -98,7 +98,7 @@ AnimateCutTree: ; eff7 (3:6ff7)
ld hl, $8ff0 ld hl, $8ff0
call LoadCutTreeOAM call LoadCutTreeOAM
call asm_f055 call asm_f055
ld hl, $c393 ld hl, wOAMBuffer + $93
ld de, $4 ld de, $4
ld a, $30 ld a, $30
ld c, e ld c, e
@ -125,7 +125,7 @@ CutTreeOAM: ; f060 (3:7060)
db $FE,$10,$FF,$10 db $FE,$10,$FF,$10
Func_f068: ; f068 (3:7068) Func_f068: ; f068 (3:7068)
ld hl, $c104 ld hl, wSpriteStateData1 + 4
ld a, [hli] ld a, [hli]
ld b, a ld b, a
inc hl inc hl
@ -137,7 +137,7 @@ Func_f068: ; f068 (3:7068)
srl a srl a
ld e, a ld e, a
ld d, $0 ; de holds direction (00: down, 02: up, 04: left, 06: right) ld d, $0 ; de holds direction (00: down, 02: up, 04: left, 06: right)
ld a, [$cd50] ld a, [wcd50]
and a and a
ld hl, CutTreeAnimationOffsets ; $708f ld hl, CutTreeAnimationOffsets ; $708f
jr z, .asm_f084 jr z, .asm_f084
@ -173,39 +173,39 @@ CutTreeAnimationOffsets2: ; f097 (3:7097)
Func_f09f: ; f09f (3:709f) Func_f09f: ; f09f (3:709f)
push de push de
ld a, [W_CURMAPWIDTH] ; $d369 ld a, [W_CURMAPWIDTH] ; wd369
add $6 add $6
ld c, a ld c, a
ld b, $0 ld b, $0
ld d, $0 ld d, $0
ld hl, $d35f ld hl, wd35f
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
add hl, bc add hl, bc
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
and a and a
jr z, .asm_f0c7 jr z, .asm_f0c7
cp $4 cp $4
jr z, .asm_f0cf jr z, .asm_f0cf
cp $8 cp $8
jr z, .asm_f0d7 jr z, .asm_f0d7
ld a, [W_XBLOCKCOORD] ; $d364 ld a, [W_XBLOCKCOORD] ; wd364
and a and a
jr z, .asm_f0e0 jr z, .asm_f0e0
jr .asm_f0ec jr .asm_f0ec
.asm_f0c7 .asm_f0c7
ld a, [W_YBLOCKCOORD] ; $d363 ld a, [W_YBLOCKCOORD] ; wd363
and a and a
jr z, .asm_f0e0 jr z, .asm_f0e0
jr .asm_f0df jr .asm_f0df
.asm_f0cf .asm_f0cf
ld a, [W_YBLOCKCOORD] ; $d363 ld a, [W_YBLOCKCOORD] ; wd363
and a and a
jr z, .asm_f0e1 jr z, .asm_f0e1
jr .asm_f0e0 jr .asm_f0e0
.asm_f0d7 .asm_f0d7
ld a, [W_XBLOCKCOORD] ; $d364 ld a, [W_XBLOCKCOORD] ; wd364
and a and a
jr z, .asm_f0e6 jr z, .asm_f0e6
jr .asm_f0e0 jr .asm_f0e0

View file

@ -1,18 +1,18 @@
Func_79e96: ; 79e96 (1e:5e96) Func_79e96: ; 79e96 (1e:5e96)
ld a, [$cd4d] ld a, [wcd4d]
cp $52 cp $52
jr z, .asm_79ec8 jr z, .asm_79ec8
ld c, $8 ld c, $8
.asm_79e9f .asm_79e9f
push bc push bc
ld hl, $c391 ld hl, wOAMBuffer + $91
ld a, $1 ld a, $1
ld [$d08a], a ld [wd08a], a
ld c, $2 ld c, $2
call Func_79339 call Func_79339
ld hl, $c399 ld hl, wOAMBuffer + $99
ld a, $ff ld a, $ff
ld [$d08a], a ld [wd08a], a
ld c, $2 ld c, $2
call Func_79339 call Func_79339
ld a, [rOBP1] ; $ff49 ld a, [rOBP1] ; $ff49
@ -33,9 +33,9 @@ Func_79e96: ; 79e96 (1e:5e96)
ld c, $8 ld c, $8
call Func_79eed call Func_79eed
call Func_79f30 call Func_79f30
ld hl, $c390 ld hl, wOAMBuffer + $90
ld a, $2 ld a, $2
ld [$d08a], a ld [wd08a], a
ld c, $4 ld c, $4
call Func_79352 call Func_79352
pop bc pop bc
@ -45,24 +45,24 @@ Func_79e96: ; 79e96 (1e:5e96)
Func_79eed: ; 79eed (1e:5eed) Func_79eed: ; 79eed (1e:5eed)
push bc push bc
ld hl, $c391 ld hl, wOAMBuffer + $91
ld a, $1 ld a, $1
ld [$d08a], a ld [wd08a], a
ld c, $1 ld c, $1
call Func_79339 call Func_79339
ld hl, $c395 ld hl, wOAMBuffer + $95
ld a, $2 ld a, $2
ld [$d08a], a ld [wd08a], a
ld c, $1 ld c, $1
call Func_79339 call Func_79339
ld hl, $c399 ld hl, wOAMBuffer + $99
ld a, $fe ld a, $fe
ld [$d08a], a ld [wd08a], a
ld c, $1 ld c, $1
call Func_79339 call Func_79339
ld hl, $c39d ld hl, wOAMBuffer + $9d
ld a, $ff ld a, $ff
ld [$d08a], a ld [wd08a], a
ld c, $1 ld c, $1
call Func_79339 call Func_79339
ld a, [rOBP1] ; $ff49 ld a, [rOBP1] ; $ff49
@ -75,15 +75,15 @@ Func_79eed: ; 79eed (1e:5eed)
ret ret
Func_79f30: ; 79f30 (1e:5f30) Func_79f30: ; 79f30 (1e:5f30)
ld hl, $c390 ld hl, wOAMBuffer + $90
ld de, $cee9 ld de, wHPBarMaxHP
ld bc, $8 ld bc, $8
call CopyData call CopyData
ld hl, $c398 ld hl, wOAMBuffer + $98
ld de, $c390 ld de, wOAMBuffer + $90
ld bc, $8 ld bc, $8
call CopyData call CopyData
ld hl, $cee9 ld hl, wHPBarMaxHP
ld de, $c398 ld de, wOAMBuffer + $98
ld bc, $8 ld bc, $8
jp CopyData jp CopyData

View file

@ -1,7 +1,7 @@
HandleDoors: ; 1a609 (6:6609) HandleDoors: ; 1a609 (6:6609)
push de push de
ld hl, DoorTileIDPointers ; $662c ld hl, DoorTileIDPointers ; $662c
ld a, [W_CURMAPTILESET] ; $d367 ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
ld de, $3 ld de, $3
call IsInArray call IsInArray
pop de pop de
@ -10,7 +10,7 @@ HandleDoors: ; 1a609 (6:6609)
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
FuncCoord 8, 9 ; $c45c FuncCoord 8, 9
ld a, [Coord] ld a, [Coord]
ld b, a ld b, a
.asm_1a621 .asm_1a621

View file

@ -34,14 +34,14 @@ ShakeElevator: ; 7bf15 (1e:7f15)
ld a, (SFX_02_5f - SFX_Headers_02) / 3 ld a, (SFX_02_5f - SFX_Headers_02) / 3
call PlayMusic call PlayMusic
.asm_7bf57 .asm_7bf57
ld a, [$c02a] ld a, [wc02a]
cp $b9 cp $b9
jr z, .asm_7bf57 jr z, .asm_7bf57
call UpdateSprites call UpdateSprites
jp Func_2307 jp Func_2307
Func_7bf64: ; 7bf64 (1e:7f64) Func_7bf64: ; 7bf64 (1e:7f64)
ld hl, $d527 ld hl, wd527
ld a, [hld] ld a, [hld]
push af push af
ld a, [hl] ld a, [hl]

View file

@ -1,5 +1,5 @@
PrintEmotionBubble: ; 17c47 (5:7c47) PrintEmotionBubble: ; 17c47 (5:7c47)
ld a, [$cd50] ld a, [wcd50]
ld c, a ld c, a
ld b, $0 ld b, $0
ld hl, EmotionBubblesPointerTable ; $7caf ld hl, EmotionBubblesPointerTable ; $7caf
@ -11,17 +11,17 @@ PrintEmotionBubble: ; 17c47 (5:7c47)
ld hl, $8f80 ld hl, $8f80
ld bc, (BANK(EmotionBubblesPointerTable) << 8) + $04 ld bc, (BANK(EmotionBubblesPointerTable) << 8) + $04
call CopyVideoData call CopyVideoData
ld a, [$cfcb] ld a, [wcfcb]
push af push af
ld a, $ff ld a, $ff
ld [$cfcb], a ld [wcfcb], a
ld a, [$d736] ld a, [wd736]
bit 6, a bit 6, a
ld hl, $c38f ld hl, wOAMBuffer + $8f
ld de, $c39f ld de, wOAMBuffer + $9f
jr z, .asm_17c7a jr z, .asm_17c7a
ld hl, $c37f ld hl, wOAMBuffer + $7f
ld de, $c38f ld de, wOAMBuffer + $8f
.asm_17c7a .asm_17c7a
ld bc, $90 ld bc, $90
.asm_17c7d .asm_17c7d
@ -33,8 +33,8 @@ PrintEmotionBubble: ; 17c47 (5:7c47)
ld a, c ld a, c
or b or b
jr nz, .asm_17c7d jr nz, .asm_17c7d
ld hl, $c104 ld hl, wSpriteStateData1 + 4
ld a, [$cd4f] ld a, [wcd4f]
swap a swap a
ld c, a ld c, a
ld b, $0 ld b, $0
@ -51,7 +51,7 @@ PrintEmotionBubble: ; 17c47 (5:7c47)
ld c, $3c ld c, $3c
call DelayFrames call DelayFrames
pop af pop af
ld [$cfcb], a ld [wcfcb], a
call DelayFrame call DelayFrame
jp UpdateSprites jp UpdateSprites

View file

@ -3,7 +3,7 @@ AnimateHealingMachine: ; 70433 (1c:4433)
ld hl, $87c0 ld hl, $87c0
ld bc, (BANK(PokeCenterFlashingMonitorAndHealBall) << 8) + $03 ld bc, (BANK(PokeCenterFlashingMonitorAndHealBall) << 8) + $03
call CopyVideoData call CopyVideoData
ld hl, $cfcb ld hl, wcfcb
ld a, [hl] ld a, [hl]
push af push af
ld [hl], $ff ld [hl], $ff
@ -12,19 +12,19 @@ AnimateHealingMachine: ; 70433 (1c:4433)
push af push af
ld a, $e0 ld a, $e0
ld [rOBP1], a ; $ff49 ld [rOBP1], a ; $ff49
ld hl, $c384 ld hl, wOAMBuffer + $84
ld de, PokeCenterOAMData ; $44d7 ld de, PokeCenterOAMData ; $44d7
call Func_70503 call Func_70503
ld a, $4 ld a, $4
ld [wMusicHeaderPointer], a ld [wMusicHeaderPointer], a
ld a, $ff ld a, $ff
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
.asm_70464 .asm_70464
ld a, [wMusicHeaderPointer] ld a, [wMusicHeaderPointer]
and a and a
jr nz, .asm_70464 jr nz, .asm_70464
ld a, [W_NUMINPARTY] ; $d163 ld a, [W_NUMINPARTY] ; W_NUMINPARTY
ld b, a ld b, a
.asm_7046e .asm_7046e
call Func_70503 call Func_70503
@ -34,23 +34,23 @@ AnimateHealingMachine: ; 70433 (1c:4433)
call DelayFrames call DelayFrames
dec b dec b
jr nz, .asm_7046e jr nz, .asm_7046e
ld a, [$c0ef] ld a, [wc0ef]
cp $1f cp $1f
ld [$c0f0], a ld [wc0f0], a
jr nz, .asm_70495 jr nz, .asm_70495
ld a, $ff ld a, $ff
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
ld a, Bank(Func_9876) ld a, Bank(Func_9876)
ld [$c0ef], a ld [wc0ef], a
.asm_70495 .asm_70495
ld a, MUSIC_PKMN_HEALED ld a, MUSIC_PKMN_HEALED
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
ld d, $28 ld d, $28
call Func_704f3 call Func_704f3
.asm_704a2 .asm_704a2
ld a, [$c026] ld a, [wc026]
cp MUSIC_PKMN_HEALED cp MUSIC_PKMN_HEALED
jr z, .asm_704a2 jr z, .asm_704a2
ld c, $20 ld c, $20

View file

@ -1,9 +1,9 @@
HiddenItems: ; 76688 (1d:6688) HiddenItems: ; 76688 (1d:6688)
ld hl, HiddenItemCoords ld hl, HiddenItemCoords
call Func_76857 call Func_76857
ld [$cd41], a ld [wTrainerScreenX], a
ld hl, $d6f0 ld hl, wd6f0
ld a, [$cd41] ld a, [wTrainerScreenX]
ld c, a ld c, a
ld b, $2 ld b, $2
ld a, $10 ld a, $10
@ -13,9 +13,9 @@ HiddenItems: ; 76688 (1d:6688)
ret nz ret nz
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
ld a, $1 ld a, $1
ld [$cc3c], a ld [wcc3c], a
ld a, [$cd3d] ; item ID ld a, [wWhichTrade] ; item ID
ld [$d11e], a ld [wd11e], a
call GetItemName call GetItemName
ld a, $24 ld a, $24
jp PrintPredefTextID jp PrintPredefTextID
@ -26,13 +26,13 @@ FoundHiddenItemText: ; 7675b (1d:675b)
; XXX where is the pointer to this? ; XXX where is the pointer to this?
TX_FAR _FoundHiddenItemText TX_FAR _FoundHiddenItemText
db $8 db $8
ld a, [$cd3d] ; item ID ld a, [wWhichTrade] ; item ID
ld b, a ld b, a
ld c, 1 ld c, 1
call GiveItem call GiveItem
jr nc, .BagFull jr nc, .BagFull
ld hl, $d6f0 ld hl, wd6f0
ld a, [$cd41] ld a, [wTrainerScreenX]
ld c, a ld c, a
ld b, $1 ld b, $1
ld a, $10 ld a, $10
@ -44,7 +44,7 @@ FoundHiddenItemText: ; 7675b (1d:675b)
.BagFull .BagFull
call WaitForTextScrollButtonPress ; wait for button press call WaitForTextScrollButtonPress ; wait for button press
xor a xor a
ld [$cc3c], a ld [wcc3c], a
ld hl, HiddenItemBagFullText ld hl, HiddenItemBagFullText
call PrintText call PrintText
jp TextScriptEnd jp TextScriptEnd
@ -62,9 +62,9 @@ HiddenCoins: ; 76799 (1d:6799)
ret z ret z
ld hl, HiddenCoinCoords ld hl, HiddenCoinCoords
call Func_76857 call Func_76857
ld [$cd41], a ld [wTrainerScreenX], a
ld hl, $d6fe ld hl, wd6fe
ld a, [$cd41] ld a, [wTrainerScreenX]
ld c, a ld c, a
ld b, $2 ld b, $2
ld a, $10 ld a, $10
@ -76,7 +76,7 @@ HiddenCoins: ; 76799 (1d:6799)
ld [$ff9f], a ld [$ff9f], a
ld [$ffa0], a ld [$ffa0], a
ld [$ffa1], a ld [$ffa1], a
ld a, [$cd3d] ld a, [wWhichTrade]
sub COIN sub COIN
cp 10 cp 10
jr z, .bcd10 jr z, .bcd10
@ -101,13 +101,13 @@ HiddenCoins: ; 76799 (1d:6799)
ld a, $1 ld a, $1
ld [$ffa0], a ld [$ffa0], a
.bcddone .bcddone
ld de, $d5a5 ld de, wPlayerCoins + 1
ld hl, $ffa1 ld hl, $ffa1
ld c, $2 ld c, $2
ld a, $b ; AddBCDPredef ld a, $b ; AddBCDPredef
call Predef call Predef
ld hl, $d6fe ld hl, wd6fe
ld a, [$cd41] ld a, [wTrainerScreenX]
ld c, a ld c, a
ld b, $1 ld b, $1
ld a, $10 ld a, $10
@ -139,9 +139,9 @@ DroppedHiddenCoinsText: ; 7684d (1d:684d)
db "@" db "@"
Func_76857: ; 76857 (1d:6857) Func_76857: ; 76857 (1d:6857)
ld a, [$cd40] ld a, [wTrainerScreenY]
ld d, a ld d, a
ld a, [$cd41] ld a, [wTrainerScreenX]
ld e, a ld e, a
ld a, [W_CURMAP] ld a, [W_CURMAP]
ld b, a ld b, a

View file

@ -1,16 +1,16 @@
Func_46981: ; 46981 (11:6981) Func_46981: ; 46981 (11:6981)
xor a xor a
ld [$d71e], a ld [wd71e], a
ld a, [$d72d] ld a, [wd72d]
bit 4, a bit 4, a
ret nz ret nz
call ArePlayerCoordsInArray call ArePlayerCoordsInArray
ret nc ret nc
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld [$d71e], a ld [wd71e], a
ld hl, $d72d ld hl, wd72d
set 4, [hl] set 4, [hl]
ld hl, $d732 ld hl, wd732
set 4, [hl] set 4, [hl]
ret ret
@ -28,7 +28,7 @@ Func_469a0: ; 469a0 (11:69a0)
ld b, a ld b, a
cp $ff cp $ff
jr z, .asm_469fc jr z, .asm_469fc
ld a, [W_CURMAP] ; $d35e ld a, [W_CURMAP] ; W_CURMAP
cp b cp b
jr z, .asm_469be jr z, .asm_469be
inc de inc de
@ -41,7 +41,7 @@ Func_469a0: ; 469a0 (11:69a0)
ld h, [hl] ld h, [hl]
ld l, a ld l, a
push hl push hl
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
xor a xor a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
@ -51,10 +51,10 @@ Func_469a0: ; 469a0 (11:69a0)
ld a, [hli] ld a, [hli]
cp $ff cp $ff
jr z, .asm_469fc jr z, .asm_469fc
ld [$cd40], a ld [wTrainerScreenY], a
ld b, a ld b, a
ld a, [hli] ld a, [hli]
ld [$cd41], a ld [wTrainerScreenX], a
ld c, a ld c, a
call Func_46a01 call Func_46a01
ld a, [$ffea] ld a, [$ffea]
@ -65,15 +65,15 @@ Func_469a0: ; 469a0 (11:69a0)
inc hl inc hl
inc hl inc hl
push hl push hl
ld hl, $cd3f ld hl, wTrainerFacingDirection
inc [hl] inc [hl]
pop hl pop hl
jr .asm_469ce jr .asm_469ce
.asm_469f0 .asm_469f0
ld a, [hli] ld a, [hli]
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
ld a, [hli] ld a, [hli]
ld [$cd3e], a ld [wTrainerEngageDistance], a
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
@ -84,37 +84,37 @@ Func_469a0: ; 469a0 (11:69a0)
ret ret
Func_46a01: ; 46a01 (11:6a01) Func_46a01: ; 46a01 (11:6a01)
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
cp $4 cp $4
jr z, .asm_46a16 jr z, .asm_46a16
cp $8 cp $8
jr z, .asm_46a25 jr z, .asm_46a25
cp $c cp $c
jr z, .asm_46a2b jr z, .asm_46a2b
ld a, [W_YCOORD] ; $d361 ld a, [W_YCOORD] ; wd361
inc a inc a
jr .asm_46a1a jr .asm_46a1a
.asm_46a16 .asm_46a16
ld a, [W_YCOORD] ; $d361 ld a, [W_YCOORD] ; wd361
dec a dec a
.asm_46a1a .asm_46a1a
cp b cp b
jr nz, .asm_46a3b jr nz, .asm_46a3b
ld a, [W_XCOORD] ; $d362 ld a, [W_XCOORD] ; wd362
cp c cp c
jr nz, .asm_46a3b jr nz, .asm_46a3b
jr .asm_46a38 jr .asm_46a38
.asm_46a25 .asm_46a25
ld a, [W_XCOORD] ; $d362 ld a, [W_XCOORD] ; wd362
dec a dec a
jr .asm_46a2f jr .asm_46a2f
.asm_46a2b .asm_46a2b
ld a, [W_XCOORD] ; $d362 ld a, [W_XCOORD] ; wd362
inc a inc a
.asm_46a2f .asm_46a2f
cp c cp c
jr nz, .asm_46a3b jr nz, .asm_46a3b
ld a, [W_YCOORD] ; $d361 ld a, [W_YCOORD] ; wd361
cp b cp b
jr nz, .asm_46a3b jr nz, .asm_46a3b
.asm_46a38 .asm_46a38

View file

@ -31,11 +31,11 @@ PickupItem:
jr nc, .BagFull jr nc, .BagFull
ld a, [$ffdb] ld a, [$ffdb]
ld [$cc4d], a ld [wcc4d], a
ld a, $11 ; RemoveMissableObject ld a, $11 ; RemoveMissableObject
call Predef call Predef
ld a, 1 ld a, 1
ld [$cc3c], a ld [wcc3c], a
ld hl, FoundItemText ld hl, FoundItemText
jr .print jr .print

View file

@ -1,18 +1,18 @@
HandleLedges: ; 1a672 (6:6672) HandleLedges: ; 1a672 (6:6672)
ld a, [$d736] ld a, [wd736]
bit 6, a bit 6, a
ret nz ret nz
ld a, [W_CURMAPTILESET] ; $d367 ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
and a ; OVERWORLD and a ; OVERWORLD
ret nz ret nz
ld a, $35 ld a, $35
call Predef ; indirect jump to Func_c586 (c586 (3:4586)) call Predef ; indirect jump to Func_c586 (c586 (3:4586))
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
ld b, a ld b, a
FuncCoord 8, 9 ; $c45c FuncCoord 8, 9
ld a, [Coord] ld a, [Coord]
ld c, a ld c, a
ld a, [$cfc6] ld a, [wcfc6]
ld d, a ld d, a
ld hl, LedgeTiles ; $66cf ld hl, LedgeTiles ; $66cf
.asm_1a691 .asm_1a691
@ -43,14 +43,14 @@ HandleLedges: ; 1a672 (6:6672)
ret z ret z
ld a, $ff ld a, $ff
ld [wJoyIgnore], a ld [wJoyIgnore], a
ld hl, $d736 ld hl, wd736
set 6, [hl] set 6, [hl]
call Func_3486 call Func_3486
ld a, e ld a, e
ld [$ccd3], a ld [wccd3], a
ld [$ccd4], a ld [wccd4], a
ld a, $2 ld a, $2
ld [$cd38], a ld [wcd38], a
call LoadHoppingShadowOAM call LoadHoppingShadowOAM
ld a, (SFX_02_4e - SFX_Headers_02) / 3 ld a, (SFX_02_4e - SFX_Headers_02) / 3
call PlaySound call PlaySound

View file

@ -4,7 +4,7 @@
; This is also called after displaying text because loading ; This is also called after displaying text because loading
; text tile patterns overwrites half of the sprite tile pattern data. ; text tile patterns overwrites half of the sprite tile pattern data.
; Note on notation: ; 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. ; 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* ; 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. ; 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) 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) ; if the map is an inside map (i.e. mapID >= $25)
ld hl,wSpriteStateData1 ld hl,wSpriteStateData1
ld de,$c20d ld de,wSpriteStateData2 + $0d
; Loop to copy picture ID's from $C1X0 to $C2XD for LoadMapSpriteTilePatterns. ; Loop to copy picture ID's from $C1X0 to $C2XD for LoadMapSpriteTilePatterns.
.copyPictureIDLoop .copyPictureIDLoop
ld a,[hl] ; $C1X0 (picture ID) ld a,[hl] ; $C1X0 (picture ID)
@ -37,7 +37,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
.spritesExist .spritesExist
ld c,a ; c = [W_NUMSPRITES] ld c,a ; c = [W_NUMSPRITES]
ld b,$10 ; number of sprite slots ld b,$10 ; number of sprite slots
ld hl,$c20d ld hl,wSpriteStateData2 + $0d
xor a xor a
ld [$ff8e],a ; 4-tile sprite counter ld [$ff8e],a ; 4-tile sprite counter
.copyPictureIDLoop ; loop to copy picture ID from $C2XD to $C2XE .copyPictureIDLoop ; loop to copy picture ID from $C2XD to $C2XE
@ -48,9 +48,9 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
ld l,a ld l,a
dec b dec b
jr nz,.copyPictureIDLoop jr nz,.copyPictureIDLoop
ld hl,$c21e ld hl,wSpriteStateData2 + $1e
.loadTilePatternLoop .loadTilePatternLoop
ld de,$c21d ld de,wSpriteStateData2 + $1d
; Check if the current picture ID has already had its tile patterns loaded. ; 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 ; 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. ; their picture ID's match that of the current sprite slot.
@ -70,7 +70,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
ld e,a ld e,a
jr .checkIfAlreadyLoadedLoop jr .checkIfAlreadyLoadedLoop
.notAlreadyLoaded .notAlreadyLoaded
ld de,$c20e ld de,wSpriteStateData2 + $0e
ld b,$01 ld b,$01
; loop to find the highest tile pattern VRAM slot (among the first 10 slots) used by a previous sprite slot ; 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 ; this is done in order to find the first free VRAM slot available
@ -159,7 +159,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
ld l,e ld l,e
pop de pop de
ld b,a ld b,a
ld a,[$cfc4] ld a,[wcfc4]
bit 0,a ; reloading upper half of tile patterns after displaying text? bit 0,a ; reloading upper half of tile patterns after displaying text?
jr nz,.skipFirstLoad ; if so, skip loading data into the lower half jr nz,.skipFirstLoad ; if so, skip loading data into the lower half
ld a,b ld a,b
@ -180,7 +180,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
jr nc,.noCarry3 jr nc,.noCarry3
inc d inc d
.noCarry3 .noCarry3
ld a,[$cfc4] ld a,[wcfc4]
bit 0,a ; reloading upper half of tile patterns after displaying text? bit 0,a ; reloading upper half of tile patterns after displaying text?
jr nz,.loadWhileLCDOn jr nz,.loadWhileLCDOn
pop af pop af
@ -216,7 +216,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
ld l,a ld l,a
dec c dec c
jp nz,.loadTilePatternLoop jp nz,.loadTilePatternLoop
ld hl,$c20d ld hl,wSpriteStateData2 + $0d
ld b,$10 ld b,$10
; the pictures ID's stored at $C2XD are no longer needed, so zero them ; the pictures ID's stored at $C2XD are no longer needed, so zero them
.zeroStoredPictureIDLoop .zeroStoredPictureIDLoop
@ -264,7 +264,7 @@ InitOutsideMapSprites: ; 1797b (5:797b)
cp a,$f0 ; does the map have 2 sprite sets? cp a,$f0 ; does the map have 2 sprite sets?
call nc,GetSplitMapSpriteSetID ; if so, choose the appropriate one call nc,GetSplitMapSpriteSetID ; if so, choose the appropriate one
ld b,a ; b = spriteSetID ld b,a ; b = spriteSetID
ld a,[$cfc4] ld a,[wcfc4]
bit 0,a ; reloading upper half of tile patterns after displaying text? bit 0,a ; reloading upper half of tile patterns after displaying text?
jr nz,.loadSpriteSet ; if so, forcibly reload the sprite set jr nz,.loadSpriteSet ; if so, forcibly reload the sprite set
ld a,[W_SPRITESETID] ld a,[W_SPRITESETID]
@ -288,7 +288,7 @@ InitOutsideMapSprites: ; 1797b (5:797b)
jr nc,.noCarry2 jr nc,.noCarry2
inc d inc d
.noCarry2 .noCarry2
ld hl,$c20d ld hl,wSpriteStateData2 + $0d
ld a,SPRITE_RED ld a,SPRITE_RED
ld [hl],a ld [hl],a
ld bc,W_SPRITESET ld bc,W_SPRITESET
@ -324,7 +324,7 @@ InitOutsideMapSprites: ; 1797b (5:797b)
call LoadMapSpriteTilePatterns call LoadMapSpriteTilePatterns
pop af pop af
ld [W_NUMSPRITES],a ; restore number of sprites ld [W_NUMSPRITES],a ; restore number of sprites
ld hl,$c21e ld hl,wSpriteStateData2 + $1e
ld b,$0f ld b,$0f
; The VRAM tile pattern slots that LoadMapSpriteTilePatterns set are in the ; 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 ; 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 dec b
jr nz,.zeroVRAMSlotsLoop jr nz,.zeroVRAMSlotsLoop
.skipLoadingSpriteSet .skipLoadingSpriteSet
ld hl,$c110 ld hl,wSpriteStateData1 + $10
; This loop stores the correct VRAM tile pattern slots according the sprite ; 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 ; 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 ; the order of the sprite set, in order to find the VRAM tile pattern slot

View file

@ -8,22 +8,22 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
ld [wSpriteStateData2], a ld [wSpriteStateData2], a
jr .asm_4e4a jr .asm_4e4a
.asm_4e41 .asm_4e41
FuncCoord 8, 9 ; $c45c FuncCoord 8, 9
ld a, [Coord] ld a, [Coord]
ld [$ff93], a ld [$ff93], a
cp $60 cp $60
jr c, .asm_4e50 jr c, .asm_4e50
.asm_4e4a .asm_4e4a
ld a, $ff ld a, $ff
ld [$c102], a ld [wSpriteStateData1 + 2], a
ret ret
.asm_4e50 .asm_4e50
call Func_4c70 call Func_4c70
ld h, $c1 ld h, $c1
ld a, [wWalkCounter] ; $cfc5 ld a, [wWalkCounter] ; wcfc5
and a and a
jr nz, .asm_4e90 jr nz, .asm_4e90
ld a, [$d528] ld a, [wd528]
bit 2, a bit 2, a
jr z, .asm_4e65 jr z, .asm_4e65
xor a xor a
@ -45,16 +45,16 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
jr .asm_4e86 jr .asm_4e86
.asm_4e7d .asm_4e7d
xor a xor a
ld [$c107], a ld [wSpriteStateData1 + 7], a
ld [$c108], a ld [wSpriteStateData1 + 8], a
jr .asm_4eab jr .asm_4eab
.asm_4e86 .asm_4e86
ld [$c109], a ld [wSpriteStateData1 + 9], a
ld a, [$cfc4] ld a, [wcfc4]
bit 0, a bit 0, a
jr nz, .asm_4e7d jr nz, .asm_4e7d
.asm_4e90 .asm_4e90
ld a, [$d736] ld a, [wd736]
bit 7, a bit 7, a
jr nz, .asm_4eb6 jr nz, .asm_4eb6
ld a, [H_CURRENTSPRITEOFFSET] ld a, [H_CURRENTSPRITEOFFSET]
@ -73,11 +73,11 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
and $3 and $3
ld [hl], a ld [hl], a
.asm_4eab .asm_4eab
ld a, [$c108] ld a, [wSpriteStateData1 + 8]
ld b, a ld b, a
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
add b add b
ld [$c102], a ld [wSpriteStateData1 + 2], a
.asm_4eb6 .asm_4eb6
ld a, [$ff93] ld a, [$ff93]
ld c, a ld c, a
@ -87,7 +87,7 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
jr nz, .asm_4ec3 jr nz, .asm_4ec3
ld a, $80 ld a, $80
.asm_4ec3 .asm_4ec3
ld [$c207], a ld [wSpriteStateData2 + $07], a
ret ret
Func_4ec7: ; 4ec7 (1:4ec7) Func_4ec7: ; 4ec7 (1:4ec7)
@ -106,7 +106,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
swap a swap a
dec a dec a
add a add a
ld hl, W_MAPSPRITEDATA ; $d4e4 ld hl, W_MAPSPRITEDATA ; wd4e4
add l add l
ld l, a ld l, a
ld a, [hl] ; read movement byte 2 ld a, [hl] ; read movement byte 2
@ -128,7 +128,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
bit 7, a bit 7, a
jp nz, InitializeSpriteFacingDirection ; c1x1 >= $80 jp nz, InitializeSpriteFacingDirection ; c1x1 >= $80
ld b, a ld b, a
ld a, [$cfc4] ld a, [wcfc4]
bit 0, a bit 0, a
jp nz, notYetMoving jp nz, notYetMoving
ld a, b ld a, b
@ -136,7 +136,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
jp z, UpdateSpriteMovementDelay ; c1x1 == 2 jp z, UpdateSpriteMovementDelay ; c1x1 == 2
cp $3 cp $3
jp z, UpdateSpriteInWalkingAnimation ; c1x1 == 3 jp z, UpdateSpriteInWalkingAnimation ; c1x1 == 3
ld a, [wWalkCounter] ; $cfc5 ld a, [wWalkCounter] ; wcfc5
and a and a
ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability) ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability)
call InitializeSpriteScreenPosition call InitializeSpriteScreenPosition
@ -153,28 +153,28 @@ Func_4ed1: ; 4ed1 (1:4ed1)
ld [hl], a ; (temporarily) increment movement byte 1 ld [hl], a ; (temporarily) increment movement byte 1
dec a dec a
push hl push hl
ld hl, $cf0f ld hl, wcf0f
dec [hl] ; decrement $cf0f dec [hl] ; decrement wcf0f
pop hl pop hl
ld de, $cc5b ld de, wcc5b
call LoadDEPlusA ; a = [$cc5b + movement byte 1] call LoadDEPlusA ; a = [wcc5b + movement byte 1]
cp $e0 cp $e0
jp z, ChangeFacingDirection jp z, ChangeFacingDirection
cp $ff cp $ff
jr nz, .asm_4f4b jr nz, .asm_4f4b
ld [hl], a ; reset movement byte 1 to initial value ld [hl], a ; reset movement byte 1 to initial value
ld hl, $d730 ld hl, wd730
res 0, [hl] res 0, [hl]
xor a xor a
ld [$cd38], a ld [wcd38], a
ld [$cd3a], a ld [wcd3a], a
ret ret
.asm_4f4b .asm_4f4b
cp $fe cp $fe
jr nz, .asm_4f5f jr nz, .asm_4f5f
ld [hl], $1 ; set movement byte 1 to $1 ld [hl], $1 ; set movement byte 1 to $1
ld de, $cc5b ld de, wcc5b
call LoadDEPlusA ; a = [$cc5b + $fe] (?) call LoadDEPlusA ; a = [wcc5b + $fe] (?)
jr .asm_4f5f jr .asm_4f5f
.asm_4f59 .asm_4f59
call getTileSpriteStandsOn call getTileSpriteStandsOn
@ -391,11 +391,11 @@ notYetMoving: ; 5073 (1:5073)
jp UpdateSpriteImage jp UpdateSpriteImage
InitializeSpriteFacingDirection: ; 507f (1:507f) InitializeSpriteFacingDirection: ; 507f (1:507f)
ld a, [$d72d] ld a, [wd72d]
bit 5, a bit 5, a
jr nz, notYetMoving jr nz, notYetMoving
res 7, [hl] res 7, [hl]
ld a, [$d52a] ld a, [wd52a]
bit 3, a bit 3, a
jr z, .notFacingDown jr z, .notFacingDown
ld c, $0 ; make sprite face down ld c, $0 ; make sprite face down
@ -438,7 +438,7 @@ InitializeSpriteScreenPosition: ; 50bd (1:50bd)
ld a, [H_CURRENTSPRITEOFFSET] ld a, [H_CURRENTSPRITEOFFSET]
add $4 add $4
ld l, a ld l, a
ld a, [W_YCOORD] ; $d361 ld a, [W_YCOORD] ; wd361
ld b, a ld b, a
ld a, [hl] ; c2x4 (Y position + 4) ld a, [hl] ; c2x4 (Y position + 4)
sub b ; relative to player position sub b ; relative to player position
@ -447,7 +447,7 @@ InitializeSpriteScreenPosition: ; 50bd (1:50bd)
dec h dec h
ld [hli], a ; c1x4 (screen Y position) ld [hli], a ; c1x4 (screen Y position)
inc h inc h
ld a, [W_XCOORD] ; $d362 ld a, [W_XCOORD] ; wd362
ld b, a ld b, a
ld a, [hli] ; c2x6 (X position + 4) ld a, [hli] ; c2x6 (X position + 4)
sub b ; relative to player position sub b ; relative to player position
@ -474,7 +474,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
add $4 add $4
ld l, a ld l, a
ld b, [hl] ; c2x4: Y pos (+4) ld b, [hl] ; c2x4: Y pos (+4)
ld a, [W_YCOORD] ; $d361 ld a, [W_YCOORD] ; wd361
cp b cp b
jr z, .skipYVisibilityTest jr z, .skipYVisibilityTest
jr nc, .spriteInvisible ; above screen region jr nc, .spriteInvisible ; above screen region
@ -484,7 +484,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
.skipYVisibilityTest .skipYVisibilityTest
inc l inc l
ld b, [hl] ; c2x5: X pos (+4) ld b, [hl] ; c2x5: X pos (+4)
ld a, [W_XCOORD] ; $d362 ld a, [W_XCOORD] ; wd362
cp b cp b
jr z, .skipXVisibilityTest jr z, .skipXVisibilityTest
jr nc, .spriteInvisible ; left of screen region jr nc, .spriteInvisible ; left of screen region
@ -518,7 +518,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
jr .done jr .done
.spriteVisible .spriteVisible
ld c, a ld c, a
ld a, [wWalkCounter] ; $cfc5 ld a, [wWalkCounter] ; wcfc5
and a and a
jr nz, .done ; if player is currently walking, we're done jr nz, .done ; if player is currently walking, we're done
call UpdateSpriteImage call UpdateSpriteImage
@ -711,15 +711,15 @@ LoadDEPlusA: ; 522f (1:522f)
ret ret
Func_5236: ; 5236 (1:5236) Func_5236: ; 5236 (1:5236)
ld a, [$d730] ld a, [wd730]
bit 7, a bit 7, a
ret z ret z
ld hl, $d72e ld hl, wd72e
bit 7, [hl] bit 7, [hl]
set 7, [hl] set 7, [hl]
jp z, Func_52a6 jp z, Func_52a6
ld hl, $cc97 ld hl, wcc97
ld a, [$cd37] ld a, [wcd37]
add l add l
ld l, a ld l, a
jr nc, .asm_5251 jr nc, .asm_5251
@ -767,20 +767,20 @@ Func_5236: ; 5236 (1:5236)
ld a, c ld a, c
ld [hl], a ld [hl], a
call Func_52c3 call Func_52c3
ld hl, $cf18 ld hl, wcf18
dec [hl] dec [hl]
ret nz ret nz
ld a, $8 ld a, $8
ld [$cf18], a ld [wcf18], a
ld hl, $cd37 ld hl, wcd37
inc [hl] inc [hl]
ret ret
Func_52a6: ; 52a6 (1:52a6) Func_52a6: ; 52a6 (1:52a6)
xor a xor a
ld [$cd37], a ld [wcd37], a
ld a, $8 ld a, $8
ld [$cf18], a ld [wcf18], a
jp Func_52c3 jp Func_52c3
Func_52b2: ; 52b2 (1:52b2) Func_52b2: ; 52b2 (1:52b2)

View file

@ -1,47 +1,47 @@
Func_1a3e0: ; 1a3e0 (6:63e0) Func_1a3e0: ; 1a3e0 (6:63e0)
ld hl, $d730 ld hl, wd730
res 1, [hl] res 1, [hl]
call HandleDoors call HandleDoors
jr nc, .asm_1a406 jr nc, .asm_1a406
ld a, $fc ld a, $fc
ld [wJoyIgnore], a ld [wJoyIgnore], a
ld hl, $d736 ld hl, wd736
set 1, [hl] set 1, [hl]
ld a, $1 ld a, $1
ld [$cd38], a ld [wcd38], a
ld a, $80 ld a, $80
ld [$ccd3], a ld [wccd3], a
xor a xor a
ld [$c102], a ld [wSpriteStateData1 + 2], a
call Func_3486 call Func_3486
ret ret
.asm_1a406 .asm_1a406
xor a xor a
ld [$cd3a], a ld [wcd3a], a
ld [$cd38], a ld [wcd38], a
ld [$ccd3], a ld [wccd3], a
ld hl, $d736 ld hl, wd736
res 0, [hl] res 0, [hl]
res 1, [hl] res 1, [hl]
ld hl, $d730 ld hl, wd730
res 7, [hl] res 7, [hl]
ret ret
Func_1a41d: ; 1a41d (6:641d) Func_1a41d: ; 1a41d (6:641d)
ld hl, $d730 ld hl, wd730
res 7, [hl] res 7, [hl]
ld hl, $d72e ld hl, wd72e
res 7, [hl] res 7, [hl]
ld hl, $d736 ld hl, wd736
res 0, [hl] res 0, [hl]
res 1, [hl] res 1, [hl]
xor a xor a
ld [$cf17], a ld [wcf17], a
ld [$cc57], a ld [wcc57], a
ld [$cf10], a ld [wcf10], a
ld [$cd3a], a ld [wcd3a], a
ld [$cd38], a ld [wcd38], a
ld [$ccd3], a ld [wccd3], a
ret ret
PointerTable_1a442: ; 1a442 (6:6442) PointerTable_1a442: ; 1a442 (6:6442)
@ -52,26 +52,26 @@ PointerTable_1a442: ; 1a442 (6:6442)
dw Func_1a4f4 dw Func_1a4f4
Func_1a44c: ; 1a44c (6:644c) Func_1a44c: ; 1a44c (6:644c)
ld a, [W_XCOORD] ; $d362 ld a, [W_XCOORD] ; wd362
sub $a sub $a
ld [$cca1], a ld [wcca1], a
jr z, .asm_1a475 jr z, .asm_1a475
ld b, $0 ld b, $0
ld c, a ld c, a
ld hl, $cc97 ld hl, wcc97
ld a, $80 ld a, $80
call FillMemory call FillMemory
ld [hl], $ff ld [hl], $ff
ld a, [$cf13] ld a, [wcf13]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
ld de, $cc97 ld de, wcc97
call MoveSprite call MoveSprite
ld a, $1 ld a, $1
ld [$cf10], a ld [wcf10], a
jr .asm_1a47a jr .asm_1a47a
.asm_1a475 .asm_1a475
ld a, $3 ld a, $3
ld [$cf10], a ld [wcf10], a
.asm_1a47a .asm_1a47a
ld hl, W_FLAGS_D733 ld hl, W_FLAGS_D733
set 1, [hl] set 1, [hl]
@ -80,46 +80,46 @@ Func_1a44c: ; 1a44c (6:644c)
ret ret
Func_1a485: ; 1a485 (6:6485) Func_1a485: ; 1a485 (6:6485)
ld a, [$d730] ld a, [wd730]
bit 0, a bit 0, a
ret nz ret nz
ld a, [$cca1] ld a, [wcca1]
ld [$cd38], a ld [wcd38], a
ld [$ff95], a ld [$ff95], a
ld a, $23 ld a, $23
call Predef call Predef
call Func_3486 call Func_3486
ld a, $2 ld a, $2
ld [$cf10], a ld [wcf10], a
ret ret
Func_1a4a1: ; 1a4a1 (6:64a1) Func_1a4a1: ; 1a4a1 (6:64a1)
ld a, [$cd38] ld a, [wcd38]
and a and a
ret nz ret nz
Func_1a4a6: ; 1a4a6 (6:64a6) Func_1a4a6: ; 1a4a6 (6:64a6)
xor a xor a
ld [$cd3b], a ld [wcd3b], a
ld a, [$cf13] ld a, [wcf13]
swap a swap a
ld [$cf17], a ld [wcf17], a
xor a xor a
ld [$c206], a ld [wSpriteStateData2 + $06], a
ld hl, $ccd3 ld hl, wccd3
ld de, RLEList_1a4e9 ld de, RLEList_1a4e9
call DecodeRLEList call DecodeRLEList
dec a dec a
ld [$cd38], a ld [wcd38], a
ld hl, $cc97 ld hl, wcc97
ld de, RLEList_1a4dc ld de, RLEList_1a4dc
call DecodeRLEList call DecodeRLEList
ld hl, $d72e ld hl, wd72e
res 7, [hl] res 7, [hl]
ld hl, $d730 ld hl, wd730
set 7, [hl] set 7, [hl]
ld a, $4 ld a, $4
ld [$cf10], a ld [wcf10], a
ret ret
RLEList_1a4dc: ; 1a4dc (6:64dc) RLEList_1a4dc: ; 1a4dc (6:64dc)
@ -140,16 +140,16 @@ RLEList_1a4e9: ; 1a4e9 (6:64e9)
db $FF db $FF
Func_1a4f4: ; 1a4f4 (6:64f4) Func_1a4f4: ; 1a4f4 (6:64f4)
ld a, [$cd38] ld a, [wcd38]
and a and a
ret nz ret nz
ld a, $0 ld a, $0
ld [$cc4d], a ld [wcc4d], a
ld a, $11 ld a, $11
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
ld hl, $d730 ld hl, wd730
res 7, [hl] res 7, [hl]
ld hl, $d72e ld hl, wd72e
res 7, [hl] res 7, [hl]
jp Func_314e jp Func_314e
@ -159,31 +159,31 @@ PointerTable_1a510: ; 1a510 (6:6510)
Func_1a514: ; 1a514 (6:6514) Func_1a514: ; 1a514 (6:6514)
ld a, Bank(Func_9876) ld a, Bank(Func_9876)
ld [$c0ef], a ld [wc0ef], a
ld [$c0f0], a ld [wc0f0], a
ld a, MUSIC_MUSEUM_GUY ld a, MUSIC_MUSEUM_GUY
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
ld a, [$cf13] ld a, [wcf13]
swap a swap a
ld [$cf17], a ld [wcf17], a
call Func_3486 call Func_3486
ld hl, $ccd3 ld hl, wccd3
ld de, RLEList_PewterMuseumPlayer ld de, RLEList_PewterMuseumPlayer
call DecodeRLEList call DecodeRLEList
dec a dec a
ld [$cd38], a ld [wcd38], a
xor a xor a
ld [$d12f], a ld [wd12f], a
ld a, $4f ld a, $4f
call Predef call Predef
ld hl, $cc97 ld hl, wcc97
ld de, RLEList_PewterMuseumGuy ld de, RLEList_PewterMuseumGuy
call DecodeRLEList call DecodeRLEList
ld hl, $d72e ld hl, wd72e
res 7, [hl] res 7, [hl]
ld a, $1 ld a, $1
ld [$cf10], a ld [wcf10], a
ret ret
RLEList_PewterMuseumPlayer: ; 1a559 (6:6559) RLEList_PewterMuseumPlayer: ; 1a559 (6:6559)
@ -201,12 +201,12 @@ RLEList_PewterMuseumGuy: ; 1a562 (6:6562)
db $FF db $FF
Func_1a56b: ; 1a56b (6:656b) Func_1a56b: ; 1a56b (6:656b)
ld a, [$cd38] ld a, [wcd38]
and a and a
ret nz ret nz
ld hl, $d730 ld hl, wd730
res 7, [hl] res 7, [hl]
ld hl, $d72e ld hl, wd72e
res 7, [hl] res 7, [hl]
jp Func_314e jp Func_314e
@ -216,34 +216,34 @@ PointerTable_1a57d: ; 1a57d (6:657d)
Func_1a581: ; 1a581 (6:6581) Func_1a581: ; 1a581 (6:6581)
ld a, Bank(Func_9876) ld a, Bank(Func_9876)
ld [$c0ef], a ld [wc0ef], a
ld [$c0f0], a ld [wc0f0], a
ld a, MUSIC_MUSEUM_GUY ld a, MUSIC_MUSEUM_GUY
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
ld a, [$cf13] ld a, [wcf13]
swap a swap a
ld [$cf17], a ld [wcf17], a
xor a xor a
ld [$c206], a ld [wSpriteStateData2 + $06], a
ld hl, $ccd3 ld hl, wccd3
ld de, RLEList_PewterGymPlayer ld de, RLEList_PewterGymPlayer
call DecodeRLEList call DecodeRLEList
dec a dec a
ld [$cd38], a ld [wcd38], a
ld a, $1 ld a, $1
ld [$d12f], a ld [wd12f], a
ld a, $4f ld a, $4f
call Predef call Predef
ld hl, $cc97 ld hl, wcc97
ld de, RLEList_PewterGymGuy ld de, RLEList_PewterGymGuy
call DecodeRLEList call DecodeRLEList
ld hl, $d72e ld hl, wd72e
res 7, [hl] res 7, [hl]
ld hl, $d730 ld hl, wd730
set 7, [hl] set 7, [hl]
ld a, $1 ld a, $1
ld [$cf10], a ld [wcf10], a
ret ret
RLEList_PewterGymPlayer: ; 1a5cd (6:65cd) 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? ; XXX why would this function want to return on POKEMONTOWER_7?
Func_1a5e7: ; 1a5e7 (6:65e7) Func_1a5e7: ; 1a5e7 (6:65e7)
ld a, [W_CURMAP] ; $d35e ld a, [W_CURMAP] ; W_CURMAP
cp POKEMONTOWER_7 cp POKEMONTOWER_7
ret z ret z
ld hl, RivalIDs ; $6605 ld hl, RivalIDs ; $6605
@ -280,7 +280,7 @@ Func_1a5e7: ; 1a5e7 (6:65e7)
ret z ret z
jr .loop jr .loop
.notRival .notRival
ld a, [$cf13] ld a, [wcf13]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp SetSpriteMovementBytesToFF jp SetSpriteMovementBytesToFF

View file

@ -2,13 +2,13 @@ OaksAideScript ; 0x59035
ld hl, OaksAideHiText ld hl, OaksAideHiText
call PrintText call PrintText
call YesNoChoice call YesNoChoice
ld a, [$cc26] ld a, [wCurrentMenuItem]
and a and a
jr nz, .asm_59086 ; 0x59042 $42 jr nz, .asm_59086 ; 0x59042 $42
ld hl, wPokedexOwned ld hl, wPokedexOwned
ld b, wPokedexOwnedEnd - wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned
call CountSetBits call CountSetBits
ld a, [$d11e] ld a, [wd11e]
ld [$ffdd], a ld [$ffdd], a
ld b, a ld b, a
ld a, [$ffdb] ld a, [$ffdb]

View file

@ -2,13 +2,13 @@ PrepareOAMData:
; Determine OAM data for currently visible ; Determine OAM data for currently visible
; sprites and write it to wOAMBuffer. ; sprites and write it to wOAMBuffer.
ld a, [$cfcb] ld a, [wcfcb]
dec a dec a
jr z, .asm_4b1e jr z, .asm_4b1e
cp 0 - 1 cp 0 - 1
ret nz ret nz
ld [$cfcb], a ld [wcfcb], a
jp HideSprites jp HideSprites
.asm_4b1e .asm_4b1e
@ -27,7 +27,7 @@ PrepareOAMData:
inc e inc e
inc e inc e
ld a, [de] ; c1x2 (facing/anim) ld a, [de] ; c1x2 (facing/anim)
ld [$d5cd], a ld [wd5cd], a
cp $ff ; off-screen (don't draw) cp $ff ; off-screen (don't draw)
jr nz, .visible jr nz, .visible
@ -92,7 +92,7 @@ PrepareOAMData:
push bc push bc
ld b, a 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) swap a ; high nybble determines sprite used (0 is always player sprite, next are some npcs)
and $f and $f
@ -143,7 +143,7 @@ PrepareOAMData:
ld h, wOAMBuffer / $100 ld h, wOAMBuffer / $100
ld de, $4 ld de, $4
ld b, $a0 ld b, $a0
ld a, [$d736] ld a, [wd736]
bit 6, a bit 6, a
ld a, $a0 ld a, $a0
jr z, .clear jr z, .clear

View file

@ -1,15 +1,15 @@
PewterGuys: ; 37ca1 (d:7ca1) PewterGuys: ; 37ca1 (d:7ca1)
ld hl, $ccd3 ld hl, wccd3
ld a, [$cd38] ld a, [wcd38]
dec a dec a
ld [$cd38], a ld [wcd38], a
ld d, 0 ld d, 0
ld e, a ld e, a
add hl, de add hl, de
ld d, h ld d, h
ld e, l ld e, l
ld hl, PointerTable_37ce6 ld hl, PointerTable_37ce6
ld a, [$d12f] ld a, [wd12f]
add a add a
ld b, 0 ld b, 0
ld c, a ld c, a
@ -37,9 +37,9 @@ PewterGuys: ; 37ca1 (d:7ca1)
ret z ret z
ld [de], a ld [de], a
inc de inc de
ld a, [$cd38] ld a, [wcd38]
inc a inc a
ld [$cd38], a ld [wcd38], a
jr .asm_37cd2 jr .asm_37cd2
.asm_37ce1 .asm_37ce1
inc hl inc hl

View file

@ -1,7 +1,7 @@
Func_70510: ; 70510 (1c:4510) Func_70510: ; 70510 (1c:4510)
call Func_706ef call Func_706ef
ld a, $ec ld a, $ec
ld [$c104], a ld [wSpriteStateData1 + 4], a
call Delay3 call Delay3
push hl push hl
call GBFadeIn2 call GBFadeIn2
@ -11,7 +11,7 @@ Func_70510: ; 70510 (1c:4510)
jr nz, .asm_70568 jr nz, .asm_70568
ld a, (SFX_02_4c - SFX_Headers_02) / 3 ld a, (SFX_02_4c - SFX_Headers_02) / 3
call PlaySound call PlaySound
ld hl, $d732 ld hl, wd732
bit 4, [hl] bit 4, [hl]
res 4, [hl] res 4, [hl]
pop hl pop hl
@ -23,7 +23,7 @@ Func_70510: ; 70510 (1c:4510)
ld a, b ld a, b
and a and a
jr nz, .asm_7055b jr nz, .asm_7055b
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
xor a xor a
ld [hli], a ld [hli], a
inc a inc a
@ -31,7 +31,7 @@ Func_70510: ; 70510 (1c:4510)
ld a, $8 ld a, $8
ld [hli], a ld [hli], a
ld [hl], $ff ld [hl], $ff
ld hl, $cd48 ld hl, wcd48
call Func_70730 call Func_70730
.asm_70558 .asm_70558
call Func_2307 call Func_2307
@ -51,7 +51,7 @@ Func_70510: ; 70510 (1c:4510)
call Func_706d7 call Func_706d7
ld a, (SFX_02_50 - SFX_Headers_02) / 3 ld a, (SFX_02_50 - SFX_Headers_02) / 3
call PlaySound call PlaySound
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
xor a xor a
ld [hli], a ld [hli], a
ld a, $c ld a, $c
@ -80,7 +80,7 @@ FlyAnimationEnterScreenCoords: ; 70592 (1c:4592)
db $3C, $40 db $3C, $40
Func_705aa: ; 705aa (1c:45aa) Func_705aa: ; 705aa (1c:45aa)
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
ld a, $10 ld a, $10
ld [hli], a ld [hli], a
ld a, $3c ld a, $3c
@ -100,7 +100,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
.asm_705c8 .asm_705c8
ld a, (SFX_02_4b - SFX_Headers_02) / 3 ld a, (SFX_02_4b - SFX_Headers_02) / 3
call PlaySound call PlaySound
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
ld a, $f0 ld a, $f0
ld [hli], a ld [hli], a
ld a, $ec ld a, $ec
@ -120,10 +120,10 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
.asm_705ef .asm_705ef
ld a, $4 ld a, $4
call StopMusic call StopMusic
ld a, [$d732] ld a, [wd732]
bit 6, a bit 6, a
jr z, .asm_70610 jr z, .asm_70610
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
ld a, $10 ld a, $10
ld [hli], a ld [hli], a
ld a, $ff ld a, $ff
@ -131,12 +131,12 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
xor a xor a
ld [hli], a ld [hli], a
ld [hl], $a1 ld [hl], $a1
ld hl, $cd48 ld hl, wcd48
call Func_70730 call Func_70730
jr .asm_705c8 jr .asm_705c8
.asm_70610 .asm_70610
call Func_706d7 call Func_706d7
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
ld a, $ff ld a, $ff
ld [hli], a ld [hli], a
ld a, $8 ld a, $8
@ -145,7 +145,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
call Func_706ae call Func_706ae
ld a, (SFX_02_50 - SFX_Headers_02) / 3 ld a, (SFX_02_50 - SFX_Headers_02) / 3
call PlaySound call PlaySound
ld hl, wWhichTrade ; $cd3d ld hl, wWhichTrade ; wWhichTrade
xor a xor a
ld [hli], a ld [hli], a
ld a, $c ld a, $c
@ -155,7 +155,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
call Func_706ae call Func_706ae
ld c, $28 ld c, $28
call DelayFrames call DelayFrames
ld hl, $cd3e ld hl, wTrainerEngageDistance
ld a, $b ld a, $b
ld [hli], a ld [hli], a
ld [hl], $8 ld [hl], $8
@ -200,34 +200,34 @@ FlyAnimationScreenCoords2: ; 70667 (1c:4667)
Func_7067d: ; 7067d (1c:467d) Func_7067d: ; 7067d (1c:467d)
ld a, $ff ld a, $ff
ld [$cfcb], a ld [wcfcb], a
ld a, [$c302] ld a, [wOAMBuffer + $02]
ld [$c30a], a ld [wOAMBuffer + $0a], a
ld a, [$c306] ld a, [wOAMBuffer + $06]
ld [$c30e], a ld [wOAMBuffer + $0e], a
ld a, $a0 ld a, $a0
ld [wOAMBuffer], a ld [wOAMBuffer], a
ld [$c304], a ld [wOAMBuffer + $04], a
ld c, $2 ld c, $2
call DelayFrames call DelayFrames
ld a, $a0 ld a, $a0
ld [$c308], a ld [wOAMBuffer + $08], a
ld [$c30c], a ld [wOAMBuffer + $0c], a
call GBFadeOut2 call GBFadeOut2
ld a, $1 ld a, $1
ld [$cfcb], a ld [wcfcb], a
jp Func_70772 jp Func_70772
Func_706ae: ; 706ae (1c:46ae) Func_706ae: ; 706ae (1c:46ae)
ld a, [$cd3f] ld a, [wTrainerFacingDirection]
xor $1 xor $1
ld [$cd3f], a ld [wTrainerFacingDirection], a
ld [$c102], a ld [wSpriteStateData1 + 2], a
call Delay3 call Delay3
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
cp $ff cp $ff
jr z, .asm_706cd jr z, .asm_706cd
ld hl, $c104 ld hl, wSpriteStateData1 + 4
ld a, [de] ld a, [de]
inc de inc de
ld [hli], a ld [hli], a
@ -236,9 +236,9 @@ Func_706ae: ; 706ae (1c:46ae)
inc de inc de
ld [hl], a ld [hl], a
.asm_706cd .asm_706cd
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
dec a dec a
ld [$cd3e], a ld [wTrainerEngageDistance], a
jr nz, Func_706ae jr nz, Func_706ae
ret ret
@ -253,16 +253,16 @@ Func_706d7: ; 706d7 (1c:46d7)
jp CopyVideoData jp CopyVideoData
Func_706ef: ; 706ef (1c:46ef) Func_706ef: ; 706ef (1c:46ef)
ld a, [$c102] ld a, [wSpriteStateData1 + 2]
ld [$cd50], a ld [wcd50], a
ld a, [$c104] ld a, [wSpriteStateData1 + 4]
ld [$cd4f], a ld [wcd4f], a
ld hl, PlayerSpinningFacingOrder ; $4713 ld hl, PlayerSpinningFacingOrder ; $4713
ld de, $cd48 ld de, wcd48
ld bc, $4 ld bc, $4
call CopyData call CopyData
ld a, [$c102] ld a, [wSpriteStateData1 + 2]
ld hl, $cd48 ld hl, wcd48
.asm_7070d .asm_7070d
cp [hl] cp [hl]
inc hl inc hl
@ -277,32 +277,32 @@ PlayerSpinningFacingOrder: ; 70713 (1c:4713)
Func_70717: ; 70717 (1c:4717) Func_70717: ; 70717 (1c:4717)
ld a, [hl] ld a, [hl]
ld [$c102], a ld [wSpriteStateData1 + 2], a
push hl push hl
ld hl, $cd48 ld hl, wcd48
ld de, $cd47 ld de, wcd47
ld bc, $4 ld bc, $4
call CopyData call CopyData
ld a, [$cd47] ld a, [wcd47]
ld [$cd4b], a ld [wcd4b], a
pop hl pop hl
ret ret
Func_70730: ; 70730 (1c:4730) Func_70730: ; 70730 (1c:4730)
call Func_70717 call Func_70717
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld c, a ld c, a
and $3 and $3
jr nz, .asm_70743 jr nz, .asm_70743
ld a, [$cd40] ld a, [wTrainerScreenY]
cp $ff cp $ff
call nz, PlaySound call nz, PlaySound
.asm_70743 .asm_70743
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
add c add c
ld [wWhichTrade], a ; $cd3d ld [wWhichTrade], a ; wWhichTrade
ld c, a ld c, a
ld a, [$cd3f] ld a, [wTrainerFacingDirection]
cp c cp c
ret z ret z
call DelayFrames call DelayFrames
@ -310,29 +310,29 @@ Func_70730: ; 70730 (1c:4730)
Func_70755: ; 70755 (1c:4755) Func_70755: ; 70755 (1c:4755)
call Func_70717 call Func_70717
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
ld c, a ld c, a
ld a, [$c104] ld a, [wSpriteStateData1 + 4]
add c add c
ld [$c104], a ld [wSpriteStateData1 + 4], a
ld c, a ld c, a
ld a, [$cd3e] ld a, [wTrainerEngageDistance]
cp c cp c
ret z ret z
ld a, [$cd3f] ld a, [wTrainerFacingDirection]
ld c, a ld c, a
call DelayFrames call DelayFrames
jr Func_70755 jr Func_70755
Func_70772: ; 70772 (1c:4772) Func_70772: ; 70772 (1c:4772)
ld a, [$cd4f] ld a, [wcd4f]
ld [$c104], a ld [wSpriteStateData1 + 4], a
ld a, [$cd50] ld a, [wcd50]
ld [$c102], a ld [wSpriteStateData1 + 2], a
ret ret
Func_7077f: ; 7077f (1c:477f) Func_7077f: ; 7077f (1c:477f)
ld a, [$cf1b] ld a, [wcf1b]
xor $1 xor $1
inc a inc a
inc a inc a
@ -341,7 +341,7 @@ Func_7077f: ; 7077f (1c:477f)
Func_70787: ; 70787 (1c:4787) Func_70787: ; 70787 (1c:4787)
ld b, 0 ld b, 0
ld hl, DataTable_707a9 ; $47a9 ld hl, DataTable_707a9 ; $47a9
ld a, [W_CURMAPTILESET] ; $d367 ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
ld c, a ld c, a
.asm_70790 .asm_70790
ld a, [hli] ld a, [hli]
@ -349,7 +349,7 @@ Func_70787: ; 70787 (1c:4787)
jr z, .asm_707a4 jr z, .asm_707a4
cp c cp c
jr nz, .asm_7079e jr nz, .asm_7079e
FuncCoord 8, 9 ; $c45c FuncCoord 8, 9
ld a, [Coord] ld a, [Coord]
cp [hl] cp [hl]
jr z, .asm_707a2 jr z, .asm_707a2
@ -362,10 +362,10 @@ Func_70787: ; 70787 (1c:4787)
ld b, [hl] ld b, [hl]
.asm_707a4 .asm_707a4
ld a, b ld a, b
ld [$cd5b], a ld [wcd5b], a
ret 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) DataTable_707a9: ; 707a9 (1c:47a9)
db FACILITY, $20, 1 ; warp pad db FACILITY, $20, 1 ; warp pad
db FACILITY, $11, 2 ; hole db FACILITY, $11, 2 ; hole
@ -376,7 +376,7 @@ DataTable_707a9: ; 707a9 (1c:47a9)
Func_707b6: ; 707b6 (1c:47b6) Func_707b6: ; 707b6 (1c:47b6)
ld c, $a ld c, $a
call DelayFrames call DelayFrames
ld hl, $d736 ld hl, wd736
set 6, [hl] set 6, [hl]
ld de, RedSprite ; $4180 ld de, RedSprite ; $4180
ld hl, $8000 ld hl, $8000
@ -385,17 +385,17 @@ Func_707b6: ; 707b6 (1c:47b6)
ld a, $4 ld a, $4
ld hl, RedFishingTiles ; $4866 ld hl, RedFishingTiles ; $4866
call Func_71771 call Func_71771
ld a, [$c102] ld a, [wSpriteStateData1 + 2]
ld c, a ld c, a
ld b, $0 ld b, $0
ld hl, FishingRodGfxProperties ; $4856 ld hl, FishingRodGfxProperties ; $4856
add hl, bc add hl, bc
ld de, $c39c ld de, wOAMBuffer + $9c
ld bc, $4 ld bc, $4
call CopyData call CopyData
ld c, $64 ld c, $64
call DelayFrames call DelayFrames
ld a, [wWhichTrade] ; $cd3d ld a, [wWhichTrade] ; wWhichTrade
and a and a
ld hl, NoNibbleText ld hl, NoNibbleText
jr z, .asm_70836 jr z, .asm_70836
@ -404,35 +404,35 @@ Func_707b6: ; 707b6 (1c:47b6)
jr z, .asm_70836 jr z, .asm_70836
ld b, $a ld b, $a
.asm_707fe .asm_707fe
ld hl, $c104 ld hl, wSpriteStateData1 + 4
call Func_70842 call Func_70842
ld hl, $c39c ld hl, wOAMBuffer + $9c
call Func_70842 call Func_70842
call Delay3 call Delay3
dec b dec b
jr nz, .asm_707fe jr nz, .asm_707fe
ld a, [$c102] ld a, [wSpriteStateData1 + 2]
cp $4 cp $4
jr nz, .asm_7081c jr nz, .asm_7081c
ld a, $a0 ld a, $a0
ld [$c39c], a ld [wOAMBuffer + $9c], a
.asm_7081c .asm_7081c
ld hl, $cd4f ld hl, wcd4f
xor a xor a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld a, $4c ld a, $4c
call Predef ; indirect jump to PrintEmotionBubble (17c47 (5:7c47)) call Predef ; indirect jump to PrintEmotionBubble (17c47 (5:7c47))
ld a, [$c102] ld a, [wSpriteStateData1 + 2]
cp $4 cp $4
jr nz, .asm_70833 jr nz, .asm_70833
ld a, $44 ld a, $44
ld [$c39c], a ld [wOAMBuffer + $9c], a
.asm_70833 .asm_70833
ld hl, ItsABiteText ld hl, ItsABiteText
.asm_70836 .asm_70836
call PrintText call PrintText
ld hl, $d736 ld hl, wd736
res 6, [hl] res 6, [hl]
call LoadFontTilePatterns call LoadFontTilePatterns
ret ret
@ -484,20 +484,20 @@ RedFishingTiles: ; 70866 (1c:4866)
dw $8FD0 dw $8FD0
_HandleMidJump: ; 7087e (1c:487e) _HandleMidJump: ; 7087e (1c:487e)
ld a, [$d714] ld a, [wd714]
ld c, a ld c, a
inc a inc a
cp $10 cp $10
jr nc, .asm_70895 jr nc, .asm_70895
ld [$d714], a ld [wd714], a
ld b, $0 ld b, $0
ld hl, PlayerJumpingYScreenCoords ; $48ba ld hl, PlayerJumpingYScreenCoords ; $48ba
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld [$c104], a ; player's sprite y coordinate ld [wSpriteStateData1 + 4], a ; player's sprite y coordinate
ret ret
.asm_70895 .asm_70895
ld a, [wWalkCounter] ; $cfc5 ld a, [wWalkCounter] ; wcfc5
cp $0 cp $0
ret nz ret nz
call UpdateSprites call UpdateSprites
@ -506,10 +506,10 @@ _HandleMidJump: ; 7087e (1c:487e)
ld [hJoyHeld], a ld [hJoyHeld], a
ld [hJoyPressed], a ld [hJoyPressed], a
ld [hJoyReleased], a ld [hJoyReleased], a
ld [$d714], a ld [wd714], a
ld hl, $d736 ld hl, wd736
res 6, [hl] res 6, [hl]
ld hl, $d730 ld hl, wd730
res 7, [hl] res 7, [hl]
xor a xor a
ld [wJoyIgnore], a ld [wJoyIgnore], a

View file

@ -2,7 +2,7 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6)
call SaveScreenTilesToBuffer1 ; save screen call SaveScreenTilesToBuffer1 ; save screen
ld hl, PokemonCenterWelcomeText ld hl, PokemonCenterWelcomeText
call PrintText call PrintText
ld hl, $d72e ld hl, wd72e
bit 2, [hl] bit 2, [hl]
set 1, [hl] set 1, [hl]
set 2, [hl] set 2, [hl]
@ -19,22 +19,22 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6)
ld hl, NeedYourPokemonText ld hl, NeedYourPokemonText
call PrintText call PrintText
ld a, $18 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 call Delay3
PREDEF HealPartyPredef PREDEF HealPartyPredef
callba AnimateHealingMachine ; do the healing machine animation callba AnimateHealingMachine ; do the healing machine animation
xor a xor a
ld [wMusicHeaderPointer], a ld [wMusicHeaderPointer], a
ld a, [$c0f0] ld a, [wc0f0]
ld [$c0ef], a ld [wc0ef], a
ld a, [$d35b] ld a, [wd35b]
ld [$cfca], a ld [wcfca], a
ld [$c0ee], a ld [wc0ee], a
call PlaySound call PlaySound
ld hl, PokemonFightingFitText ld hl, PokemonFightingFitText
call PrintText call PrintText
ld a, $14 ld a, $14
ld [$c112], a ; make the nurse bow ld [wSpriteStateData1 + $12], a ; make the nurse bow
ld c, a ld c, a
call DelayFrames call DelayFrames
jr .done jr .done

View file

@ -1,30 +1,30 @@
DisplayPokemartDialogue_: ; 6c20 (1:6c20) DisplayPokemartDialogue_: ; 6c20 (1:6c20)
ld a,[wListScrollOffset] ld a,[wListScrollOffset]
ld [$d07e],a ld [wd07e],a
call UpdateSprites ; move sprites call UpdateSprites ; move sprites
xor a 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 .loop
xor a xor a
ld [wListScrollOffset],a ld [wListScrollOffset],a
ld [wCurrentMenuItem],a ld [wCurrentMenuItem],a
ld [$cc2f],a ld [wPlayerMonNumber],a
inc a inc a
ld [$cf93],a ld [wcf93],a
ld a,$13 ld a,$13
ld [$d125],a ld [wd125],a
call DisplayTextBoxID ; draw money text box call DisplayTextBoxID ; draw money text box
ld a,$15 ld a,$15
ld [$d125],a ld [wd125],a
call DisplayTextBoxID ; do buy/sell/quit menu 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 a,[hli]
ld l,[hl] ld l,[hl]
ld h,a ; hl = address of inventory ld h,a ; hl = address of inventory
ld a,[$d12e] ld a,[wd12e]
cp a,$02 cp a,$02
jp z,.done jp z,.done
ld a,[$d12d] ; ID of the chosen menu item ld a,[wd12d] ; ID of the chosen menu item
and a ; buying? and a ; buying?
jp z,.buyMenu jp z,.buyMenu
dec a ; selling? dec a ; selling?
@ -33,9 +33,9 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
jp z,.done jp z,.done
.sellMenu .sellMenu
xor a xor a
ld [$cf93],a ld [wcf93],a
ld a,$02 ld a,$02
ld [$d11b],a ld [wd11b],a
callab Func_39bd5 callab Func_39bd5
ld a,[wNumBagItems] ld a,[wNumBagItems]
and a and a
@ -46,15 +46,15 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
.sellMenuLoop .sellMenuLoop
call LoadScreenTilesFromBuffer1 ; restore saved screen call LoadScreenTilesFromBuffer1 ; restore saved screen
ld a,$13 ld a,$13
ld [$d125],a ld [wd125],a
call DisplayTextBoxID ; draw money text box call DisplayTextBoxID ; draw money text box
ld hl,wNumBagItems ld hl,wNumBagItems
ld a,l ld a,l
ld [$cf8b],a ld [wcf8b],a
ld a,h ld a,h
ld [$cf8c],a ld [wcf8c],a
xor a xor a
ld [$cf93],a ld [wcf93],a
ld [wCurrentMenuItem],a ld [wCurrentMenuItem],a
ld a,ITEMLISTMENU ld a,ITEMLISTMENU
ld [wListMenuID],a ld [wListMenuID],a
@ -62,10 +62,10 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
jp c,.returnToMainPokemartMenu ; if the player closed the menu jp c,.returnToMainPokemartMenu ; if the player closed the menu
.confirmItemSale ; if the player is trying to sell a specific item .confirmItemSale ; if the player is trying to sell a specific item
call IsKeyItem ; check if item is unsellable call IsKeyItem ; check if item is unsellable
ld a,[$d124] ld a,[wd124]
and a and a
jr nz,.unsellableItem jr nz,.unsellableItem
ld a,[$cf91] ld a,[wcf91]
call IsItemHM call IsItemHM
jr c,.unsellableItem jr c,.unsellableItem
ld a,PRICEDITEMLISTMENU ld a,PRICEDITEMLISTMENU
@ -81,20 +81,20 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
ld hl,Coord ld hl,Coord
ld bc,$080f ld bc,$080f
ld a,$14 ld a,$14
ld [$d125],a ld [wd125],a
call DisplayTextBoxID ; yes/no menu call DisplayTextBoxID ; yes/no menu
ld a,[$d12e] ld a,[wd12e]
cp a,$02 cp a,$02
jr z,.sellMenuLoop ; if the player pressed the B button 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 dec a
jr z,.sellMenuLoop ; if the player chose No jr z,.sellMenuLoop ; if the player chose No
.sellItem .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 and a
jr nz,.skipSettingFlag1 jr nz,.skipSettingFlag1
inc a inc a
ld [$cf0a],a ld [wcf0a],a
.skipSettingFlag1 .skipSettingFlag1
call AddAmountSoldToMoney call AddAmountSoldToMoney
ld hl,wNumBagItems ld hl,wNumBagItems
@ -111,9 +111,9 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
jp .returnToMainPokemartMenu jp .returnToMainPokemartMenu
.buyMenu .buyMenu
ld a,$01 ld a,$01
ld [$cf93],a ld [wcf93],a
ld a,$03 ld a,$03
ld [$d11b],a ld [wd11b],a
callab Func_39bd5 callab Func_39bd5
ld hl,PokemartBuyingGreetingText ld hl,PokemartBuyingGreetingText
call PrintText call PrintText
@ -121,44 +121,44 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
.buyMenuLoop .buyMenuLoop
call LoadScreenTilesFromBuffer1 ; restore saved screen call LoadScreenTilesFromBuffer1 ; restore saved screen
ld a,$13 ld a,$13
ld [$d125],a ld [wd125],a
call DisplayTextBoxID ; draw money text box call DisplayTextBoxID ; draw money text box
ld hl,$cf7b ld hl,wStringBuffer2 + 11
ld a,l ld a,l
ld [$cf8b],a ld [wcf8b],a
ld a,h ld a,h
ld [$cf8c],a ld [wcf8c],a
xor a xor a
ld [wCurrentMenuItem],a ld [wCurrentMenuItem],a
inc a inc a
ld [$cf93],a ld [wcf93],a
inc a ; a = 2 (PRICEDITEMLISTMENU) inc a ; a = 2 (PRICEDITEMLISTMENU)
ld [wListMenuID],a ld [wListMenuID],a
call DisplayListMenuID call DisplayListMenuID
jr c,.returnToMainPokemartMenu ; if the player closed the menu jr c,.returnToMainPokemartMenu ; if the player closed the menu
ld a,$63 ld a,$63
ld [$cf97],a ld [wcf97],a
xor a xor a
ld [$ff8e],a ld [$ff8e],a
call DisplayChooseQuantityMenu call DisplayChooseQuantityMenu
inc a inc a
jr z,.buyMenuLoop ; if the player closed the choose quantity menu with the B button jr z,.buyMenuLoop ; if the player closed the choose quantity menu with the B button
ld a,[$cf91] ; item ID ld a,[wcf91] ; item ID
ld [$d11e],a ; store item ID for GetItemName ld [wd11e],a ; store item ID for GetItemName
call GetItemName call GetItemName
call CopyStringToCF4B ; copy name to $cf4b call CopyStringToCF4B ; copy name to wcf4b
ld hl,PokemartTellBuyPriceText ld hl,PokemartTellBuyPriceText
call PrintText call PrintText
FuncCoord 14,7 FuncCoord 14,7
ld hl,Coord ld hl,Coord
ld bc,$080f ld bc,$080f
ld a,$14 ld a,$14
ld [$d125],a ld [wd125],a
call DisplayTextBoxID ; yes/no menu call DisplayTextBoxID ; yes/no menu
ld a,[$d12e] ld a,[wd12e]
cp a,$02 cp a,$02
jp z,.buyMenuLoop ; if the player pressed the B button 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 dec a
jr z,.buyMenuLoop ; if the player chose No jr z,.buyMenuLoop ; if the player chose No
.buyItem .buyItem
@ -168,11 +168,11 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
call AddItemToInventory call AddItemToInventory
jr nc,.bagFull jr nc,.bagFull
call SubtractAmountPaidFromMoney 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 and a
jr nz,.skipSettingFlag2 jr nz,.skipSettingFlag2
ld a,$01 ld a,$01
ld [$cf0a],a ld [wcf0a],a
.skipSettingFlag2 .skipSettingFlag2
ld a,(SFX_02_5a - SFX_Headers_02) / 3 ld a,(SFX_02_5a - SFX_Headers_02) / 3
call PlaySoundWaitForCurrent ; play sound call PlaySoundWaitForCurrent ; play sound
@ -183,7 +183,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
.returnToMainPokemartMenu .returnToMainPokemartMenu
call LoadScreenTilesFromBuffer1 ; restore save screen call LoadScreenTilesFromBuffer1 ; restore save screen
ld a,$13 ld a,$13
ld [$d125],a ld [wd125],a
call DisplayTextBoxID ; draw money text box call DisplayTextBoxID ; draw money text box
ld hl,PokemartAnythingElseText ld hl,PokemartAnythingElseText
call PrintText call PrintText
@ -205,9 +205,9 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
ld hl,PokemartThankYouText ld hl,PokemartThankYouText
call PrintText call PrintText
ld a,$01 ld a,$01
ld [$cfcb],a ld [wcfcb],a
call UpdateSprites ; move sprites call UpdateSprites ; move sprites
ld a,[$d07e] ld a,[wd07e]
ld [wListScrollOffset],a ld [wListScrollOffset],a
ret ret

View file

@ -1,10 +1,10 @@
Func_79f54: ; 79f54 (1e:5f54) Func_79f54: ; 79f54 (1e:5f54)
ld a, $1 ld a, $1
ld [$cd50], a ld [wcd50], a
ld a, [$cfcb] ld a, [wcfcb]
push af push af
ld a, $ff ld a, $ff
ld [$cfcb], a ld [wcfcb], a
ld a, $e4 ld a, $e4
ld [rOBP1], a ; $ff49 ld [rOBP1], a ; $ff49
call LoadSmokeTileFourTimes call LoadSmokeTileFourTimes
@ -26,24 +26,24 @@ Func_79f54: ; 79f54 (1e:5f54)
dec c dec c
jr nz, .asm_79f73 jr nz, .asm_79f73
pop af pop af
ld [$cfcb], a ld [wcfcb], a
jp LoadPlayerSpriteGraphics jp LoadPlayerSpriteGraphics
Func_79f92: ; 79f92 (1e:5f92) Func_79f92: ; 79f92 (1e:5f92)
ld a, [$c109] ld a, [wSpriteStateData1 + 9]
ld hl, PointerTable_79fb0 ; $5fb0 ld hl, PointerTable_79fb0 ; $5fb0
ld c, a ld c, a
ld b, $0 ld b, $0
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
ld [$d08a], a ld [wd08a], a
ld a, [hli] ld a, [hli]
ld e, a ld e, a
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
push hl push hl
ld hl, $c390 ld hl, wOAMBuffer + $90
ld d, $0 ld d, $0
add hl, de add hl, de
ld e, l ld e, l

View file

@ -1,7 +1,7 @@
Func_567f9: ; 567f9 (15:67f9) Func_567f9: ; 567f9 (15:67f9)
ld hl, wSpriteStateData1 ld hl, wSpriteStateData1
ld de, $4 ld de, $4
ld a, [$cf13] ld a, [wcf13]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call Func_56903 call Func_56903
ld a, [hli] ld a, [hli]
@ -20,26 +20,26 @@ Func_567f9: ; 567f9 (15:67f9)
Func_56819: ; 56819 (15:6819) Func_56819: ; 56819 (15:6819)
ld hl, wSpriteStateData1 ld hl, wSpriteStateData1
ld de, $0004 ld de, $0004
ld a, [$cf13] ld a, [wcf13]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call Func_56903 call Func_56903
ld a, [hli] ld a, [hli]
ld [$d130], a ld [wd130], a
inc hl inc hl
ld a, [hl] ld a, [hl]
ld [$d131], a ld [wd131], a
ld de, $00fe ld de, $00fe
add hl, de add hl, de
ld a, [hli] ld a, [hli]
ld [$d132], a ld [wd132], a
ld a, [hl] ld a, [hl]
ld [$d133], a ld [wd133], a
ret ret
Func_5683d: ; 5683d (15:683d) Func_5683d: ; 5683d (15:683d)
ld hl, wSpriteStateData1 ld hl, wSpriteStateData1
ld de, $4 ld de, $4
ld a, [$cf13] ld a, [wcf13]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call Func_56903 call Func_56903
ld a, [$ffeb] ld a, [$ffeb]
@ -58,26 +58,26 @@ Func_5683d: ; 5683d (15:683d)
Func_5685d: ; 5685d (15:685d) Func_5685d: ; 5685d (15:685d)
ld hl, wSpriteStateData1 ld hl, wSpriteStateData1
ld de, $0004 ld de, $0004
ld a, [$cf13] ld a, [wcf13]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call Func_56903 call Func_56903
ld a, [$d130] ld a, [wd130]
ld [hli], a ld [hli], a
inc hl inc hl
ld a, [$d131] ld a, [wd131]
ld [hl], a ld [hl], a
ld de, $00fe ld de, $00fe
add hl, de add hl, de
ld a, [$d132] ld a, [wd132]
ld [hli], a ld [hli], a
ld a, [$d133] ld a, [wd133]
ld [hl], a ld [hl], a
ret ret
TrainerWalkUpToPlayer: ; 56881 (15:6881) TrainerWalkUpToPlayer: ; 56881 (15:6881)
ld a, [$cf13] ld a, [wcf13]
swap a swap a
ld [wTrainerSpriteOffset], a ; $cd3d ld [wTrainerSpriteOffset], a ; wWhichTrade
call ReadTrainerScreenPosition call ReadTrainerScreenPosition
ld a, [wTrainerFacingDirection] ld a, [wTrainerFacingDirection]
and a and a
@ -127,7 +127,7 @@ TrainerWalkUpToPlayer: ; 56881 (15:6881)
ld a, $c0 ; a = direction to go to ld a, $c0 ; a = direction to go to
jr .writeWalkScript jr .writeWalkScript
.facingLeft .facingLeft
ld a, [$cd41] ld a, [wTrainerScreenX]
ld b, a ld b, a
ld a, $40 ; (fixed) player screen X pos ld a, $40 ; (fixed) player screen X pos
call CalcDifference call CalcDifference
@ -139,11 +139,11 @@ TrainerWalkUpToPlayer: ; 56881 (15:6881)
ld b, $0 ld b, $0
ld a, $80 ; a = direction to go to ld a, $80 ; a = direction to go to
.writeWalkScript .writeWalkScript
ld hl, $cc97 ld hl, wcc97
ld de, $cc97 ld de, wcc97
call FillMemory ; write the necessary steps to reach player call FillMemory ; write the necessary steps to reach player
ld [hl], $ff ; write end of list sentinel ld [hl], $ff ; write end of list sentinel
ld a, [$cf13] ld a, [wcf13]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp MoveSprite_ jp MoveSprite_
@ -162,7 +162,7 @@ Func_56903: ; 56903 (15:6903)
CheckEngagePlayer: ; 5690f (15:690f) CheckEngagePlayer: ; 5690f (15:690f)
push hl push hl
push de push de
ld a, [wTrainerSpriteOffset] ; $cd3d ld a, [wTrainerSpriteOffset] ; wWhichTrade
add $2 add $2
ld d, $0 ld d, $0
ld e, a ld e, a
@ -173,21 +173,21 @@ CheckEngagePlayer: ; 5690f (15:690f)
jr nz, .spriteOnScreen ; test if sprite is on screen jr nz, .spriteOnScreen ; test if sprite is on screen
jp .noEngage jp .noEngage
.spriteOnScreen .spriteOnScreen
ld a, [wTrainerSpriteOffset] ; $cd3d ld a, [wTrainerSpriteOffset] ; wWhichTrade
add $9 add $9
ld d, $0 ld d, $0
ld e, a ld e, a
ld hl, wSpriteStateData1 ld hl, wSpriteStateData1
add hl, de add hl, de
ld a, [hl] ; c1x9: facing direction ld a, [hl] ; c1x9: facing direction
ld [$cd3f], a ld [wTrainerFacingDirection], a
call ReadTrainerScreenPosition call ReadTrainerScreenPosition
ld a, [$cd40] ; sprite screen Y pos ld a, [wTrainerScreenY] ; sprite screen Y pos
ld b, a ld b, a
ld a, $3c ld a, $3c
cp b cp b
jr z, .linedUpY jr z, .linedUpY
ld a, [$cd41] ; sprite screen X pos ld a, [wTrainerScreenX] ; sprite screen X pos
ld b, a ld b, a
ld a, $40 ld a, $40
cp b cp b
@ -195,7 +195,7 @@ CheckEngagePlayer: ; 5690f (15:690f)
xor a xor a
jp .noEngage jp .noEngage
.linedUpY .linedUpY
ld a, [$cd41] ; sprite screen X pos ld a, [wTrainerScreenX] ; sprite screen X pos
ld b, a ld b, a
ld a, $40 ; (fixed) player X position ld a, $40 ; (fixed) player X position
call CalcDifference ; calc distance call CalcDifference ; calc distance
@ -205,7 +205,7 @@ CheckEngagePlayer: ; 5690f (15:690f)
xor a xor a
jr .noEngage jr .noEngage
.linedUpX .linedUpX
ld a, [$cd40] ; sprite screen Y pos ld a, [wTrainerScreenY] ; sprite screen Y pos
ld b, a ld b, a
ld a, $3c ; (fixed) player Y position ld a, $3c ; (fixed) player Y position
call CalcDifference ; calc distance call CalcDifference ; calc distance
@ -216,7 +216,7 @@ CheckEngagePlayer: ; 5690f (15:690f)
jp .noEngage jp .noEngage
.engage .engage
call CheckPlayerIsInFrontOfSprite call CheckPlayerIsInFrontOfSprite
ld a, [wTrainerSpriteOffset] ; $cd3d ld a, [wTrainerSpriteOffset] ; wWhichTrade
and a and a
jr z, .noEngage jr z, .noEngage
ld hl, wFlags_0xcd60 ld hl, wFlags_0xcd60
@ -224,29 +224,29 @@ CheckEngagePlayer: ; 5690f (15:690f)
call EngageMapTrainer call EngageMapTrainer
ld a, $ff ld a, $ff
.noEngage: ; 56988 (15:6988) .noEngage: ; 56988 (15:6988)
ld [wTrainerSpriteOffset], a ; $cd3d ld [wTrainerSpriteOffset], a ; wWhichTrade
pop de pop de
pop hl pop hl
ret 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) ReadTrainerScreenPosition: ; 5698e (15:698e)
ld a, [wTrainerSpriteOffset] ; $cd3d ld a, [wTrainerSpriteOffset] ; wWhichTrade
add $4 add $4
ld d, $0 ld d, $0
ld e, a ld e, a
ld hl, wSpriteStateData1 ld hl, wSpriteStateData1
add hl, de add hl, de
ld a, [hl] ld a, [hl]
ld [$cd40], a ld [wTrainerScreenY], a
ld a, [wTrainerSpriteOffset] ; $cd3d ld a, [wTrainerSpriteOffset] ; wWhichTrade
add $6 add $6
ld d, $0 ld d, $0
ld e, a ld e, a
ld hl, wSpriteStateData1 ld hl, wSpriteStateData1
add hl, de add hl, de
ld a, [hl] ld a, [hl]
ld [$cd41], a ld [wTrainerScreenX], a
ret 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 ; 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 nc, .checkIfLinedUp
jr .notInLine ; player too far away jr .notInLine ; player too far away
.checkIfLinedUp .checkIfLinedUp
ld a, [$cd3f] ; sprite facing direction ld a, [wTrainerFacingDirection] ; sprite facing direction
cp $0 ; down cp $0 ; down
jr z, .checkXCoord jr z, .checkXCoord
cp $4 ; up cp $4 ; up
@ -270,13 +270,13 @@ CheckSpriteCanSeePlayer: ; 569af (15:69af)
jr z, .checkYCoord jr z, .checkYCoord
jr .notInLine jr .notInLine
.checkXCoord .checkXCoord
ld a, [$cd41] ; sprite screen X position ld a, [wTrainerScreenX] ; sprite screen X position
ld b, a ld b, a
cp $40 cp $40
jr z, .inLine jr z, .inLine
jr .notInLine jr .notInLine
.checkYCoord .checkYCoord
ld a, [$cd40] ; sprite screen Y position ld a, [wTrainerScreenY] ; sprite screen Y position
ld b, a ld b, a
cp $3c cp $3c
jr nz, .notInLine 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) ; tests if the player is in front of the sprite (rather than behind it)
CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3) CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
ld a, [W_CURMAP] ; $d35e ld a, [W_CURMAP] ; W_CURMAP
cp POWER_PLANT cp POWER_PLANT
jp z, .engage ; XXX not sure why bypass this for power plant (maybe to get voltorb fake items to work?) 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 add $4
ld d, $0 ld d, $0
ld e, a 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 jr nz, .notOnTopmostTile ; special case if sprite is on topmost tile (Y = $fc (-4)), make it come down a block
ld a, $c ld a, $c
.notOnTopmostTile .notOnTopmostTile
ld [$cd40], a ld [wTrainerScreenY], a
ld a, [wTrainerSpriteOffset] ; $cd3d ld a, [wTrainerSpriteOffset] ; wWhichTrade
add $6 add $6
ld d, $0 ld d, $0
ld e, a ld e, a
ld hl, wSpriteStateData1 ld hl, wSpriteStateData1
add hl, de add hl, de
ld a, [hl] ; c1x6 (sprite screen X pos) ld a, [hl] ; c1x6 (sprite screen X pos)
ld [$cd41], a ld [wTrainerScreenX], a
ld a, [$cd3f] ; facing direction ld a, [wTrainerFacingDirection] ; facing direction
cp $0 cp $0
jr nz, .notFacingDown jr nz, .notFacingDown
ld a, [$cd40] ; sprite screen Y pos ld a, [wTrainerScreenY] ; sprite screen Y pos
cp $3c cp $3c
jr c, .engage ; sprite above player jr c, .engage ; sprite above player
jr .noEngage ; sprite below player jr .noEngage ; sprite below player
.notFacingDown .notFacingDown
cp $4 cp $4
jr nz, .notFacingUp jr nz, .notFacingUp
ld a, [$cd40] ; sprite screen Y pos ld a, [wTrainerScreenY] ; sprite screen Y pos
cp $3c cp $3c
jr nc, .engage ; sprite below player jr nc, .engage ; sprite below player
jr .noEngage ; sprite above player jr .noEngage ; sprite above player
.notFacingUp .notFacingUp
cp $8 cp $8
jr nz, .notFacingLeft jr nz, .notFacingLeft
ld a, [$cd41] ; sprite screen X pos ld a, [wTrainerScreenX] ; sprite screen X pos
cp $40 cp $40
jr nc, .engage ; sprite right of player jr nc, .engage ; sprite right of player
jr .noEngage ; sprite left of player jr .noEngage ; sprite left of player
.notFacingLeft .notFacingLeft
ld a, [$cd41] ; sprite screen X pos ld a, [wTrainerScreenX] ; sprite screen X pos
cp $40 cp $40
jr nc, .noEngage ; sprite right of player jr nc, .noEngage ; sprite right of player
.engage .engage
@ -343,5 +343,5 @@ CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
.noEngage .noEngage
xor a xor a
.done .done
ld [wTrainerSpriteOffset], a ; $cd3d ld [wTrainerSpriteOffset], a ; wWhichTrade
ret ret

View file

@ -3,7 +3,7 @@ Func_71ddf: ; 71ddf (1c:5ddf)
ld a, b ld a, b
cp $ff cp $ff
jr nz, .asm_71dea jr nz, .asm_71dea
ld a, [$cf1c] ld a, [wcf1c]
.asm_71dea .asm_71dea
cp $fc cp $fc
jp z, Func_71fc2 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 ; uses PalPacket_Empty to build a packet based on mon IDs and health color
BuildBattlePalPacket: ; 71e06 (1c:5e06) BuildBattlePalPacket: ; 71e06 (1c:5e06)
ld hl, PalPacket_Empty ld hl, PalPacket_Empty
ld de, $cf2d ld de, wcf2d
ld bc, $10 ld bc, $10
call CopyData call CopyData
ld a, [W_PLAYERBATTSTATUS3] ld a, [W_PLAYERBATTSTATUS3]
@ -38,12 +38,12 @@ BuildBattlePalPacket: ; 71e06 (1c:5e06)
ld hl, W_ENEMYMONID ld hl, W_ENEMYMONID
call DeterminePaletteID call DeterminePaletteID
ld c, a ld c, a
ld hl, $cf2e ld hl, wcf2e
ld a, [$cf1d] ld a, [wcf1d]
add PAL_GREENBAR add PAL_GREENBAR
ld [hli], a ld [hli], a
inc hl inc hl
ld a, [$cf1e] ld a, [wcf1e]
add PAL_GREENBAR add PAL_GREENBAR
ld [hli], a ld [hli], a
inc hl inc hl
@ -52,10 +52,10 @@ BuildBattlePalPacket: ; 71e06 (1c:5e06)
inc hl inc hl
ld a, c ld a, c
ld [hl], a ld [hl], a
ld hl, $cf2d ld hl, wcf2d
ld de, BlkPacket_Battle ld de, BlkPacket_Battle
ld a, $1 ld a, $1
ld [$cf1c], a ld [wcf1c], a
ret ret
SendPalPacket_TownMap: ; 71e48 (1c:5e48) 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 ; uses PalPacket_Empty to build a packet based the mon ID
BuildStatusScreenPalPacket: ; 71e4f (1c:5e4f) BuildStatusScreenPalPacket: ; 71e4f (1c:5e4f)
ld hl, PalPacket_Empty ld hl, PalPacket_Empty
ld de, $cf2d ld de, wcf2d
ld bc, $10 ld bc, $10
call CopyData call CopyData
ld a, [$cf91] ld a, [wcf91]
cp VICTREEBEL + 1 cp VICTREEBEL + 1
jr c, .pokemon jr c, .pokemon
ld a, $1 ; not pokemon ld a, $1 ; not pokemon
.pokemon .pokemon
call DeterminePaletteIDOutOfBattle call DeterminePaletteIDOutOfBattle
push af push af
ld hl, $cf2e ld hl, wcf2e
ld a, [$cf25] ld a, [wcf25]
add $1f add $1f
ld [hli], a ld [hli], a
inc hl inc hl
pop af pop af
ld [hl], a ld [hl], a
ld hl, $cf2d ld hl, wcf2d
ld de, BlkPacket_StatusScreen ld de, BlkPacket_StatusScreen
ret ret
SendPalPacket_PartyMenu: ; 71e7b (1c:5e7b) SendPalPacket_PartyMenu: ; 71e7b (1c:5e7b)
ld hl, PalPacket_PartyMenu ld hl, PalPacket_PartyMenu
ld de, $cf2e ld de, wcf2e
ret ret
SendPalPacket_Pokedex: ; 71e82 (1c:5e82) SendPalPacket_Pokedex: ; 71e82 (1c:5e82)
ld hl, PalPacket_Pokedex ld hl, PalPacket_Pokedex
ld de, $cf2d ld de, wcf2d
ld bc, $10 ld bc, $10
call CopyData call CopyData
ld a, [$cf91] ld a, [wcf91]
call DeterminePaletteIDOutOfBattle call DeterminePaletteIDOutOfBattle
ld hl, $cf30 ld hl, wcf30
ld [hl], a ld [hl], a
ld hl, $cf2d ld hl, wcf2d
ld de, BlkPacket_Pokedex ld de, BlkPacket_Pokedex
ret ret
@ -130,13 +130,13 @@ SendPalPacket_GameFreakIntro: ; 71ebb (1c:5ebb)
ld hl, PalPacket_GameFreakIntro ld hl, PalPacket_GameFreakIntro
ld de, BlkPacket_GameFreakIntro ld de, BlkPacket_GameFreakIntro
ld a, $8 ld a, $8
ld [$cf1c], a ld [wcf1c], a
ret ret
; uses PalPacket_Empty to build a packet based on the current map ; uses PalPacket_Empty to build a packet based on the current map
BuildOverworldPalPacket: ; 71ec7 (1c:5ec7) BuildOverworldPalPacket: ; 71ec7 (1c:5ec7)
ld hl, PalPacket_Empty ld hl, PalPacket_Empty
ld de, $cf2d ld de, wcf2d
ld bc, $10 ld bc, $10
call CopyData call CopyData
ld a, [W_CURMAPTILESET] ld a, [W_CURMAPTILESET]
@ -163,11 +163,11 @@ BuildOverworldPalPacket: ; 71ec7 (1c:5ec7)
ld a, PAL_ROUTE - 1 ld a, PAL_ROUTE - 1
.town .town
inc a ; a town's pallete ID is its map ID + 1 inc a ; a town's pallete ID is its map ID + 1
ld hl, $cf2e ld hl, wcf2e
ld [hld], a ld [hld], a
ld de, BlkPacket_WholeScreen ld de, BlkPacket_WholeScreen
ld a, $9 ld a, $9
ld [$cf1c], a ld [wcf1c], a
ret ret
.PokemonTowerOrAgatha .PokemonTowerOrAgatha
ld a, PAL_GREYMON - 1 ld a, PAL_GREYMON - 1
@ -184,7 +184,7 @@ BuildOverworldPalPacket: ; 71ec7 (1c:5ec7)
SendPokemonPalette_WholeScreen: ; 71f17 (1c:5f17) SendPokemonPalette_WholeScreen: ; 71f17 (1c:5f17)
push bc push bc
ld hl, PalPacket_Empty ld hl, PalPacket_Empty
ld de, $cf2d ld de, wcf2d
ld bc, $10 ld bc, $10
call CopyData call CopyData
pop bc pop bc
@ -192,21 +192,21 @@ SendPokemonPalette_WholeScreen: ; 71f17 (1c:5f17)
and a and a
ld a, $1e ld a, $1e
jr nz, .asm_71f31 jr nz, .asm_71f31
ld a, [$cf1d] ld a, [wcf1d]
call DeterminePaletteIDOutOfBattle call DeterminePaletteIDOutOfBattle
.asm_71f31 .asm_71f31
ld [$cf2e], a ld [wcf2e], a
ld hl, $cf2d ld hl, wcf2d
ld de, BlkPacket_WholeScreen ld de, BlkPacket_WholeScreen
ret ret
BuildTrainerCardPalPacket: ; 71f3b (1c:5f3b) BuildTrainerCardPalPacket: ; 71f3b (1c:5f3b)
ld hl, BlkPacket_TrainerCard ld hl, BlkPacket_TrainerCard
ld de, $cc5b ld de, wcc5b
ld bc, $40 ld bc, $40
call CopyData call CopyData
ld de, LoopCounts_71f8f ld de, LoopCounts_71f8f
ld hl, $cc5d ld hl, wcc5d
ld a, [W_OBTAINEDBADGES] ld a, [W_OBTAINEDBADGES]
ld c, $8 ld c, $8
.asm_71f52 .asm_71f52
@ -235,7 +235,7 @@ BuildTrainerCardPalPacket: ; 71f3b (1c:5f3b)
dec c dec c
jr nz, .asm_71f52 jr nz, .asm_71f52
ld hl, PalPacket_TrainerCard ld hl, PalPacket_TrainerCard
ld de, $cc5b ld de, wcc5b
ret ret
PointerTable_71f73: ; 71f73 (1c:5f73) PointerTable_71f73: ; 71f73 (1c:5f73)
@ -264,14 +264,14 @@ DeterminePaletteID: ; 71f97 (1c:5f97)
ret nz ret nz
ld a, [hl] ld a, [hl]
DeterminePaletteIDOutOfBattle: ; 71f9d (1c:5f9d) DeterminePaletteIDOutOfBattle: ; 71f9d (1c:5f9d)
ld [$D11E], a ld [wd11e], a
and a and a
jr z, .idZero jr z, .idZero
push bc push bc
ld a, $3A ld a, $3A
call Predef ; turn Pokemon ID number into Pokedex number call Predef ; turn Pokemon ID number into Pokedex number
pop bc pop bc
ld a, [$D11E] ld a, [wd11e]
.idZero .idZero
ld e, a ld e, a
ld d, $00 ld d, $00
@ -282,13 +282,13 @@ DeterminePaletteIDOutOfBattle: ; 71f9d (1c:5f9d)
SendBlkPacket_PartyMenu: ; 71fb6 (1c:5fb6) SendBlkPacket_PartyMenu: ; 71fb6 (1c:5fb6)
ld hl, BlkPacket_PartyMenu ; $62f4 ld hl, BlkPacket_PartyMenu ; $62f4
ld de, $cf2e ld de, wcf2e
ld bc, $30 ld bc, $30
jp CopyData jp CopyData
Func_71fc2: ; 71fc2 (1c:5fc2) Func_71fc2: ; 71fc2 (1c:5fc2)
ld hl, $cf1f ld hl, wcf1f
ld a, [$cf2d] ld a, [wcf2d]
ld e, a ld e, a
ld d, $0 ld d, $0
add hl, de add hl, de
@ -304,9 +304,9 @@ Func_71fc2: ; 71fc2 (1c:5fc2)
ld e, $f ld e, $f
.asm_71fdb .asm_71fdb
push de push de
ld hl, $cf37 ld hl, wcf37
ld bc, $6 ld bc, $6
ld a, [$cf2d] ld a, [wcf2d]
call AddNTimes call AddNTimes
pop de pop de
ld [hl], e ld [hl], e
@ -381,12 +381,12 @@ SendSGBPacket: ; 71feb (1c:5feb)
LoadSGBBorderAndPalettes: ; 7202b (1c:602b) LoadSGBBorderAndPalettes: ; 7202b (1c:602b)
xor a xor a
ld [$cf1b], a ld [wcf1b], a
call Func_7209b call Func_7209b
ret nc ret nc
ld a, $1 ld a, $1
ld [$cf1b], a ld [wcf1b], a
ld a, [$cf1a] ld a, [wGBC]
and a and a
jr z, .asm_7203f jr z, .asm_7203f
ret ret
@ -395,17 +395,17 @@ LoadSGBBorderAndPalettes: ; 7202b (1c:602b)
call Func_72075 call Func_72075
ei ei
ld a, $1 ld a, $1
ld [$cf2d], a ld [wcf2d], a
ld de, PalPacket_72508 ld de, PalPacket_72508
ld hl, SGBBorderGraphics ld hl, SGBBorderGraphics
call Func_7210b call Func_7210b
xor a xor a
ld [$cf2d], a ld [wcf2d], a
ld de, PalPacket_72518 ld de, PalPacket_72518
ld hl, BorderPalettes ld hl, BorderPalettes
call Func_7210b call Func_7210b
xor a xor a
ld [$cf2d], a ld [wcf2d], a
ld de, PalPacket_724d8 ld de, PalPacket_724d8
ld hl, SuperPalettes ld hl, SuperPalettes
call Func_7210b call Func_7210b
@ -504,7 +504,7 @@ Func_7210b: ; 7210b (1c:610b)
ld a, $e4 ld a, $e4
ld [rBGP], a ; $ff47 ld [rBGP], a ; $ff47
ld de, $8800 ld de, $8800
ld a, [$cf2d] ld a, [wcf2d]
and a and a
jr z, .asm_72122 jr z, .asm_72122
call Func_72188 call Func_72188
@ -551,7 +551,7 @@ Wait7000: ; 7214a (1c:614a)
ret ret
Func_72156: ; 72156 (1c:6156) Func_72156: ; 72156 (1c:6156)
ld a, [$cf1a] ld a, [wGBC]
and a and a
jr z, .asm_72165 jr z, .asm_72165
push de push de

View file

@ -1,43 +1,43 @@
Func_18dee: ; 18dee (6:4dee) Func_18dee: ; 18dee (6:4dee)
call Func_18e36 call Func_18e36
ld a, [$d732] ld a, [wd732]
bit 0, a bit 0, a
ret z ret z
ld a, [W_PLAYTIMEMINUTES] ; $da42 ld a, [W_PLAYTIMEMINUTES] ; wda42
and a and a
ret nz ret nz
ld a, [W_PLAYTIMEFRAMES] ; $da45 ld a, [W_PLAYTIMEFRAMES] ; wda45
inc a inc a
ld [W_PLAYTIMEFRAMES], a ; $da45 ld [W_PLAYTIMEFRAMES], a ; wda45
cp 60 cp 60
ret nz ret nz
xor a xor a
ld [W_PLAYTIMEFRAMES], a ; $da45 ld [W_PLAYTIMEFRAMES], a ; wda45
ld a, [W_PLAYTIMESECONDS] ; $da44 ld a, [W_PLAYTIMESECONDS] ; wda44
inc a inc a
ld [W_PLAYTIMESECONDS], a ; $da44 ld [W_PLAYTIMESECONDS], a ; wda44
cp 60 cp 60
ret nz ret nz
xor a xor a
ld [W_PLAYTIMESECONDS], a ; $da44 ld [W_PLAYTIMESECONDS], a ; wda44
ld a, [$da43] ld a, [W_PLAYTIMEMINUTES + 1]
inc a inc a
ld [$da43], a ld [W_PLAYTIMEMINUTES + 1], a
cp 60 cp 60
ret nz ret nz
xor a xor a
ld [$da43], a ld [W_PLAYTIMEMINUTES + 1], a
ld a, [$da41] ld a, [W_PLAYTIMEHOURS + 1]
inc a inc a
ld [$da41], a ld [W_PLAYTIMEHOURS + 1], a
cp $ff cp $ff
ret nz ret nz
ld a, $ff ld a, $ff
ld [W_PLAYTIMEMINUTES], a ; $da42 ld [W_PLAYTIMEMINUTES], a ; wda42
ret ret
Func_18e36: ; 18e36 (6:4e36) Func_18e36: ; 18e36 (6:4e36)
ld a, [$d13a] ld a, [wd13a]
and a and a
jr nz, .asm_18e40 jr nz, .asm_18e40
ld a, $ff ld a, $ff
@ -45,15 +45,15 @@ Func_18e36: ; 18e36 (6:4e36)
.asm_18e40 .asm_18e40
dec a dec a
.asm_18e41 .asm_18e41
ld [$d13a], a ld [wd13a], a
and a and a
ret nz ret nz
ld a, [$d730] ld a, [wd730]
res 1, a res 1, a
res 2, a res 2, a
bit 5, a bit 5, a
res 5, a res 5, a
ld [$d730], a ld [wd730], a
ret z ret z
xor a xor a
ld [hJoyPressed], a ld [hJoyPressed], a

View file

@ -2,12 +2,12 @@ DisplayDexRating: ; 44169 (11:4169)
ld hl, wPokedexSeen ld hl, wPokedexSeen
ld b, wPokedexSeenEnd - wPokedexSeen ld b, wPokedexSeenEnd - wPokedexSeen
call CountSetBits call CountSetBits
ld a, [$D11E] ; result of CountSetBits (seen count) ld a, [wd11e] ; result of CountSetBits (seen count)
ld [$FFDB], a ld [$FFDB], a
ld hl, wPokedexOwned ld hl, wPokedexOwned
ld b, wPokedexOwnedEnd - wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned
call CountSetBits call CountSetBits
ld a, [$D11E] ; result of CountSetBits (own count) ld a, [wd11e] ; result of CountSetBits (own count)
ld [$FFDC], a ld [$FFDC], a
ld hl, DexRatingsTable ld hl, DexRatingsTable
.findRating .findRating
@ -23,10 +23,10 @@ DisplayDexRating: ; 44169 (11:4169)
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ; load text pointer into hl ld l, a ; load text pointer into hl
ld a, [$D747] ld a, [wd747]
bit 3, a bit 3, a
res 3, a res 3, a
ld [$D747], a ld [wd747], a
jr nz, .label3 jr nz, .label3
push hl push hl
ld hl, PokedexRatingText_441cc ld hl, PokedexRatingText_441cc
@ -36,7 +36,7 @@ DisplayDexRating: ; 44169 (11:4169)
callba Func_7d13b callba Func_7d13b
jp WaitForTextScrollButtonPress ; wait for button press jp WaitForTextScrollButtonPress ; wait for button press
.label3 .label3
ld de, $CC5B ld de, wcc5b
ld a, [$FFDB] ld a, [$FFDB]
ld [de], a ld [de], a
inc de inc de

View file

@ -1,25 +1,20 @@
GetPredefPointer: ; 4fe49 (13:7e49) GetPredefPointer:
; stores hl in $CC4F,$CC50 ; Store the contents of the register
; stores de in $CC51,$CC52 ; pairs (hl, de, bc) at wPredefRegisters.
; stores bc in $CC53,$CC54 ; Then put the bank and address of predef
; grabs a byte "n" from $CC4E, ; wPredefID in [wPredefBank] and hl.
; 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
; ld $CC51,de ld a,h
ld hl,$CC51 ld [wPredefRegisters],a
ld a,l
ld [wPredefRegisters + 1],a
ld hl,wPredefRegisters + 2
ld a,d ld a,d
ld [hli],a ld [hli],a
ld a,e ld a,e
ld [hli],a ld [hli],a
; ld $CC53,bc
ld a,b ld a,b
ld [hli],a ld [hli],a
ld [hl],c ld [hl],c
@ -27,11 +22,10 @@ GetPredefPointer: ; 4fe49 (13:7e49)
ld hl,PredefPointers ld hl,PredefPointers
ld de,0 ld de,0
; de = 3 * [$CC4E] ld a,[wPredefID]
ld a,[$CC4E]
ld e,a ld e,a
add a,a add a
add a,e add e
ld e,a ld e,a
jr nc,.next jr nc,.next
inc d inc d
@ -43,7 +37,7 @@ GetPredefPointer: ; 4fe49 (13:7e49)
; get bank of predef routine ; get bank of predef routine
ld a,[de] ld a,[de]
ld [$D0B7],a ld [wPredefBank],a
; get pointer ; get pointer
inc de inc de

View file

@ -13,7 +13,7 @@ Func_480eb: ; 480eb (12:40eb)
Func_480ff: ; 480ff (12:40ff) Func_480ff: ; 480ff (12:40ff)
call GetPredefRegisters call GetPredefRegisters
ld a, $1 ld a, $1
ld [$d0a0], a ld [wd0a0], a
xor a xor a
.asm_48108 .asm_48108
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND) ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
@ -23,7 +23,7 @@ Func_480ff: ; 480ff (12:40ff)
ld a, b ld a, b
jr nz, .asm_48108 jr nz, .asm_48108
xor a xor a
ld [$d0a0], a ld [wd0a0], a
ret ret
Func_48119: ; 48119 (12:4119) Func_48119: ; 48119 (12:4119)

View file

@ -2,9 +2,9 @@
; so that the full Pokedex information gets displayed in Oak's lab ; so that the full Pokedex information gets displayed in Oak's lab
DisplayStarterMonDex: ; 5c0dc (17:40dc) DisplayStarterMonDex: ; 5c0dc (17:40dc)
ld a, %01001011 ; set starter flags ld a, %01001011 ; set starter flags
ld [wPokedexOwned], a ; $d2f7 ld [wPokedexOwned], a ; wPokedexOwned
ld a, $3d ld a, $3d
call Predef ; indirect jump to ShowPokedexData (402d1 (10:42d1)) call Predef ; indirect jump to ShowPokedexData (402d1 (10:42d1))
xor a ; unset starter flags xor a ; unset starter flags
ld [wPokedexOwned], a ; $d2f7 ld [wPokedexOwned], a ; wPokedexOwned
ret ret

Some files were not shown because too many files have changed in this diff Show more