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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,14 @@
SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile)
; Overload W_GRASSMONS
wd893 EQU $d893 ; W_GRASSMONS + 11
wd896 EQU $d896 ; W_GRASSMONS + 14
; Overload enemy party data
W_WATERRATE EQU $d8a4
W_WATERMONS EQU $d8a5
W_WATERRATE EQU $d8a4 ; wEnemyMon1Species
W_WATERMONS EQU $d8a5 ; wEnemyMon1Species + 1
; Overload enemy stat modifiers
wTradeMonNick EQU $cd1e
wTradeMonNick EQU $cd1e ; wPlayerMonAccuracyMod

View File

@ -263,7 +263,7 @@ MapHSPointers: ; c8f5 (3:48f5)
; a) Map_ID = $FF
; b) Map_ID ≠ currentMapID
;
; This Data is loaded into RAM at $D5CE-$D5F?. (W_MISSABLEOBJECTLIST)
; This Data is loaded into RAM at wd5ce-$D5F?. (W_MISSABLEOBJECTLIST)
; These constants come from the bytes for Predef functions:
Hide equ $11

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -11,10 +11,10 @@ DecrementPP: ; 68000 (1a:4000)
ret nz ; if any of these statuses are true, don't decrement PP
bit 6, [hl] ; check 6th bit status flag on W_PLAYERBATTSTATUS2
ret nz ; and return if it is set
ld hl, $D02D ; PP of first move (in battle)
ld hl, W_PLAYERMONPP ; PP of first move (in battle)
call .DecrementPP
ld a, [$D064] ; load pokemon status bits?
ld a, [W_PLAYERBATTSTATUS3] ; load pokemon status bits?
bit 3, a ; XXX transform status?
ret nz ; If it is, return. Pokemon Red stores the "current pokemon's" PP
; separately from the "Pokemon in your party's" PP. This is
@ -26,12 +26,12 @@ DecrementPP: ; 68000 (1a:4000)
; its opponent, which is *not* the same as its real PP as part of your
; party. So we return, and don't do that part.
ld hl, $D188 ; PP of first move (in party)
ld a, [$CC2F] ; which mon in party is active
ld hl, W_PARTYMON1_MOVE1PP ; PP of first move (in party)
ld a, [wPlayerMonNumber] ; which mon in party is active
ld bc, $2C ; XXX probably size of party pokemon's data structure
call AddNTimes ; calculate address of the mon to modify
.DecrementPP
ld a, [$CC2E] ; which move (0, 1, 2, 3) did we use?
ld a, [wPlayerMoveListIndex] ; which move (0, 1, 2, 3) did we use?
ld c, a
ld b, 0
add hl ,bc ; calculate the address in memory of the PP we need to decrement

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
GetMachinePrice: ; 7bf86 (1e:7f86)
ld a, [$cf91]
ld a, [wcf91]
sub TM_01
ret c
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)
ld a, [wWhichPokemon]
ld hl, W_PARTYMON1_MOVE1
ld bc, $2c
call AddNTimes
ld a, [$d0e0]
ld a, [wd0e0]
ld b, a
ld c, $4 ; nubmer of moves
.loop

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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