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

@ -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

View file

@ -1,10 +1,10 @@
; updates the types of a party mon (pointed to in hl) to the ones of the mon specified in $d11e
; updates the types of a party mon (pointed to in hl) to the ones of the mon specified in wd11e
SetPartyMonTypes: ; 5db5e (17:5b5e)
call GetPredefRegisters
ld bc, W_PARTYMON1_TYPE1 - W_PARTYMON1DATA ; $5
add hl, bc
ld a, [$d11e]
ld [$d0b5], a
ld a, [wd11e]
ld [wd0b5], a
push hl
call GetMonHeader
pop hl

View file

@ -1,28 +1,28 @@
Func_1c9c6: ; 1c9c6 (7:49c6)
ld hl, WhichFloorText
call PrintText
ld hl, $cf7b
ld hl, wStringBuffer2 + 11
ld a, l
ld [$cf8b], a
ld [wcf8b], a
ld a, h
ld [$cf8c], a
ld a, [wListScrollOffset] ; $cc36
ld [wcf8c], a
ld a, [wListScrollOffset] ; wcc36
push af
xor a
ld [wCurrentMenuItem], a ; $cc26
ld [wListScrollOffset], a ; $cc36
ld [$cf93], a
ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld [wListScrollOffset], a ; wcc36
ld [wcf93], a
ld a, $4
ld [wListMenuID], a ; $cf94
ld [wListMenuID], a ; wListMenuID
call DisplayListMenuID
pop bc
ld a, b
ld [wListScrollOffset], a ; $cc36
ld [wListScrollOffset], a ; wcc36
ret c
ld hl, $d126
ld hl, wd126
set 7, [hl]
ld hl, $cc5b
ld a, [wWhichPokemon] ; $cf92
ld hl, wcc5b
ld a, [wWhichPokemon] ; wWhichPokemon
add a
ld d, $0
ld e, a
@ -31,7 +31,7 @@ Func_1c9c6: ; 1c9c6 (7:49c6)
ld b, a
ld a, [hl]
ld c, a
ld hl, $d3af
ld hl, wd3af
call Func_1ca0d
Func_1ca0d: ; 1ca0d (7:4a0d)

View file

@ -13,7 +13,7 @@ LoadSAV: ; 735e8 (1c:75e8)
ld a, $2 ; good checksum
jr .goodsum
.badsum
ld hl, $d730
ld hl, wd730
push hl
set 6, [hl]
ld hl, FileDataDestroyedText
@ -24,7 +24,7 @@ LoadSAV: ; 735e8 (1c:75e8)
res 6, [hl]
ld a, $1 ; bad checksum
.goodsum
ld [$d088], a ; checksum flag
ld [wd088], a ; checksum flag
ret
FileDataDestroyedText: ; 7361e (1c:761e)
@ -54,14 +54,14 @@ LoadSAVCheckSum: ; 73623 (1c:7623)
.Func_73652 ; 73652 (1c:7652)
ld hl, $a598
ld de, W_PLAYERNAME ; $d158
ld de, W_PLAYERNAME ; wd158
ld bc, $b
call CopyData
ld hl, $a5a3
ld de, wPokedexOwned ; $d2f7
ld de, wPokedexOwned ; wPokedexOwned
ld bc, $789
call CopyData
ld hl, W_CURMAPTILESET ; $d367
ld hl, W_CURMAPTILESET ; W_CURMAPTILESET
set 7, [hl]
ld hl, $ad2c
ld de, wSpriteStateData1
@ -70,7 +70,7 @@ LoadSAVCheckSum: ; 73623 (1c:7623)
ld a, [$b522]
ld [$ffd7], a
ld hl, $b0c0
ld de, W_NUMINBOX ; $da80
ld de, W_NUMINBOX ; wda80
ld bc, $462
call CopyData
and a
@ -90,7 +90,7 @@ LoadSAVCheckSum1: ; 73690 (1c:7690)
cp c
jr nz, SAVBadCheckSum
ld hl, $b0c0
ld de, W_NUMINBOX ; $da80
ld de, W_NUMINBOX ; wda80
ld bc, $462
call CopyData
and a
@ -110,11 +110,11 @@ LoadSAVCheckSum2: ; 736bd (1c:76bd)
cp c
jp nz, SAVBadCheckSum
ld hl, $af2c
ld de, W_NUMINPARTY ; $d163
ld de, W_NUMINPARTY ; W_NUMINPARTY
ld bc, $194
call CopyData
ld hl, $a5a3
ld de, wPokedexOwned ; $d2f7
ld de, wPokedexOwned ; wPokedexOwned
ld bc, wPokedexSeenEnd - wPokedexOwned
call CopyData
and a
@ -140,7 +140,7 @@ SaveSAV: ;$770a
call SaveSAVConfirm
and a ;|0 = Yes|1 = No|
ret nz
ld a,[$d088]
ld a,[wd088]
dec a
jr z,.save
call SAVCheckRandomID
@ -178,9 +178,9 @@ SaveSAVConfirm: ; 73768 (1c:7768)
ld hl,Coord
ld bc,$0801 ;arrow's coordinates |b = Y|c = X|
ld a,$14 ;one line shifting ($28 = 2 lines)
ld [$d125],a
ld [wd125],a
call DisplayTextBoxID ;handle Yes/No KeyPress
ld a,[$cc26]
ld a,[wCurrentMenuItem]
ret
WouldYouLikeToSaveText: ; 0x7377d
@ -201,11 +201,11 @@ SaveSAVtoSRAM0: ; 7378c (1c:778c)
ld a, $1
ld [$6000], a
ld [$4000], a
ld hl, W_PLAYERNAME ; $d158
ld hl, W_PLAYERNAME ; wd158
ld de, $a598
ld bc, $b
call CopyData
ld hl, wPokedexOwned ; $d2f7
ld hl, wPokedexOwned ; wPokedexOwned
ld de, $a5a3
ld bc, $789
call CopyData
@ -213,7 +213,7 @@ SaveSAVtoSRAM0: ; 7378c (1c:778c)
ld de, $ad2c
ld bc, $200
call CopyData
ld hl, W_NUMINBOX ; $da80
ld hl, W_NUMINBOX ; wda80
ld de, $b0c0
ld bc, $462
call CopyData
@ -235,7 +235,7 @@ SaveSAVtoSRAM1: ; 737e2 (1c:77e2)
ld a, $1
ld [$6000], a
ld [$4000], a
ld hl, W_NUMINBOX ; $da80
ld hl, W_NUMINBOX ; wda80
ld de, $b0c0
ld bc, $462
call CopyData
@ -254,7 +254,7 @@ SaveSAVtoSRAM2: ; 7380f (1c:780f)
ld a, $1
ld [$6000], a
ld [$4000], a
ld hl, W_NUMINPARTY ; $d163
ld hl, W_NUMINPARTY ; W_NUMINPARTY
ld de, $af2c
ld bc, $194
call CopyData
@ -273,7 +273,7 @@ SaveSAVtoSRAM2: ; 7380f (1c:780f)
SaveSAVtoSRAM: ; 73848 (1c:7848)
ld a, $2
ld [$d088], a
ld [wd088], a
call SaveSAVtoSRAM0
call SaveSAVtoSRAM1
jp SaveSAVtoSRAM2
@ -312,7 +312,7 @@ Func_73863: ; 73863 (1c:7863)
Func_7387b: ; 7387b (1c:787b)
ld hl, PointerTable_73895 ; $7895
ld a, [$d5a0]
ld a, [wd5a0]
and $7f
cp $6
ld b, $2
@ -341,10 +341,10 @@ Func_738a1:: ; 738a1 (1c:78a1)
ld hl, WhenYouChangeBoxText
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem] ; $cc26
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a
ret nz
ld hl, $d5a0
ld hl, wd5a0
bit 7, [hl]
call z, Func_73a29
call Func_7393f
@ -359,16 +359,16 @@ Func_738a1:: ; 738a1 (1c:78a1)
call Func_7387b
ld e, l
ld d, h
ld hl, W_NUMINBOX ; $da80
ld hl, W_NUMINBOX ; wda80
call Func_7390e
ld a, [wCurrentMenuItem] ; $cc26
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
set 7, a
ld [$d5a0], a
ld [wd5a0], a
call Func_7387b
ld de, W_NUMINBOX ; $da80
ld de, W_NUMINBOX ; wda80
call Func_7390e
ld hl, W_MAPTEXTPTR ; $d36c
ld de, wWhichTrade ; $cd3d
ld hl, W_MAPTEXTPTR ; wd36c
ld de, wWhichTrade ; wWhichTrade
ld a, [hli]
ld [de], a
inc de
@ -376,7 +376,7 @@ Func_738a1:: ; 738a1 (1c:78a1)
ld [de], a
call Func_3f05
call SaveSAVtoSRAM
ld hl, wWhichTrade ; $cd3d
ld hl, wWhichTrade ; wWhichTrade
call Func_3f0f
ld a, (SFX_02_5d - SFX_Headers_02) / 3
call PlaySoundWaitForCurrent
@ -416,26 +416,26 @@ Func_7393f: ; 7393f (1c:793f)
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld a, $3
ld [wMenuWatchedKeys], a ; $cc29
ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
ld a, $b
ld [wMaxMenuItem], a ; $cc28
ld [wMaxMenuItem], a ; wMaxMenuItem
ld a, $1
ld [wTopMenuItemY], a ; $cc24
ld [wTopMenuItemY], a ; wTopMenuItemY
ld a, $c
ld [wTopMenuItemX], a ; $cc25
ld [wTopMenuItemX], a ; wTopMenuItemX
xor a
ld [$cc37], a
ld a, [$d5a0]
ld [wcc37], a
ld a, [wd5a0]
and $7f
ld [wCurrentMenuItem], a ; $cc26
ld [wLastMenuItem], a ; $cc2a
ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld [wLastMenuItem], a ; wLastMenuItem
ld hl, wTileMap
ld b, $2
ld c, $9
call TextBoxBorder
ld hl, ChooseABoxText
call PrintText
FuncCoord 11, 0 ; $c3ab
FuncCoord 11, 0
ld hl, Coord
ld b, $c
ld c, $7
@ -443,17 +443,17 @@ Func_7393f: ; 7393f (1c:793f)
ld hl, $fff6
set 2, [hl]
ld de, BoxNames ; $79d9
FuncCoord 13, 1 ; $c3c1
FuncCoord 13, 1
ld hl, Coord
call PlaceString
ld hl, $fff6
res 2, [hl]
ld a, [$d5a0]
ld a, [wd5a0]
and $7f
cp $9
jr c, .asm_739a6
sub $9
FuncCoord 8, 2 ; $c3d0
FuncCoord 8, 2
ld hl, Coord
ld [hl], $f7
add $f6
@ -461,16 +461,16 @@ Func_7393f: ; 7393f (1c:793f)
.asm_739a6
add $f7
.asm_739a8
FuncCoord 9, 2 ; $c3d1
FuncCoord 9, 2
ld [Coord], a
FuncCoord 1, 2 ; $c3c9
FuncCoord 1, 2
ld hl, Coord
ld de, BoxNoText
call PlaceString
call Func_73a84
FuncCoord 18, 1 ; $c3c6
FuncCoord 18, 1
ld hl, Coord
ld de, wWhichTrade ; $cd3d
ld de, wWhichTrade ; wWhichTrade
ld bc, $14
ld a, $c
.asm_739c2
@ -554,7 +554,7 @@ Func_73a7f: ; 73a7f (1c:7a7f)
ret
Func_73a84: ; 73a84 (1c:7a84)
ld hl, wWhichTrade ; $cd3d
ld hl, wWhichTrade ; wWhichTrade
push hl
ld a, $a
ld [$0], a
@ -570,12 +570,12 @@ Func_73a84: ; 73a84 (1c:7a84)
ld [$6000], a
ld [$0], a
pop hl
ld a, [$d5a0]
ld a, [wd5a0]
and $7f
ld c, a
ld b, $0
add hl, bc
ld a, [W_NUMINBOX] ; $da80
ld a, [W_NUMINBOX] ; wda80
ld [hl], a
ret
@ -597,7 +597,7 @@ Func_73ab8: ; 73ab8 (1c:7ab8)
SAVCheckRandomID: ;$7ad1
;checks if Sav file is the same by checking player's name 1st letter ($a598)
; and the two random numbers generated at game beginning
;(which are stored at $d359-d35a)
;(which are stored at wPlayerID)
ld a,$0a
ld [$0000],a
ld a,$01
@ -617,10 +617,10 @@ SAVCheckRandomID: ;$7ad1
ld a,[hli]
ld h,[hl]
ld l,a
ld a,[$d359]
ld a,[wPlayerID]
cp l
jr nz,.next
ld a,[$d35a]
ld a,[wPlayerID + 1]
cp h
.next
ld a,$00
@ -629,7 +629,7 @@ SAVCheckRandomID: ;$7ad1
ret
Func_73b0d: ; 73b0d (1c:7b0d)
ld a, [$d5a2]
ld a, [wd5a2]
dec a
cp $32
jr nc, .asm_73b28
@ -638,7 +638,7 @@ Func_73b0d: ; 73b0d (1c:7b0d)
call AddNTimes
ld e, l
ld d, h
ld hl, $cc5b
ld hl, wcc5b
ld bc, $60
jr CopyToSRAM0
.asm_73b28
@ -646,7 +646,7 @@ Func_73b0d: ; 73b0d (1c:7b0d)
ld de, $a598
ld bc, $1260
call CopyToSRAM0
ld hl, $cc5b
ld hl, wcc5b
ld de, $b7f8
ld bc, $60
jr CopyToSRAM0
@ -654,9 +654,9 @@ Func_73b0d: ; 73b0d (1c:7b0d)
Func_73b3f: ; 73b3f (1c:7b3f)
ld hl, $a598
ld bc, $60
ld a, [wWhichTrade] ; $cd3d
ld a, [wWhichTrade] ; wWhichTrade
call AddNTimes
ld de, $cc5b
ld de, wcc5b
ld bc, $60
; fallthrough
CopyToSRAM0: ; 73b51 (1c:7b51)

View file

@ -1,7 +1,7 @@
PromptUserToPlaySlots: ; 3730e (d:730e)
call SaveScreenTilesToBuffer2
ld a, BANK(DisplayTextIDInit)
ld [$cf0c], a
ld [wcf0c], a
ld b, a
ld hl, DisplayTextIDInit
call Bankswitch
@ -12,8 +12,8 @@ PromptUserToPlaySlots: ; 3730e (d:730e)
and a
jr nz, .skip
dec a
ld [$cfcb], a
ld hl, $cd4f
ld [wcfcb], a
ld hl, wcd4f
xor a
ld [hli], a
ld [hl], $2
@ -27,7 +27,7 @@ PromptUserToPlaySlots: ; 3730e (d:730e)
call GBPalNormal
ld a, $e4
ld [$ff48], a
ld hl, $d730
ld hl, wd730
set 6, [hl]
xor a
ld [W_SUBANIMSUBENTRYADDR], a
@ -35,13 +35,13 @@ PromptUserToPlaySlots: ; 3730e (d:730e)
ld bc, $0014
call FillMemory
call MainSlotMachineLoop
ld hl, $d730
ld hl, wd730
res 6, [hl]
xor a
ld [W_SUBANIMSUBENTRYADDR], a
call GBPalWhiteOutWithDelay3
ld a, $1
ld [$cfcb], a
ld [wcfcb], a
call GoPAL_SET_CF1C
call Func_3e08
call ReloadTilesetTilePatterns
@ -49,7 +49,7 @@ PromptUserToPlaySlots: ; 3730e (d:730e)
call LoadScreenTilesFromBuffer2
call Delay3
call GBPalNormal
ld a, [$cc5e]
ld a, [wcc5e]
push af
jp CloseTextDisplay
@ -60,7 +60,7 @@ PlaySlotMachineText: ; 37390 (d:7390)
MainSlotMachineLoop: ; 37395 (d:7395)
call SlotMachine_37754
xor a
ld hl, $cd4a
ld hl, wcd4a
ld [hli], a
ld [hl], a
call SlotMachine_3775f
@ -79,12 +79,12 @@ MainSlotMachineLoop: ; 37395 (d:7395)
xor a
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
ld [$cc37], a
ld hl, $c48a
ld [wcc37], a
ld hl, wTileMap + $ea
ld b, $5
ld c, $4
call TextBoxBorder
ld hl, $c4a0
ld hl, wTileMap + $100
ld de, CoinMultiplierSlotMachineText
call PlaceString
call HandleMenuInput
@ -94,7 +94,7 @@ MainSlotMachineLoop: ; 37395 (d:7395)
ld b, a
ld a, $3
sub b
ld [$cd50], a
ld [wcd50], a
ld hl, wPlayerCoins
ld c, a
ld a, [hli]
@ -112,7 +112,7 @@ MainSlotMachineLoop: ; 37395 (d:7395)
call SlotMachine_377d5
call SlotMachine_37480
ld a, $4
ld hl, $cd4d
ld hl, wcd4d
ld [hli], a
ld [hli], a
ld [hl], a
@ -134,12 +134,12 @@ MainSlotMachineLoop: ; 37395 (d:7395)
.skip2
ld hl, OneMoreGoSlotMachineText
call PrintText
ld hl, $c49e
ld hl, wTileMap + $fe
ld bc, $0d0f
xor a
ld [$d12c], a
ld [wd12c], a
ld a, $14
ld [$d125], a
ld [wd125], a
call DisplayTextBoxID
ld a, [wCurrentMenuItem]
and a
@ -173,7 +173,7 @@ OneMoreGoSlotMachineText: ; 3747b (d:747b)
db "@"
SlotMachine_37480: ; 37480 (d:7480)
ld hl, $cd4c
ld hl, wcd4c
bit 7, [hl]
ret nz
ld a, [W_SUBANIMSUBENTRYADDR]
@ -183,7 +183,7 @@ SlotMachine_37480: ; 37480 (d:7480)
and a
jr z, .skip2
ld b, a
ld a, [$cc5b]
ld a, [wcc5b]
cp b
jr c, .skip3
ld a, $d2
@ -222,7 +222,7 @@ SlotMachine_374ad: ; 374ad (d:74ad)
call SlotMachine_374fb
call SlotMachine_37517
ret c
ld a, [$cf1b]
ld a, [wcf1b]
xor $1
inc a
ld c, a
@ -237,7 +237,7 @@ SlotMachine_374df: ; 374df (d:74df)
ld a, [de]
rra
jr nc, .skip
ld hl, $cd4d
ld hl, wcd4d
ld a, [hl]
and a
ret z
@ -255,7 +255,7 @@ SlotMachine_374fb: ; 374fb (d:74fb)
ld a, [de]
rra
jr nc, .skip
ld hl, $cd4e
ld hl, wcd4e
ld a, [hl]
and a
ret z
@ -283,7 +283,7 @@ SlotMachine_37517: ; 37517 (d:7517)
SlotMachine_3752c: ; 3752c (d:752c)
call SlotMachine_GetWheelOneTile
ld hl, wTrainerScreenX
ld a, [$cd4c]
ld a, [wcd4c]
and $80
jr nz, .skip1
inc hl
@ -302,13 +302,13 @@ SlotMachine_3752c: ; 3752c (d:752c)
ret
.skip2
inc a
ld hl, $cd4d
ld hl, wcd4d
ld [hl], $0
ret
SlotMachine_37552: ; 37552 (d:7552)
call SlotMachine_GetWheelTwoTile
ld a, [$cd4c]
ld a, [wcd4c]
and $80
jr nz, .skip1
call SlotMachine_3756e
@ -321,12 +321,12 @@ SlotMachine_37552: ; 37552 (d:7552)
ret nc
.skip2
xor a
ld [$cd4e], a
ld [wcd4e], a
ret
SlotMachine_3756e: ; 3756e (d:756e)
ld hl, wTrainerScreenX
ld de, $cd44
ld de, wcd44
ld a, [de]
cp [hl]
ret z
@ -350,42 +350,42 @@ SlotMachine_3756e: ; 3756e (d:756e)
SlotMachine_37588: ; 37588 (d:7588)
call SlotMachine_GetWheelThreeTile
ld a, [$cd50]
ld a, [wcd50]
cp $2
jr z, .skip1
cp $1
jr z, .skip2
ld hl, wTrainerScreenX
ld de, $cd45
ld bc, $cd49
ld de, wcd45
ld bc, wcd49
call SlotMachine_CheckForMatch
jp z, .skip5
ld hl, $cd43
ld de, $cd45
ld bc, $cd47
ld hl, wcd43
ld de, wcd45
ld bc, wcd47
call SlotMachine_CheckForMatch
jr z, .skip5
.skip1
ld hl, $cd43
ld de, $cd46
ld bc, $cd49
ld hl, wcd43
ld de, wcd46
ld bc, wcd49
call SlotMachine_CheckForMatch
jr z, .skip5
ld hl, wTrainerScreenX
ld de, $cd44
ld bc, $cd47
ld de, wcd44
ld bc, wcd47
call SlotMachine_CheckForMatch
jr z, .skip5
.skip2
ld hl, $cd42
ld de, $cd45
ld bc, $cd48
ld hl, wcd42
ld de, wcd45
ld bc, wcd48
call SlotMachine_CheckForMatch
jr z, .skip5
ld a, [$cd4c]
ld a, [wcd4c]
and $c0
jr z, .skip3
ld hl, $cd4f
ld hl, wcd4f
dec [hl]
jr nz, .skip4
.skip3
@ -393,7 +393,7 @@ SlotMachine_37588: ; 37588 (d:7588)
call PrintText
.loop
xor a
ld [$c002], a
ld [wc002], a
ret
.skip4
call SlotMachine_37833
@ -402,7 +402,7 @@ SlotMachine_37588: ; 37588 (d:7588)
call DelayFrame
jp SlotMachine_37588
.skip5
ld a, [$cd4c]
ld a, [wcd4c]
and $c0
jr z, .skip4
and $80
@ -426,7 +426,7 @@ SlotMachine_37588: ; 37588 (d:7588)
ld a, [hli]
ld h, [hl]
ld l, a
ld de, $cf4b
ld de, wcf4b
ld bc, $0004
call CopyData
pop hl
@ -442,7 +442,7 @@ SlotMachine_37588: ; 37588 (d:7588)
call DelayFrames
dec b
jr nz, .asm_37638
ld hl, $cd4a
ld hl, wcd4a
ld [hl], d
inc hl
ld [hl], e
@ -512,13 +512,13 @@ SlotMachine_CheckForMatch: ; 376a2 (d:76a2)
ret
SlotMachine_GetWheelThreeTile: ; 376a8 (d:76a8)
ld de, $cd47
ld de, wcd47
ld hl, SlotMachineWheel3
ld a, [wTrainerScreenY]
call SlotMachine_GetWheelTile
SlotMachine_GetWheelTwoTile: ; 376b4 (d:76b4)
ld de, $cd44
ld de, wcd44
ld hl, SlotMachineWheel2
ld a, [wTrainerFacingDirection]
call SlotMachine_GetWheelTile
@ -568,7 +568,7 @@ SlotReward100Func: ; 376f3 (d:76f3)
ld a, (SFX_1f_42 - SFX_Headers_1f) / 3
call PlaySound
xor a
ld [$cd4c], a
ld [wcd4c], a
ld b, $8
ld de, 100
ret
@ -582,7 +582,7 @@ SlotReward300Func: ; 37702 (d:7702)
cp $80
ld a, $0
jr c, .skip
ld [$cd4c], a
ld [wcd4c], a
.skip
ld [W_SUBANIMSUBENTRYADDR], a
ld b, $14
@ -594,7 +594,7 @@ YeahText: ; 37722 (d:7722)
db $0a, "@"
SlotMachine_37728: ; 37728 (d:7728)
ld hl, $c4ba
ld hl, wTileMap + $11a
ld a, [wTrainerScreenX]
add $25
ld [hli], a
@ -606,38 +606,38 @@ SlotMachine_37728: ; 37728 (d:7728)
ld [hli], a
inc a
ld [hl], a
ld hl, $c4f2
ld hl, wTileMap + $152
ld [hl], $ee
ret
SlotMachine_37741: ; 37741 (d:7741)
ld hl, $cd4b
ld a, [$cd50]
ld hl, wcd4b
ld a, [wcd50]
ld [hld], a
xor a
ld [hli], a
ld de, $d5a5
ld de, wPlayerCoins + 1
ld c, $2
ld a, $c ; SubtractBCDPredef
call Predef
SlotMachine_37754: ; 37754 (d:7754)
ld hl, $c3b9
ld hl, wTileMap + $19
ld de, wPlayerCoins
ld c, $2
jp PrintBCDNumber
SlotMachine_3775f: ; 3775f (d:775f)
ld hl, $c3bf
ld de, $cd4a
ld hl, wTileMap + $1f
ld de, wcd4a
ld bc, $8204
jp PrintNumber
SlotMachine_3776b: ; 3776b (d:776b)
ld a, $1
ld [$c002], a
ld [wc002], a
call WaitForSoundToFinish
ld hl, $cd46
ld hl, wcd46
xor a
ld [hli], a
inc a
@ -645,20 +645,20 @@ SlotMachine_3776b: ; 3776b (d:776b)
ld a, $5
ld [W_SUBANIMTRANSFORM], a
.loop
ld a, [$cd4b]
ld a, [wcd4b]
ld l, a
ld a, [$cd4a]
ld a, [wcd4a]
ld h, a
or l
ret z
ld de, $ffff
add hl, de
ld a, l
ld [$cd4b], a
ld [wcd4b], a
ld a, h
ld [$cd4a], a
ld hl, $cd47
ld de, $d5a5
ld [wcd4a], a
ld hl, wcd47
ld de, wPlayerCoins + 1
ld c, $2
ld a, $b ; AddBCDPredef
call Predef
@ -686,35 +686,35 @@ SlotMachine_3776b: ; 3776b (d:776b)
SlotMachine_377ce: ; 377ce (d:77ce)
ld a, $23
ld [$d08a], a
ld [wd08a], a
jr SlotMachine_377e3
SlotMachine_377d5: ; 377d5 (d:77d5)
ld a, $14
ld [$d08a], a
ld a, [$cd50]
ld [wd08a], a
ld a, [wcd50]
dec a
jr z, SlotMachine_377fb
dec a
jr z, SlotMachine_377ef
SlotMachine_377e3: ; 377e3 (d:77e3)
ld hl, $c3cb
ld hl, wTileMap + $2b
call SlotMachine_377fe
ld hl, $c46b
ld hl, wTileMap + $cb
call SlotMachine_377fe
SlotMachine_377ef: ; 377ef (d:77ef)
ld hl, $c3f3
ld hl, wTileMap + $53
call SlotMachine_377fe
ld hl, $c443
ld hl, wTileMap + $a3
call SlotMachine_377fe
SlotMachine_377fb: ; 377fb (d:77fb)
ld hl, $c41b
ld hl, wTileMap + $7b
SlotMachine_377fe: ; 377fe (d:77fe)
ld a, [$d08a]
ld a, [wd08a]
ld [hl], a
ld bc, $000d
add hl, bc
@ -739,7 +739,7 @@ SlotMachine_37813: ; 37813 (d:7813)
SlotMachine_37823: ; 37823 (d:7823)
ld bc, SlotMachineWheel2
ld de, wTrainerFacingDirection
ld hl, $c330
ld hl, wOAMBuffer + $30
ld a, $50
ld [W_BASECOORDX], a
jr SlotMachine_37841
@ -747,7 +747,7 @@ SlotMachine_37823: ; 37823 (d:7823)
SlotMachine_37833: ; 37833 (d:7833)
ld bc, SlotMachineWheel3
ld de, wTrainerScreenY
ld hl, $c360
ld hl, wOAMBuffer + $60
ld a, $70
ld [W_BASECOORDX], a
@ -806,10 +806,10 @@ SlotMachine_37882: ; 37882 (d:7882)
ld hl, wTrainerSpriteOffset
ld a, [hl]
dec a
ld de, $cd4d
ld de, wcd4d
jr z, .skip
dec a
ld de, $cd4e
ld de, wcd4e
jr z, .skip
.loop
inc [hl]

View file

@ -5,21 +5,21 @@ CopyFixedLengthText: ; 42b1 (1:42b1)
SetDefaultNamesBeforeTitlescreen: ; 42b7 (1:42b7)
ld hl, NintenText
ld de, W_PLAYERNAME ; $d158
ld de, W_PLAYERNAME ; wd158
call CopyFixedLengthText
ld hl, SonyText
ld de, W_RIVALNAME ; $d34a
ld de, W_RIVALNAME ; wd34a
call CopyFixedLengthText
xor a
ld [$ffb0], a
ld [$d358], a
ld hl, $d732
ld [wd358], a
ld hl, wd732
ld [hli], a
ld [hli], a
ld [hl], a
ld a, Bank(Func_7d8ea)
ld [$c0ef], a
ld [$c0f0], a
ld [wc0ef], a
ld [wc0f0], a
LoadTitlescreenGraphics: ; 42dd (1:42dd)
call GBPalWhiteOut
@ -68,7 +68,7 @@ ENDC
ld a, BANK(Version_GFX)
call FarCopyDataDouble
call Func_4519
FuncCoord 2, 1 ; $c3b6
FuncCoord 2, 1
ld hl, Coord
ld a, $80
ld de, $14
@ -85,7 +85,7 @@ ENDC
add hl, de
dec c
jr nz, .asm_434d
FuncCoord 2, 7 ; $c42e
FuncCoord 2, 7
ld hl, Coord
ld a, $31
ld b, $10
@ -95,10 +95,10 @@ ENDC
dec b
jr nz, .asm_4361
call Func_44dd
ld hl, $c328
ld hl, wOAMBuffer + $28
ld a, $74
ld [hl], a
FuncCoord 2, 17 ; $c4f6
FuncCoord 2, 17
ld hl, Coord
ld de, .titlescreenTilemap ; $437f
ld b, $10
@ -124,7 +124,7 @@ IF _BLUE
ld a,SQUIRTLE ; which Pokemon to show first on the title screen
ENDC
ld [wWhichTrade], a ; $cd3d
ld [wWhichTrade], a ; wWhichTrade
call Func_4524
ld a, $9b
call Func_4533
@ -206,10 +206,10 @@ ENDC
call Delay3
call WaitForSoundToFinish
ld a, MUSIC_TITLE_SCREEN
ld [$c0ee], a
ld [wc0ee], a
call PlaySound
xor a
ld [$cc5b], a
ld [wcc5b], a
.asm_443b
ld c, $c8
call CheckForUserInterruption
@ -222,7 +222,7 @@ ENDC
call Func_4496
jr .asm_443b
.asm_4459
ld a, [wWhichTrade] ; $cd3d
ld a, [wWhichTrade] ; wWhichTrade
call PlayCry
call WaitForSoundToFinish
call GBPalWhiteOutWithDelay3
@ -263,7 +263,7 @@ Func_4496: ; 4496 (1:4496)
ld hl, TitleMons
add hl, bc
ld a, [hl]
ld hl, wWhichTrade ; $cd3d
ld hl, wWhichTrade ; wWhichTrade
; Can't be the same as before.
cp [hl]
@ -308,7 +308,7 @@ Func_44dd: ; 44dd (1:44dd)
call FarCopyData2
call ClearSprites
xor a
ld [wWhichTrade], a ; $cd3d
ld [wWhichTrade], a ; wWhichTrade
ld hl, wOAMBuffer
ld de, $605a
ld b, $7
@ -322,10 +322,10 @@ Func_44dd: ; 44dd (1:44dd)
ld [hli], a
add $8
ld e, a
ld a, [wWhichTrade] ; $cd3d
ld a, [wWhichTrade] ; wWhichTrade
ld [hli], a
inc a
ld [wWhichTrade], a ; $cd3d
ld [wWhichTrade], a ; wWhichTrade
inc hl
dec c
jr nz, .asm_44fd
@ -344,9 +344,9 @@ Func_4519: ; 4519 (1:4519)
jp FillMemory
Func_4524: ; 4524 (1:4524)
ld [$cf91], a
ld [$d0b5], a
FuncCoord 5, 10 ; $c46d
ld [wcf91], a
ld [wd0b5], a
FuncCoord 5, 10
ld hl, Coord
call GetMonHeader
jp LoadFrontSpriteByMonIndex
@ -366,7 +366,7 @@ LoadCopyrightTiles: ; 4541 (1:4541)
ld hl, $9600
ld bc, (BANK(NintendoCopyrightLogoGraphics) << 8) + $1c
call CopyVideoData
FuncCoord 2, 7 ; $c42e
FuncCoord 2, 7
ld hl, Coord
ld de, CopyrightTextString ; $4556
jp PlaceString
@ -381,7 +381,7 @@ INCLUDE "data/title_mons.asm"
; prints version text (red, blue)
PrintGameVersionOnTitleScreen: ; 4598 (1:4598)
FuncCoord 7, 8 ; $c447
FuncCoord 7, 8
ld hl, Coord
ld de, VersionOnTitleScreenText
jp PlaceString

View file

@ -89,7 +89,7 @@ TitleBallYTable: ; 372a0 (d:72a0)
Func_372ac: ; 372ac (d:72ac)
; Animate the TitleBall if a starter just got scrolled out.
ld a, [wWhichTrade] ; $cd3d
ld a, [wWhichTrade] ; wWhichTrade
cp STARTER1
jr z, .ok
cp STARTER2
@ -115,6 +115,6 @@ GetTitleBallY: ; 372c4 (d:72c4)
pop de
and a
ret z
ld [$c328], a
ld [wOAMBuffer + $28], a
inc e
ret

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