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

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