mirror of
https://github.com/pret/pokered.git
synced 2024-10-22 22:55:31 +00:00
Rename/organize part 1 of 4
rename functions, clean up address/wram comments, other misc only broken up so that all changes are viewable on github
This commit is contained in:
parent
ae420a4d8f
commit
cd649184f5
90 changed files with 1070 additions and 1066 deletions
|
@ -78,7 +78,6 @@ EXP__ALL EQU $4B
|
|||
OLD_ROD EQU $4C
|
||||
GOOD_ROD EQU $4D
|
||||
SUPER_ROD EQU $4E
|
||||
; XXX todo: compare this to $32
|
||||
PP_UP EQU $4F
|
||||
ETHER EQU $50
|
||||
MAX_ETHER EQU $51
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
RedsHouse2FObject: ; 0x5c0d0 ?
|
||||
RedsHouse2FObject: ; 0x5c0d0
|
||||
db $0A ; border block
|
||||
|
||||
db $1 ; warps
|
||||
|
|
|
@ -13,8 +13,8 @@ MonPartyData: ; 7190d (1c:590d)
|
|||
dn SPRITE_SNAKE, SPRITE_SNAKE ;Ekans/Arbok
|
||||
dn SPRITE_FAIRY, SPRITE_FAIRY ;Pikachu/Raichu
|
||||
dn SPRITE_MON, SPRITE_MON ;Sandshrew/Sandslash
|
||||
dn SPRITE_MON, SPRITE_MON ;Nidoran?/Nidorina
|
||||
dn SPRITE_MON, SPRITE_MON ;Nidoqueen/Nidoran?
|
||||
dn SPRITE_MON, SPRITE_MON ;NidoranF/Nidorina
|
||||
dn SPRITE_MON, SPRITE_MON ;Nidoqueen/NidoranM
|
||||
dn SPRITE_MON, SPRITE_MON ;Nidorino/Nidoking
|
||||
dn SPRITE_FAIRY, SPRITE_FAIRY ;Clefairy/Clefable
|
||||
dn SPRITE_QUADRUPED, SPRITE_QUADRUPED ;Vulpix/Ninetales
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
HallOfFamePC: ; 7405c (1d:405c)
|
||||
callba AnimateHallOfFame
|
||||
call ClearScreen
|
||||
ld c, $64
|
||||
ld c, 100
|
||||
call DelayFrames
|
||||
call DisableLCD
|
||||
ld hl, vFont
|
||||
|
@ -19,27 +19,27 @@ HallOfFamePC: ; 7405c (1d:405c)
|
|||
hlCoord 0, 14
|
||||
call Func_7417b
|
||||
ld a, $c0
|
||||
ld [rBGP], a ; $ff47
|
||||
ld [rBGP], a
|
||||
call EnableLCD
|
||||
ld a, $ff
|
||||
call PlaySoundWaitForCurrent
|
||||
ld c, BANK(Music_Credits)
|
||||
ld a, MUSIC_CREDITS
|
||||
call PlayMusic
|
||||
ld c, $80
|
||||
ld c, 128
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
ld [wTrainerEngageDistance], a
|
||||
jp Credits
|
||||
|
||||
Func_740ba: ; 740ba (1d:40ba)
|
||||
ld hl, DataTable_74160 ; $4160
|
||||
ld hl, DataTable_74160
|
||||
ld b, $4
|
||||
.asm_740bf
|
||||
ld a, [hli]
|
||||
ld [rBGP], a ; $ff47
|
||||
ld c, $5
|
||||
ld [rBGP], a
|
||||
ld c, 5
|
||||
call DelayFrames
|
||||
dec b
|
||||
jr nz, .asm_740bf
|
||||
|
@ -116,7 +116,7 @@ Func_74152: ; 74152 (1d:4152)
|
|||
cp l
|
||||
jr nz, Func_74152
|
||||
ld a, h
|
||||
ld [rSCX], a ; $ff43
|
||||
ld [rSCX], a
|
||||
.asm_7415a
|
||||
ld a, [$ff44]
|
||||
cp h
|
||||
|
@ -128,11 +128,11 @@ DataTable_74160: ; 74160 (1d:4160)
|
|||
|
||||
Func_74164: ; 74164 (1d:4164)
|
||||
ld a, l
|
||||
ld [H_AUTOBGTRANSFERDEST], a ; $ffbc
|
||||
ld [H_AUTOBGTRANSFERDEST], a
|
||||
ld a, h
|
||||
ld [$ffbd], a
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
jp Delay3
|
||||
|
||||
Func_74171: ; 74171 (1d:4171)
|
||||
|
@ -157,7 +157,7 @@ FillMiddleOfScreenWithWhite: ; 74183 (1d:4183)
|
|||
jp FillMemory
|
||||
|
||||
Credits: ; 7418e (1d:418e)
|
||||
ld de, CreditsOrder ; $4243
|
||||
ld de, CreditsOrder
|
||||
push de
|
||||
.asm_74192
|
||||
pop de
|
||||
|
@ -183,7 +183,7 @@ Credits: ; 7418e (1d:418e)
|
|||
jr z, .showTheEnd
|
||||
push hl
|
||||
push hl
|
||||
ld hl, CreditsTextPointers ; $42c3
|
||||
ld hl, CreditsTextPointers
|
||||
add a
|
||||
ld c, a
|
||||
ld b, $0
|
||||
|
@ -205,20 +205,20 @@ Credits: ; 7418e (1d:418e)
|
|||
jr .asm_7419b
|
||||
.asm_741d5
|
||||
call Func_740ba
|
||||
ld c, $5a
|
||||
ld c, 90
|
||||
jr .asm_741de
|
||||
.asm_741dc
|
||||
ld c, $6e
|
||||
ld c, 110
|
||||
.asm_741de
|
||||
call DelayFrames
|
||||
call DisplayCreditsMon
|
||||
jr .asm_74192
|
||||
.asm_741e6
|
||||
call Func_740ba
|
||||
ld c, $78
|
||||
ld c, 120
|
||||
jr .asm_741ef
|
||||
.asm_741ed
|
||||
ld c, $8c
|
||||
ld c, 140
|
||||
.asm_741ef
|
||||
call DelayFrames
|
||||
jr .asm_74192
|
||||
|
@ -229,7 +229,7 @@ Credits: ; 7418e (1d:418e)
|
|||
pop de
|
||||
jr .asm_7419b
|
||||
.showTheEnd
|
||||
ld c, $10
|
||||
ld c, 16
|
||||
call DelayFrames
|
||||
call FillMiddleOfScreenWithWhite
|
||||
pop de
|
||||
|
|
|
@ -170,7 +170,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
|
|||
ld l,a
|
||||
ld h,0
|
||||
add hl,hl
|
||||
ld de,AttackAnimationPointers ; $607d ; animation command stream pointers
|
||||
ld de,AttackAnimationPointers ; animation command stream pointers
|
||||
add hl,de
|
||||
ld a,[hli]
|
||||
ld h,[hl]
|
||||
|
@ -199,7 +199,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
|
|||
ld [wAnimSoundID],a ; store sound
|
||||
push hl
|
||||
push de
|
||||
call Func_7986f
|
||||
call GetMoveSound
|
||||
call PlaySound
|
||||
pop de
|
||||
pop hl
|
||||
|
@ -383,7 +383,7 @@ MoveAnimation: ; 78d5e (1e:4d5e)
|
|||
push bc
|
||||
push af
|
||||
call WaitForSoundToFinish
|
||||
call Func_78e23
|
||||
call SetAnimationPalette
|
||||
ld a,[W_ANIMATIONID]
|
||||
and a
|
||||
jr z,.AnimationFinished
|
||||
|
@ -500,19 +500,19 @@ AnimationShakeScreenHorizontallySlow: ; 78e01 (1e:4e01)
|
|||
push bc
|
||||
push bc
|
||||
.asm_78e03
|
||||
ld a, [rWX] ; $ff4b
|
||||
ld a, [rWX]
|
||||
inc a
|
||||
ld [rWX], a ; $ff4b
|
||||
ld c, $2
|
||||
ld [rWX], a
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
dec b
|
||||
jr nz, .asm_78e03
|
||||
pop bc
|
||||
.asm_78e11
|
||||
ld a, [rWX] ; $ff4b
|
||||
ld a, [rWX]
|
||||
dec a
|
||||
ld [rWX], a ; $ff4b
|
||||
ld c, $2
|
||||
ld [rWX], a
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
dec b
|
||||
jr nz, .asm_78e11
|
||||
|
@ -521,7 +521,7 @@ AnimationShakeScreenHorizontallySlow: ; 78e01 (1e:4e01)
|
|||
jr nz, AnimationShakeScreenHorizontallySlow
|
||||
ret
|
||||
|
||||
Func_78e23: ; 78e23 (1e:4e23)
|
||||
SetAnimationPalette: ; 78e23 (1e:4e23)
|
||||
ld a, [wOnSGB]
|
||||
and a
|
||||
ld a, $e4
|
||||
|
@ -529,7 +529,7 @@ Func_78e23: ; 78e23 (1e:4e23)
|
|||
ld a, $f0
|
||||
ld [wcc79], a
|
||||
ld b, $e4
|
||||
ld a, [W_ANIMATIONID] ; W_ANIMATIONID
|
||||
ld a, [W_ANIMATIONID]
|
||||
cp TRADE_BALL_DROP_ANIM
|
||||
jr c, .asm_78e3f
|
||||
cp TRADE_BALL_POOF_ANIM + 1
|
||||
|
@ -537,24 +537,24 @@ Func_78e23: ; 78e23 (1e:4e23)
|
|||
ld b, $f0
|
||||
.asm_78e3f
|
||||
ld a, b
|
||||
ld [rOBP0], a ; $ff48
|
||||
ld [rOBP0], a
|
||||
ld a, $6c
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld [rOBP1], a
|
||||
ret
|
||||
.asm_78e47
|
||||
ld a, $e4
|
||||
ld [wcc79], a
|
||||
ld [rOBP0], a ; $ff48
|
||||
ld [rOBP0], a
|
||||
ld a, $6c
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld [rOBP1], a
|
||||
ret
|
||||
|
||||
PlaySubanimation: ; 78e53 (1e:4e53)
|
||||
ld a,[wAnimSoundID]
|
||||
cp a,$FF
|
||||
jr z,.skipPlayingSound
|
||||
call Func_7986f
|
||||
call PlaySound ; play sound effect
|
||||
call GetMoveSound
|
||||
call PlaySound
|
||||
.skipPlayingSound
|
||||
ld hl,wOAMBuffer ; base address of OAM buffer
|
||||
ld a,l
|
||||
|
@ -581,7 +581,7 @@ PlaySubanimation: ; 78e53 (1e:4e53)
|
|||
push hl
|
||||
ld e,[hl] ; base coordinate ID
|
||||
ld d,0
|
||||
ld hl,FrameBlockBaseCoords ; $7c85 ; base coordinate table
|
||||
ld hl,FrameBlockBaseCoords ; base coordinate table
|
||||
add hl,de
|
||||
add hl,de
|
||||
ld a,[hli]
|
||||
|
@ -667,7 +667,7 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
|
|||
dw AnimationFlashScreen
|
||||
|
||||
db TAIL_WHIP
|
||||
dw Func_790d0
|
||||
dw TailWhipAnimationUnused
|
||||
|
||||
db GROWL
|
||||
dw DoGrowlSpecialEffects
|
||||
|
@ -703,13 +703,13 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
|
|||
dw DoRockSlideSpecialEffects
|
||||
|
||||
db TRADE_BALL_DROP_ANIM
|
||||
dw Func_79041
|
||||
dw TradeHidePokemon
|
||||
|
||||
db TRADE_BALL_SHAKE_ANIM
|
||||
dw Func_7904c
|
||||
dw TradeShakePokeball
|
||||
|
||||
db TRADE_BALL_TILT_ANIM
|
||||
dw Func_7907c
|
||||
dw TradeJumpPokeball
|
||||
|
||||
db TOSS_ANIM
|
||||
dw DoBallTossSpecialEffects
|
||||
|
@ -742,7 +742,7 @@ DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
|
|||
jr nz,.skipPlayingSound
|
||||
; if it is the beginning of the subanimation, play a sound
|
||||
ld a,(SFX_08_41 - SFX_Headers_08) / 3
|
||||
call PlaySound ; play sound
|
||||
call PlaySound
|
||||
.skipPlayingSound
|
||||
ld a,[W_ISINBATTLE]
|
||||
cp a,02 ; is it a trainer battle?
|
||||
|
@ -788,7 +788,7 @@ DoBallShakeSpecialEffects: ; 78f96 (1e:4f96)
|
|||
jr nz,.skipPlayingSound
|
||||
; if it is the beginning of a shake, play a sound and wait 2/3 of a second
|
||||
ld a,(SFX_08_3c - SFX_Headers_08) / 3
|
||||
call PlaySound ; play sound
|
||||
call PlaySound
|
||||
ld c,40
|
||||
call DelayFrames
|
||||
.skipPlayingSound
|
||||
|
@ -875,8 +875,8 @@ DoBlizzardSpecialEffects: ; 79016 (1e:5016)
|
|||
ret
|
||||
|
||||
; flashes the screen at 3 points in the subanimation
|
||||
; XXX is this unused?
|
||||
Func_7902e: ; 7902e (1e:502e)
|
||||
; unused
|
||||
FlashScreenUnused: ; 7902e (1e:502e)
|
||||
ld a,[W_SUBANIMCOUNTER]
|
||||
cp a,14
|
||||
jp z,AnimationFlashScreen
|
||||
|
@ -887,8 +887,7 @@ Func_7902e: ; 7902e (1e:502e)
|
|||
ret
|
||||
|
||||
; function to make the pokemon disappear at the beginning of the animation
|
||||
; XXX probably a trade-related animation
|
||||
Func_79041: ; 79041 (1e:5041)
|
||||
TradeHidePokemon: ; 79041 (1e:5041)
|
||||
ld a,[W_SUBANIMCOUNTER]
|
||||
cp a,6
|
||||
ret nz
|
||||
|
@ -896,8 +895,7 @@ Func_79041: ; 79041 (1e:5041)
|
|||
jp Func_7980c ; make pokemon disappear
|
||||
|
||||
; function to make a shaking pokeball jump up at the end of the animation
|
||||
; XXX probably a trade-related animation
|
||||
Func_7904c: ; 7904c (1e:504c)
|
||||
TradeShakePokeball: ; 7904c (1e:504c)
|
||||
ld a,[W_SUBANIMCOUNTER]
|
||||
cp a,1
|
||||
ret nz
|
||||
|
@ -924,15 +922,14 @@ Func_7904c: ; 7904c (1e:504c)
|
|||
.done
|
||||
call AnimationCleanOAM
|
||||
ld a,(SFX_02_44 - SFX_Headers_02) / 3
|
||||
jp PlaySound ; play sound
|
||||
jp PlaySound
|
||||
|
||||
BallMoveDistances1: ; 79078 (1e:5078)
|
||||
db -12,-12,-8
|
||||
db $ff ; terminator
|
||||
|
||||
; function to make the pokeball jump up
|
||||
; XXX probably a trade-related animation
|
||||
Func_7907c ; 507C
|
||||
TradeJumpPokeball: ; 507C
|
||||
ld de,BallMoveDistances2
|
||||
.loop
|
||||
ld hl,wOAMBuffer ; OAM buffer
|
||||
|
@ -985,7 +982,7 @@ DoGrowlSpecialEffects: ; 790bc (1e:50bc)
|
|||
ret
|
||||
|
||||
; this is associated with Tail Whip, but Tail Whip doesn't use any subanimations
|
||||
Func_790d0: ; 790d0 (1e:50d0)
|
||||
TailWhipAnimationUnused: ; 790d0 (1e:50d0)
|
||||
ld a,1
|
||||
ld [W_SUBANIMCOUNTER],a
|
||||
ld c,20
|
||||
|
@ -1183,46 +1180,46 @@ AnimationFlashScreen: ; 791be (1e:51be)
|
|||
AnimationDarkScreenPalette: ; 791d6 (1e:51d6)
|
||||
; Changes the screen's palette to a dark palette.
|
||||
ld bc, $6f6f
|
||||
jr Func_791fc
|
||||
jr SetAnimationBGPalette
|
||||
|
||||
AnimationDarkenMonPalette: ; 791db (1e:51db)
|
||||
; Darkens the mon sprite's palette.
|
||||
ld bc, $f9f4
|
||||
jr Func_791fc
|
||||
jr SetAnimationBGPalette
|
||||
|
||||
Func_791e0: ; 791e0 (1e:51e0)
|
||||
AnimationUnusedPalette1: ; 791e0 (1e:51e0)
|
||||
ld bc, $fef8
|
||||
jr Func_791fc
|
||||
jr SetAnimationBGPalette
|
||||
|
||||
Func_791e5: ; 791e5 (1e:51e5)
|
||||
AnimationUnusedPalette2: ; 791e5 (1e:51e5)
|
||||
ld bc, $ffff
|
||||
jr Func_791fc
|
||||
jr SetAnimationBGPalette
|
||||
|
||||
AnimationResetScreenPalette: ; 791ea (1e:51ea)
|
||||
; Restores the screen's palette to the normal palette.
|
||||
ld bc, $e4e4
|
||||
jr Func_791fc
|
||||
jr SetAnimationBGPalette
|
||||
|
||||
Func_791ef: ; 791ef (1e:51ef)
|
||||
AnimationUnusedPalette3: ; 791ef (1e:51ef)
|
||||
ld bc, $0000
|
||||
jr Func_791fc
|
||||
jr SetAnimationBGPalette
|
||||
|
||||
AnimationLightScreenPalette: ; 791f4 (1e:51f4)
|
||||
; Changes the screen to use a palette with light colors.
|
||||
ld bc, $9090
|
||||
jr Func_791fc
|
||||
jr SetAnimationBGPalette
|
||||
|
||||
Func_791f9: ; 791f9 (1e:51f9)
|
||||
AnimationUnusedPalette4: ; 791f9 (1e:51f9)
|
||||
ld bc, $4040
|
||||
|
||||
Func_791fc: ; 791fc (1e:51fc)
|
||||
SetAnimationBGPalette: ; 791fc (1e:51fc)
|
||||
ld a, [wOnSGB]
|
||||
and a
|
||||
ld a, b
|
||||
jr z, .asm_79204
|
||||
ld a, c
|
||||
.asm_79204
|
||||
ld [rBGP], a ; $ff47
|
||||
ld [rBGP], a
|
||||
ret
|
||||
|
||||
ld b, $5
|
||||
|
@ -1246,45 +1243,45 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
|
|||
call LoadAnimationTileset
|
||||
ld d, $20
|
||||
ld a, $f0
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [W_BASECOORDX], a
|
||||
ld a, $71
|
||||
ld [wd09f], a
|
||||
.asm_79228
|
||||
ld a, $10
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld [W_BASECOORDY], a
|
||||
ld a, $0
|
||||
ld [wd08a], a
|
||||
call Func_79246
|
||||
call _AnimationWaterDroplets
|
||||
ld a, $18
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld [W_BASECOORDY], a
|
||||
ld a, $20
|
||||
ld [wd08a], a
|
||||
call Func_79246
|
||||
call _AnimationWaterDroplets
|
||||
dec d
|
||||
jr nz, .asm_79228
|
||||
ret
|
||||
|
||||
Func_79246: ; 79246 (1e:5246)
|
||||
_AnimationWaterDroplets: ; 79246 (1e:5246)
|
||||
ld hl, wOAMBuffer
|
||||
.asm_79249
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld a, [W_BASECOORDY]
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld a, [W_BASECOORDX]
|
||||
add $1b
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [W_BASECOORDX], a
|
||||
ld [hli], a
|
||||
ld a, [wd09f]
|
||||
ld [hli], a
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld a, [W_BASECOORDX]
|
||||
cp $90
|
||||
jr c, .asm_79249
|
||||
sub $a8
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld [W_BASECOORDX], a
|
||||
ld a, [W_BASECOORDY]
|
||||
add $10
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld [W_BASECOORDY], a
|
||||
cp $70
|
||||
jr c, .asm_79249
|
||||
call AnimationCleanOAM
|
||||
|
@ -1304,7 +1301,7 @@ AnimationSlideMonUp: ; 7927a (1e:527a)
|
|||
ld a, $ff
|
||||
.asm_79291
|
||||
ld [wd09f], a
|
||||
jp Func_792bf
|
||||
jp _AnimationSlideMonUp
|
||||
|
||||
AnimationSlideMonDown: ; 79297 (1e:5297)
|
||||
; Slides the mon's sprite down out of the screen.
|
||||
|
@ -1314,7 +1311,7 @@ AnimationSlideMonDown: ; 79297 (1e:5297)
|
|||
call GetMonSpriteTileMapPointerFromRowCount
|
||||
push bc
|
||||
push de
|
||||
call Func_79aae
|
||||
call CopyPicTiles
|
||||
call Delay3
|
||||
call AnimationHideMonPic
|
||||
pop de
|
||||
|
@ -1327,15 +1324,15 @@ AnimationSlideMonOut: ; 792af (1e:52af)
|
|||
; Slides the mon's sprite out of the screen horizontally.
|
||||
ld e, $8
|
||||
ld a, $3
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
jp Func_795f8
|
||||
ld [W_SUBANIMTRANSFORM], a
|
||||
jp AnimationSlideMonLeft
|
||||
|
||||
AnimationSlideEnemyMonOut: ; 792b9 (1e:52b9)
|
||||
; Slides the enemy mon out of the screen horizontally.
|
||||
ld hl, AnimationSlideMonOut ; $52af
|
||||
ld hl, AnimationSlideMonOut
|
||||
jp CallWithTurnFlipped
|
||||
|
||||
Func_792bf: ; 792bf (1e:52bf)
|
||||
_AnimationSlideMonUp: ; 792bf (1e:52bf)
|
||||
push de
|
||||
push hl
|
||||
push bc
|
||||
|
@ -1368,16 +1365,16 @@ Func_792bf: ; 792bf (1e:52bf)
|
|||
add $7
|
||||
dec c
|
||||
jr nz, .asm_792eb
|
||||
ld c, $2
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
pop bc
|
||||
pop hl
|
||||
pop de
|
||||
dec c
|
||||
jr nz, Func_792bf
|
||||
jr nz, _AnimationSlideMonUp
|
||||
ret
|
||||
|
||||
Func_792fd: ; 792fd (1e:52fd)
|
||||
_AnimationShakeEnemyHUD: ; 792fd (1e:52fd)
|
||||
ld a, $10
|
||||
ld [W_BASECOORDX], a
|
||||
ld a, $30
|
||||
|
@ -1390,7 +1387,7 @@ Func_792fd: ; 792fd (1e:52fd)
|
|||
ld e, a
|
||||
ld b, $5
|
||||
.asm_79314
|
||||
call Func_79329
|
||||
call Animations_79329
|
||||
inc d
|
||||
dec b
|
||||
jr nz, .asm_79314
|
||||
|
@ -1403,12 +1400,12 @@ Func_792fd: ; 792fd (1e:52fd)
|
|||
ld [W_BASECOORDX], a
|
||||
jr .asm_7930e
|
||||
|
||||
Func_79329: ; 79329 (1e:5329)
|
||||
Animations_79329: ; 79329 (1e:5329)
|
||||
ld a, e
|
||||
add $8
|
||||
ld e, a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld a, [W_BASECOORDX]
|
||||
ld [hli], a
|
||||
ld a, d
|
||||
ld [hli], a
|
||||
|
@ -1464,7 +1461,7 @@ AdjustOAMBlockYPos2: ; 79352 (1e:5352)
|
|||
|
||||
AnimationBlinkEnemyMon: ; 79369 (1e:5369)
|
||||
; Make the enemy mon's sprite blink on and off for a second or two
|
||||
ld hl, AnimationBlinkMon ; $536f
|
||||
ld hl, AnimationBlinkMon
|
||||
jp CallWithTurnFlipped
|
||||
|
||||
AnimationBlinkMon: ; 7936f (1e:536f)
|
||||
|
@ -1474,10 +1471,10 @@ AnimationBlinkMon: ; 7936f (1e:536f)
|
|||
.asm_79372
|
||||
push bc
|
||||
call AnimationHideMonPic
|
||||
ld c, $5
|
||||
ld c, 5
|
||||
call DelayFrames
|
||||
call AnimationShowMonPic
|
||||
ld c, $5
|
||||
ld c, 5
|
||||
call DelayFrames
|
||||
pop bc
|
||||
dec c
|
||||
|
@ -1502,7 +1499,7 @@ AnimationShowMonPic: ; 7939e (1e:539e)
|
|||
xor a
|
||||
call GetTileIDList
|
||||
call GetMonSpriteTileMapPointerFromRowCount
|
||||
call Func_79aae
|
||||
call CopyPicTiles
|
||||
jp Delay3
|
||||
|
||||
AnimationShowEnemyMonPic: ; 793ab (1e:53ab)
|
||||
|
@ -1537,7 +1534,7 @@ AnimationShakeBackAndForth: ; 793b1 (1e:53b1)
|
|||
push hl
|
||||
call GetTileIDList
|
||||
pop hl
|
||||
call Func_79aae
|
||||
call CopyPicTiles
|
||||
call Delay3
|
||||
pop hl
|
||||
ld bc, $0709
|
||||
|
@ -1545,7 +1542,7 @@ AnimationShakeBackAndForth: ; 793b1 (1e:53b1)
|
|||
pop af
|
||||
call GetTileIDList
|
||||
pop hl
|
||||
call Func_79aae
|
||||
call CopyPicTiles
|
||||
call Delay3
|
||||
pop hl
|
||||
ld bc, $0709
|
||||
|
@ -1562,7 +1559,7 @@ AnimationMoveMonHorizontally: ; 793f9 (1e:53f9)
|
|||
; Shifts the mon's sprite horizontally to a fixed location. Used by lots of
|
||||
; animations like Tackle/Body Slam.
|
||||
call AnimationHideMonPic
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
hlCoord 2, 5
|
||||
jr z, .asm_79407
|
||||
|
@ -1572,13 +1569,13 @@ AnimationMoveMonHorizontally: ; 793f9 (1e:53f9)
|
|||
push hl
|
||||
call GetTileIDList
|
||||
pop hl
|
||||
call Func_79aae
|
||||
ld c, $3
|
||||
call CopyPicTiles
|
||||
ld c, 3
|
||||
jp DelayFrames
|
||||
|
||||
AnimationResetMonPosition: ; 79415 (1e:5415)
|
||||
; Resets the mon's sprites to be located at the normal coordinates.
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld a, $66
|
||||
jr z, .asm_7941e
|
||||
|
@ -1590,24 +1587,24 @@ AnimationResetMonPosition: ; 79415 (1e:5415)
|
|||
AnimationSpiralBallsInward: ; 79424 (1e:5424)
|
||||
; Creates an effect that looks like energy balls sprialing into the
|
||||
; player mon's sprite. Used in Focus Energy, for example.
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
jr z, .asm_79435
|
||||
ld a, $d8
|
||||
ld [wd08a], a
|
||||
ld a, $50
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
ld [W_SUBANIMTRANSFORM], a
|
||||
jr .asm_7943c
|
||||
.asm_79435
|
||||
xor a
|
||||
ld [wd08a], a
|
||||
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
|
||||
ld [W_SUBANIMTRANSFORM], a
|
||||
.asm_7943c
|
||||
ld d, $7a
|
||||
ld c, $3
|
||||
xor a
|
||||
call Func_797e8
|
||||
ld hl, SpiralBallAnimationCoordinates ; $5476
|
||||
ld hl, SpiralBallAnimationCoordinates
|
||||
.asm_79447
|
||||
push hl
|
||||
ld c, $3
|
||||
|
@ -1621,7 +1618,7 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
|
|||
ld [de], a
|
||||
inc de
|
||||
inc hl
|
||||
ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
|
||||
ld a, [W_SUBANIMTRANSFORM]
|
||||
add [hl]
|
||||
ld [de], a
|
||||
inc hl
|
||||
|
@ -1630,7 +1627,7 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
|
|||
inc de
|
||||
dec c
|
||||
jr nz, .asm_7944d
|
||||
ld c, $5
|
||||
ld c, 5
|
||||
call DelayFrames
|
||||
pop hl
|
||||
inc hl
|
||||
|
@ -1674,7 +1671,7 @@ AnimationSquishMonPic: ; 794a1 (1e:54a1)
|
|||
ld c, $4
|
||||
.asm_794a3
|
||||
push bc
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
jr z, .asm_794b1
|
||||
hlCoord 16, 0
|
||||
|
@ -1687,11 +1684,11 @@ AnimationSquishMonPic: ; 794a1 (1e:54a1)
|
|||
push de
|
||||
xor a
|
||||
ld [wd09f], a
|
||||
call Func_794d4
|
||||
call _AnimationSquishMonPic
|
||||
pop hl
|
||||
ld a, $1
|
||||
ld [wd09f], a
|
||||
call Func_794d4
|
||||
call _AnimationSquishMonPic
|
||||
pop bc
|
||||
dec c
|
||||
jr nz, .asm_794a3
|
||||
|
@ -1699,7 +1696,7 @@ AnimationSquishMonPic: ; 794a1 (1e:54a1)
|
|||
ld c, $2
|
||||
jp DelayFrame
|
||||
|
||||
Func_794d4: ; 794d4 (1e:54d4)
|
||||
_AnimationSquishMonPic: ; 794d4 (1e:54d4)
|
||||
ld c, $7
|
||||
.asm_794d6
|
||||
push bc
|
||||
|
@ -1727,7 +1724,7 @@ Func_794d4: ; 794d4 (1e:54d4)
|
|||
AnimationShootBallsUpward: ; 794f9 (1e:54f9)
|
||||
; Shoots one pillar of "energy" balls upwards. Used in Teleport/Sky Attack
|
||||
; animations.
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
jr z, .asm_79503
|
||||
ld bc, $80
|
||||
|
@ -1736,14 +1733,14 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
|
|||
ld bc, $3028
|
||||
.asm_79506
|
||||
ld a, b
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld [W_BASECOORDY], a
|
||||
ld a, c
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [W_BASECOORDX], a
|
||||
ld bc, $501
|
||||
call Func_79517
|
||||
call _AnimationShootBallsUpward
|
||||
jp AnimationCleanOAM
|
||||
|
||||
Func_79517: ; 79517 (1e:5517)
|
||||
_AnimationShootBallsUpward: ; 79517 (1e:5517)
|
||||
push bc
|
||||
xor a
|
||||
ld [wd09f], a
|
||||
|
@ -1752,10 +1749,10 @@ Func_79517: ; 79517 (1e:5517)
|
|||
ld d, $7a
|
||||
ld hl, wOAMBuffer
|
||||
push bc
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld a, [W_BASECOORDY]
|
||||
ld e, a
|
||||
.asm_7952a
|
||||
call Func_79329
|
||||
call Animations_79329
|
||||
dec b
|
||||
jr nz, .asm_7952a
|
||||
call DelayFrame
|
||||
|
@ -1766,7 +1763,7 @@ Func_79517: ; 79517 (1e:5517)
|
|||
push bc
|
||||
ld hl, wOAMBuffer
|
||||
.asm_7953c
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld a, [W_BASECOORDY]
|
||||
add $8
|
||||
ld e, a
|
||||
ld a, [hl]
|
||||
|
@ -1812,7 +1809,7 @@ AnimationShootManyBallsUpward: ; 79566 (1e:5566)
|
|||
ld [W_BASECOORDX], a
|
||||
ld bc, $0401
|
||||
push hl
|
||||
call Func_79517
|
||||
call _AnimationShootBallsUpward
|
||||
pop hl
|
||||
jr .loop
|
||||
|
||||
|
@ -1839,7 +1836,7 @@ AnimationMinimizeMon: ; 7959f (1e:559f)
|
|||
pop hl
|
||||
ld de, $194
|
||||
add hl, de
|
||||
ld de, MinimizedMonSprite ; $55c4
|
||||
ld de, MinimizedMonSprite
|
||||
ld c, $5
|
||||
.asm_795b4
|
||||
ld a, [de]
|
||||
|
@ -1867,8 +1864,8 @@ AnimationSlideMonDownAndHide: ; 795c9 (1e:55c9)
|
|||
push af
|
||||
call GetTileIDList
|
||||
call GetMonSpriteTileMapPointerFromRowCount
|
||||
call Func_79aae
|
||||
ld c, $8
|
||||
call CopyPicTiles
|
||||
ld c, 8
|
||||
call DelayFrames
|
||||
pop af
|
||||
inc a
|
||||
|
@ -1882,8 +1879,8 @@ AnimationSlideMonDownAndHide: ; 795c9 (1e:55c9)
|
|||
call FillMemory
|
||||
jp Func_79652
|
||||
|
||||
Func_795f8: ; 795f8 (1e:55f8)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
AnimationSlideMonLeft: ; 795f8 (1e:55f8)
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
jr z, .asm_79602
|
||||
hlCoord 12, 0
|
||||
|
@ -1898,7 +1895,7 @@ Func_795f8: ; 795f8 (1e:55f8)
|
|||
.asm_7960a
|
||||
ld c, $8
|
||||
.asm_7960c
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
jr z, .asm_79616
|
||||
call Func_7963c
|
||||
|
@ -1915,7 +1912,7 @@ Func_795f8: ; 795f8 (1e:55f8)
|
|||
pop de
|
||||
dec b
|
||||
jr nz, .asm_7960a
|
||||
ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
|
||||
ld a, [W_SUBANIMTRANSFORM]
|
||||
ld c, a
|
||||
call DelayFrames
|
||||
pop hl
|
||||
|
@ -1945,11 +1942,11 @@ AnimationSlideMonHalfLeft: ; 79645 (1e:5645)
|
|||
ld e, $4
|
||||
ld a, $4
|
||||
ld [W_SUBANIMTRANSFORM], a
|
||||
call Func_795f8
|
||||
call AnimationSlideMonLeft
|
||||
jp Delay3
|
||||
|
||||
Func_79652: ; 79652 (1e:5652)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld hl, vBackPic
|
||||
jr z, .asm_7965d
|
||||
|
@ -2028,7 +2025,7 @@ AnimationSubstitute: ; 796e0 (1e:56e0)
|
|||
call FillMemory
|
||||
ld a, [$fff3]
|
||||
and a
|
||||
jr z, .asm_79715 ; 0x796ed $26
|
||||
jr z, .asm_79715
|
||||
ld hl, SlowbroSprite ; facing down sprite
|
||||
ld de, wTempPic + $120
|
||||
call CopySlowbroSpriteData
|
||||
|
@ -2065,13 +2062,13 @@ CopySlowbroSpriteData: ; 7973f (1e:573f)
|
|||
jp FarCopyData2
|
||||
|
||||
Func_79747: ; 79747 (1e:5747)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld hl, wccf7
|
||||
ld a, [W_PLAYERBATTSTATUS2] ; W_PLAYERBATTSTATUS2
|
||||
ld a, [W_PLAYERBATTSTATUS2]
|
||||
jr z, .asm_79758
|
||||
ld hl, wccf3
|
||||
ld a, [W_ENEMYBATTSTATUS2] ; W_ENEMYBATTSTATUS2
|
||||
ld a, [W_ENEMYBATTSTATUS2]
|
||||
.asm_79758
|
||||
push hl
|
||||
bit 4, a
|
||||
|
@ -2102,7 +2099,7 @@ AnimationBoundUpAndDown: ; 7977a (1e:577a)
|
|||
call AnimationSlideMonDown
|
||||
pop bc
|
||||
dec c
|
||||
jr nz, .asm_7977c ; 0x79782 $f8
|
||||
jr nz, .asm_7977c
|
||||
jp AnimationShowMonPic
|
||||
|
||||
AnimationTransformMon: ; 79787 (1e:5787)
|
||||
|
@ -2114,7 +2111,7 @@ AnimationTransformMon: ; 79787 (1e:5787)
|
|||
ld [wHPBarMaxHP], a
|
||||
|
||||
Func_79793: ; 79793 (1e:5793)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
jr z, .asm_797b0
|
||||
ld a, [wHPBarMaxHP]
|
||||
|
@ -2137,7 +2134,7 @@ Func_79793: ; 79793 (1e:5793)
|
|||
xor a
|
||||
call GetTileIDList
|
||||
call GetMonSpriteTileMapPointerFromRowCount
|
||||
call Func_79aae
|
||||
call CopyPicTiles
|
||||
pop af
|
||||
ld [wBattleMonSpecies2], a
|
||||
.asm_797d3
|
||||
|
@ -2147,11 +2144,11 @@ Func_79793: ; 79793 (1e:5793)
|
|||
AnimationHideEnemyMonPic: ; 797d8 (1e:57d8)
|
||||
; Hides the enemy mon's sprite
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld hl, AnimationHideMonPic ; $5801
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld hl, AnimationHideMonPic
|
||||
call CallWithTurnFlipped
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
jp Delay3
|
||||
|
||||
Func_797e8: ; 797e8 (1e:57e8)
|
||||
|
@ -2163,17 +2160,17 @@ Func_797e8: ; 797e8 (1e:57e8)
|
|||
pop bc
|
||||
xor a
|
||||
ld e, a
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [W_BASECOORDX], a
|
||||
ld hl, wOAMBuffer
|
||||
.asm_797fa
|
||||
call Func_79329
|
||||
call Animations_79329
|
||||
dec c
|
||||
jr nz, .asm_797fa
|
||||
ret
|
||||
|
||||
AnimationHideMonPic: ; 79801 (1e:5801)
|
||||
; Hides the mon's sprite.
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
jr z, .asm_7980a
|
||||
ld a, $c
|
||||
|
@ -2269,13 +2266,15 @@ Func_79862: ; 79862 (1e:5862)
|
|||
jr nz, Func_79862
|
||||
ret
|
||||
|
||||
Func_79869: ; 79869 (1e:5869)
|
||||
; get the sound of the move id in b
|
||||
GetMoveSoundB: ; 79869 (1e:5869)
|
||||
ld a, b
|
||||
call Func_7986f
|
||||
call GetMoveSound
|
||||
ld b, a
|
||||
ret
|
||||
|
||||
Func_7986f: ; 7986f (1e:586f)
|
||||
; get the sound of the move id in a
|
||||
GetMoveSound: ; 7986f (1e:586f)
|
||||
ld hl,MoveSoundTable
|
||||
ld e,a
|
||||
ld d,0
|
||||
|
@ -2496,7 +2495,7 @@ MoveSoundTable: ; 798bc (1e:58bc)
|
|||
db (SFX_08_4b - SFX_Headers_08) / 3,$00,$80
|
||||
db (SFX_08_4b - SFX_Headers_08) / 3,$00,$80
|
||||
|
||||
Func_79aae: ; 79aae (1e:5aae)
|
||||
CopyPicTiles: ; 79aae (1e:5aae)
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld a, $31 ; base tile ID of player mon sprite
|
||||
|
@ -2507,15 +2506,17 @@ Func_79aae: ; 79aae (1e:5aae)
|
|||
ld [hBaseTileID], a
|
||||
jr asm_79acb
|
||||
|
||||
Func_79aba: ; 79aba (1e:5aba)
|
||||
; copy the tiles used when a mon is being sent out
|
||||
; and "growing" out of the pokeball
|
||||
CopyGrowingMonTiles: ; 79aba (1e:5aba)
|
||||
call GetPredefRegisters
|
||||
ld a, [wcd6c]
|
||||
and a
|
||||
jr nz, .asm_79ac8
|
||||
ld de, Unknown_79b02 ; $5b02
|
||||
ld de, Unknown_79b02 ; 5x5
|
||||
jr asm_79acb
|
||||
.asm_79ac8
|
||||
ld de, Unknown_79b1b ; $5b1b
|
||||
ld de, Unknown_79b1b ; 3x3
|
||||
asm_79acb: ; 79acb (1e:5acb)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
|
@ -2811,7 +2812,7 @@ AnimationShakeEnemyHUD: ; 79d77 (1e:5d77)
|
|||
call Func_79e0d
|
||||
ld a, $38
|
||||
ld [hWY], a
|
||||
call Func_792fd
|
||||
call _AnimationShakeEnemyHUD
|
||||
ld hl, vBGMap0
|
||||
call Func_79e0d
|
||||
call AnimationHideMonPic
|
||||
|
@ -2854,12 +2855,12 @@ Func_79de9: ; 79de9 (1e:5de9)
|
|||
ld a, [wTrainerSpriteOffset]
|
||||
add d
|
||||
ld [hSCX], a
|
||||
ld c, $2
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
sub d
|
||||
ld [hSCX], a
|
||||
ld c, $2
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
dec e
|
||||
jr nz, .asm_79dee
|
||||
|
@ -2926,7 +2927,7 @@ TossBallAnimation: ; 79e16 (1e:5e16)
|
|||
ld [W_ANIMATIONID],a
|
||||
call PlayAnimation
|
||||
ld a,(SFX_08_43 - SFX_Headers_08) / 3
|
||||
call PlaySound ; play sound effect
|
||||
call PlaySound
|
||||
ld a,BLOCKBALL_ANIM
|
||||
ld [W_ANIMATIONID],a
|
||||
jp PlayAnimation
|
||||
|
|
|
@ -52,40 +52,40 @@ FormatMovesString: ; 39b87 (e:5b87)
|
|||
ret
|
||||
|
||||
; XXX this is called in a few places, but it doesn't appear to do anything useful
|
||||
Func_39bd5: ; 39bd5 (e:5bd5)
|
||||
InitList: ; 39bd5 (e:5bd5)
|
||||
ld a, [wd11b]
|
||||
cp $1
|
||||
jr nz, .asm_39be6
|
||||
jr nz, .notEnemy
|
||||
ld hl, wEnemyPartyCount
|
||||
ld de, wEnemyMonOT
|
||||
ld a, ENEMYOT_NAME
|
||||
jr .asm_39c18
|
||||
.asm_39be6
|
||||
jr .done
|
||||
.notEnemy
|
||||
cp $4
|
||||
jr nz, .calcAttackStat4
|
||||
jr nz, .notPlayer
|
||||
ld hl, wPartyCount
|
||||
ld de, wPartyMonOT
|
||||
ld a, PLAYEROT_NAME
|
||||
jr .asm_39c18
|
||||
.calcAttackStat4
|
||||
jr .done
|
||||
.notPlayer
|
||||
cp $5
|
||||
jr nz, .asm_39c02
|
||||
jr nz, .notMonster
|
||||
ld hl, wStringBuffer2 + 11
|
||||
ld de, MonsterNames
|
||||
ld a, MONSTER_NAME
|
||||
jr .asm_39c18
|
||||
.asm_39c02
|
||||
jr .done
|
||||
.notMonster
|
||||
cp $2
|
||||
jr nz, .asm_39c10
|
||||
jr nz, .notBag
|
||||
ld hl, wNumBagItems
|
||||
ld de, ItemNames
|
||||
ld a, ITEM_NAME
|
||||
jr .asm_39c18
|
||||
.asm_39c10
|
||||
jr .done
|
||||
.notBag
|
||||
ld hl, wStringBuffer2 + 11
|
||||
ld de, ItemNames
|
||||
ld a, ITEM_NAME
|
||||
.asm_39c18
|
||||
.done
|
||||
ld [wNameListType], a
|
||||
ld a, l
|
||||
ld [wList], a
|
||||
|
|
|
@ -352,7 +352,7 @@ BattleTransition_FlashScreen_: ; 70b5d (1c:4b5d)
|
|||
cp $1
|
||||
jr z, .done
|
||||
ld [rBGP], a
|
||||
ld c, $2
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
jr .loop
|
||||
.done
|
||||
|
@ -389,13 +389,13 @@ BattleTransition_Shrink: ; 70b7f (1c:4b7f)
|
|||
call BattleTransition_CopyTiles2
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld c, $6
|
||||
ld c, 6
|
||||
call DelayFrames
|
||||
pop bc
|
||||
dec c
|
||||
jr nz, .loop
|
||||
call BattleTransition_BlackScreen
|
||||
ld c, $a
|
||||
ld c, 10
|
||||
jp DelayFrames
|
||||
|
||||
; used for high level trainer dungeon battles
|
||||
|
@ -427,7 +427,7 @@ BattleTransition_Split: ; 70bca (1c:4bca)
|
|||
dec c
|
||||
jr nz, .loop
|
||||
call BattleTransition_BlackScreen
|
||||
ld c, $a
|
||||
ld c, 10
|
||||
jp DelayFrames
|
||||
|
||||
BattleTransition_CopyTiles1: ; 70c12 (1c:4c12)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
PrintBeginningBattleText: ; 58d99 (16:4d99)
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
ld a, [W_ISINBATTLE]
|
||||
dec a
|
||||
jr nz, .trainerBattle
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
ld a, [W_CURMAP]
|
||||
cp POKEMONTOWER_3
|
||||
jr c, .notPokemonTower
|
||||
cp LAVENDER_HOUSE_1
|
||||
|
@ -11,7 +11,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
|
|||
ld a, [wEnemyMonSpecies2]
|
||||
call PlayCry
|
||||
ld hl, WildMonAppearedText
|
||||
ld a, [W_MOVEMISSED] ; W_MOVEMISSED
|
||||
ld a, [W_MOVEMISSED]
|
||||
and a
|
||||
jr z, .notFishing
|
||||
ld hl, HookedMonAttackedText
|
||||
|
@ -19,7 +19,7 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
|
|||
jr .wildBattle
|
||||
.trainerBattle
|
||||
call .playSFX
|
||||
ld c, $14
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
ld hl, TrainerWantsToFightText
|
||||
.wildBattle
|
||||
|
|
|
@ -177,7 +177,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c)
|
|||
ld a, $31
|
||||
ld [$ffe1], a
|
||||
hlCoord 1, 5
|
||||
predef Func_3f0c6
|
||||
predef CopyUncompressedPicToTilemap
|
||||
xor a
|
||||
ld [hWY], a
|
||||
ld [rWY], a
|
||||
|
@ -620,7 +620,7 @@ HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd)
|
|||
or [hl]
|
||||
ret nz ; test if fainted
|
||||
call DrawHUDsAndHPBars
|
||||
ld c, $14
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
xor a
|
||||
ret
|
||||
|
@ -823,7 +823,7 @@ HandleEnemyMonFainted: ; 3c525 (f:4525)
|
|||
ld [wcd6a], a
|
||||
jp MainInBattleLoop
|
||||
|
||||
FaintEnemyPokemon ; 0x3c567
|
||||
FaintEnemyPokemon: ; 0x3c567
|
||||
call ReadPlayerMonCurHPAndStatus
|
||||
ld a, [W_ISINBATTLE]
|
||||
dec a
|
||||
|
@ -1020,7 +1020,7 @@ TrainerBattleVictory: ; 3c696 (f:4696)
|
|||
cp LINK_STATE_BATTLING
|
||||
ret z
|
||||
call ScrollTrainerPicAfterBattle
|
||||
ld c, $28
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
call PrintEndBattleText
|
||||
; win money
|
||||
|
@ -1218,7 +1218,7 @@ HandlePlayerBlackOut: ; 3c837 (f:4837)
|
|||
ld bc, $815
|
||||
call ClearScreenArea
|
||||
call ScrollTrainerPicAfterBattle
|
||||
ld c, $28
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
ld hl, Sony1WinText
|
||||
call PrintText
|
||||
|
@ -1506,7 +1506,7 @@ EnemySendOutFirstMon: ; 3c92a (f:492a)
|
|||
ld a,$CF
|
||||
ld [$FFE1],a
|
||||
hlCoord 15, 6
|
||||
predef Func_3f073
|
||||
predef AnimateSendingOutMon
|
||||
ld a,[wEnemyMonSpecies2]
|
||||
call PlayCry
|
||||
call DrawEnemyHUDAndHPBar
|
||||
|
@ -1836,7 +1836,7 @@ SendOutMon: ; 3cc91 (f:4c91)
|
|||
ld a, POOF_ANIM
|
||||
call PlayMoveAnimation
|
||||
hlCoord 4, 11
|
||||
predef Func_3f073
|
||||
predef AnimateSendingOutMon
|
||||
ld a, [wcf91]
|
||||
call PlayCry
|
||||
call PrintEmptyString
|
||||
|
@ -1852,8 +1852,8 @@ AnimateRetreatingPlayerMon: ; 3ccfa (f:4cfa)
|
|||
xor a
|
||||
ld [wcd6c], a
|
||||
ld [H_DOWNARROWBLINKCNT1], a
|
||||
predef Func_79aba
|
||||
ld c, $4
|
||||
predef CopyGrowingMonTiles
|
||||
ld c, 4
|
||||
call DelayFrames
|
||||
call .clearScreenArea
|
||||
hlCoord 4, 9
|
||||
|
@ -1862,7 +1862,7 @@ AnimateRetreatingPlayerMon: ; 3ccfa (f:4cfa)
|
|||
ld [wcd6c], a
|
||||
xor a
|
||||
ld [H_DOWNARROWBLINKCNT1], a
|
||||
predef Func_79aba
|
||||
predef CopyGrowingMonTiles
|
||||
call Delay3
|
||||
call .clearScreenArea
|
||||
ld a, $4c
|
||||
|
@ -2110,12 +2110,12 @@ DisplayBattleMenu: ; 3ceb3 (f:4eb3)
|
|||
; the following simulates the keystrokes by drawing menus on screen
|
||||
hlCoord 9, 14
|
||||
ld [hl], "▶"
|
||||
ld c, $50
|
||||
ld c, 80
|
||||
call DelayFrames
|
||||
ld [hl], $7f
|
||||
hlCoord 9, 16
|
||||
ld [hl], "▶"
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld [hl], $ec
|
||||
ld a, $2 ; select the "ITEM" menu
|
||||
|
@ -2490,7 +2490,7 @@ PartyMenuOrRockOrRun:
|
|||
|
||||
SwitchPlayerMon: ; 3d1ba (f:51ba)
|
||||
callab RetreatMon
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
call AnimateRetreatingPlayerMon
|
||||
ld a, [wWhichPokemon]
|
||||
|
@ -2815,7 +2815,7 @@ AnyMoveToSelect: ; 3d3f5 (f:53f5)
|
|||
.asm_3d423
|
||||
ld hl, NoMovesLeftText
|
||||
call PrintText
|
||||
ld c, $3c
|
||||
ld c, 60
|
||||
call DelayFrames
|
||||
xor a
|
||||
ret
|
||||
|
@ -3232,7 +3232,7 @@ playPlayerMoveAnimation
|
|||
call nz,Bankswitch
|
||||
jr MirrorMoveCheck
|
||||
playerCheckIfFlyOrChargeEffect
|
||||
ld c,$1E
|
||||
ld c,30
|
||||
call DelayFrames
|
||||
ld a,[W_PLAYERMOVEEFFECT]
|
||||
cp a,FLY_EFFECT
|
||||
|
@ -3869,7 +3869,7 @@ ExclamationPoint5Text: ; 3db80 (f:5b80)
|
|||
; if the move being used is in set [1-4] from ExclamationPointMoveSets,
|
||||
; use ExclamationPoint[1-4]Text
|
||||
; otherwise, use ExclamationPoint5Text
|
||||
; but all five text strings are identical
|
||||
; but all five text strings are identical
|
||||
; this likely had to do with Japanese grammar that got translated,
|
||||
; but the functionality didn't get removed
|
||||
DetermineExclamationPointTextNum: ; 3db85 (f:5b85)
|
||||
|
@ -4004,7 +4004,7 @@ PrintCriticalOHKOText: ; 3dc5c (f:5c5c)
|
|||
xor a
|
||||
ld [wCriticalHitOrOHKO], a
|
||||
.done
|
||||
ld c, $14
|
||||
ld c, 20
|
||||
jp DelayFrames
|
||||
|
||||
CriticalOHKOTextPointers: ; 3dc7a (f:5c7a)
|
||||
|
@ -4691,7 +4691,7 @@ CriticalHitTest: ; 3e023 (f:6023)
|
|||
jr z, .calcCriticalHitProbability
|
||||
ld hl, W_ENEMYMOVEPOWER
|
||||
ld de, W_ENEMYBATTSTATUS2
|
||||
.calcCriticalHitProbability ; 0x3e04f
|
||||
.calcCriticalHitProbability
|
||||
ld a, [hld] ; read base power from RAM
|
||||
and a
|
||||
ret z ; do nothing if zero
|
||||
|
@ -5579,7 +5579,7 @@ CalcHitChance: ; 3e624 (f:6624)
|
|||
; the second iteration multiplies by the evasion ratio
|
||||
.loop
|
||||
push bc
|
||||
ld hl, StatModifierRatios ; $76cb ; stat modifier ratios
|
||||
ld hl, StatModifierRatios ; stat modifier ratios
|
||||
dec b
|
||||
sla b
|
||||
ld c,b
|
||||
|
@ -5785,7 +5785,7 @@ playEnemyMoveAnimation: ; 3e7a4 (f:67a4)
|
|||
|
||||
EnemyCheckIfFlyOrChargeEffect: ; 3e7d1 (f:67d1)
|
||||
call SwapPlayerAndEnemyLevels
|
||||
ld c, $1e
|
||||
ld c, 30
|
||||
call DelayFrames
|
||||
ld a, [W_ENEMYMOVEEFFECT]
|
||||
cp FLY_EFFECT
|
||||
|
@ -6456,7 +6456,7 @@ LoadPlayerBackPic: ; 3ec92 (f:6c92)
|
|||
ld a, $31
|
||||
ld [$ffe1], a
|
||||
hlCoord 1, 5
|
||||
predef_jump Func_3f0c6
|
||||
predef_jump CopyUncompressedPicToTilemap
|
||||
|
||||
; does nothing since no stats are ever selected (barring glitches)
|
||||
DoubleOrHalveSelectedStats: ; 3ed02 (f:6d02)
|
||||
|
@ -6796,11 +6796,11 @@ BattleRandom:
|
|||
HandleExplodingAnimation: ; 3eed3 (f:6ed3)
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld hl, wEnemyMonType1 ; wcfea
|
||||
ld hl, wEnemyMonType1
|
||||
ld de, W_ENEMYBATTSTATUS1
|
||||
ld a, [W_PLAYERMOVENUM]
|
||||
jr z, .asm_3eeea
|
||||
ld hl, wBattleMonType1 ; wd019
|
||||
ld hl, wBattleMonType1
|
||||
ld de, W_ENEMYBATTSTATUS1
|
||||
ld a, [W_ENEMYMOVENUM]
|
||||
.asm_3eeea
|
||||
|
@ -6832,14 +6832,15 @@ PlayMoveAnimation: ; 3ef07 (f:6f07)
|
|||
InitBattle: ; 3ef12 (f:6f12)
|
||||
ld a, [W_CUROPPONENT]
|
||||
and a
|
||||
jr z, asm_3ef23
|
||||
jr z, DetermineWildOpponent
|
||||
|
||||
InitOpponent: ; 3ef18 (f:6f18)
|
||||
ld a, [W_CUROPPONENT]
|
||||
ld [wcf91], a
|
||||
ld [wEnemyMonSpecies2], a
|
||||
jr asm_3ef3d
|
||||
asm_3ef23: ; 3ef23 (f:6f23)
|
||||
jr InitBattleCommon
|
||||
|
||||
DetermineWildOpponent: ; 3ef23 (f:6f23)
|
||||
ld a, [wd732]
|
||||
bit 1, a
|
||||
jr z, .asm_3ef2f
|
||||
|
@ -6852,7 +6853,7 @@ asm_3ef23: ; 3ef23 (f:6f23)
|
|||
ret nz
|
||||
callab TryDoWildEncounter
|
||||
ret nz
|
||||
asm_3ef3d: ; 3ef3d (f:6f3d)
|
||||
InitBattleCommon: ; 3ef3d (f:6f3d)
|
||||
ld a, [wMapPalOffset]
|
||||
push af
|
||||
ld hl, wd358
|
||||
|
@ -6874,7 +6875,7 @@ asm_3ef3d: ; 3ef3d (f:6f3d)
|
|||
dec a
|
||||
ld [wAICount], a
|
||||
hlCoord 12, 0
|
||||
predef Func_3f0c6
|
||||
predef CopyUncompressedPicToTilemap
|
||||
ld a, $ff
|
||||
ld [wEnemyMonPartyPos], a
|
||||
ld a, $2
|
||||
|
@ -6928,7 +6929,7 @@ InitWildBattle: ; 3ef8b (f:6f8b)
|
|||
ld [W_TRAINERCLASS], a
|
||||
ld [$ffe1], a
|
||||
hlCoord 12, 0
|
||||
predef Func_3f0c6
|
||||
predef CopyUncompressedPicToTilemap
|
||||
|
||||
; common code that executes after init battle code specific to trainer or wild battles
|
||||
InitBattle_Common: ; 3efeb (f:6feb)
|
||||
|
@ -6974,9 +6975,9 @@ InitBattle_Common: ; 3efeb (f:6feb)
|
|||
|
||||
_LoadTrainerPic: ; 3f04b (f:704b)
|
||||
; wd033-wd034 contain pointer to pic
|
||||
ld a, [wTrainerPicPointer] ; wd033
|
||||
ld a, [wTrainerPicPointer]
|
||||
ld e, a
|
||||
ld a, [wTrainerPicPointer + 1] ; wd034
|
||||
ld a, [wTrainerPicPointer + 1]
|
||||
ld d, a ; de contains pointer to trainer pic
|
||||
ld a, [wLinkState]
|
||||
and a
|
||||
|
@ -6991,13 +6992,14 @@ _LoadTrainerPic: ; 3f04b (f:704b)
|
|||
jp LoadUncompressedSpriteData
|
||||
|
||||
; unreferenced
|
||||
Func_3f069: ; 3f069 (f:7069)
|
||||
ResetCryModifiers: ; 3f069 (f:7069)
|
||||
xor a
|
||||
ld [wc0f1], a
|
||||
ld [wc0f2], a
|
||||
jp PlaySound
|
||||
|
||||
Func_3f073: ; 3f073 (f:7073)
|
||||
; animtes the mon "growing" out of the pokeball
|
||||
AnimateSendingOutMon: ; 3f073 (f:7073)
|
||||
ld a, [wPredefRegisters]
|
||||
ld h, a
|
||||
ld a, [wPredefRegisters + 1]
|
||||
|
@ -7016,16 +7018,16 @@ Func_3f073: ; 3f073 (f:7073)
|
|||
ld a, $1
|
||||
ld [wcd6c], a
|
||||
ld bc, $303
|
||||
predef Func_79aba
|
||||
ld c, $4
|
||||
predef CopyGrowingMonTiles
|
||||
ld c, 4
|
||||
call DelayFrames
|
||||
ld bc, -41
|
||||
add hl, bc
|
||||
xor a
|
||||
ld [wcd6c], a
|
||||
ld bc, $505
|
||||
predef Func_79aba
|
||||
ld c, $5
|
||||
predef CopyGrowingMonTiles
|
||||
ld c, 5
|
||||
call DelayFrames
|
||||
ld bc, -41
|
||||
jr .asm_3f0bf
|
||||
|
@ -7035,15 +7037,15 @@ Func_3f073: ; 3f073 (f:7073)
|
|||
add hl, bc
|
||||
ld a, [H_DOWNARROWBLINKCNT1]
|
||||
add $31
|
||||
jr asm_3f0d0
|
||||
jr CopyUncompressedPicToHL
|
||||
|
||||
Func_3f0c6: ; 3f0c6 (f:70c6)
|
||||
CopyUncompressedPicToTilemap: ; 3f0c6 (f:70c6)
|
||||
ld a, [wPredefRegisters]
|
||||
ld h, a
|
||||
ld a, [wPredefRegisters + 1]
|
||||
ld l, a
|
||||
ld a, [$ffe1]
|
||||
asm_3f0d0: ; 3f0d0 (f:70d0)
|
||||
CopyUncompressedPicToHL: ; 3f0d0 (f:70d0)
|
||||
ld bc, $707
|
||||
ld de, $14
|
||||
push af
|
||||
|
@ -7356,7 +7358,7 @@ PoisonEffect: ; 3f24f (f:724f)
|
|||
cp POISON_EFFECT
|
||||
ret nz
|
||||
.didntAffect
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
jp PrintDidntAffectText
|
||||
|
||||
|
@ -7652,7 +7654,7 @@ UpdateStat: ; 3f4c3 (f:74c3)
|
|||
UpdateStatDone: ; 3f4ca (f:74ca)
|
||||
ld b, c
|
||||
inc b
|
||||
call Func_3f688
|
||||
call PrintStatText
|
||||
ld hl, W_PLAYERBATTSTATUS2
|
||||
ld de, W_PLAYERMOVENUM
|
||||
ld bc, wccf7
|
||||
|
@ -7822,7 +7824,7 @@ StatModifierDownEffect: ; 3f54c (f:754c)
|
|||
jr nz, .recalculateStat
|
||||
ld a, [hl]
|
||||
and a
|
||||
jp z, Func_3f64d
|
||||
jp z, CantLowerAnymore_Pop
|
||||
.recalculateStat
|
||||
; recalculate affected stat
|
||||
; paralysis and burn penalties, as well as badge boosts are ignored
|
||||
|
@ -7870,7 +7872,7 @@ UpdateLoweredStatDone: ; 3f62c (f:762c)
|
|||
ld b, c
|
||||
inc b
|
||||
push de
|
||||
call Func_3f688
|
||||
call PrintStatText
|
||||
pop de
|
||||
ld a, [de]
|
||||
cp $44
|
||||
|
@ -7890,7 +7892,7 @@ UpdateLoweredStatDone: ; 3f62c (f:762c)
|
|||
call QuarterSpeedDueToParalysis
|
||||
jp HalveAttackDueToBurn
|
||||
|
||||
Func_3f64d: ; 3f64d (f:764d)
|
||||
CantLowerAnymore_Pop: ; 3f64d (f:764d)
|
||||
pop de
|
||||
pop hl
|
||||
inc [hl]
|
||||
|
@ -7933,7 +7935,7 @@ FellText: ; 3f683 (f:7683)
|
|||
TX_FAR _FellText
|
||||
db "@"
|
||||
|
||||
Func_3f688: ; 3f688 (f:7688)
|
||||
PrintStatText: ; 3f688 (f:7688)
|
||||
ld hl, StatsTextStrings
|
||||
ld c, $50
|
||||
.asm_3f68d
|
||||
|
@ -8042,7 +8044,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)
|
|||
srl b
|
||||
cp b
|
||||
jr nc, .asm_3f76e
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld a, [W_PLAYERMOVENUM]
|
||||
cp TELEPORT
|
||||
|
@ -8057,7 +8059,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)
|
|||
ld a, [W_PLAYERMOVENUM]
|
||||
jr .asm_3f7e4
|
||||
.asm_3f77e
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, IsUnaffectedText
|
||||
ld a, [W_PLAYERMOVENUM]
|
||||
|
@ -8084,7 +8086,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)
|
|||
srl b
|
||||
cp b
|
||||
jr nc, .asm_3f7c1
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld a, [W_ENEMYMOVENUM]
|
||||
cp TELEPORT
|
||||
|
@ -8099,7 +8101,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)
|
|||
ld a, [W_ENEMYMOVENUM]
|
||||
jr .asm_3f7e4
|
||||
.asm_3f7d1
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, IsUnaffectedText
|
||||
ld a, [W_ENEMYMOVENUM]
|
||||
|
@ -8109,7 +8111,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)
|
|||
.asm_3f7e4
|
||||
push af
|
||||
call PlayBattleAnimation
|
||||
ld c, $14
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
pop af
|
||||
ld hl, RanFromBattleText
|
||||
|
@ -8377,7 +8379,7 @@ BecameConfusedText: ; 3f9a1 (f:79a1)
|
|||
ConfusionEffectFailed: ; 3f9a6 (f:79a6)
|
||||
cp CONFUSION_SIDE_EFFECT
|
||||
ret z
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
jp ConditionalPrintButItFailed
|
||||
|
||||
|
@ -8424,7 +8426,7 @@ RageEffect: ; 3f9df (f:79df)
|
|||
ret
|
||||
|
||||
MimicEffect: ; 3f9ed (f:79ed)
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
call MoveHitTest
|
||||
ld a, [W_MOVEMISSED]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
DrawAllPokeballs: ; 3a849 (e:6849)
|
||||
call LoadPartyPokeballGfx
|
||||
call SetupOwnPartyPokeballs
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
ld a, [W_ISINBATTLE]
|
||||
dec a
|
||||
ret z ; return if wild pokémon
|
||||
jp SetupEnemyPartyPokeballs
|
||||
|
@ -11,7 +11,7 @@ DrawEnemyPokeballs: ; 0x3a857
|
|||
jp SetupEnemyPartyPokeballs
|
||||
|
||||
LoadPartyPokeballGfx: ; 3a85d (e:685d)
|
||||
ld de, PokeballTileGraphics ; $697e
|
||||
ld de, PokeballTileGraphics
|
||||
ld hl, vSprites + $310
|
||||
ld bc, (BANK(PokeballTileGraphics) << 8) + $04
|
||||
jp CopyVideoData
|
||||
|
@ -19,10 +19,10 @@ LoadPartyPokeballGfx: ; 3a85d (e:685d)
|
|||
SetupOwnPartyPokeballs: ; 3a869 (e:6869)
|
||||
call PlacePlayerHUDTiles
|
||||
ld hl, wPartyMon1
|
||||
ld de, wPartyCount ; wPartyCount
|
||||
ld de, wPartyCount
|
||||
call SetupPokeballs
|
||||
ld a, $60
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld hl, W_BASECOORDX
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld a, $8
|
||||
|
@ -33,9 +33,9 @@ SetupOwnPartyPokeballs: ; 3a869 (e:6869)
|
|||
SetupEnemyPartyPokeballs: ; 3a887 (e:6887)
|
||||
call PlaceEnemyHUDTiles
|
||||
ld hl, wEnemyMons
|
||||
ld de, wEnemyPartyCount ; wEnemyPartyCount
|
||||
ld de, wEnemyPartyCount
|
||||
call SetupPokeballs
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld hl, W_BASECOORDX
|
||||
ld a, $48
|
||||
ld [hli], a
|
||||
ld [hl], $20
|
||||
|
@ -98,31 +98,31 @@ WritePokeballOAMData: ; 3a8e1 (e:68e1)
|
|||
ld de, wBuffer
|
||||
ld c, PARTY_LENGTH
|
||||
.loop
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld a, [W_BASECOORDY]
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld a, [W_BASECOORDX]
|
||||
ld [hli], a
|
||||
ld a, [de]
|
||||
ld [hli], a
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld a, [W_BASECOORDX]
|
||||
ld b, a
|
||||
ld a, [wTrainerEngageDistance]
|
||||
add b
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [W_BASECOORDX], a
|
||||
inc de
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
||||
PlacePlayerHUDTiles: ; 3a902 (e:6902)
|
||||
ld hl, PlayerBattleHUDGraphicsTiles ; $6916
|
||||
ld hl, PlayerBattleHUDGraphicsTiles
|
||||
ld de, wTrainerFacingDirection
|
||||
ld bc, $3
|
||||
call CopyData
|
||||
hlCoord 18, 10
|
||||
ld de, rIE ; $ffff
|
||||
ld de, rIE
|
||||
jr PlaceHUDTiles
|
||||
|
||||
PlayerBattleHUDGraphicsTiles: ; 3a916 (e:6916)
|
||||
|
@ -132,7 +132,7 @@ PlayerBattleHUDGraphicsTiles: ; 3a916 (e:6916)
|
|||
db $6F ; lower-left triangle tile of the HUD
|
||||
|
||||
PlaceEnemyHUDTiles: ; 3a919 (e:6919)
|
||||
ld hl, EnemyBattleHUDGraphicsTiles ; $692d
|
||||
ld hl, EnemyBattleHUDGraphicsTiles
|
||||
ld de, wTrainerFacingDirection
|
||||
ld bc, $3
|
||||
call CopyData
|
||||
|
@ -165,10 +165,10 @@ PlaceHUDTiles: ; 3a930 (e:6930)
|
|||
|
||||
SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948)
|
||||
call LoadPartyPokeballGfx
|
||||
ld hl, wPartyMon1Species ; wPartyMon1Species (aliases: wPartyMon1)
|
||||
ld de, wPartyCount ; wPartyCount
|
||||
ld hl, wPartyMons
|
||||
ld de, wPartyCount
|
||||
call SetupPokeballs
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld hl, W_BASECOORDX
|
||||
ld a, $50
|
||||
ld [hli], a
|
||||
ld [hl], $40
|
||||
|
@ -176,10 +176,10 @@ SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948)
|
|||
ld [wTrainerEngageDistance], a
|
||||
ld hl, wOAMBuffer
|
||||
call WritePokeballOAMData
|
||||
ld hl, wEnemyMons ; wEnemyMon1Species
|
||||
ld de, wEnemyPartyCount ; wEnemyPartyCount
|
||||
ld hl, wEnemyMons
|
||||
ld de, wEnemyPartyCount
|
||||
call SetupPokeballs
|
||||
ld hl, W_BASECOORDX ; wd081
|
||||
ld hl, W_BASECOORDX
|
||||
ld a, $50
|
||||
ld [hli], a
|
||||
ld [hl], $68
|
||||
|
|
|
@ -21,7 +21,7 @@ EndOfBattle: ; 137aa (4:77aa)
|
|||
.placeWinOrLoseString
|
||||
hlCoord 6, 8
|
||||
call PlaceString
|
||||
ld c, $c8
|
||||
ld c, 200
|
||||
call DelayFrames
|
||||
jr .evolution
|
||||
.notLinkBattle
|
||||
|
|
|
@ -12,7 +12,7 @@ FocusEnergyEffect_: ; 27f86 (9:7f86)
|
|||
ld hl, GettingPumpedText
|
||||
jp PrintText
|
||||
.alreadyUsing
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, PrintButItFailedText_
|
||||
ld b, BANK(PrintButItFailedText_)
|
||||
|
|
|
@ -23,12 +23,12 @@ LeechSeedEffect_: ; 2bea9 (a:7ea9)
|
|||
jr nz, .moveMissed
|
||||
set Seeded, [hl]
|
||||
callab PlayCurrentMoveAnimation
|
||||
ld hl, WasSeededText ; $7ef2
|
||||
ld hl, WasSeededText
|
||||
jp PrintText
|
||||
.moveMissed
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, EvadedAttackText ; $7ef7
|
||||
ld hl, EvadedAttackText
|
||||
jp PrintText
|
||||
|
||||
WasSeededText: ; 2bef2 (a:7ef2)
|
||||
|
|
|
@ -27,7 +27,7 @@ ReflectLightScreenEffect_: ; 3bb97 (e:7b97)
|
|||
pop hl
|
||||
jp PrintText
|
||||
.moveFailed
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, PrintButItFailedText_
|
||||
jp BankswitchEtoF
|
||||
|
|
|
@ -41,16 +41,16 @@ ScaleFirstThreeSpriteColumnsByTwo: ; 2fe55 (b:7e55)
|
|||
|
||||
ScaleLastSpriteColumnByTwo: ; 2fe7d (b:7e7d)
|
||||
ld a, 4*8 - 4 ; $1c, 4 tiles minus 4 unused rows
|
||||
ld [H_SPRITEINTERLACECOUNTER], a ; $ff8b
|
||||
ld bc, -1 ; $ffff
|
||||
ld [H_SPRITEINTERLACECOUNTER], a
|
||||
ld bc, -1
|
||||
.columnInnerLoop
|
||||
ld a, [de]
|
||||
dec de
|
||||
swap a ; only high nybble contains information
|
||||
call ScalePixelsByTwo
|
||||
ld a, [H_SPRITEINTERLACECOUNTER] ; $ff8b
|
||||
ld a, [H_SPRITEINTERLACECOUNTER]
|
||||
dec a
|
||||
ld [H_SPRITEINTERLACECOUNTER], a ; $ff8b
|
||||
ld [H_SPRITEINTERLACECOUNTER], a
|
||||
jr nz, .columnInnerLoop
|
||||
dec de ; skip last 4 rows of new column
|
||||
dec de
|
||||
|
|
|
@ -40,7 +40,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
and a
|
||||
jr z, .loopFindMinimumEntries
|
||||
push hl
|
||||
ld hl, AIMoveChoiceModificationFunctionPointers ; $57a3
|
||||
ld hl, AIMoveChoiceModificationFunctionPointers
|
||||
dec a
|
||||
add a
|
||||
ld c, a
|
||||
|
@ -81,7 +81,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
|
|||
.filterMinimalEntries ; all minimal entries now have value 1. All other slots will be disabled (move set to 0)
|
||||
ld a, [de]
|
||||
and a
|
||||
jr nz, .moveExisting ; 0x3978a $1
|
||||
jr nz, .moveExisting
|
||||
ld [hl], a
|
||||
.moveExisting
|
||||
ld a, [hl]
|
||||
|
@ -145,7 +145,7 @@ AIMoveChoiceModification1: ; 397ab (e:57ab)
|
|||
ld [hl], a
|
||||
jr .nextMove
|
||||
|
||||
StatusAilmentMoveEffects ; 57e2
|
||||
StatusAilmentMoveEffects: ; 57e2
|
||||
db $01 ; unused sleep effect
|
||||
db SLEEP_EFFECT
|
||||
db POISON_EFFECT
|
||||
|
@ -337,7 +337,6 @@ INCLUDE "data/trainer_moves.asm"
|
|||
INCLUDE "data/trainer_parties.asm"
|
||||
|
||||
TrainerAI: ; 3a52e (e:652e)
|
||||
;XXX called at 34964, 3c342, 3c398
|
||||
and a
|
||||
ld a,[W_ISINBATTLE]
|
||||
dec a
|
||||
|
@ -553,7 +552,7 @@ DecrementAICount: ; 3a695 (e:6695)
|
|||
scf
|
||||
ret
|
||||
|
||||
Func_3a69b: ; 3a69b (e:669b)
|
||||
AIPlayRestoringSFX: ; 3a69b (e:669b)
|
||||
ld a,(SFX_08_3e - SFX_Headers_08) / 3
|
||||
jp PlaySoundWaitForCurrent
|
||||
|
||||
|
@ -712,7 +711,7 @@ AIBattleWithdrawText: ; 3a781 (e:6781)
|
|||
db "@"
|
||||
|
||||
AIUseFullHeal: ; 3a786 (e:6786)
|
||||
call Func_3a69b
|
||||
call AIPlayRestoringSFX
|
||||
call AICureStatus
|
||||
ld a,FULL_HEAL
|
||||
jp AIPrintItemUse
|
||||
|
@ -731,21 +730,21 @@ AICureStatus: ; 3a791 (e:6791)
|
|||
ret
|
||||
|
||||
AIUseXAccuracy: ; 0x3a7a8 unused
|
||||
call Func_3a69b
|
||||
call AIPlayRestoringSFX
|
||||
ld hl,W_ENEMYBATTSTATUS2
|
||||
set 0,[hl]
|
||||
ld a,X_ACCURACY
|
||||
jp AIPrintItemUse
|
||||
|
||||
AIUseGuardSpec: ; 3a7b5 (e:67b5)
|
||||
call Func_3a69b
|
||||
call AIPlayRestoringSFX
|
||||
ld hl,W_ENEMYBATTSTATUS2
|
||||
set 1,[hl]
|
||||
ld a,GUARD_SPEC_
|
||||
jp AIPrintItemUse
|
||||
|
||||
AIUseDireHit: ; 0x3a7c2 unused
|
||||
call Func_3a69b
|
||||
call AIPlayRestoringSFX
|
||||
ld hl,W_ENEMYBATTSTATUS2
|
||||
set 2,[hl]
|
||||
ld a,DIRE_HIT
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
; In the Colosseum, it starts a battle. In the Trade Centre, it displays the trade selection screen.
|
||||
; Before doing either action, it swaps random numbers, trainer names and party data with the other gameboy.
|
||||
CableClub_DoBattleOrTrade: ; 5317 (1:5317)
|
||||
ld c, $50
|
||||
ld c, 80
|
||||
call DelayFrames
|
||||
call ClearScreen
|
||||
call UpdateSprites
|
||||
|
@ -359,7 +359,7 @@ TradeCenter_SelectMon:
|
|||
.displayEnemyMonStats
|
||||
ld a, $1
|
||||
ld [wd11b], a
|
||||
callab Func_39bd5
|
||||
callab InitList
|
||||
ld hl, wEnemyMons
|
||||
call TradeCenter_DisplayStats
|
||||
jp .getNewInput
|
||||
|
@ -418,7 +418,7 @@ TradeCenter_SelectMon:
|
|||
; unreachable code
|
||||
ld a, $4
|
||||
ld [wd11b], a
|
||||
callab Func_39bd5
|
||||
callab InitList
|
||||
call TradeCenter_DisplayStats
|
||||
jp .getNewInput
|
||||
.playerMonMenu_ANotPressed
|
||||
|
@ -513,7 +513,7 @@ TradeCenter_SelectMon:
|
|||
ld [wCurrentMenuItem], a
|
||||
ld a, $4
|
||||
ld [wd11b], a
|
||||
callab Func_39bd5
|
||||
callab InitList
|
||||
call TradeCenter_DisplayStats
|
||||
call LoadScreenTilesFromBuffer1
|
||||
jp .playerMonMenu
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Func_7bde9: ; 7bde9 (1e:7de9)
|
||||
EvolveMon: ; 7bde9 (1e:7de9)
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
|
@ -13,17 +13,17 @@ Func_7bde9: ; 7bde9 (1e:7de9)
|
|||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld a, (SFX_08_3c - SFX_Headers_08) / 3
|
||||
call PlaySound
|
||||
call Delay3
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld [hTilesetType], a
|
||||
ld a, [wHPBarMaxHP]
|
||||
ld [wcf1d], a
|
||||
ld c, $0
|
||||
call Func_7beb4
|
||||
call EvolutionSetWholeScreenPalette
|
||||
ld a, [wHPBarMaxHP + 1]
|
||||
ld [wcf91], a
|
||||
ld [wd0b5], a
|
||||
|
@ -37,23 +37,23 @@ Func_7bde9: ; 7bde9 (1e:7de9)
|
|||
ld [wd0b5], a
|
||||
call Func_7beb9
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld a, [wHPBarMaxHP]
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
ld c, BANK(Music_SafariZone)
|
||||
ld a, MUSIC_SAFARI_ZONE
|
||||
call PlayMusic
|
||||
ld c, $50
|
||||
ld c, 80
|
||||
call DelayFrames
|
||||
ld c, $1
|
||||
call Func_7beb4
|
||||
call EvolutionSetWholeScreenPalette
|
||||
ld bc, $110
|
||||
.asm_7be63
|
||||
push bc
|
||||
call asm_7befa
|
||||
call Func_7befa
|
||||
jr c, .asm_7bea9
|
||||
call asm_7bec2
|
||||
call Func_7bec2
|
||||
pop bc
|
||||
inc b
|
||||
dec c
|
||||
|
@ -73,7 +73,7 @@ Func_7bde9: ; 7bde9 (1e:7de9)
|
|||
ld a, [wcf1d]
|
||||
call PlayCry
|
||||
ld c, $0
|
||||
call Func_7beb4
|
||||
call EvolutionSetWholeScreenPalette
|
||||
pop af
|
||||
ld [wd0b5], a
|
||||
pop af
|
||||
|
@ -93,7 +93,7 @@ Func_7bde9: ; 7bde9 (1e:7de9)
|
|||
ld a, [wHPBarMaxHP]
|
||||
jr .asm_7be81
|
||||
|
||||
Func_7beb4: ; 7beb4 (1e:7eb4)
|
||||
EvolutionSetWholeScreenPalette: ; 7beb4 (1e:7eb4)
|
||||
ld b, $b
|
||||
jp GoPAL_SET
|
||||
|
||||
|
@ -101,7 +101,8 @@ Func_7beb9: ; 7beb9 (1e:7eb9)
|
|||
call GetMonHeader
|
||||
hlCoord 7, 2
|
||||
jp LoadFlippedFrontSpriteByMonIndex
|
||||
asm_7bec2: ; 7bec2 (1e:7ec2)
|
||||
|
||||
Func_7bec2: ; 7bec2 (1e:7ec2)
|
||||
ld a, $31
|
||||
ld [wHPBarOldHP], a
|
||||
call Func_7bed6
|
||||
|
@ -109,13 +110,13 @@ asm_7bec2: ; 7bec2 (1e:7ec2)
|
|||
ld [wHPBarOldHP], a
|
||||
call Func_7bed6
|
||||
dec b
|
||||
jr nz, asm_7bec2
|
||||
jr nz, Func_7bec2
|
||||
ret
|
||||
|
||||
Func_7bed6: ; 7bed6 (1e:7ed6)
|
||||
push bc
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
hlCoord 7, 2
|
||||
ld bc, $707
|
||||
ld de, $d
|
||||
|
@ -132,11 +133,12 @@ Func_7bed6: ; 7bed6 (1e:7ed6)
|
|||
dec b
|
||||
jr nz, .asm_7bee3
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
call Delay3
|
||||
pop bc
|
||||
ret
|
||||
asm_7befa: ; 7befa (1e:7efa)
|
||||
|
||||
Func_7befa: ; 7befa (1e:7efa)
|
||||
call DelayFrame
|
||||
push bc
|
||||
call JoypadLowSensitivity
|
||||
|
@ -146,7 +148,7 @@ asm_7befa: ; 7befa (1e:7efa)
|
|||
jr nz, .asm_7bf0d
|
||||
.asm_7bf08
|
||||
dec c
|
||||
jr nz, asm_7befa
|
||||
jr nz, Func_7befa
|
||||
and a
|
||||
ret
|
||||
.asm_7bf0d
|
||||
|
|
|
@ -31,9 +31,9 @@ EvolveTradeMon: ; 17d7d (5:7d7d)
|
|||
ret nz
|
||||
|
||||
.ok
|
||||
ld a, [wPartyCount] ; wPartyCount
|
||||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld [wWhichPokemon], a ; wWhichPokemon
|
||||
ld [wWhichPokemon], a
|
||||
ld a, $1
|
||||
ld [wccd4], a
|
||||
ld a, LINK_STATE_TRADING
|
||||
|
|
|
@ -117,7 +117,7 @@ Evolution_PartyMonLoop: ; loop over party mons
|
|||
call CopyStringToCF4B
|
||||
ld hl, IsEvolvingText
|
||||
call PrintText
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
|
@ -129,7 +129,7 @@ Evolution_PartyMonLoop: ; loop over party mons
|
|||
ld a, $ff
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call ClearSprites
|
||||
callab Func_7bde9
|
||||
callab EvolveMon
|
||||
jp c, CancelledEvolution
|
||||
ld hl, EvolvedText
|
||||
call PrintText
|
||||
|
@ -149,7 +149,7 @@ Evolution_PartyMonLoop: ; loop over party mons
|
|||
ld a, (SFX_02_3b - SFX_Headers_02) / 3
|
||||
call PlaySoundWaitForCurrent
|
||||
call WaitForSoundToFinish
|
||||
ld c, $28
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
call ClearScreen
|
||||
call RenameEvolvedMon
|
||||
|
@ -407,13 +407,13 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
|
|||
and a
|
||||
jp z, .done ; end of list
|
||||
ld b, a
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
ld a, [W_CURENEMYLVL]
|
||||
cp b
|
||||
jp c, .done ; mon level < move level (assumption: learnset is sorted by level)
|
||||
ld a, [wHPBarMaxHP]
|
||||
and a
|
||||
jr z, .skipMinLevelCheck
|
||||
ld a, [wWhichTrade] ; wWhichTrade (min move level)
|
||||
ld a, [wWhichTrade] ; min move level)
|
||||
cp b
|
||||
jr nc, .nextMove2 ; min level >= move level
|
||||
.skipMinLevelCheck
|
||||
|
|
|
@ -38,19 +38,19 @@ CalcExperience: ; 58f6a (16:4f6a)
|
|||
add hl, bc
|
||||
call CalcDSquared
|
||||
ld a, d
|
||||
ld [H_MULTIPLIER], a ; $ff99
|
||||
ld [H_MULTIPLIER], a
|
||||
call Multiply
|
||||
ld a, [hl]
|
||||
and $f0
|
||||
swap a
|
||||
ld [H_MULTIPLIER], a ; $ff99
|
||||
ld [H_MULTIPLIER], a
|
||||
call Multiply
|
||||
ld a, [hli]
|
||||
and $f
|
||||
ld [H_DIVISOR], a ; $ff99
|
||||
ld [H_DIVISOR], a
|
||||
ld b, $4
|
||||
call Divide
|
||||
ld a, [H_MULTIPLICAND] ; $ff96 (aliases: H_NUMTOPRINT)
|
||||
ld a, [H_MULTIPLICAND] ; (aliases: H_NUMTOPRINT)
|
||||
push af
|
||||
ld a, [H_MULTIPLICAND+1]
|
||||
push af
|
||||
|
@ -59,9 +59,9 @@ CalcExperience: ; 58f6a (16:4f6a)
|
|||
call CalcDSquared
|
||||
ld a, [hl]
|
||||
and $7f
|
||||
ld [H_MULTIPLIER], a ; $ff99
|
||||
ld [H_MULTIPLIER], a
|
||||
call Multiply
|
||||
ld a, [H_MULTIPLICAND] ; $ff96 (aliases: H_NUMTOPRINT)
|
||||
ld a, [H_MULTIPLICAND] ; (aliases: H_NUMTOPRINT)
|
||||
push af
|
||||
ld a, [H_MULTIPLICAND+1]
|
||||
push af
|
||||
|
@ -70,7 +70,7 @@ CalcExperience: ; 58f6a (16:4f6a)
|
|||
ld a, [hli]
|
||||
push af
|
||||
xor a
|
||||
ld [H_MULTIPLICAND], a ; $ff96
|
||||
ld [H_MULTIPLICAND], a
|
||||
ld [H_MULTIPLICAND+1], a
|
||||
ld a, d
|
||||
ld [H_MULTIPLICAND+2], a
|
||||
|
@ -85,9 +85,9 @@ CalcExperience: ; 58f6a (16:4f6a)
|
|||
ld a, [H_MULTIPLICAND+1]
|
||||
sbc b
|
||||
ld [H_MULTIPLICAND+1], a
|
||||
ld a, [H_MULTIPLICAND] ; $ff96
|
||||
ld a, [H_MULTIPLICAND]
|
||||
sbc b
|
||||
ld [H_MULTIPLICAND], a ; $ff96
|
||||
ld [H_MULTIPLICAND], a
|
||||
pop af
|
||||
and $80
|
||||
jr nz, .subtractSquaredTerm ; check sign
|
||||
|
@ -135,11 +135,11 @@ CalcExperience: ; 58f6a (16:4f6a)
|
|||
; calculates d*d
|
||||
CalcDSquared: ; 59010 (16:5010)
|
||||
xor a
|
||||
ld [H_MULTIPLICAND], a ; $ff96 (aliases: H_NUMTOPRINT)
|
||||
ld [H_MULTIPLICAND], a ; (aliases: H_NUMTOPRINT)
|
||||
ld [H_MULTIPLICAND+1], a
|
||||
ld a, d
|
||||
ld [H_MULTIPLICAND+2], a
|
||||
ld [H_MULTIPLIER], a ; $ff99 (aliases: H_DIVISOR, H_REMAINDER, H_POWEROFTEN)
|
||||
ld [H_MULTIPLIER], a ; (aliases: H_DIVISOR, H_REMAINDER, H_POWEROFTEN)
|
||||
jp Multiply
|
||||
|
||||
; each entry has the following scheme:
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
LoadShootingStarGraphics: ; 70000 (1c:4000)
|
||||
ld a, $f9
|
||||
ld [rOBP0], a ; $ff48
|
||||
ld [rOBP0], a
|
||||
ld a, $a4
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld de, AnimationTileset2 + $30 ; $471e ; star tile (top left quadrant)
|
||||
ld [rOBP1], a
|
||||
ld de, AnimationTileset2 + $30 ; star tile (top left quadrant)
|
||||
ld hl, vChars1 + $200
|
||||
ld bc, (BANK(AnimationTileset2) << 8) + $01
|
||||
call CopyVideoData
|
||||
ld de, AnimationTileset2 + $130 ; $481e ; star tile (bottom left quadrant)
|
||||
ld de, AnimationTileset2 + $130 ; star tile (bottom left quadrant)
|
||||
ld hl, vChars1 + $210
|
||||
ld bc, (BANK(AnimationTileset2) << 8) + $01
|
||||
call CopyVideoData
|
||||
ld de, FallingStar ; $4190
|
||||
ld de, FallingStar
|
||||
ld hl, vChars1 + $220
|
||||
ld bc, (BANK(FallingStar) << 8) + $01
|
||||
call CopyVideoData
|
||||
ld hl, GameFreakLogoOAMData ; $4140
|
||||
ld hl, GameFreakLogoOAMData
|
||||
ld de, wOAMBuffer + $60
|
||||
ld bc, $40
|
||||
call CopyData
|
||||
ld hl, GameFreakShootingStarOAMData ; $4180
|
||||
ld hl, GameFreakShootingStarOAMData
|
||||
ld de, wOAMBuffer
|
||||
ld bc, $10
|
||||
jp CopyData
|
||||
|
@ -66,7 +66,7 @@ AnimateShootingStar: ; 70044 (1c:4044)
|
|||
jr nz, .asm_7007b
|
||||
ld b, $3
|
||||
.asm_70083
|
||||
ld hl, rOBP0 ; $ff48
|
||||
ld hl, rOBP0
|
||||
rrc [hl]
|
||||
rrc [hl]
|
||||
ld c, $a
|
||||
|
@ -78,15 +78,15 @@ AnimateShootingStar: ; 70044 (1c:4044)
|
|||
ld a, $18
|
||||
.asm_70098
|
||||
push af
|
||||
ld hl, OAMData_700ee ; $40ee
|
||||
ld hl, OAMData_700ee
|
||||
ld bc, $4
|
||||
call CopyData
|
||||
pop af
|
||||
dec a
|
||||
jr nz, .asm_70098
|
||||
xor a
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld hl, PointerTable_700f2 ; $40f2
|
||||
ld [wWhichTrade], a
|
||||
ld hl, PointerTable_700f2
|
||||
ld c, $6
|
||||
.asm_700af
|
||||
ld a, [hli]
|
||||
|
@ -110,11 +110,11 @@ AnimateShootingStar: ; 70044 (1c:4044)
|
|||
inc hl
|
||||
dec c
|
||||
jr nz, .asm_700ba
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
cp $18
|
||||
jr z, .asm_700d5
|
||||
add $6
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
.asm_700d5
|
||||
call Func_7011f
|
||||
push af
|
||||
|
@ -174,7 +174,7 @@ Func_7011f: ; 7011f (1c:411f)
|
|||
ld b, $8
|
||||
.asm_70121
|
||||
ld hl, wOAMBuffer + $5c
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
ld de, $fffc
|
||||
ld c, a
|
||||
.asm_7012b
|
||||
|
@ -182,9 +182,9 @@ Func_7011f: ; 7011f (1c:411f)
|
|||
add hl, de
|
||||
dec c
|
||||
jr nz, .asm_7012b
|
||||
ld a, [rOBP1] ; $ff49
|
||||
ld a, [rOBP1]
|
||||
xor $a0
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld [rOBP1], a
|
||||
ld c, $3
|
||||
call CheckForUserInterruption
|
||||
ret c
|
||||
|
|
|
@ -2,14 +2,14 @@ _GivePokemon: ; 4fda5 (13:7da5)
|
|||
call EnableAutoTextBoxDrawing
|
||||
xor a
|
||||
ld [wccd3], a
|
||||
ld a, [wPartyCount] ; wPartyCount
|
||||
ld a, [wPartyCount]
|
||||
cp PARTY_LENGTH
|
||||
jr c, .asm_4fe01
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
cp MONS_PER_BOX
|
||||
jr nc, .asm_4fdf9
|
||||
xor a
|
||||
ld [W_ENEMYBATTSTATUS3], a ; W_ENEMYBATTSTATUS3
|
||||
ld [W_ENEMYBATTSTATUS3], a
|
||||
ld a, [wcf91]
|
||||
ld [wEnemyMonSpecies2], a
|
||||
callab LoadEnemyMonData
|
||||
|
@ -56,7 +56,7 @@ SetPokedexOwnedFlag: ; 4fe11 (13:7e11)
|
|||
ld a, [wd11e]
|
||||
dec a
|
||||
ld c, a
|
||||
ld hl, wPokedexOwned ; wPokedexOwned
|
||||
ld hl, wPokedexOwned
|
||||
ld b, $1
|
||||
predef FlagActionPredef
|
||||
pop af
|
||||
|
|
|
@ -11,7 +11,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
ld a, $7f
|
||||
call FillMemory
|
||||
call EnableLCD
|
||||
ld hl, rLCDC ; $ff40
|
||||
ld hl, rLCDC
|
||||
set 3, [hl]
|
||||
xor a
|
||||
ld hl, wHallOfFame
|
||||
|
@ -24,7 +24,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
ld [wd358], a
|
||||
ld [wTrainerScreenY], a
|
||||
inc a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld hl, wd5a2
|
||||
ld a, [hl]
|
||||
inc a
|
||||
|
@ -45,17 +45,17 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
inc c
|
||||
push hl
|
||||
push bc
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
ld a, c
|
||||
ld [wTrainerEngageDistance], a
|
||||
ld hl, wPartyMon1Level ; wPartyMon1Level
|
||||
ld hl, wPartyMon1Level
|
||||
ld bc, wPartyMon2 - wPartyMon1
|
||||
call AddNTimes
|
||||
ld a, [hl]
|
||||
ld [wTrainerFacingDirection], a
|
||||
call Func_70278
|
||||
call Func_702e1
|
||||
ld c, $50
|
||||
ld c, 80
|
||||
call DelayFrames
|
||||
hlCoord 2, 13
|
||||
ld b, $3
|
||||
|
@ -79,15 +79,15 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
ld [hl], $ff
|
||||
call SaveHallOfFameTeams
|
||||
xor a
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
inc a
|
||||
ld [wTrainerScreenY], a
|
||||
call Func_70278
|
||||
call Func_70377
|
||||
call HoFDisplayPlayerStats
|
||||
call Func_70423
|
||||
xor a
|
||||
ld [hWY], a
|
||||
ld hl, rLCDC ; $ff40
|
||||
ld hl, rLCDC
|
||||
res 3, [hl]
|
||||
ret
|
||||
|
||||
|
@ -100,7 +100,7 @@ Func_70278: ; 70278 (1c:4278)
|
|||
ld [hSCY], a
|
||||
ld a, $c0
|
||||
ld [hSCX], a
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
ld [wcf91], a
|
||||
ld [wd0b5], a
|
||||
ld [wBattleMonSpecies2], a
|
||||
|
@ -108,7 +108,7 @@ Func_70278: ; 70278 (1c:4278)
|
|||
ld a, [wTrainerScreenY]
|
||||
and a
|
||||
jr z, .asm_7029d
|
||||
call Func_7033e
|
||||
call HoFLoadPlayerPics
|
||||
jr .asm_702ab
|
||||
.asm_7029d
|
||||
hlCoord 12, 5
|
||||
|
@ -120,7 +120,7 @@ Func_70278: ; 70278 (1c:4278)
|
|||
ld c, $0
|
||||
call GoPAL_SET
|
||||
ld a, $e4
|
||||
ld [rBGP], a ; $ff47
|
||||
ld [rBGP], a
|
||||
ld c, $31
|
||||
call Func_7036d
|
||||
ld d, $a0
|
||||
|
@ -148,7 +148,7 @@ Func_70278: ; 70278 (1c:4278)
|
|||
|
||||
Func_702e1: ; 702e1 (1c:42e1)
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld hl, wPartyMonNicks ; wPartyMonNicks
|
||||
ld hl, wPartyMonNicks
|
||||
call GetPartyMonName
|
||||
call Func_702f0
|
||||
jp Func_70404
|
||||
|
@ -167,11 +167,11 @@ Func_702f0: ; 702f0 (1c:42f0)
|
|||
ld a, [wTrainerFacingDirection]
|
||||
hlCoord 8, 7
|
||||
call PrintLevelCommon
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
ld [wd0b5], a
|
||||
hlCoord 3, 9
|
||||
predef PrintMonType
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
jp PlayCry
|
||||
|
||||
HoFMonInfoText: ; 70329 (1c:4329)
|
||||
|
@ -179,8 +179,8 @@ HoFMonInfoText: ; 70329 (1c:4329)
|
|||
next "TYPE1/"
|
||||
next "TYPE2/@"
|
||||
|
||||
Func_7033e: ; 7033e (1c:433e)
|
||||
ld de, RedPicFront ; $6ede
|
||||
HoFLoadPlayerPics: ; 7033e (1c:433e)
|
||||
ld de, RedPicFront
|
||||
ld a, BANK(RedPicFront)
|
||||
call UncompressSpriteFromDE
|
||||
ld hl, S_SPRITEBUFFER1
|
||||
|
@ -189,7 +189,7 @@ Func_7033e: ; 7033e (1c:433e)
|
|||
call CopyData
|
||||
ld de, vFrontPic
|
||||
call InterlaceMergeSpriteBuffers
|
||||
ld de, RedPicBack ; $7e0a
|
||||
ld de, RedPicBack
|
||||
ld a, BANK(RedPicBack)
|
||||
call UncompressSpriteFromDE
|
||||
predef ScaleSpriteByTwo
|
||||
|
@ -202,7 +202,7 @@ Func_7036d: ; 7036d (1c:436d)
|
|||
hlCoord 12, 5
|
||||
predef_jump CopyTileIDsFromList
|
||||
|
||||
Func_70377: ; 70377 (1c:4377)
|
||||
HoFDisplayPlayerStats: ; 70377 (1c:4377)
|
||||
ld hl, wd747
|
||||
set 3, [hl]
|
||||
predef DisplayDexRating
|
||||
|
@ -215,7 +215,7 @@ Func_70377: ; 70377 (1c:4377)
|
|||
ld c, $9
|
||||
call TextBoxBorder
|
||||
hlCoord 7, 2
|
||||
ld de, wPlayerName ; wd158
|
||||
ld de, wPlayerName
|
||||
call PlaceString
|
||||
hlCoord 1, 6
|
||||
ld de, HoFPlayTimeText
|
||||
|
@ -233,18 +233,18 @@ Func_70377: ; 70377 (1c:4377)
|
|||
ld de, HoFMoneyText
|
||||
call PlaceString
|
||||
hlCoord 4, 10
|
||||
ld de, wPlayerMoney ; wPlayerMoney
|
||||
ld de, wPlayerMoney
|
||||
ld c, $a3
|
||||
call PrintBCDNumber
|
||||
ld hl, DexSeenOwnedText
|
||||
call Func_703e2
|
||||
call HoFPrintTextAndDelay
|
||||
ld hl, DexRatingText
|
||||
call Func_703e2
|
||||
call HoFPrintTextAndDelay
|
||||
ld hl, wcc5d
|
||||
|
||||
Func_703e2: ; 703e2 (1c:43e2)
|
||||
HoFPrintTextAndDelay: ; 703e2 (1c:43e2)
|
||||
call PrintText
|
||||
ld c, $78
|
||||
ld c, 120
|
||||
jp DelayFrames
|
||||
|
||||
HoFPlayTimeText: ; 703ea (1c:43ea)
|
||||
|
@ -266,7 +266,7 @@ Func_70404: ; 70404 (1c:4404)
|
|||
ld bc, HOF_MON
|
||||
ld a, [wTrainerEngageDistance]
|
||||
call AddNTimes
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
ld [hli], a
|
||||
ld a, [wTrainerFacingDirection]
|
||||
ld [hli], a
|
||||
|
|
|
@ -61,7 +61,7 @@ DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9)
|
|||
; Displays a pokemon's front sprite in a pop-up window.
|
||||
; [wcf91] = pokemon interal id number
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
call Delay3
|
||||
xor a
|
||||
ld [hWY], a
|
||||
|
@ -78,7 +78,7 @@ DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9)
|
|||
ld a, $80
|
||||
ld [$ffe1], a
|
||||
hlCoord 10, 11
|
||||
predef Func_3f073
|
||||
predef AnimateSendingOutMon
|
||||
call WaitForTextScrollButtonPress
|
||||
call LoadScreenTilesFromBuffer1
|
||||
call Delay3
|
||||
|
@ -125,10 +125,10 @@ LinkCableHelp: ; 5dc29 (17:5c29)
|
|||
call PrintText
|
||||
call HandleMenuInput
|
||||
bit 1, a
|
||||
jr nz, .asm_5dc93 ; 0x5dc74 $1d
|
||||
jr nz, .asm_5dc93
|
||||
ld a, [wCurrentMenuItem]
|
||||
cp $3
|
||||
jr z, .asm_5dc93 ; 0x5dc7b $16
|
||||
jr z, .asm_5dc93
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
ld hl, LinkCableInfoTexts
|
||||
|
@ -316,7 +316,7 @@ VermilionGymTrashText: ; 5ddf7 (17:5df7)
|
|||
|
||||
GymTrashScript: ; 5ddfc (17:5dfc)
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
ld [wcd5b], a
|
||||
|
||||
; Don't do the trash can puzzle if it's already been done.
|
||||
|
@ -345,7 +345,7 @@ GymTrashScript: ; 5ddfc (17:5dfc)
|
|||
ld hl, wd773
|
||||
set 1, [hl]
|
||||
|
||||
ld hl, GymTrashCans ; $5e7d
|
||||
ld hl, GymTrashCans
|
||||
ld a, [wcd5b]
|
||||
; * 5
|
||||
ld b, a
|
||||
|
|
|
@ -14,16 +14,16 @@ GymStatues: ; 62419 (18:6419)
|
|||
cp $ff
|
||||
ret z
|
||||
cp b
|
||||
jr z, .asm_62433 ; 0x6242e $3
|
||||
jr z, .asm_62433
|
||||
inc hl
|
||||
jr .asm_62429 ; 0x62431 $f6
|
||||
jr .asm_62429
|
||||
.asm_62433
|
||||
ld b, [hl]
|
||||
ld a, [wd72a]
|
||||
and b
|
||||
cp b
|
||||
ld a, $d
|
||||
jr z, .asm_6243f ; 0x6243b $2
|
||||
jr z, .asm_6243f
|
||||
ld a, $c
|
||||
.asm_6243f
|
||||
jp PrintPredefTextID
|
||||
|
@ -143,7 +143,7 @@ SaffronCityPokecenterBenchGuyText: ; 624e4 (18:64e4)
|
|||
ld a, [wd838]
|
||||
bit 7, a
|
||||
ld hl, SaffronCityPokecenterBenchGuyText2
|
||||
jr nz, .asm_624f2 ; 0x624ed $3
|
||||
jr nz, .asm_624f2
|
||||
ld hl, SaffronCityPokecenterBenchGuyText1
|
||||
.asm_624f2
|
||||
call PrintText
|
||||
|
|
|
@ -40,29 +40,29 @@ StrengthsAndWeaknessesText: ; 1e983 (7:6983)
|
|||
SafariZoneCheck: ; 1e988 (7:6988)
|
||||
ld hl, wd790
|
||||
bit 7, [hl]
|
||||
jr z, asm_1e9ab
|
||||
ld a, [W_NUMSAFARIBALLS] ; W_NUMSAFARIBALLS
|
||||
jr z, SafariZoneGameOver
|
||||
ld a, [W_NUMSAFARIBALLS]
|
||||
and a
|
||||
jr z, asm_1e9b0
|
||||
jr asm_1e9ab
|
||||
jr z, SafariZoneGameStillGoing
|
||||
jr SafariZoneGameOver
|
||||
|
||||
SafariZoneCheckSteps: ; 1e997 (7:6997)
|
||||
ld a, [wSafariSteps] ; wd70d
|
||||
ld a, [wSafariSteps]
|
||||
ld b, a
|
||||
ld a, [wSafariSteps + 1] ; wd70e
|
||||
ld a, [wSafariSteps + 1]
|
||||
ld c, a
|
||||
or b
|
||||
jr z, asm_1e9b0
|
||||
jr z, SafariZoneGameStillGoing
|
||||
dec bc
|
||||
ld a, b
|
||||
ld [wSafariSteps], a ; wd70d
|
||||
ld [wSafariSteps], a
|
||||
ld a, c
|
||||
ld [wSafariSteps + 1], a ; wd70e
|
||||
asm_1e9ab: ; 1e9ab (7:69ab)
|
||||
ld [wSafariSteps + 1], a
|
||||
SafariZoneGameOver: ; 1e9ab (7:69ab)
|
||||
xor a
|
||||
ld [wSafariZoneGameOver], a
|
||||
ret
|
||||
asm_1e9b0: ; 1e9b0 (7:69b0)
|
||||
SafariZoneGameStillGoing: ; 1e9b0 (7:69b0)
|
||||
call EnableAutoTextBoxDrawing
|
||||
xor a
|
||||
ld [wMusicHeaderPointer], a
|
||||
|
@ -76,12 +76,12 @@ asm_1e9b0: ; 1e9b0 (7:69b0)
|
|||
cp $b9
|
||||
jr nz, .asm_1e9c2
|
||||
ld a, $d3
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
ld [H_DOWNARROWBLINKCNT2], a
|
||||
call DisplayTextID
|
||||
xor a
|
||||
ld [wd528], a
|
||||
ld a, SAFARI_ZONE_ENTRANCE
|
||||
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
|
||||
ld [H_DOWNARROWBLINKCNT1], a
|
||||
ld a, $3
|
||||
ld [wDestinationWarpID], a
|
||||
ld a, $5
|
||||
|
@ -100,7 +100,7 @@ PrintSafariGameOverText: ; 1e9ed (7:69ed)
|
|||
|
||||
SafariGameOverText: ; 1e9f7 (7:69f7)
|
||||
db $08 ; asm
|
||||
ld a, [W_NUMSAFARIBALLS] ; W_NUMSAFARIBALLS
|
||||
ld a, [W_NUMSAFARIBALLS]
|
||||
and a
|
||||
jr z, .asm_1ea04
|
||||
ld hl, TimesUpText
|
||||
|
@ -130,7 +130,7 @@ CinnabarGymQuiz: ; 1ea25 (7:6a25)
|
|||
db $08 ; asm
|
||||
xor a
|
||||
ld [wda38], a
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
push af
|
||||
and $f
|
||||
ld [$ffdb], a
|
||||
|
@ -200,7 +200,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92)
|
|||
call YesNoChoice
|
||||
ld a, [$ffdc]
|
||||
ld c, a
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld a, [wCurrentMenuItem]
|
||||
cp c
|
||||
jr nz, .asm_1eab8
|
||||
ld hl, wd126
|
||||
|
@ -267,7 +267,7 @@ CinnabarGymQuiz_1eb0a: ; 1eb0a (7:6b0a)
|
|||
add a
|
||||
ld d, $0
|
||||
ld e, a
|
||||
ld hl, CinnabarGymGateCoords ; $6b48
|
||||
ld hl, CinnabarGymGateCoords
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
ld b, [hl]
|
||||
|
@ -337,22 +337,22 @@ BillsHousePC: ; 1eb6e (7:6b6e)
|
|||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld a, $2e
|
||||
call PrintPredefTextID
|
||||
ld c, $20
|
||||
ld c, 32
|
||||
call DelayFrames
|
||||
ld a, (SFX_02_3c - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
ld c, $50
|
||||
ld c, 80
|
||||
call DelayFrames
|
||||
ld a, (SFX_02_48 - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
ld c, $30
|
||||
ld c, 48
|
||||
call DelayFrames
|
||||
ld a, (SFX_02_3c - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
ld c, $20
|
||||
ld c, 32
|
||||
call DelayFrames
|
||||
ld a, (SFX_02_3a - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
|
@ -379,12 +379,12 @@ BillsHouseInitiatedText: ; 1ebe2 (7:6be2)
|
|||
ld a, $ff
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld c, $10
|
||||
ld c, 16
|
||||
call DelayFrames
|
||||
ld a, (SFX_02_49 - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
ld c, $3c
|
||||
ld c, 60
|
||||
call DelayFrames
|
||||
jp TextScriptEnd
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ UpdateHPBar_AnimateHPBar: ; fab1 (3:7ab1)
|
|||
push de
|
||||
ld d, $6
|
||||
call DrawHPBar
|
||||
ld c, $2
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
pop de
|
||||
ld a, [wHPBarDelta] ; +1 or -1
|
||||
|
|
|
@ -22,7 +22,7 @@ DoInGameTradeDialogue: ; 71ad9 (1c:5ad9)
|
|||
pop af
|
||||
ld l,a
|
||||
ld h,$0
|
||||
ld de,InGameTradeTextPointers ; $5d64
|
||||
ld de,InGameTradeTextPointers
|
||||
add hl,hl
|
||||
add hl,de
|
||||
ld a,[hli]
|
||||
|
|
|
@ -106,12 +106,12 @@ PlayIntroScene: ; 4169d (10:569d)
|
|||
call PlaySound
|
||||
xor a
|
||||
ld [wd09f], a
|
||||
ld de, IntroNidorinoAnimation4 ; $5931
|
||||
ld de, IntroNidorinoAnimation4
|
||||
call AnimateIntroNidorino
|
||||
; hop
|
||||
ld a, (SFX_1f_60 - SFX_Headers_1f) / 3
|
||||
call PlaySound
|
||||
ld de, IntroNidorinoAnimation5 ; $593c
|
||||
ld de, IntroNidorinoAnimation5
|
||||
call AnimateIntroNidorino
|
||||
ld c, $14
|
||||
call CheckForUserInterruption
|
||||
|
@ -119,7 +119,7 @@ PlayIntroScene: ; 4169d (10:569d)
|
|||
|
||||
ld a, $24
|
||||
ld [wd09f], a
|
||||
ld de, IntroNidorinoAnimation6 ; $5947
|
||||
ld de, IntroNidorinoAnimation6
|
||||
call AnimateIntroNidorino
|
||||
ld c, $1e
|
||||
call CheckForUserInterruption
|
||||
|
@ -130,17 +130,17 @@ PlayIntroScene: ; 4169d (10:569d)
|
|||
call PlaySound
|
||||
ld a, $48
|
||||
ld [wd09f], a
|
||||
ld de, IntroNidorinoAnimation7 ; $5950
|
||||
ld de, IntroNidorinoAnimation7
|
||||
jp AnimateIntroNidorino
|
||||
|
||||
AnimateIntroNidorino: ; 41793 (10:5793)
|
||||
ld a, [de]
|
||||
cp $50
|
||||
ret z
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld [W_BASECOORDY], a
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [W_BASECOORDX], a
|
||||
push de
|
||||
ld c, $24
|
||||
call Func_417ae
|
||||
|
@ -155,10 +155,10 @@ Func_417ae: ; 417ae (10:57ae)
|
|||
ld a, [wd09f]
|
||||
ld d, a
|
||||
.asm_417b5
|
||||
ld a, [W_BASECOORDY] ; wd082
|
||||
ld a, [W_BASECOORDY]
|
||||
add [hl]
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld a, [W_BASECOORDX]
|
||||
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] ; wd082
|
||||
ld a, [W_BASECOORDY]
|
||||
ld e, a
|
||||
.asm_417d1
|
||||
ld a, e
|
||||
add $8
|
||||
ld e, a
|
||||
ld [hli], a
|
||||
ld a, [W_BASECOORDX] ; wd081
|
||||
ld a, [W_BASECOORDX]
|
||||
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] ; wd081
|
||||
ld a, [W_BASECOORDX]
|
||||
add $8
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [W_BASECOORDX], a
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .asm_417cc
|
||||
|
@ -236,9 +236,9 @@ Func_4180e: ; 4180e (10:580e)
|
|||
.asm_4181d
|
||||
push de
|
||||
ld a, $2
|
||||
ld [W_BASECOORDX], a ; wd081
|
||||
ld [W_BASECOORDX], a
|
||||
xor a
|
||||
ld [W_BASECOORDY], a ; wd082
|
||||
ld [W_BASECOORDY], a
|
||||
ld c, $24
|
||||
call Func_417ae
|
||||
pop de
|
||||
|
@ -265,27 +265,27 @@ CopyTileIDsFromList_ZeroBaseTileID: ; 41842 (10:5842)
|
|||
predef_jump CopyTileIDsFromList
|
||||
|
||||
Func_41849: ; 41849 (10:5849)
|
||||
predef Func_79869
|
||||
predef GetMoveSoundB
|
||||
ld a, b
|
||||
jp PlaySound
|
||||
|
||||
LoadIntroGraphics: ; 41852 (10:5852)
|
||||
ld hl, FightIntroBackMon ; $5a99
|
||||
ld hl, FightIntroBackMon
|
||||
ld de, vChars2
|
||||
ld bc, $600
|
||||
ld a, BANK(FightIntroBackMon)
|
||||
call FarCopyData2
|
||||
ld hl, GameFreakIntro ; $5959
|
||||
ld hl, GameFreakIntro
|
||||
ld de, vChars2 + $600
|
||||
ld bc, $140
|
||||
ld a, BANK(GameFreakIntro)
|
||||
call FarCopyData2
|
||||
ld hl, GameFreakIntro ; $5959
|
||||
ld hl, GameFreakIntro
|
||||
ld de, vChars1
|
||||
ld bc, $140
|
||||
ld a, BANK(GameFreakIntro)
|
||||
call FarCopyData2
|
||||
ld hl, FightIntroFrontMon ; $6099
|
||||
ld hl, FightIntroFrontMon
|
||||
ld de, vChars0
|
||||
ld bc, $6c0
|
||||
ld a, BANK(FightIntroFrontMon)
|
||||
|
@ -296,26 +296,26 @@ PlayShootingStar: ; 4188a (10:588a)
|
|||
call GoPAL_SET
|
||||
callba LoadCopyrightAndTextBoxTiles
|
||||
ld a, $e4
|
||||
ld [rBGP], a ; $ff47
|
||||
ld c, $b4
|
||||
ld [rBGP], a
|
||||
ld c, 180
|
||||
call DelayFrames
|
||||
call ClearScreen
|
||||
call DisableLCD
|
||||
xor a
|
||||
ld [W_CUROPPONENT], a ; wd059
|
||||
ld [W_CUROPPONENT], a
|
||||
call Func_418e9
|
||||
call LoadIntroGraphics
|
||||
call EnableLCD
|
||||
ld hl, rLCDC ; $ff40
|
||||
ld hl, rLCDC
|
||||
res 5, [hl]
|
||||
set 3, [hl]
|
||||
ld c, $40
|
||||
ld c, 64
|
||||
call DelayFrames
|
||||
callba AnimateShootingStar
|
||||
push af
|
||||
pop af
|
||||
jr c, .asm_418d0
|
||||
ld c, $28
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
.asm_418d0
|
||||
ld a, BANK(Music_IntroBattle)
|
||||
|
|
|
@ -22,23 +22,23 @@ HiddenItemNear: ; 7481f (1d:481f)
|
|||
inc hl
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
jr nz, .asm_74824 ; 0x74845 $dd
|
||||
jr nz, .asm_74824
|
||||
ld a, [W_YCOORD]
|
||||
call Func_7486b
|
||||
cp d
|
||||
jr nc, .asm_74824 ; 0x7484e $d4
|
||||
jr nc, .asm_74824
|
||||
ld a, [W_YCOORD]
|
||||
add $4
|
||||
cp d
|
||||
jr c, .asm_74824 ; 0x74856 $cc
|
||||
jr c, .asm_74824
|
||||
ld a, [W_XCOORD]
|
||||
call Func_7486b
|
||||
cp e
|
||||
jr nc, .asm_74824 ; 0x7485f $c3
|
||||
jr nc, .asm_74824
|
||||
ld a, [W_XCOORD]
|
||||
add $5
|
||||
cp e
|
||||
jr c, .asm_74824 ; 0x74867 $bb
|
||||
jr c, .asm_74824
|
||||
scf
|
||||
ret
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld a,[W_NUMINBOX] ;is Box full?
|
||||
cp a,MONS_PER_BOX
|
||||
jp z,BoxFullCannotThrowBall
|
||||
.UseBall ;$56a7
|
||||
.UseBall
|
||||
;ok, you can use a ball
|
||||
xor a
|
||||
ld [wd11c],a
|
||||
|
@ -126,7 +126,7 @@ ItemUseBall: ; d687 (3:5687)
|
|||
; remove a Safari Ball from inventory
|
||||
ld hl,W_NUMSAFARIBALLS
|
||||
dec [hl]
|
||||
.skipSafariZoneCode ;$56b6
|
||||
.skipSafariZoneCode
|
||||
call GoPAL_SET_CF1C
|
||||
ld a,$43
|
||||
ld [wd11e],a
|
||||
|
@ -144,8 +144,8 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld de,wPlayerName
|
||||
ld bc,11
|
||||
call CopyData ; save the player's name in the Wild Monster data (part of the Cinnabar Island Missingno glitch)
|
||||
jp .BallSuccess ;$578b
|
||||
.notOldManBattle ;$56e9
|
||||
jp .BallSuccess
|
||||
.notOldManBattle
|
||||
ld a,[W_CURMAP]
|
||||
cp a,POKEMONTOWER_6
|
||||
jr nz,.loop
|
||||
|
@ -155,13 +155,13 @@ ItemUseBall: ; d687 (3:5687)
|
|||
jp z,.next12
|
||||
; if not fighting ghost Marowak, loop until a random number in the current
|
||||
; pokeball's allowed range is found
|
||||
.loop ;$56fa
|
||||
.loop
|
||||
call Random
|
||||
ld b,a
|
||||
ld hl,wcf91
|
||||
ld a,[hl]
|
||||
cp a,MASTER_BALL
|
||||
jp z,.BallSuccess ;$578b
|
||||
jp z,.BallSuccess
|
||||
cp a,POKE_BALL
|
||||
jr z,.checkForAilments
|
||||
ld a,200
|
||||
|
@ -173,7 +173,7 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld a,150 ;get only numbers <= 150 for Ultra Ball
|
||||
cp b
|
||||
jr c,.loop
|
||||
.checkForAilments ;$571a
|
||||
.checkForAilments
|
||||
; pokemon can be caught more easily with any (primary) status ailment
|
||||
; Frozen/Asleep pokemon are relatively even easier to catch
|
||||
; for Frozen/Asleep pokemon, any random number from 0-24 ensures a catch.
|
||||
|
@ -185,12 +185,12 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld c,12
|
||||
jr z,.notFrozenOrAsleep
|
||||
ld c,25
|
||||
.notFrozenOrAsleep ;$5728
|
||||
.notFrozenOrAsleep
|
||||
ld a,b
|
||||
sub c
|
||||
jp c,.BallSuccess ;$578b
|
||||
jp c,.BallSuccess
|
||||
ld b,a
|
||||
.noAilments ;$572e
|
||||
.noAilments
|
||||
push bc ;save RANDOM number
|
||||
xor a
|
||||
ld [H_MULTIPLICAND],a
|
||||
|
@ -207,7 +207,7 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld a,12 ;any other BallFactor
|
||||
jr nz,.next7
|
||||
ld a,8
|
||||
.next7 ;$574d
|
||||
.next7
|
||||
ld [H_DIVISOR],a
|
||||
ld b,4 ; number of bytes in dividend
|
||||
call Divide
|
||||
|
@ -226,7 +226,7 @@ ItemUseBall: ; d687 (3:5687)
|
|||
and a
|
||||
jr nz,.next8
|
||||
inc a
|
||||
.next8 ;$5766
|
||||
.next8
|
||||
ld [H_DIVISOR],a
|
||||
ld b,4
|
||||
call Divide ; ((MaxHP * 255) / BallFactor) / (CurHP / 4)
|
||||
|
@ -235,7 +235,7 @@ ItemUseBall: ; d687 (3:5687)
|
|||
jr z,.next9
|
||||
ld a,255
|
||||
ld [H_QUOTIENT + 3],a
|
||||
.next9 ;$5776
|
||||
.next9
|
||||
pop bc
|
||||
ld a,[wEnemyMonCatchRate] ;enemy: Catch Rate
|
||||
cp b
|
||||
|
@ -248,9 +248,9 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld a,[H_QUOTIENT + 3]
|
||||
cp b
|
||||
jr c,.next10
|
||||
.BallSuccess ;$578b
|
||||
.BallSuccess
|
||||
jr .BallSuccess2
|
||||
.next10 ;$578d
|
||||
.next10
|
||||
ld a,[H_QUOTIENT + 3]
|
||||
ld [wd11e],a
|
||||
xor a
|
||||
|
@ -271,7 +271,7 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld b,150
|
||||
cp a,ULTRA_BALL
|
||||
jr z,.next11
|
||||
.next11 ;$57b8
|
||||
.next11
|
||||
ld a,b
|
||||
ld [H_DIVISOR],a
|
||||
ld b,4
|
||||
|
@ -294,11 +294,11 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld b,5
|
||||
jr z,.next14
|
||||
ld b,10
|
||||
.next14 ;$57e6
|
||||
.next14
|
||||
ld a,[H_QUOTIENT + 3]
|
||||
add b
|
||||
ld [H_QUOTIENT + 3],a
|
||||
.next13 ;$57eb
|
||||
.next13
|
||||
ld a,[H_QUOTIENT + 3]
|
||||
cp a,10
|
||||
ld b,$20
|
||||
|
@ -310,10 +310,10 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld b,$62
|
||||
jr c,.next12
|
||||
ld b,$63
|
||||
.next12 ;$5801
|
||||
.next12
|
||||
ld a,b
|
||||
ld [wd11e],a
|
||||
.BallSuccess2 ;$5805
|
||||
.BallSuccess2
|
||||
ld c,20
|
||||
call DelayFrames
|
||||
ld a,TOSS_ANIM
|
||||
|
@ -362,14 +362,14 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld a,$4c
|
||||
ld [wEnemyMonSpecies2],a
|
||||
jr .next16
|
||||
.next15 ;$5871
|
||||
.next15
|
||||
set Transformed,[hl]
|
||||
ld hl,wcceb
|
||||
ld a,[wEnemyMonDVs]
|
||||
ld [hli],a
|
||||
ld a,[wEnemyMonDVs + 1]
|
||||
ld [hl],a
|
||||
.next16 ;$587e
|
||||
.next16
|
||||
ld a,[wcf91]
|
||||
push af
|
||||
ld a,[wEnemyMonSpecies2]
|
||||
|
@ -419,7 +419,7 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld a,[wEnemyMonSpecies] ;caught mon_ID
|
||||
ld [wd11e],a
|
||||
predef ShowPokedexData
|
||||
.checkParty ;$58f4
|
||||
.checkParty
|
||||
ld a,[wPartyCount]
|
||||
cp a,PARTY_LENGTH ;is party full?
|
||||
jr z,.sendToBox
|
||||
|
@ -428,7 +428,7 @@ ItemUseBall: ; d687 (3:5687)
|
|||
call ClearSprites
|
||||
call AddPartyMon ;add mon to Party
|
||||
jr .End
|
||||
.sendToBox ;$5907
|
||||
.sendToBox
|
||||
call ClearSprites
|
||||
call SendNewMonToBox
|
||||
ld hl,ItemUseBallText07
|
||||
|
@ -436,22 +436,22 @@ ItemUseBall: ; d687 (3:5687)
|
|||
bit 0,a ;already met Bill?
|
||||
jr nz,.sendToBox2
|
||||
ld hl,ItemUseBallText08
|
||||
.sendToBox2 ;$591a
|
||||
.sendToBox2
|
||||
call PrintText
|
||||
jr .End
|
||||
.printText1 ;$591f
|
||||
.printText1
|
||||
ld hl,ItemUseBallText05
|
||||
.printText0 ;$5922
|
||||
.printText0
|
||||
call PrintText
|
||||
call ClearSprites
|
||||
.End ;$5928
|
||||
.End
|
||||
ld a,[W_BATTLETYPE]
|
||||
and a
|
||||
ret nz
|
||||
ld hl,wNumBagItems
|
||||
inc a
|
||||
ld [wcf96],a
|
||||
jp RemoveItemFromInventory ;remove ITEM (XXX)
|
||||
jp RemoveItemFromInventory
|
||||
ItemUseBallText00: ; d937 (3:5937)
|
||||
;"It dodged the thrown ball!"
|
||||
;"This pokemon can't be caught"
|
||||
|
@ -645,8 +645,8 @@ ItemUseEvoStone: ; da5b (3:5a5b)
|
|||
ld a,$01
|
||||
ld [wccd4],a
|
||||
ld a,(SFX_02_3e - SFX_Headers_02) / 3
|
||||
call PlaySoundWaitForCurrent ; play sound
|
||||
call WaitForSoundToFinish ; wait for sound to end
|
||||
call PlaySoundWaitForCurrent
|
||||
call WaitForSoundToFinish
|
||||
callab TryEvolvingMon ; try to evolve pokemon
|
||||
ld a,[wd121]
|
||||
and a
|
||||
|
@ -918,7 +918,7 @@ ItemUseMedicine: ; dabb (3:5abb)
|
|||
ld bc,2 * 20
|
||||
call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled
|
||||
ld a,(SFX_02_3d - SFX_Headers_02) / 3
|
||||
call PlaySoundWaitForCurrent ; play sound
|
||||
call PlaySoundWaitForCurrent
|
||||
ld a,[hFlags_0xFFF6]
|
||||
set 0,a
|
||||
ld [hFlags_0xFFF6],a
|
||||
|
@ -1068,7 +1068,7 @@ ItemUseMedicine: ; dabb (3:5abb)
|
|||
cp a,FULL_HEAL
|
||||
jr z,.playStatusAilmentCuringSound
|
||||
ld a,(SFX_02_3d - SFX_Headers_02) / 3 ; HP healing sound
|
||||
call PlaySoundWaitForCurrent ; play sound
|
||||
call PlaySoundWaitForCurrent
|
||||
ld a,[hFlags_0xFFF6]
|
||||
set 0,a
|
||||
ld [hFlags_0xFFF6],a
|
||||
|
@ -1179,7 +1179,7 @@ ItemUseMedicine: ; dabb (3:5abb)
|
|||
ld bc,10
|
||||
call CopyData ; copy the stat's name to wcf4b
|
||||
ld a,(SFX_02_3e - SFX_Headers_02) / 3
|
||||
call PlaySound ; play sound
|
||||
call PlaySound
|
||||
ld hl,VitaminStatRoseText
|
||||
call PrintText
|
||||
jp RemoveUsedItem
|
||||
|
@ -1722,7 +1722,7 @@ PlayedFluteHadEffectText: ; e215 (3:6215)
|
|||
call PlaySound ; turn off music
|
||||
ld a, (SFX_02_5e - SFX_Headers_02) / 3
|
||||
ld c, BANK(SFX_02_5e)
|
||||
call PlayMusic ; play music
|
||||
call PlayMusic
|
||||
.musicWaitLoop ; wait for music to finish playing
|
||||
ld a,[wc028]
|
||||
cp a,$b8
|
||||
|
@ -1747,7 +1747,7 @@ OldRodCode: ; e24c (3:624c)
|
|||
jp c, ItemUseNotTime
|
||||
ld bc, (5 << 8) | MAGIKARP
|
||||
ld a, $1 ; set bite
|
||||
jr RodResponse ; 0xe257 $34
|
||||
jr RodResponse
|
||||
|
||||
GoodRodCode: ; e259 (3:6259)
|
||||
call FishingInit
|
||||
|
@ -1780,7 +1780,7 @@ INCLUDE "data/good_rod.asm"
|
|||
SuperRodCode: ; e283 (3:6283)
|
||||
call FishingInit
|
||||
jp c, ItemUseNotTime
|
||||
call ReadSuperRodData ; 0xe8ea
|
||||
call ReadSuperRodData
|
||||
ld a, e
|
||||
RodResponse: ; e28d (3:628d)
|
||||
ld [wWhichTrade], a
|
||||
|
@ -1825,7 +1825,7 @@ FishingInit: ; e2b4 (3:62b4)
|
|||
ld hl,ItemUseText00
|
||||
call PrintText
|
||||
ld a,(SFX_02_3e - SFX_Headers_02) / 3
|
||||
call PlaySound ; play sound
|
||||
call PlaySound
|
||||
ld c,80
|
||||
call DelayFrames
|
||||
and a
|
||||
|
@ -1848,9 +1848,9 @@ ItemUseItemfinder: ; e2e1 (3:62e1)
|
|||
ld c,4
|
||||
.loop
|
||||
ld a,(SFX_02_4a - SFX_Headers_02) / 3
|
||||
call PlaySoundWaitForCurrent ; play sound
|
||||
call PlaySoundWaitForCurrent
|
||||
ld a,(SFX_02_5a - SFX_Headers_02) / 3
|
||||
call PlaySoundWaitForCurrent ; play sound
|
||||
call PlaySoundWaitForCurrent
|
||||
dec c
|
||||
jr nz,.loop
|
||||
ld hl,ItemfinderFoundItemText
|
||||
|
@ -2147,7 +2147,7 @@ ItemUseTMHM: ; e479 (3:6479)
|
|||
jr nz,.checkIfAlreadyLearnedMove
|
||||
; if the pokemon can't learn the move
|
||||
ld a,(SFX_02_51 - SFX_Headers_02) / 3
|
||||
call PlaySoundWaitForCurrent ; play sound
|
||||
call PlaySoundWaitForCurrent
|
||||
ld hl,MonCannotLearnMachineMoveText
|
||||
call PrintText
|
||||
jr .chooseMon
|
||||
|
@ -2187,7 +2187,7 @@ PrintItemUseTextAndRemoveItem: ; e563 (3:6563)
|
|||
ld hl,ItemUseText00
|
||||
call PrintText
|
||||
ld a,(SFX_02_3e - SFX_Headers_02) / 3
|
||||
call PlaySound ; play sound
|
||||
call PlaySound
|
||||
call WaitForTextScrollButtonPress ; wait for button press
|
||||
|
||||
RemoveUsedItem: ; e571 (3:6571)
|
||||
|
@ -2568,7 +2568,7 @@ IsKeyItem_: ; e764 (3:6764)
|
|||
INCLUDE "data/key_items.asm"
|
||||
|
||||
SendNewMonToBox: ; e7a4 (3:67a4)
|
||||
ld de, W_NUMINBOX ; wda80
|
||||
ld de, W_NUMINBOX
|
||||
ld a, [de]
|
||||
inc a
|
||||
ld [de], a
|
||||
|
@ -2587,7 +2587,7 @@ SendNewMonToBox: ; e7a4 (3:67a4)
|
|||
call GetMonHeader
|
||||
ld hl, wBoxMonOT
|
||||
ld bc, $b
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
dec a
|
||||
jr z, .asm_e7ee
|
||||
dec a
|
||||
|
@ -2598,7 +2598,7 @@ SendNewMonToBox: ; e7a4 (3:67a4)
|
|||
ld d, h
|
||||
ld e, l
|
||||
pop hl
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
dec a
|
||||
ld b, a
|
||||
.asm_e7db
|
||||
|
@ -2615,11 +2615,11 @@ SendNewMonToBox: ; e7a4 (3:67a4)
|
|||
dec b
|
||||
jr nz, .asm_e7db
|
||||
.asm_e7ee
|
||||
ld hl, wPlayerName ; wd158
|
||||
ld hl, wPlayerName
|
||||
ld de, wBoxMonOT
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
dec a
|
||||
jr z, .asm_e82a
|
||||
ld hl, wBoxMonNicks
|
||||
|
@ -2632,7 +2632,7 @@ SendNewMonToBox: ; e7a4 (3:67a4)
|
|||
ld d, h
|
||||
ld e, l
|
||||
pop hl
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
dec a
|
||||
ld b, a
|
||||
.asm_e817
|
||||
|
@ -2653,7 +2653,7 @@ SendNewMonToBox: ; e7a4 (3:67a4)
|
|||
ld a, $2
|
||||
ld [wd07d], a
|
||||
predef AskName
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
dec a
|
||||
jr z, .asm_e867
|
||||
ld hl, wBoxMons
|
||||
|
@ -2666,7 +2666,7 @@ SendNewMonToBox: ; e7a4 (3:67a4)
|
|||
ld d, h
|
||||
ld e, l
|
||||
pop hl
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
dec a
|
||||
ld b, a
|
||||
.asm_e854
|
||||
|
@ -2683,13 +2683,13 @@ SendNewMonToBox: ; e7a4 (3:67a4)
|
|||
dec b
|
||||
jr nz, .asm_e854
|
||||
.asm_e867
|
||||
ld a, [wEnemyMonLevel] ; wEnemyMonLevel
|
||||
ld a, [wEnemyMonLevel]
|
||||
ld [wEnemyMonBoxLevel], a
|
||||
ld hl, wEnemyMon
|
||||
ld de, wBoxMon1
|
||||
ld bc, $c
|
||||
call CopyData
|
||||
ld hl, wPlayerID ; wPlayerID
|
||||
ld hl, wPlayerID
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
inc de
|
||||
|
@ -2697,11 +2697,11 @@ SendNewMonToBox: ; e7a4 (3:67a4)
|
|||
ld [de], a
|
||||
inc de
|
||||
push de
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
ld a, [W_CURENEMYLVL]
|
||||
ld d, a
|
||||
callab CalcExperience
|
||||
pop de
|
||||
ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
|
||||
ld [de], a
|
||||
inc de
|
||||
ld a, [$ff97]
|
||||
|
@ -2723,7 +2723,7 @@ SendNewMonToBox: ; e7a4 (3:67a4)
|
|||
inc de
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
ld hl, wEnemyMonPP ; wcffe
|
||||
ld hl, wEnemyMonPP
|
||||
ld b, $4
|
||||
.asm_e8b1
|
||||
ld a, [hli]
|
||||
|
@ -2777,7 +2777,7 @@ ReadSuperRodData: ; e8ea (3:68ea)
|
|||
ld e, $2 ; $2 if no fishing groups found
|
||||
ret
|
||||
|
||||
.ReadFishingGroup ; 0xe8f6
|
||||
.ReadFishingGroup
|
||||
; hl points to the fishing group entry in the index
|
||||
inc hl ; skip map id
|
||||
|
||||
|
@ -2790,7 +2790,7 @@ ReadSuperRodData: ; e8ea (3:68ea)
|
|||
inc hl ; point to data
|
||||
ld e, $0 ; no bite yet
|
||||
|
||||
.RandomLoop ; 0xe90c
|
||||
.RandomLoop
|
||||
call Random
|
||||
srl a
|
||||
ret c ; 50% chance of no battle
|
||||
|
|
|
@ -6,7 +6,7 @@ GetMachinePrice: ; 7bf86 (1e:7f86)
|
|||
sub TM_01
|
||||
ret c
|
||||
ld d, a
|
||||
ld hl, TechnicalMachinePrices ; $7fa7
|
||||
ld hl, TechnicalMachinePrices
|
||||
srl a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
|
@ -17,9 +17,9 @@ GetMachinePrice: ; 7bf86 (1e:7f86)
|
|||
swap a
|
||||
.highNybbleIsPrice
|
||||
and $f0
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
ld [H_DOWNARROWBLINKCNT2], a
|
||||
xor a
|
||||
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
|
||||
ld [H_DOWNARROWBLINKCNT1], a
|
||||
ld [$ff8d], a
|
||||
ret
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
; Loads tile patterns for tiles used in the pokedex.
|
||||
LoadPokedexTilePatterns: ; 17840 (5:7840)
|
||||
call LoadHpBarAndStatusTilePatterns
|
||||
ld de,PokedexTileGraphics ; $6488
|
||||
ld de,PokedexTileGraphics
|
||||
ld hl,vChars2 + $600
|
||||
ld bc,(BANK(PokedexTileGraphics) << 8) + $12
|
||||
call CopyVideoData
|
||||
ld de,PokeballTileGraphics ; $697e
|
||||
ld de,PokeballTileGraphics
|
||||
ld hl,vChars2 + $720
|
||||
ld bc,(BANK(PokeballTileGraphics) << 8) + $01
|
||||
jp CopyVideoData ; load pokeball tile for marking caught mons
|
||||
|
|
|
@ -357,7 +357,7 @@ BoxNoPCText: ; 21713 (8:5713)
|
|||
Func_2171b:: ; 2171b (8:571b)
|
||||
ld hl, wPartyMon1Moves
|
||||
ld bc, wPartyMon2 - wPartyMon1
|
||||
jr .asm_21729 ; 0x21721 $6
|
||||
jr .asm_21729
|
||||
ld hl, wBoxMon1Moves
|
||||
ld bc, wBoxMon2 - wBoxMon1
|
||||
.asm_21729
|
||||
|
@ -375,7 +375,7 @@ Func_2171b:: ; 2171b (8:571b)
|
|||
pop hl
|
||||
ret c
|
||||
dec b
|
||||
jr nz, .asm_21731 ; 0x21741 $ee
|
||||
jr nz, .asm_21731
|
||||
and a
|
||||
ret
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ DisplayDiploma: ; 566e2 (15:66e2)
|
|||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
call DisableLCD
|
||||
ld hl, CircleTile ; $7d88
|
||||
ld hl, CircleTile
|
||||
ld de, vChars2 + $700
|
||||
ld bc, $0010
|
||||
ld a, BANK(CircleTile)
|
||||
|
@ -15,7 +15,7 @@ DisplayDiploma: ; 566e2 (15:66e2)
|
|||
ld hl, wTileMap
|
||||
ld bc, $1012
|
||||
predef Diploma_TextBoxBorder
|
||||
ld hl, DiplomaTextPointersAndCoords ; $6784
|
||||
ld hl, DiplomaTextPointersAndCoords
|
||||
ld c, $5
|
||||
.asm_56715
|
||||
push bc
|
||||
|
@ -32,7 +32,7 @@ DisplayDiploma: ; 566e2 (15:66e2)
|
|||
inc hl
|
||||
pop bc
|
||||
dec c
|
||||
jr nz, .asm_56715 ; 0x56725 $ee
|
||||
jr nz, .asm_56715
|
||||
hlCoord 10, 4
|
||||
ld de, wPlayerName
|
||||
call PlaceString
|
||||
|
@ -48,7 +48,7 @@ DisplayDiploma: ; 566e2 (15:66e2)
|
|||
ld [hli], a
|
||||
inc hl
|
||||
dec c
|
||||
jr nz, .asm_5673e ; 0x56747 $f5
|
||||
jr nz, .asm_5673e
|
||||
call EnableLCD
|
||||
callba LoadTrainerInfoTextBoxTiles
|
||||
ld b, $8
|
||||
|
@ -73,7 +73,7 @@ Func_56777: ; 56777 (15:6777)
|
|||
cp $50
|
||||
ret z
|
||||
dec c
|
||||
jr .asm_5677d ; 0x56782 $f9
|
||||
jr .asm_5677d
|
||||
|
||||
DiplomaTextPointersAndCoords: ; 56784 (15:6784)
|
||||
dw DiplomaText
|
||||
|
|
|
@ -52,7 +52,7 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
.next2
|
||||
ld hl,wd730
|
||||
res 6,[hl]
|
||||
call UpdateSprites ; OAM?
|
||||
call UpdateSprites
|
||||
xor a
|
||||
ld [wCurrentMenuItem],a
|
||||
ld [wLastMenuItem],a
|
||||
|
@ -208,7 +208,7 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
ld a, b
|
||||
ld [wLinkMenuSelectionSendBuffer], a
|
||||
and $3
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wCurrentMenuItem], a
|
||||
.doneChoosingMenuSelection
|
||||
ld a, [hSerialConnectionStatus]
|
||||
cp USING_INTERNAL_CLOCK
|
||||
|
@ -261,14 +261,14 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
ld [wd72d], a
|
||||
ld hl, PleaseWaitText
|
||||
call PrintText
|
||||
ld c, $32
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, wd732
|
||||
res 1, [hl]
|
||||
ld a, [W_ANIMATIONID]
|
||||
ld [wDestinationMap], a
|
||||
call SpecialWarpIn
|
||||
ld c, $14
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [wMenuJoypadPollCount], a
|
||||
|
@ -304,7 +304,7 @@ Func_5d52: ; 5d52 (1:5d52)
|
|||
ld hl, wd732
|
||||
res 1, [hl]
|
||||
call OakSpeech
|
||||
ld c, $14
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
|
||||
; enter map after using a special warp or loading the game from the main menu
|
||||
|
@ -338,7 +338,7 @@ TradeCenterText: ; 5d97 (1:5d97)
|
|||
|
||||
ContinueGame: ; 5db5 (1:5db5)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
hlCoord 4, 7
|
||||
ld b, $8
|
||||
ld c, $e
|
||||
|
@ -347,7 +347,7 @@ ContinueGame: ; 5db5 (1:5db5)
|
|||
ld de, SaveScreenInfoText
|
||||
call PlaceString
|
||||
hlCoord 12, 9
|
||||
ld de, wPlayerName ; wd158
|
||||
ld de, wPlayerName
|
||||
call PlaceString
|
||||
hlCoord 17, 11
|
||||
call Func_5e2f
|
||||
|
@ -356,8 +356,8 @@ ContinueGame: ; 5db5 (1:5db5)
|
|||
hlCoord 13, 15
|
||||
call Func_5e55
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld c, $1e
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld c, 30
|
||||
jp DelayFrames
|
||||
|
||||
PrintSaveScreenText: ; 5def (1:5def)
|
||||
|
@ -383,7 +383,7 @@ PrintSaveScreenText: ; 5def (1:5def)
|
|||
call Func_5e55
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld c, $1e
|
||||
ld c, 30
|
||||
jp DelayFrames
|
||||
|
||||
Func_5e2f: ; 5e2f (1:5e2f)
|
||||
|
@ -398,7 +398,7 @@ Func_5e2f: ; 5e2f (1:5e2f)
|
|||
|
||||
Func_5e42: ; 5e42 (1:5e42)
|
||||
push hl
|
||||
ld hl, wPokedexOwned ; wPokedexOwned
|
||||
ld hl, wPokedexOwned
|
||||
ld b, wPokedexOwnedEnd - wPokedexOwned
|
||||
call CountSetBits
|
||||
pop hl
|
||||
|
@ -481,7 +481,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
|
|||
jr nz,.loop
|
||||
.exitMenu
|
||||
ld a,(SFX_02_40 - SFX_Headers_02) / 3
|
||||
call PlaySound ; play sound
|
||||
call PlaySound
|
||||
ret
|
||||
.eraseOldMenuCursor
|
||||
ld [wTopMenuItemX],a
|
||||
|
|
|
@ -195,7 +195,7 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
|
||||
.asm_667e
|
||||
pop de
|
||||
ld de, .asm_65ed ; $65ed
|
||||
ld de, .asm_65ed
|
||||
push de
|
||||
.asm_6683
|
||||
ld a, [wHPBarOldHP]
|
||||
|
@ -231,10 +231,10 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
call CalcStringLength
|
||||
ld a, [wHPBarNewHP]
|
||||
cp $e5
|
||||
ld de, Dakutens ; $6885
|
||||
ld de, Dakutens
|
||||
jr z, .asm_66e3
|
||||
cp $e4
|
||||
ld de, Handakutens ; $68d6
|
||||
ld de, Handakutens
|
||||
jr z, .asm_66e3
|
||||
ld a, [wd07d]
|
||||
cp $2
|
||||
|
@ -332,12 +332,12 @@ ED_Tile: ; 6767 (1:6767)
|
|||
|
||||
PrintAlphabet: ; 676f (1:676f)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld a, [wHPBarOldHP]
|
||||
and a
|
||||
ld de, LowerCaseAlphabet ; $679e
|
||||
ld de, LowerCaseAlphabet
|
||||
jr nz, .asm_677e
|
||||
ld de, UpperCaseAlphabet ; $67d6
|
||||
ld de, UpperCaseAlphabet
|
||||
.asm_677e
|
||||
hlCoord 2, 5
|
||||
ld bc, $509
|
||||
|
@ -357,7 +357,7 @@ PrintAlphabet: ; 676f (1:676f)
|
|||
jr nz, .asm_6784
|
||||
call PlaceString
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
jp Delay3
|
||||
|
||||
LowerCaseAlphabet: ; 679e (1:679e)
|
||||
|
|
|
@ -5,7 +5,7 @@ OpenOaksPC: ; 1e915 (7:6915)
|
|||
ld hl, GetDexRatedText
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .asm_1e932
|
||||
predef DisplayDexRating
|
||||
|
|
|
@ -21,7 +21,7 @@ DrawPartyMenu_: ; 12cd2 (4:6cd2)
|
|||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED],a
|
||||
call ClearScreen
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
callba LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics
|
||||
|
||||
RedrawPartyMenu_: ; 12ce3 (4:6ce3)
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
ActivatePC: ; 17e2c (5:7e2c)
|
||||
call SaveScreenTilesToBuffer2 ;XXX: copy background from wTileMap to wTileMapBackup2
|
||||
call SaveScreenTilesToBuffer2
|
||||
ld a, (SFX_02_45 - SFX_Headers_02) / 3
|
||||
call PlaySound ;XXX: play sound or stop music
|
||||
call PlaySound
|
||||
ld hl, TurnedOnPC1Text
|
||||
call PrintText
|
||||
call WaitForSoundToFinish ;XXX: wait for sound to be done
|
||||
call WaitForSoundToFinish
|
||||
ld hl, wFlags_0xcd60
|
||||
set 3, [hl]
|
||||
call LoadScreenTilesFromBuffer2 ;XXX: restore saved screen
|
||||
call LoadScreenTilesFromBuffer2
|
||||
call Delay3
|
||||
PCMainMenu: ; 17e48 (5:7e48)
|
||||
callba Func_213c8
|
||||
|
@ -52,28 +52,28 @@ PCMainMenu: ; 17e48 (5:7e48)
|
|||
res 5, [hl]
|
||||
set 3, [hl]
|
||||
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
|
||||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
ld hl, AccessedMyPCText
|
||||
call PrintText
|
||||
callba PlayerPC
|
||||
jr ReloadMainMenu
|
||||
OaksPC: ; 17ec0 (5:7ec0)
|
||||
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
|
||||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
callba OpenOaksPC
|
||||
jr ReloadMainMenu
|
||||
PKMNLeague: ; 17ed2 (5:7ed2)
|
||||
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
|
||||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
callba PKMNLeaguePC
|
||||
jr ReloadMainMenu
|
||||
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
|
||||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
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
|
||||
|
@ -88,12 +88,12 @@ ReloadMainMenu: ; 17f06 (5:7f06)
|
|||
xor a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
call ReloadMapData
|
||||
call UpdateSprites ;XXX: moves sprites
|
||||
call UpdateSprites
|
||||
jp PCMainMenu
|
||||
LogOff: ; 17f13 (5:7f13)
|
||||
ld a, (SFX_02_46 - SFX_Headers_02) / 3
|
||||
call PlaySound ;XXX: play sound or stop music
|
||||
call WaitForSoundToFinish ;XXX: wait for sound to be done
|
||||
call PlaySound
|
||||
call WaitForSoundToFinish
|
||||
ld hl, wFlags_0xcd60
|
||||
res 3, [hl]
|
||||
res 5, [hl]
|
||||
|
@ -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 ; wd31e
|
||||
ld hl, wBagItems
|
||||
ld a, [$ffdb]
|
||||
ld b, a
|
||||
xor a
|
||||
|
@ -137,6 +137,6 @@ RemoveItemByID: ; 17f37 (5:7f37)
|
|||
ld a, $1
|
||||
ld [wcf96], a
|
||||
ld a, [$ffdc]
|
||||
ld [wWhichPokemon], a ; wWhichPokemon
|
||||
ld hl, wNumBagItems ; wNumBagItems
|
||||
ld [wWhichPokemon], a
|
||||
ld hl, wNumBagItems
|
||||
jp RemoveItemFromInventory
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
ShowPokedexMenu: ; 40000 (10:4000)
|
||||
call GBPalWhiteOut
|
||||
call ClearScreen
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
ld a,[wListScrollOffset]
|
||||
push af
|
||||
xor a
|
||||
|
@ -140,7 +140,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
|
|||
.choseCry
|
||||
ld a,[wd11e]
|
||||
call GetCryData ; get cry data
|
||||
call PlaySound ; play sound
|
||||
call PlaySound
|
||||
jr .handleMenuInput
|
||||
.choseArea
|
||||
predef LoadTownMap_Nest ; display pokemon areas
|
||||
|
|
|
@ -79,7 +79,7 @@ GetPrizeMenuId: ; 5278e (14:678e)
|
|||
inc hl
|
||||
push hl
|
||||
ld hl,W_PRIZE1
|
||||
call CopyString ; XXX what does this do
|
||||
call CopyString
|
||||
pop hl
|
||||
ld a,[hli]
|
||||
ld h,[hl]
|
||||
|
@ -152,7 +152,7 @@ PrintPrizePrice: ; 5287a (14:687a)
|
|||
ld b,$01
|
||||
ld c,$07
|
||||
call TextBoxBorder
|
||||
call UpdateSprites ; XXX save OAM?
|
||||
call UpdateSprites
|
||||
hlCoord 12, 0
|
||||
ld de,.CoinText
|
||||
call PlaceString
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
DisplayStartMenu:: ; 2acd (0:2acd)
|
||||
ld a,$04 ; hardcoded Bank, not sure what's it refers to
|
||||
ld a,BANK(StartMenu_Pokedex)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a ; ROM bank 4
|
||||
ld [MBC1RomBank],a
|
||||
ld a,[wWalkBikeSurfState] ; walking/biking/surfing
|
||||
ld [wWalkBikeSurfStateCopy],a
|
||||
ld a, (SFX_02_3f - SFX_Headers_02) / 3 ; Start menu sound
|
||||
|
@ -10,7 +10,7 @@ DisplayStartMenu:: ; 2acd (0:2acd)
|
|||
RedisplayStartMenu:: ; 2adf (0:2adf)
|
||||
callba DrawStartMenu
|
||||
callba PrintSafariZoneSteps ; print Safari Zone info, if in Safari Zone
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
.loop
|
||||
call HandleMenuInput
|
||||
ld b,a
|
||||
|
|
|
@ -325,7 +325,7 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
.exitMenu
|
||||
call LoadScreenTilesFromBuffer2 ; restore saved screen
|
||||
call LoadTextBoxTilePatterns
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
jp RedisplayStartMenu
|
||||
.choseItem
|
||||
; erase menu cursor (blank each tile in front of an item name)
|
||||
|
@ -499,7 +499,7 @@ UsableItems_CloseMenu: ; 13459 (4:7459)
|
|||
StartMenu_TrainerInfo: ; 13460 (4:7460)
|
||||
call GBPalWhiteOut
|
||||
call ClearScreen
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
ld a,[hTilesetType]
|
||||
push af
|
||||
xor a
|
||||
|
@ -535,25 +535,25 @@ DrawTrainerInfo: ; 1349a (4:749a)
|
|||
ld de,vChars2
|
||||
ld bc,$70 * 4
|
||||
call CopyData
|
||||
ld hl,TrainerInfoTextBoxTileGraphics ; $7b98 ; trainer info text box tile patterns
|
||||
ld hl,TrainerInfoTextBoxTileGraphics ; trainer info text box tile patterns
|
||||
ld de,vChars2 + $770
|
||||
ld bc,$0080
|
||||
push bc
|
||||
call TrainerInfo_FarCopyData
|
||||
ld hl,BlankLeaderNames ; $7c28
|
||||
ld hl,BlankLeaderNames
|
||||
ld de,vChars2 + $600
|
||||
ld bc,$0170
|
||||
call TrainerInfo_FarCopyData
|
||||
pop bc
|
||||
ld hl,BadgeNumbersTileGraphics ; $7d98 ; badge number tile patterns
|
||||
ld hl,BadgeNumbersTileGraphics ; badge number tile patterns
|
||||
ld de,vChars1 + $580
|
||||
call TrainerInfo_FarCopyData
|
||||
ld hl,GymLeaderFaceAndBadgeTileGraphics ; $6a9e ; gym leader face and badge tile patterns
|
||||
ld hl,GymLeaderFaceAndBadgeTileGraphics ; gym leader face and badge tile patterns
|
||||
ld de,vChars2 + $200
|
||||
ld bc,$0400
|
||||
ld a,$03
|
||||
call FarCopyData2
|
||||
ld hl,TextBoxGraphics ; $6288
|
||||
ld hl,TextBoxGraphics
|
||||
ld de,$00d0
|
||||
add hl,de ; hl = colon tile pattern
|
||||
ld de,vChars1 + $560
|
||||
|
@ -562,7 +562,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
|
|||
push bc
|
||||
call FarCopyData2
|
||||
pop bc
|
||||
ld hl,TrainerInfoTextBoxTileGraphics + $80 ; $7c18 ; background tile pattern
|
||||
ld hl,TrainerInfoTextBoxTileGraphics + $80 ; background tile pattern
|
||||
ld de,vChars1 + $570
|
||||
call TrainerInfo_FarCopyData
|
||||
call EnableLCD
|
||||
|
@ -705,9 +705,9 @@ StartMenu_Option: ; 135f6 (4:75f6)
|
|||
|
||||
SwitchPartyMon: ; 13613 (4:7613)
|
||||
call SwitchPartyMon_Stats
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
call SwitchPartyMon_OAM
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld a, [wCurrentMenuItem]
|
||||
call SwitchPartyMon_OAM
|
||||
jp RedrawPartyMenu_
|
||||
|
||||
|
@ -741,7 +741,7 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
|
|||
ld a, [wMenuItemToSwap]
|
||||
and a
|
||||
jr nz, .asm_13661
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld a, [wWhichPokemon]
|
||||
inc a
|
||||
ld [wMenuItemToSwap], a
|
||||
ret
|
||||
|
@ -751,8 +751,8 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
|
|||
ld a, [wMenuItemToSwap]
|
||||
dec a
|
||||
ld b, a
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld a, [wCurrentMenuItem]
|
||||
ld [wWhichTrade], a
|
||||
cp b
|
||||
jr nz, .asm_1367b
|
||||
xor a
|
||||
|
@ -767,7 +767,7 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
|
|||
ld hl, wPartySpecies
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld a, [wCurrentMenuItem]
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .asm_1368e
|
||||
|
@ -780,14 +780,14 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
|
|||
inc d
|
||||
.asm_13696
|
||||
ld a, [hl]
|
||||
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld a, [de]
|
||||
ld [hl], a
|
||||
ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [de], a
|
||||
ld hl, wPartyMons
|
||||
ld bc, wPartyMon2 - wPartyMon1
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld a, [wCurrentMenuItem]
|
||||
call AddNTimes
|
||||
push hl
|
||||
ld de, wSwitchPartyMonTempBuffer
|
||||
|
@ -805,14 +805,14 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
|
|||
ld hl, wSwitchPartyMonTempBuffer
|
||||
ld bc, $2c
|
||||
call CopyData
|
||||
ld hl, wPartyMonOT ; wd273
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld hl, wPartyMonOT
|
||||
ld a, [wCurrentMenuItem]
|
||||
call SkipFixedLengthTextEntries
|
||||
push hl
|
||||
ld de, wSwitchPartyMonTempBuffer
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, wPartyMonOT ; wd273
|
||||
ld hl, wPartyMonOT
|
||||
ld a, [wMenuItemToSwap]
|
||||
call SkipFixedLengthTextEntries
|
||||
pop de
|
||||
|
@ -823,14 +823,14 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
|
|||
ld hl, wSwitchPartyMonTempBuffer
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, wPartyMonNicks ; wPartyMonNicks
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld hl, wPartyMonNicks
|
||||
ld a, [wCurrentMenuItem]
|
||||
call SkipFixedLengthTextEntries
|
||||
push hl
|
||||
ld de, wSwitchPartyMonTempBuffer
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, wPartyMonNicks ; wPartyMonNicks
|
||||
ld hl, wPartyMonNicks
|
||||
ld a, [wMenuItemToSwap]
|
||||
call SkipFixedLengthTextEntries
|
||||
pop de
|
||||
|
@ -842,7 +842,7 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
|
|||
ld bc, $b
|
||||
call CopyData
|
||||
ld a, [wMenuItemToSwap]
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
xor a
|
||||
ld [wMenuItemToSwap], a
|
||||
ld [wd07d], a
|
||||
|
|
|
@ -67,7 +67,7 @@ StatusScreen: ; 12953 (4:6953)
|
|||
call LoadMonData
|
||||
ld a, [wcc49]
|
||||
cp $2 ; 2 means we're in a PC box
|
||||
jr c, .DontRecalculate ; 0x1295b $14
|
||||
jr c, .DontRecalculate
|
||||
ld a, [wLoadedMonBoxLevel]
|
||||
ld [wLoadedMonLevel], a
|
||||
ld [W_CURENEMYLVL], a
|
||||
|
@ -82,17 +82,17 @@ StatusScreen: ; 12953 (4:6953)
|
|||
ld [$ff24], a ; Reduce the volume
|
||||
call GBPalWhiteOutWithDelay3
|
||||
call ClearScreen
|
||||
call UpdateSprites ; move sprites (?)
|
||||
call UpdateSprites
|
||||
call LoadHpBarAndStatusTilePatterns
|
||||
ld de, BattleHudTiles1 ; $6080 ; source
|
||||
ld de, BattleHudTiles1 ; source
|
||||
ld hl, vChars2 + $6d0 ; dest
|
||||
ld bc, (BANK(BattleHudTiles1) << 8) + $03 ; bank bytes/8
|
||||
call CopyVideoDataDouble ; ·│ :L and halfarrow line end
|
||||
ld de, BattleHudTiles2 ; $6098
|
||||
ld de, BattleHudTiles2
|
||||
ld hl, vChars2 + $780
|
||||
ld bc, (BANK(BattleHudTiles2) << 8) + $01
|
||||
call CopyVideoDataDouble ; │
|
||||
ld de, BattleHudTiles3 ; $60b0
|
||||
ld de, BattleHudTiles3
|
||||
ld hl, vChars2 + $760
|
||||
ld bc, (BANK(BattleHudTiles3) << 8) + $02
|
||||
call CopyVideoDataDouble ; ─┘
|
||||
|
@ -127,7 +127,7 @@ StatusScreen: ; 12953 (4:6953)
|
|||
hlCoord 16, 6
|
||||
ld de, wLoadedMonStatus
|
||||
call PrintStatusCondition
|
||||
jr nz, .StatusWritten ; 0x129fc $9
|
||||
jr nz, .StatusWritten
|
||||
hlCoord 16, 6
|
||||
ld de, OKText
|
||||
call PlaceString ; "OK"
|
||||
|
@ -147,14 +147,14 @@ StatusScreen: ; 12953 (4:6953)
|
|||
call PrintNumber ; Pokémon no.
|
||||
hlCoord 11, 10
|
||||
predef PrintMonType
|
||||
ld hl, NamePointers2 ; $6a9d
|
||||
call .unk_12a7e
|
||||
ld hl, NamePointers2
|
||||
call .asm_12a7e
|
||||
ld d, h
|
||||
ld e, l
|
||||
hlCoord 9, 1
|
||||
call PlaceString ; Pokémon name
|
||||
ld hl, OTPointers ; $6a95
|
||||
call .unk_12a7e
|
||||
ld hl, OTPointers
|
||||
call .asm_12a7e
|
||||
ld d, h
|
||||
ld e, l
|
||||
hlCoord 12, 16
|
||||
|
@ -175,7 +175,7 @@ StatusScreen: ; 12953 (4:6953)
|
|||
pop af
|
||||
ld [hTilesetType], a
|
||||
ret
|
||||
.unk_12a7e ; 0x12a7e ; I don't know what this does, iterates over pointers?
|
||||
.asm_12a7e ; I don't know what this does, iterates over pointers?
|
||||
ld a, [wcc49]
|
||||
add a
|
||||
ld c, a
|
||||
|
@ -221,20 +221,20 @@ OKText: ; 12ac4 (4:6ac4)
|
|||
db "OK@"
|
||||
|
||||
; Draws a line starting from hl high b and wide c
|
||||
DrawLineBox ; 0x12ac7
|
||||
DrawLineBox: ; 0x12ac7
|
||||
ld de, $0014 ; New line
|
||||
.PrintVerticalLine
|
||||
ld [hl], $78 ; │
|
||||
add hl, de
|
||||
dec b
|
||||
jr nz, .PrintVerticalLine ; 0x12ace $fa
|
||||
jr nz, .PrintVerticalLine
|
||||
ld [hl], $77 ; ┘
|
||||
dec hl
|
||||
.PrintHorizLine
|
||||
ld [hl], $76 ; ─
|
||||
dec hl
|
||||
dec c
|
||||
jr nz, .PrintHorizLine ; 0x12ad7 $fa
|
||||
jr nz, .PrintHorizLine
|
||||
ld [hl], $6f ; ← (halfarrow ending)
|
||||
ret
|
||||
|
||||
|
@ -244,14 +244,14 @@ PTile: ; 12adc (4:6adc) ; This is a single 1bpp "P" tile
|
|||
PrintStatsBox: ; 12ae4 (4:6ae4)
|
||||
ld a, d
|
||||
and a ; a is 0 from the status screen
|
||||
jr nz, .DifferentBox ; 0x12ae6 $12
|
||||
jr nz, .DifferentBox
|
||||
hlCoord 0, 8
|
||||
ld b, $8
|
||||
ld c, $8
|
||||
call TextBoxBorder ; Draws the box
|
||||
hlCoord 1, 9 ; Start printing stats from here
|
||||
ld bc, $0019 ; Number offset
|
||||
jr .PrintStats ; 0x12af8 $10
|
||||
jr .PrintStats
|
||||
.DifferentBox
|
||||
hlCoord 9, 2
|
||||
ld b, $8
|
||||
|
@ -328,7 +328,7 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
call Func_12ccb ; Print "PP"
|
||||
ld a, b
|
||||
and a
|
||||
jr z, .InitPP ; 0x12bb3 $6
|
||||
jr z, .InitPP
|
||||
ld c, a
|
||||
ld a, "-"
|
||||
call Func_12ccb ; Fill the rest with --
|
||||
|
@ -339,7 +339,7 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
.PrintPP ; 12bc3
|
||||
ld a, [hli]
|
||||
and a
|
||||
jr z, .PPDone ; 0x12bc5 $4a
|
||||
jr z, .PPDone
|
||||
push bc
|
||||
push hl
|
||||
push de
|
||||
|
@ -382,7 +382,7 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
inc b
|
||||
ld a, b
|
||||
cp $4
|
||||
jr nz, .PrintPP ; 0x12c0f $b2
|
||||
jr nz, .PrintPP
|
||||
.PPDone
|
||||
hlCoord 9, 3
|
||||
ld de, EXPPointsText
|
||||
|
@ -390,7 +390,7 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
ld a, [wLoadedMonLevel] ; level
|
||||
push af
|
||||
cp MAX_LEVEL
|
||||
jr z, .Level100 ; 0x12c20 $4
|
||||
jr z, .Level100
|
||||
inc a
|
||||
ld [wLoadedMonLevel], a ; Increase temporarily if not 100
|
||||
.Level100
|
||||
|
@ -434,7 +434,7 @@ StatusScreen2: ; 12b57 (4:6b57)
|
|||
.asm_12c86 ; This does some magic with lvl/exp?
|
||||
ld a, [wLoadedMonLevel] ; Load level
|
||||
cp MAX_LEVEL
|
||||
jr z, .asm_12ca7 ; 0x12c8b $1a ; If 100
|
||||
jr z, .asm_12ca7 ; If 100
|
||||
inc a
|
||||
ld d, a
|
||||
callab CalcExperience
|
||||
|
|
|
@ -52,9 +52,9 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
|
|||
ld c, 1
|
||||
call GiveItem
|
||||
jr nc, .BagFull
|
||||
ld b, $3c ; number of times to play the "brrrrr" sound
|
||||
.playDeliverySound ; 0x74f63
|
||||
ld c, $2
|
||||
ld b, 60 ; number of times to play the "brrrrr" sound
|
||||
.playDeliverySound
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
push bc
|
||||
ld a, (SFX_02_53 - SFX_Headers_02) / 3
|
||||
|
|
|
@ -2,15 +2,15 @@ _Multiply: ; 37d41 (d:7d41)
|
|||
ld a, $8
|
||||
ld b, a
|
||||
xor a
|
||||
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [$ff9b], a
|
||||
ld [H_SAVEDNUMTOPRINT], a ; $ff9c
|
||||
ld [H_SAVEDNUMTOPRINT], a
|
||||
ld [$ff9d], a
|
||||
ld [$ff9e], a
|
||||
.asm_37d4f
|
||||
ld a, [H_REMAINDER] ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld a, [H_REMAINDER] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
srl a
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
jr nc, .asm_37d77
|
||||
ld a, [$ff9e]
|
||||
ld c, a
|
||||
|
@ -22,14 +22,14 @@ _Multiply: ; 37d41 (d:7d41)
|
|||
ld a, [$ff97]
|
||||
adc c
|
||||
ld [$ff9d], a
|
||||
ld a, [H_SAVEDNUMTOPRINT] ; $ff9c
|
||||
ld a, [H_SAVEDNUMTOPRINT]
|
||||
ld c, a
|
||||
ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
|
||||
adc c
|
||||
ld [H_SAVEDNUMTOPRINT], a ; $ff9c
|
||||
ld [H_SAVEDNUMTOPRINT], a
|
||||
ld a, [$ff9b]
|
||||
ld c, a
|
||||
ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
adc c
|
||||
ld [$ff9b], a
|
||||
.asm_37d77
|
||||
|
@ -41,29 +41,29 @@ _Multiply: ; 37d41 (d:7d41)
|
|||
ld a, [$ff97]
|
||||
rl a
|
||||
ld [$ff97], a
|
||||
ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
|
||||
rl a
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
|
||||
ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
rl a
|
||||
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
jr .asm_37d4f
|
||||
.asm_37d94
|
||||
ld a, [$ff9e]
|
||||
ld [$ff98], a
|
||||
ld a, [$ff9d]
|
||||
ld [$ff97], a
|
||||
ld a, [H_SAVEDNUMTOPRINT] ; $ff9c
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [H_SAVEDNUMTOPRINT]
|
||||
ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
|
||||
ld a, [$ff9b]
|
||||
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ret
|
||||
|
||||
_Divide: ; 37da5 (d:7da5)
|
||||
xor a
|
||||
ld [$ff9a], a
|
||||
ld [$ff9b], a
|
||||
ld [H_SAVEDNUMTOPRINT], a ; $ff9c
|
||||
ld [H_SAVEDNUMTOPRINT], a
|
||||
ld [$ff9d], a
|
||||
ld [$ff9e], a
|
||||
ld a, $9
|
||||
|
@ -71,17 +71,17 @@ _Divide: ; 37da5 (d:7da5)
|
|||
.asm_37db3
|
||||
ld a, [$ff9a]
|
||||
ld c, a
|
||||
ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
|
||||
sub c
|
||||
ld d, a
|
||||
ld a, [H_REMAINDER] ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld a, [H_REMAINDER] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld c, a
|
||||
ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
sbc c
|
||||
jr c, .asm_37dce
|
||||
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld a, d
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
|
||||
ld a, [$ff9e]
|
||||
inc a
|
||||
ld [$ff9e], a
|
||||
|
@ -96,9 +96,9 @@ _Divide: ; 37da5 (d:7da5)
|
|||
ld a, [$ff9d]
|
||||
rl a
|
||||
ld [$ff9d], a
|
||||
ld a, [H_SAVEDNUMTOPRINT] ; $ff9c
|
||||
ld a, [H_SAVEDNUMTOPRINT]
|
||||
rl a
|
||||
ld [H_SAVEDNUMTOPRINT], a ; $ff9c
|
||||
ld [H_SAVEDNUMTOPRINT], a
|
||||
ld a, [$ff9b]
|
||||
rl a
|
||||
ld [$ff9b], a
|
||||
|
@ -107,13 +107,13 @@ _Divide: ; 37da5 (d:7da5)
|
|||
ld a, $8
|
||||
ld e, a
|
||||
ld a, [$ff9a]
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
xor a
|
||||
ld [$ff9a], a
|
||||
ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
|
||||
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld a, [$ff97]
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
|
||||
ld a, [$ff98]
|
||||
ld [$ff97], a
|
||||
.asm_37e04
|
||||
|
@ -122,22 +122,22 @@ _Divide: ; 37da5 (d:7da5)
|
|||
jr nz, .asm_37e0a
|
||||
dec b
|
||||
.asm_37e0a
|
||||
ld a, [H_REMAINDER] ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld a, [H_REMAINDER] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
srl a
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld a, [$ff9a]
|
||||
rr a
|
||||
ld [$ff9a], a
|
||||
jr .asm_37db3
|
||||
.asm_37e18
|
||||
ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
|
||||
ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
||||
ld a, [$ff9e]
|
||||
ld [$ff98], a
|
||||
ld a, [$ff9d]
|
||||
ld [$ff97], a
|
||||
ld a, [H_SAVEDNUMTOPRINT] ; $ff9c
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [H_SAVEDNUMTOPRINT]
|
||||
ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
|
||||
ld a, [$ff9b]
|
||||
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ret
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
SetDefaultNames: ; 60ca (1:60ca)
|
||||
ld a, [wd358]
|
||||
push af
|
||||
ld a, [W_OPTIONS] ; W_OPTIONS
|
||||
ld a, [W_OPTIONS]
|
||||
push af
|
||||
ld a, [wd732]
|
||||
push af
|
||||
ld hl, wPlayerName ; wd158
|
||||
ld hl, wPlayerName
|
||||
ld bc, $d8a
|
||||
xor a
|
||||
call FillMemory
|
||||
|
@ -16,18 +16,18 @@ SetDefaultNames: ; 60ca (1:60ca)
|
|||
pop af
|
||||
ld [wd732], a
|
||||
pop af
|
||||
ld [W_OPTIONS], a ; W_OPTIONS
|
||||
ld [W_OPTIONS], a
|
||||
pop af
|
||||
ld [wd358], a
|
||||
ld a, [wd08a]
|
||||
and a
|
||||
call z, Func_5bff
|
||||
ld hl, NintenText
|
||||
ld de, wPlayerName ; wd158
|
||||
ld de, wPlayerName
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, SonyText
|
||||
ld de, W_RIVALNAME ; wd34a
|
||||
ld de, W_RIVALNAME
|
||||
ld bc, $b
|
||||
jp CopyData
|
||||
|
||||
|
@ -37,7 +37,7 @@ OakSpeech: ; 6115 (1:6115)
|
|||
ld a, BANK(Music_Routes2) ; bank of song
|
||||
ld c,a
|
||||
ld a, MUSIC_ROUTES2 ; song #
|
||||
call PlayMusic ; plays music
|
||||
call PlayMusic
|
||||
call ClearScreen
|
||||
call LoadTextBoxTilePatterns
|
||||
call SetDefaultNames
|
||||
|
@ -111,10 +111,10 @@ Func_61bc: ; 61bc (1:61bc)
|
|||
call PlaySound
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ld c,4
|
||||
call DelayFrames
|
||||
ld de,RedSprite ; $4180
|
||||
ld de,RedSprite
|
||||
ld hl,vSprites
|
||||
ld bc,(BANK(RedSprite) << 8) | $0C
|
||||
call CopyVideoData
|
||||
|
@ -139,8 +139,8 @@ Func_61bc: ; 61bc (1:61bc)
|
|||
call PlaySound ; stop music
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld c,$14
|
||||
ld [MBC1RomBank],a
|
||||
ld c,20
|
||||
call DelayFrames
|
||||
hlCoord 6, 5
|
||||
ld b,7
|
||||
|
@ -149,7 +149,7 @@ Func_61bc: ; 61bc (1:61bc)
|
|||
call LoadTextBoxTilePatterns
|
||||
ld a,1
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
ld c,$32
|
||||
ld c,50
|
||||
call DelayFrames
|
||||
call GBFadeOutToWhite
|
||||
jp ClearScreen
|
||||
|
@ -229,4 +229,4 @@ IntroPredef3B: ; 62a4 (1:62a4)
|
|||
.next
|
||||
xor a
|
||||
ld [$FFE1],a
|
||||
predef_jump Func_3f0c6
|
||||
predef_jump CopyUncompressedPicToTilemap
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
LoadDefaultNamesPlayer: ; 695d (1:695d)
|
||||
call Func_6a12
|
||||
ld de, DefaultNamesPlayer ; $6aa8
|
||||
ld de, DefaultNamesPlayer
|
||||
call DisplayIntroNameTextBox
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr z, .asm_697a
|
||||
ld hl, DefaultNamesPlayerList ; $6af2
|
||||
ld hl, DefaultNamesPlayerList
|
||||
call Func_6ad6
|
||||
ld de, wPlayerName ; wd158
|
||||
ld de, wPlayerName
|
||||
call Func_69ec
|
||||
jr .asm_6999
|
||||
.asm_697a
|
||||
ld hl, wPlayerName ; wd158
|
||||
ld hl, wPlayerName
|
||||
xor a
|
||||
ld [wd07d], a
|
||||
call DisplayNamingScreen
|
||||
|
@ -20,7 +20,7 @@ LoadDefaultNamesPlayer: ; 695d (1:695d)
|
|||
jr z, .asm_697a
|
||||
call ClearScreen
|
||||
call Delay3
|
||||
ld de, RedPicFront ; $6ede
|
||||
ld de, RedPicFront
|
||||
ld b, BANK(RedPicFront)
|
||||
call IntroPredef3B
|
||||
.asm_6999
|
||||
|
@ -32,19 +32,19 @@ YourNameIsText: ; 699f (1:699f)
|
|||
db "@"
|
||||
|
||||
LoadDefaultNamesRival: ; 69a4 (1:69a4)
|
||||
call Func_6a12 ; 0x69a4 call 0x6a12
|
||||
call Func_6a12
|
||||
ld de, DefaultNamesRival
|
||||
call DisplayIntroNameTextBox
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr z, .asm_69c1
|
||||
ld hl, DefaultNamesRivalList
|
||||
call Func_6ad6
|
||||
ld de, W_RIVALNAME ; wd34a
|
||||
ld de, W_RIVALNAME
|
||||
call Func_69ec
|
||||
jr .asm_69e1
|
||||
.asm_69c1
|
||||
ld hl, W_RIVALNAME ; wd34a
|
||||
ld hl, W_RIVALNAME
|
||||
ld a, $1
|
||||
ld [wd07d], a
|
||||
call DisplayNamingScreen
|
||||
|
@ -53,7 +53,7 @@ LoadDefaultNamesRival: ; 69a4 (1:69a4)
|
|||
jr z, .asm_69c1
|
||||
call ClearScreen
|
||||
call Delay3
|
||||
ld de, Rival1Pic ; $6049
|
||||
ld de, Rival1Pic
|
||||
ld b, $13
|
||||
call IntroPredef3B
|
||||
.asm_69e1
|
||||
|
@ -69,7 +69,7 @@ Func_69ec: ; 69ec (1:69ec)
|
|||
ld hl, wTileMap
|
||||
ld bc, $c0b
|
||||
call ClearScreenArea
|
||||
ld c, $a
|
||||
ld c, 10
|
||||
call DelayFrames
|
||||
pop de
|
||||
ld hl, wcd6d
|
||||
|
@ -91,9 +91,9 @@ asm_6a19: ; 6a19 (1:6a19)
|
|||
push bc
|
||||
ld [$ff8d], a
|
||||
ld a, d
|
||||
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
|
||||
ld [H_DOWNARROWBLINKCNT1], a
|
||||
ld a, e
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
ld [H_DOWNARROWBLINKCNT2], a
|
||||
ld c, a
|
||||
ld a, [$ff8d]
|
||||
and a
|
||||
|
@ -105,7 +105,7 @@ asm_6a19: ; 6a19 (1:6a19)
|
|||
ld e, l
|
||||
.asm_6a2f
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld a, [$ff8d]
|
||||
and a
|
||||
jr nz, .asm_6a3c
|
||||
|
@ -128,9 +128,9 @@ asm_6a19: ; 6a19 (1:6a19)
|
|||
ld [hl], a
|
||||
.asm_6a4a
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
call Delay3
|
||||
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
||||
ld a, [H_DOWNARROWBLINKCNT2]
|
||||
ld c, a
|
||||
ld h, d
|
||||
ld l, e
|
||||
|
@ -144,9 +144,9 @@ asm_6a19: ; 6a19 (1:6a19)
|
|||
.asm_6a5f
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld a, [H_DOWNARROWBLINKCNT1] ; $ff8b
|
||||
ld a, [H_DOWNARROWBLINKCNT1]
|
||||
dec a
|
||||
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
|
||||
ld [H_DOWNARROWBLINKCNT1], a
|
||||
jr nz, .asm_6a2f
|
||||
pop bc
|
||||
pop de
|
||||
|
@ -160,22 +160,22 @@ DisplayIntroNameTextBox: ; 6a6c (1:6a6c)
|
|||
ld c, $9
|
||||
call TextBoxBorder
|
||||
hlCoord 3, 0
|
||||
ld de, .namestring ; $6aa3
|
||||
ld de, .namestring
|
||||
call PlaceString
|
||||
pop de
|
||||
hlCoord 2, 2
|
||||
call PlaceString
|
||||
call UpdateSprites
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wLastMenuItem], a ; wLastMenuItem
|
||||
ld [wCurrentMenuItem], a
|
||||
ld [wLastMenuItem], a
|
||||
inc a
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
|
||||
ld [wTopMenuItemX], a
|
||||
ld [wMenuWatchedKeys], a
|
||||
inc a
|
||||
ld [wTopMenuItemY], a ; wTopMenuItemY
|
||||
ld [wTopMenuItemY], a
|
||||
inc a
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
ld [wMaxMenuItem], a
|
||||
jp HandleMenuInput
|
||||
|
||||
.namestring ; 6aa3 (1:6aa3)
|
||||
|
|
|
@ -5,7 +5,7 @@ CableClubNPC: ; 71c5 (1:71c5)
|
|||
bit 5, a ; received pokedex?
|
||||
jp nz, .receivedPokedex
|
||||
; if the player hasn't received the pokedex
|
||||
ld c, $3c
|
||||
ld c, 60
|
||||
call DelayFrames
|
||||
ld hl, CableClubNPCMakingPreparationsText
|
||||
call PrintText
|
||||
|
@ -72,24 +72,24 @@ CableClubNPC: ; 71c5 (1:71c5)
|
|||
ld hl, wUnknownSerialCounter
|
||||
ld a, [hli]
|
||||
inc a
|
||||
jr nz, Func_72a8 ; 0x726b $3b
|
||||
jr nz, Func_72a8
|
||||
ld a, [hl]
|
||||
inc a
|
||||
jr nz, Func_72a8 ; 0x726f $37
|
||||
jr nz, Func_72a8
|
||||
ld b, $a
|
||||
.asm_7273
|
||||
call DelayFrame
|
||||
call Serial_SendZeroByte
|
||||
dec b
|
||||
jr nz, .asm_7273 ; 0x727a $f7
|
||||
jr nz, .asm_7273
|
||||
call CloseLinkConnection
|
||||
ld hl, CableClubNPCLinkClosedBecauseOfInactivityText
|
||||
call PrintText
|
||||
jr Func_7298 ; 0x7285 $11
|
||||
jr Func_7298
|
||||
.failedToEstablishConnection
|
||||
ld hl, CableClubNPCAreaReservedFor2FriendsLinkedByCableText
|
||||
call PrintText
|
||||
jr Func_7298 ; 0x728d $9
|
||||
jr Func_7298
|
||||
.choseNo
|
||||
call CloseLinkConnection
|
||||
ld hl, CableClubNPCPleaseComeAgainText
|
||||
|
|
|
@ -2,16 +2,16 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
|
|||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
xor a
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wCurrentMenuItem], a
|
||||
ld a, $3
|
||||
ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
|
||||
ld [wMenuWatchedKeys], a
|
||||
ld a, [wcd37]
|
||||
dec a
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
ld [wMaxMenuItem], a
|
||||
ld a, $2
|
||||
ld [wTopMenuItemY], a ; wTopMenuItemY
|
||||
ld [wTopMenuItemY], a
|
||||
ld a, $1
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
ld [wTopMenuItemX], a
|
||||
ld a, [wcd37]
|
||||
dec a
|
||||
ld bc, $2
|
||||
|
@ -30,7 +30,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
|
|||
bit 1, a
|
||||
jr nz, .asm_610a7
|
||||
ld hl, wcc5b
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld a, [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] ; wCurrentMenuItem
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .asm_610a7
|
||||
ld hl, LabFossil_610b3
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
UsedCut: ; ef54 (3:6f54)
|
||||
xor a
|
||||
ld [wcd6a], a
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
ld a, [W_CURMAPTILESET]
|
||||
and a ; OVERWORLD
|
||||
jr z, .asm_ef6b
|
||||
cp GYM
|
||||
|
@ -9,28 +9,28 @@ UsedCut: ; ef54 (3:6f54)
|
|||
ld a, [wTileInFrontOfPlayer]
|
||||
cp $50 ; gym cut tree
|
||||
jr nz, .asm_ef77
|
||||
jr asm_ef82
|
||||
jr .asm_ef82
|
||||
.asm_ef6b
|
||||
dec a
|
||||
ld a, [wTileInFrontOfPlayer]
|
||||
cp $3d ; cut tree
|
||||
jr z, asm_ef82
|
||||
jr z, .asm_ef82
|
||||
cp $52 ; grass
|
||||
jr z, asm_ef82
|
||||
jr z, .asm_ef82
|
||||
.asm_ef77
|
||||
ld hl, NothingToCutText
|
||||
ld hl, .NothingToCutText
|
||||
jp PrintText
|
||||
|
||||
NothingToCutText: ; ef7d (3:6f7d)
|
||||
.NothingToCutText
|
||||
TX_FAR _NothingToCutText
|
||||
db "@"
|
||||
|
||||
asm_ef82: ; ef82 (3:6f82)
|
||||
.asm_ef82
|
||||
ld [wcd4d], a
|
||||
ld a, $1
|
||||
ld [wcd6a], a
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld hl, wPartyMonNicks ; wPartyMonNicks
|
||||
ld a, [wWhichPokemon]
|
||||
ld hl, wPartyMonNicks
|
||||
call GetPartyMonName
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
|
@ -54,7 +54,7 @@ asm_ef82: ; ef82 (3:6f82)
|
|||
ld a, $ff
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call AnimateCutTree
|
||||
ld de, CutTreeBlockSwaps ; $7100
|
||||
ld de, CutTreeBlockSwaps
|
||||
call Func_f09f
|
||||
call RedrawMapView
|
||||
callba Func_79e96
|
||||
|
@ -75,15 +75,15 @@ AnimateCutTree: ; eff7 (3:6ff7)
|
|||
xor a
|
||||
ld [wcd50], a
|
||||
ld a, $e4
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld [rOBP1], a
|
||||
ld a, [wcd4d]
|
||||
cp $52
|
||||
jr z, .asm_f020
|
||||
ld de, Overworld_GFX + $2d0 ; $42d0 ; cuttable tree sprite top row
|
||||
ld de, Overworld_GFX + $2d0 ; cuttable tree sprite top row
|
||||
ld hl, vChars1 + $7c0
|
||||
ld bc, (BANK(Overworld_GFX) << 8) + $02
|
||||
call CopyVideoData
|
||||
ld de, Overworld_GFX + $3d0 ; $43d0 ; cuttable tree sprite bottom row
|
||||
ld de, Overworld_GFX + $3d0 ; cuttable tree sprite bottom row
|
||||
ld hl, vChars1 + $7e0
|
||||
ld bc, (BANK(Overworld_GFX) << 8) + $02
|
||||
call CopyVideoData
|
||||
|
@ -111,7 +111,7 @@ AnimateCutTree: ; eff7 (3:6ff7)
|
|||
ret
|
||||
|
||||
LoadCutTreeAnimationTilePattern: ; f04c (3:704c)
|
||||
ld de, AnimationTileset2 + $60 ; $474e ; tile depicting a leaf
|
||||
ld de, AnimationTileset2 + $60 ; tile depicting a leaf
|
||||
ld bc, (BANK(AnimationTileset2) << 8) + $01
|
||||
jp CopyVideoData
|
||||
|
||||
|
@ -173,7 +173,7 @@ BoulderDustAnimationOffsets: ; f097 (3:7097)
|
|||
|
||||
Func_f09f: ; f09f (3:709f)
|
||||
push de
|
||||
ld a, [W_CURMAPWIDTH] ; wd369
|
||||
ld a, [W_CURMAPWIDTH]
|
||||
add $6
|
||||
ld c, a
|
||||
ld b, $0
|
||||
|
@ -190,22 +190,22 @@ Func_f09f: ; f09f (3:709f)
|
|||
jr z, .asm_f0cf
|
||||
cp $8
|
||||
jr z, .asm_f0d7
|
||||
ld a, [W_XBLOCKCOORD] ; wd364
|
||||
ld a, [W_XBLOCKCOORD]
|
||||
and a
|
||||
jr z, .asm_f0e0
|
||||
jr .asm_f0ec
|
||||
.asm_f0c7
|
||||
ld a, [W_YBLOCKCOORD] ; wd363
|
||||
ld a, [W_YBLOCKCOORD]
|
||||
and a
|
||||
jr z, .asm_f0e0
|
||||
jr .asm_f0df
|
||||
.asm_f0cf
|
||||
ld a, [W_YBLOCKCOORD] ; wd363
|
||||
ld a, [W_YBLOCKCOORD]
|
||||
and a
|
||||
jr z, .asm_f0e1
|
||||
jr .asm_f0e0
|
||||
.asm_f0d7
|
||||
ld a, [W_XBLOCKCOORD] ; wd364
|
||||
ld a, [W_XBLOCKCOORD]
|
||||
and a
|
||||
jr z, .asm_f0e6
|
||||
jr .asm_f0e0
|
||||
|
|
|
@ -15,9 +15,9 @@ Func_79e96: ; 79e96 (1e:5e96)
|
|||
ld [wd08a], a
|
||||
ld c, $2
|
||||
call AdjustOAMBlockXPos2
|
||||
ld a, [rOBP1] ; $ff49
|
||||
ld a, [rOBP1]
|
||||
xor $64
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld [rOBP1], a
|
||||
call DelayFrame
|
||||
pop bc
|
||||
dec c
|
||||
|
@ -65,9 +65,9 @@ Func_79eed: ; 79eed (1e:5eed)
|
|||
ld [wd08a], a
|
||||
ld c, $1
|
||||
call AdjustOAMBlockXPos2
|
||||
ld a, [rOBP1] ; $ff49
|
||||
ld a, [rOBP1]
|
||||
xor $64
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld [rOBP1], a
|
||||
call DelayFrame
|
||||
pop bc
|
||||
dec c
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
; returns whether the player is standing on a door tile in carry
|
||||
IsPlayerStandingOnDoorTile: ; 1a609 (6:6609)
|
||||
push de
|
||||
ld hl, DoorTileIDPointers ; $662c
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
ld hl, DoorTileIDPointers
|
||||
ld a, [W_CURMAPTILESET]
|
||||
ld de, $3
|
||||
call IsInArray
|
||||
pop de
|
||||
|
|
|
@ -10,7 +10,7 @@ ShakeElevator: ; 7bf15 (1e:7f15)
|
|||
ld d, a
|
||||
ld e, $1
|
||||
; number of times to play collision sfx
|
||||
ld b, $64
|
||||
ld b, 100
|
||||
.asm_7bf30
|
||||
ld a, e
|
||||
xor $fe
|
||||
|
@ -22,7 +22,7 @@ ShakeElevator: ; 7bf15 (1e:7f15)
|
|||
ld a, (SFX_02_5b - SFX_Headers_02) / 3
|
||||
call PlayMusic
|
||||
pop bc
|
||||
ld c, $2
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
dec b
|
||||
jr nz, .asm_7bf30
|
||||
|
|
|
@ -2,7 +2,7 @@ EmotionBubble: ; 17c47 (5:7c47)
|
|||
ld a, [wcd50]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld hl, EmotionBubblesPointerTable ; $7caf
|
||||
ld hl, EmotionBubblesPointerTable
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
ld e, [hl]
|
||||
|
@ -45,10 +45,10 @@ EmotionBubble: ; 17c47 (5:7c47)
|
|||
ld a, [hl]
|
||||
add $8
|
||||
ld c, a
|
||||
ld de, EmotionBubblesOAM ; $7cb5
|
||||
ld de, EmotionBubblesOAM
|
||||
xor a
|
||||
call WriteOAMBlock
|
||||
ld c, $3c
|
||||
ld c, 60
|
||||
call DelayFrames
|
||||
pop af
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
AnimateHealingMachine: ; 70433 (1c:4433)
|
||||
ld de, PokeCenterFlashingMonitorAndHealBall ; $44b7
|
||||
ld de, PokeCenterFlashingMonitorAndHealBall
|
||||
ld hl, vChars0 + $7c0
|
||||
ld bc, (BANK(PokeCenterFlashingMonitorAndHealBall) << 8) + $03
|
||||
call CopyVideoData
|
||||
|
@ -8,12 +8,12 @@ AnimateHealingMachine: ; 70433 (1c:4433)
|
|||
push af
|
||||
ld [hl], $ff
|
||||
push hl
|
||||
ld a, [rOBP1] ; $ff49
|
||||
ld a, [rOBP1]
|
||||
push af
|
||||
ld a, $e0
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld [rOBP1], a
|
||||
ld hl, wOAMBuffer + $84
|
||||
ld de, PokeCenterOAMData ; $44d7
|
||||
ld de, PokeCenterOAMData
|
||||
call Func_70503
|
||||
ld a, $4
|
||||
ld [wMusicHeaderPointer], a
|
||||
|
@ -24,13 +24,13 @@ AnimateHealingMachine: ; 70433 (1c:4433)
|
|||
ld a, [wMusicHeaderPointer]
|
||||
and a
|
||||
jr nz, .asm_70464
|
||||
ld a, [wPartyCount] ; wPartyCount
|
||||
ld a, [wPartyCount]
|
||||
ld b, a
|
||||
.asm_7046e
|
||||
call Func_70503
|
||||
ld a, (SFX_02_4a - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld c, $1e
|
||||
ld c, 30
|
||||
call DelayFrames
|
||||
dec b
|
||||
jr nz, .asm_7046e
|
||||
|
@ -53,10 +53,10 @@ AnimateHealingMachine: ; 70433 (1c:4433)
|
|||
ld a, [wc026]
|
||||
cp MUSIC_PKMN_HEALED
|
||||
jr z, .asm_704a2
|
||||
ld c, $20
|
||||
ld c, 32
|
||||
call DelayFrames
|
||||
pop af
|
||||
ld [rOBP1], a ; $ff49
|
||||
ld [rOBP1], a
|
||||
pop hl
|
||||
pop af
|
||||
ld [hl], a
|
||||
|
|
|
@ -22,7 +22,6 @@ HiddenItems: ; 76688 (1d:6688)
|
|||
INCLUDE "data/hidden_item_coords.asm"
|
||||
|
||||
FoundHiddenItemText: ; 7675b (1d:675b)
|
||||
; XXX where is the pointer to this?
|
||||
TX_FAR _FoundHiddenItemText
|
||||
db $8
|
||||
ld a, [wWhichTrade] ; item ID
|
||||
|
@ -36,8 +35,8 @@ FoundHiddenItemText: ; 7675b (1d:675b)
|
|||
ld b, $1
|
||||
predef FlagActionPredef
|
||||
ld a, (SFX_02_3b - SFX_Headers_02) / 3
|
||||
call PlaySoundWaitForCurrent ; play sound
|
||||
call WaitForSoundToFinish ; wait for sound to finish playing
|
||||
call PlaySoundWaitForCurrent
|
||||
call WaitForSoundToFinish
|
||||
jp TextScriptEnd
|
||||
.BagFull
|
||||
call WaitForTextScrollButtonPress ; wait for button press
|
||||
|
@ -146,10 +145,10 @@ Func_76857: ; 76857 (1d:6857)
|
|||
cp $ff ; end of the list?
|
||||
ret z ; if so, we're done here
|
||||
cp b
|
||||
jr nz, .asm_76877 ; 0x7686b $a
|
||||
jr nz, .asm_76877
|
||||
ld a, [hli]
|
||||
cp d
|
||||
jr nz, .asm_76878 ; 0x7686f $7
|
||||
jr nz, .asm_76878
|
||||
ld a, [hli]
|
||||
cp e
|
||||
jr nz, .loop
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
PickupItem:
|
||||
call EnableAutoTextBoxDrawing
|
||||
|
||||
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
||||
ld a, [H_DOWNARROWBLINKCNT2]
|
||||
ld b, a
|
||||
ld hl, W_MISSABLEOBJECTLIST
|
||||
.missableObjectsListLoop
|
||||
|
@ -18,7 +18,7 @@ PickupItem:
|
|||
ld [$ffdb], a
|
||||
|
||||
ld hl, W_MAPSPRITEEXTRADATA
|
||||
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
||||
ld a, [H_DOWNARROWBLINKCNT2]
|
||||
dec a
|
||||
add a
|
||||
ld d, 0
|
||||
|
|
|
@ -2,7 +2,7 @@ HandleLedges: ; 1a672 (6:6672)
|
|||
ld a, [wd736]
|
||||
bit 6, a ; already jumping down ledge
|
||||
ret nz
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
ld a, [W_CURMAPTILESET]
|
||||
and a ; OVERWORLD
|
||||
ret nz
|
||||
predef GetTileAndCoordsInFrontOfPlayer
|
||||
|
|
|
@ -22,7 +22,7 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
|
|||
.lowerLeftTileIsMapTile
|
||||
call DetectCollisionBetweenSprites
|
||||
ld h, $c1
|
||||
ld a, [wWalkCounter] ; wcfc5
|
||||
ld a, [wWalkCounter]
|
||||
and a
|
||||
jr nz, .asm_4e90
|
||||
ld a, [wd528]
|
||||
|
@ -108,7 +108,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
|
|||
swap a
|
||||
dec a
|
||||
add a
|
||||
ld hl, W_MAPSPRITEDATA ; wd4e4
|
||||
ld hl, W_MAPSPRITEDATA
|
||||
add l
|
||||
ld l, a
|
||||
ld a, [hl] ; read movement byte 2
|
||||
|
@ -138,7 +138,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
|
|||
jp z, UpdateSpriteMovementDelay ; c1x1 == 2
|
||||
cp $3
|
||||
jp z, UpdateSpriteInWalkingAnimation ; c1x1 == 3
|
||||
ld a, [wWalkCounter] ; wcfc5
|
||||
ld a, [wWalkCounter]
|
||||
and a
|
||||
ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability)
|
||||
call InitializeSpriteScreenPosition
|
||||
|
@ -212,7 +212,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
|
|||
cp $2
|
||||
jr z, .moveRight ; movement byte 2 = $2 only allows left or right
|
||||
.moveUp
|
||||
ld de, -2*20 ; $ffd8
|
||||
ld de, -2*20
|
||||
add hl, de ; move tile pointer two rows up
|
||||
ld de, $ff00
|
||||
ld bc, $804
|
||||
|
@ -440,7 +440,7 @@ InitializeSpriteScreenPosition: ; 50bd (1:50bd)
|
|||
ld a, [H_CURRENTSPRITEOFFSET]
|
||||
add $4
|
||||
ld l, a
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
ld a, [W_YCOORD]
|
||||
ld b, a
|
||||
ld a, [hl] ; c2x4 (Y position + 4)
|
||||
sub b ; relative to player position
|
||||
|
@ -449,7 +449,7 @@ InitializeSpriteScreenPosition: ; 50bd (1:50bd)
|
|||
dec h
|
||||
ld [hli], a ; c1x4 (screen Y position)
|
||||
inc h
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
ld a, [W_XCOORD]
|
||||
ld b, a
|
||||
ld a, [hli] ; c2x6 (X position + 4)
|
||||
sub b ; relative to player position
|
||||
|
@ -475,7 +475,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
|
|||
add $4
|
||||
ld l, a
|
||||
ld b, [hl] ; c2x4: Y pos (+4)
|
||||
ld a, [W_YCOORD] ; wd361
|
||||
ld a, [W_YCOORD]
|
||||
cp b
|
||||
jr z, .skipYVisibilityTest
|
||||
jr nc, .spriteInvisible ; above screen region
|
||||
|
@ -485,7 +485,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
|
|||
.skipYVisibilityTest
|
||||
inc l
|
||||
ld b, [hl] ; c2x5: X pos (+4)
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
ld a, [W_XCOORD]
|
||||
cp b
|
||||
jr z, .skipXVisibilityTest
|
||||
jr nc, .spriteInvisible ; left of screen region
|
||||
|
@ -503,7 +503,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
|
|||
ld a, [hld]
|
||||
cp d
|
||||
jr nc, .spriteInvisible ; standing on tile with ID >=$60 (bottom right tile)
|
||||
ld bc, -20 ; $ffec
|
||||
ld bc, -20
|
||||
add hl, bc ; go back one row of tiles
|
||||
ld a, [hli]
|
||||
cp d
|
||||
|
@ -521,7 +521,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
|
|||
jr .done
|
||||
.spriteVisible
|
||||
ld c, a
|
||||
ld a, [wWalkCounter] ; wcfc5
|
||||
ld a, [wWalkCounter]
|
||||
and a
|
||||
jr nz, .done ; if player is currently walking, we're done
|
||||
call UpdateSpriteImage
|
||||
|
|
|
@ -52,7 +52,7 @@ ProfOakMovementScriptPointerTable: ; 1a442 (6:6442)
|
|||
dw Func_1a4f4
|
||||
|
||||
Func_1a44c: ; 1a44c (6:644c)
|
||||
ld a, [W_XCOORD] ; wd362
|
||||
ld a, [W_XCOORD]
|
||||
sub $a
|
||||
ld [wcca1], a
|
||||
jr z, .asm_1a475
|
||||
|
@ -63,7 +63,7 @@ Func_1a44c: ; 1a44c (6:644c)
|
|||
call FillMemory
|
||||
ld [hl], $ff
|
||||
ld a, [wSpriteIndex]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
ld [H_DOWNARROWBLINKCNT2], a
|
||||
ld de, wNPCMovementDirections2
|
||||
call MoveSprite
|
||||
ld a, $1
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
OaksAideScript ; 0x59035
|
||||
OaksAideScript: ; 0x59035
|
||||
ld hl, OaksAideHiText
|
||||
call PrintText
|
||||
call YesNoChoice
|
||||
ld a, [wCurrentMenuItem]
|
||||
and a
|
||||
jr nz, .asm_59086 ; 0x59042 $42
|
||||
jr nz, .asm_59086
|
||||
ld hl, wPokedexOwned
|
||||
ld b, wPokedexOwnedEnd - wPokedexOwned
|
||||
call CountSetBits
|
||||
|
@ -13,8 +13,8 @@ OaksAideScript ; 0x59035
|
|||
ld b, a
|
||||
ld a, [$ffdb]
|
||||
cp b
|
||||
jr z, .asm_59059 ; 0x59055 $2
|
||||
jr nc, .asm_5907c ; 0x59057 $23
|
||||
jr z, .asm_59059
|
||||
jr nc, .asm_5907c
|
||||
.asm_59059
|
||||
ld hl, OaksAideHereYouGoText
|
||||
call PrintText
|
||||
|
@ -26,17 +26,17 @@ OaksAideScript ; 0x59035
|
|||
ld hl, OaksAideGotItemText
|
||||
call PrintText
|
||||
ld a, $1
|
||||
jr .asm_5908e ; 0x59071 $1b
|
||||
jr .asm_5908e
|
||||
.BagFull
|
||||
ld hl, OaksAideNoRoomText
|
||||
call PrintText
|
||||
xor a
|
||||
jr .asm_5908e ; 0x5907a $12
|
||||
jr .asm_5908e
|
||||
.asm_5907c
|
||||
ld hl, OaksAideUhOhText
|
||||
call PrintText
|
||||
ld a, $80
|
||||
jr .asm_5908e ; 0x59084 $8
|
||||
jr .asm_5908e
|
||||
.asm_59086
|
||||
ld hl, OaksAideComeBackText
|
||||
call PrintText
|
||||
|
|
|
@ -58,7 +58,7 @@ EnterMapAnim: ; 70510 (1c:4510)
|
|||
ld a, 12
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $8 ; wFlyAnimBirdSpriteImageIndex (facing right)
|
||||
ld de, FlyAnimationEnterScreenCoords ; $4592
|
||||
ld de, FlyAnimationEnterScreenCoords
|
||||
call DoFlyAnimation
|
||||
call LoadPlayerSpriteGraphics
|
||||
jr .restoreDefaultMusic
|
||||
|
@ -154,7 +154,7 @@ _LeaveMapAnim: ; 705ba (1c:45ba)
|
|||
ld a, $c
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $c ; wFlyAnimBirdSpriteImageIndex (facing right)
|
||||
ld de, FlyAnimationScreenCoords1 ; $464f
|
||||
ld de, FlyAnimationScreenCoords1
|
||||
call DoFlyAnimation
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
|
@ -162,7 +162,7 @@ _LeaveMapAnim: ; 705ba (1c:45ba)
|
|||
ld a, 11
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $8 ; wFlyAnimBirdSpriteImageIndex (facing left)
|
||||
ld de, FlyAnimationScreenCoords2 ; $4667
|
||||
ld de, FlyAnimationScreenCoords2
|
||||
call DoFlyAnimation
|
||||
call GBFadeOutToWhite
|
||||
jp RestoreFacingDirectionAndYScreenPos
|
||||
|
@ -248,11 +248,11 @@ DoFlyAnimation: ; 706ae (1c:46ae)
|
|||
ret
|
||||
|
||||
LoadBirdSpriteGraphics: ; 706d7 (1c:46d7)
|
||||
ld de, BirdSprite ; $4d80
|
||||
ld de, BirdSprite
|
||||
ld hl, vNPCSprites
|
||||
ld bc, (BANK(BirdSprite) << 8) + $0c
|
||||
call CopyVideoData
|
||||
ld de, BirdSprite + $c0 ; $4e40 ; moving amination sprite
|
||||
ld de, BirdSprite + $c0 ; moving amination sprite
|
||||
ld hl, vNPCSprites2
|
||||
ld bc, (BANK(BirdSprite) << 8) + $0c
|
||||
jp CopyVideoData
|
||||
|
@ -379,28 +379,28 @@ IsPlayerStandingOnWarpPadOrHole: ; 70787 (1c:4787)
|
|||
db $FF
|
||||
|
||||
Func_707b6: ; 707b6 (1c:47b6)
|
||||
ld c, $a
|
||||
ld c, 10
|
||||
call DelayFrames
|
||||
ld hl, wd736
|
||||
set 6, [hl]
|
||||
ld de, RedSprite ; $4180
|
||||
ld de, RedSprite
|
||||
ld hl, vNPCSprites
|
||||
ld bc, (BANK(RedSprite) << 8) + $0c
|
||||
call CopyVideoData
|
||||
ld a, $4
|
||||
ld hl, RedFishingTiles ; $4866
|
||||
ld hl, RedFishingTiles
|
||||
call LoadAnimSpriteGfx
|
||||
ld a, [wSpriteStateData1 + 2]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld hl, FishingRodGfxProperties ; $4856
|
||||
ld hl, FishingRodGfxProperties
|
||||
add hl, bc
|
||||
ld de, wOAMBuffer + $9c
|
||||
ld bc, $4
|
||||
call CopyData
|
||||
ld c, $64
|
||||
ld c, 100
|
||||
call DelayFrames
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
and a
|
||||
ld hl, NoNibbleText
|
||||
jr z, .asm_70836
|
||||
|
|
|
@ -43,7 +43,7 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6)
|
|||
.done
|
||||
ld hl, PokemonCenterFarewellText
|
||||
call PrintText
|
||||
jp UpdateSprites ; move sprites
|
||||
jp UpdateSprites
|
||||
|
||||
PokemonCenterWelcomeText: ; 705d (1:705d)
|
||||
TX_FAR _PokemonCenterWelcomeText
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
||||
ld a,[wListScrollOffset]
|
||||
ld [wd07e],a
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
xor a
|
||||
ld [wcf0a],a ; flag that is set if something is sold or bought
|
||||
.loop
|
||||
|
@ -36,7 +36,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
ld [wcf93],a
|
||||
ld a,$02
|
||||
ld [wd11b],a
|
||||
callab Func_39bd5
|
||||
callab InitList
|
||||
ld a,[wNumBagItems]
|
||||
and a
|
||||
jp z,.bagEmpty
|
||||
|
@ -113,7 +113,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
ld [wcf93],a
|
||||
ld a,$03
|
||||
ld [wd11b],a
|
||||
callab Func_39bd5
|
||||
callab InitList
|
||||
ld hl,PokemartBuyingGreetingText
|
||||
call PrintText
|
||||
call SaveScreenTilesToBuffer1 ; save screen
|
||||
|
@ -204,7 +204,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
call PrintText
|
||||
ld a,$01
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
ld a,[wd07e]
|
||||
ld [wListScrollOffset],a
|
||||
ret
|
||||
|
|
|
@ -84,7 +84,7 @@ LoadSmokeTileFourTimes: ; 79fc0 (1e:5fc0)
|
|||
ret
|
||||
|
||||
LoadSmokeTile: ; 79fd4 (1e:5fd4)
|
||||
ld de, SSAnneSmokePuffTile ; $5fdd
|
||||
ld de, SSAnneSmokePuffTile
|
||||
ld bc, (BANK(SSAnneSmokePuffTile) << 8) + $01
|
||||
jp CopyVideoData
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ _SetSpritePosition2: ; 5685d (15:685d)
|
|||
TrainerWalkUpToPlayer: ; 56881 (15:6881)
|
||||
ld a, [wSpriteIndex]
|
||||
swap a
|
||||
ld [wTrainerSpriteOffset], a ; wWhichTrade
|
||||
ld [wTrainerSpriteOffset], a
|
||||
call ReadTrainerScreenPosition
|
||||
ld a, [wTrainerFacingDirection]
|
||||
and a
|
||||
|
@ -164,7 +164,7 @@ GetSpriteDataPointer: ; 56903 (15:6903)
|
|||
TrainerEngage: ; 5690f (15:690f)
|
||||
push hl
|
||||
push de
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
add $2
|
||||
ld d, $0
|
||||
ld e, a
|
||||
|
@ -175,7 +175,7 @@ TrainerEngage: ; 5690f (15:690f)
|
|||
jr nz, .spriteOnScreen ; test if sprite is on screen
|
||||
jp .noEngage
|
||||
.spriteOnScreen
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
add $9
|
||||
ld d, $0
|
||||
ld e, a
|
||||
|
@ -218,7 +218,7 @@ TrainerEngage: ; 5690f (15:690f)
|
|||
jp .noEngage
|
||||
.engage
|
||||
call CheckPlayerIsInFrontOfSprite
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
and a
|
||||
jr z, .noEngage
|
||||
ld hl, wFlags_0xcd60
|
||||
|
@ -226,14 +226,14 @@ TrainerEngage: ; 5690f (15:690f)
|
|||
call EngageMapTrainer
|
||||
ld a, $ff
|
||||
.noEngage: ; 56988 (15:6988)
|
||||
ld [wTrainerSpriteOffset], a ; wWhichTrade
|
||||
ld [wTrainerSpriteOffset], a
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
|
||||
; reads trainer's Y position to wTrainerScreenY and X position to wTrainerScreenX
|
||||
ReadTrainerScreenPosition: ; 5698e (15:698e)
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
add $4
|
||||
ld d, $0
|
||||
ld e, a
|
||||
|
@ -241,7 +241,7 @@ ReadTrainerScreenPosition: ; 5698e (15:698e)
|
|||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [wTrainerScreenY], a
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
add $6
|
||||
ld d, $0
|
||||
ld e, a
|
||||
|
@ -291,10 +291,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] ; W_CURMAP
|
||||
ld a, [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] ; wWhichTrade
|
||||
jp z, .engage ; bypass this for power plant to get voltorb fake items to work
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
add $4
|
||||
ld d, $0
|
||||
ld e, a
|
||||
|
@ -306,7 +306,7 @@ CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
|
|||
ld a, $c
|
||||
.notOnTopmostTile
|
||||
ld [wTrainerScreenY], a
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
add $6
|
||||
ld d, $0
|
||||
ld e, a
|
||||
|
@ -345,5 +345,5 @@ CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
|
|||
.noEngage
|
||||
xor a
|
||||
.done
|
||||
ld [wTrainerSpriteOffset], a ; wWhichTrade
|
||||
ld [wTrainerSpriteOffset], a
|
||||
ret
|
||||
|
|
|
@ -280,7 +280,7 @@ DeterminePaletteIDOutOfBattle: ; 71f9d (1c:5f9d)
|
|||
ret
|
||||
|
||||
SendBlkPacket_PartyMenu: ; 71fb6 (1c:5fb6)
|
||||
ld hl, BlkPacket_PartyMenu ; $62f4
|
||||
ld hl, BlkPacket_PartyMenu
|
||||
ld de, wcf2e
|
||||
ld bc, $30
|
||||
jp CopyData
|
||||
|
@ -501,7 +501,7 @@ Func_7210b: ; 7210b (1c:610b)
|
|||
push de
|
||||
call DisableLCD
|
||||
ld a, $e4
|
||||
ld [rBGP], a ; $ff47
|
||||
ld [rBGP], a
|
||||
ld de, vChars1
|
||||
ld a, [wcf2d]
|
||||
and a
|
||||
|
@ -527,11 +527,11 @@ Func_7210b: ; 7210b (1c:610b)
|
|||
dec c
|
||||
jr nz, .asm_72132
|
||||
ld a, $e3
|
||||
ld [rLCDC], a ; $ff40
|
||||
ld [rLCDC], a
|
||||
pop hl
|
||||
call SendSGBPacket
|
||||
xor a
|
||||
ld [rBGP], a ; $ff47
|
||||
ld [rBGP], a
|
||||
ei
|
||||
ret
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ DisplayDexRating: ; 44169 (11:4169)
|
|||
call PrintText
|
||||
pop hl
|
||||
call PrintText
|
||||
callba Func_7d13b
|
||||
callba PlayPokedexRatingSfx
|
||||
jp WaitForTextScrollButtonPress ; wait for button press
|
||||
.label3
|
||||
ld de, wcc5b
|
||||
|
|
|
@ -53,11 +53,11 @@ PredefPointers:: ; 4fe79 (13:7e79)
|
|||
; these are pointers to ASM routines.
|
||||
; they appear to be used in overworld map scripts.
|
||||
add_predef DrawPlayerHUDAndHPBar
|
||||
add_predef Func_3f0c6
|
||||
add_predef Func_3f073
|
||||
add_predef CopyUncompressedPicToTilemap
|
||||
add_predef AnimateSendingOutMon
|
||||
add_predef ScaleSpriteByTwo
|
||||
add_predef LoadMonBackPic
|
||||
add_predef Func_79aba
|
||||
add_predef CopyGrowingMonTiles
|
||||
add_predef LoadMissableObjects
|
||||
add_predef HealParty
|
||||
add_predef MoveAnimation; 08 play move animation
|
||||
|
@ -103,7 +103,7 @@ PredefPointers:: ; 4fe79 (13:7e79)
|
|||
add_predef BattleTransition
|
||||
add_predef CopyTileIDsFromList
|
||||
add_predef PlayIntro
|
||||
add_predef Func_79869
|
||||
add_predef GetMoveSoundB
|
||||
add_predef FlashScreen
|
||||
add_predef GetTileAndCoordsInFrontOfPlayer
|
||||
add_predef StatusScreen
|
||||
|
|
|
@ -4,7 +4,7 @@ ChangeBGPalColor0_4Frames: ; 480eb (12:40eb)
|
|||
ld a, [rBGP]
|
||||
or b
|
||||
ld [rBGP], a
|
||||
ld c, $4
|
||||
ld c, 4
|
||||
call DelayFrames
|
||||
ld a, [rBGP]
|
||||
and %11111100
|
||||
|
@ -17,7 +17,7 @@ Func_480ff: ; 480ff (12:40ff)
|
|||
ld [wd0a0], a
|
||||
xor a
|
||||
.asm_48108
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
|
||||
call Func_48119
|
||||
call Func_48119
|
||||
dec b
|
||||
|
@ -28,11 +28,11 @@ Func_480ff: ; 480ff (12:40ff)
|
|||
ret
|
||||
|
||||
Func_48119: ; 48119 (12:4119)
|
||||
ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
|
||||
xor b
|
||||
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
||||
ld [rWY], a ; $ff4a
|
||||
ld c, $3
|
||||
ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
|
||||
ld [rWY], a
|
||||
ld c, 3
|
||||
jp DelayFrames
|
||||
|
||||
Func_48125: ; 48125 (12:4125)
|
||||
|
@ -41,14 +41,14 @@ Func_48125: ; 48125 (12:4125)
|
|||
.asm_48129
|
||||
ld [$ff97], a
|
||||
call Func_4813f
|
||||
ld c, $1
|
||||
ld c, 1
|
||||
call DelayFrames
|
||||
call Func_4813f
|
||||
dec b
|
||||
ld a, b
|
||||
jr nz, .asm_48129
|
||||
ld a, $7
|
||||
ld [rWX], a ; $ff4b
|
||||
ld [rWX], a
|
||||
ret
|
||||
|
||||
Func_4813f: ; 4813f (12:413f)
|
||||
|
@ -60,6 +60,6 @@ Func_4813f: ; 4813f (12:413f)
|
|||
xor a
|
||||
.asm_48149
|
||||
add $7
|
||||
ld [rWX], a ; $ff4b
|
||||
ld c, $4
|
||||
ld [rWX], a
|
||||
ld c, 4
|
||||
jp DelayFrames
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
; so that the full Pokedex information gets displayed in Oak's lab
|
||||
StarterDex: ; 5c0dc (17:40dc)
|
||||
ld a, %01001011 ; set starter flags
|
||||
ld [wPokedexOwned], a ; wPokedexOwned
|
||||
ld [wPokedexOwned], a
|
||||
predef ShowPokedexData
|
||||
xor a ; unset starter flags
|
||||
ld [wPokedexOwned], a ; wPokedexOwned
|
||||
ld [wPokedexOwned], a
|
||||
ret
|
||||
|
|
|
@ -18,7 +18,7 @@ LoadSAV: ; 735e8 (1c:75e8)
|
|||
set 6, [hl]
|
||||
ld hl, FileDataDestroyedText
|
||||
call PrintText
|
||||
ld c, $64
|
||||
ld c, 100
|
||||
call DelayFrames
|
||||
pop hl
|
||||
res 6, [hl]
|
||||
|
@ -54,7 +54,7 @@ LoadSAVCheckSum: ; 73623 (1c:7623)
|
|||
|
||||
.Func_73652 ; 73652 (1c:7652)
|
||||
ld hl, $a598
|
||||
ld de, wPlayerName ; wd158
|
||||
ld de, wPlayerName
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, $a5a3
|
||||
|
@ -110,11 +110,11 @@ LoadSAVCheckSum2: ; 736bd (1c:76bd)
|
|||
cp c
|
||||
jp nz, SAVBadCheckSum
|
||||
ld hl, $af2c
|
||||
ld de, wPartyCount ; wPartyCount
|
||||
ld de, wPartyCount
|
||||
ld bc, $194
|
||||
call CopyData
|
||||
ld hl, $a5a3
|
||||
ld de, wPokedexOwned ; wPokedexOwned
|
||||
ld de, wPokedexOwned
|
||||
ld bc, wPokedexSeenEnd - wPokedexOwned
|
||||
call CopyData
|
||||
and a
|
||||
|
@ -129,12 +129,12 @@ SAVGoodChecksum: ; 736f8 (1c:76f8)
|
|||
ld [MBC1SRamEnable], a
|
||||
ret
|
||||
|
||||
Func_73701: ; 0x73701
|
||||
Func_73701: ; 73701 (1c:7701)
|
||||
call LoadSAVCheckSum
|
||||
call LoadSAVCheckSum1
|
||||
jp LoadSAVCheckSum2
|
||||
|
||||
SaveSAV: ;$770a
|
||||
SaveSAV: ; 7370a (1c:770a)
|
||||
callba PrintSaveScreenText
|
||||
ld hl,WouldYouLikeToSaveText
|
||||
call SaveSAVConfirm
|
||||
|
@ -149,22 +149,22 @@ SaveSAV: ;$770a
|
|||
call SaveSAVConfirm
|
||||
and a
|
||||
ret nz
|
||||
.save ;$772d
|
||||
call SaveSAVtoSRAM ;$7848
|
||||
.save
|
||||
call SaveSAVtoSRAM
|
||||
hlCoord 1, 13
|
||||
ld bc,$0412
|
||||
call ClearScreenArea ; clear area 4x12 starting at 13,1
|
||||
hlCoord 1, 14
|
||||
ld de,NowSavingString
|
||||
call PlaceString
|
||||
ld c,$78
|
||||
ld c,120
|
||||
call DelayFrames
|
||||
ld hl,GameSavedText
|
||||
call PrintText
|
||||
ld a, (SFX_02_5d - SFX_Headers_02) / 3 ;sound for saved game
|
||||
call PlaySoundWaitForCurrent
|
||||
call WaitForSoundToFinish
|
||||
ld c,$1e
|
||||
ld c,30
|
||||
jp DelayFrames
|
||||
|
||||
NowSavingString:
|
||||
|
@ -308,7 +308,7 @@ Func_73863: ; 73863 (1c:7863)
|
|||
ret
|
||||
|
||||
Func_7387b: ; 7387b (1c:787b)
|
||||
ld hl, PointerTable_73895 ; $7895
|
||||
ld hl, PointerTable_73895
|
||||
ld a, [wd5a0]
|
||||
and $7f
|
||||
cp $6
|
||||
|
@ -411,21 +411,21 @@ Func_7390e: ; 7390e (1c:790e)
|
|||
|
||||
Func_7393f: ; 7393f (1c:793f)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld a, $3
|
||||
ld [wMenuWatchedKeys], a ; wMenuWatchedKeys
|
||||
ld [wMenuWatchedKeys], a
|
||||
ld a, $b
|
||||
ld [wMaxMenuItem], a ; wMaxMenuItem
|
||||
ld [wMaxMenuItem], a
|
||||
ld a, $1
|
||||
ld [wTopMenuItemY], a ; wTopMenuItemY
|
||||
ld [wTopMenuItemY], a
|
||||
ld a, $c
|
||||
ld [wTopMenuItemX], a ; wTopMenuItemX
|
||||
ld [wTopMenuItemX], a
|
||||
xor a
|
||||
ld [wcc37], a
|
||||
ld a, [wd5a0]
|
||||
and $7f
|
||||
ld [wCurrentMenuItem], a ; wCurrentMenuItem
|
||||
ld [wLastMenuItem], a ; wLastMenuItem
|
||||
ld [wCurrentMenuItem], a
|
||||
ld [wLastMenuItem], a
|
||||
ld hl, wTileMap
|
||||
ld b, $2
|
||||
ld c, $9
|
||||
|
@ -438,7 +438,7 @@ Func_7393f: ; 7393f (1c:793f)
|
|||
call TextBoxBorder
|
||||
ld hl, hFlags_0xFFF6
|
||||
set 2, [hl]
|
||||
ld de, BoxNames ; $79d9
|
||||
ld de, BoxNames
|
||||
hlCoord 13, 1
|
||||
call PlaceString
|
||||
ld hl, hFlags_0xFFF6
|
||||
|
@ -461,7 +461,7 @@ Func_7393f: ; 7393f (1c:793f)
|
|||
call PlaceString
|
||||
call Func_73a84
|
||||
hlCoord 18, 1
|
||||
ld de, wWhichTrade ; wWhichTrade
|
||||
ld de, wWhichTrade
|
||||
ld bc, $14
|
||||
ld a, $c
|
||||
.asm_739c2
|
||||
|
@ -477,7 +477,7 @@ Func_7393f: ; 7393f (1c:793f)
|
|||
dec a
|
||||
jr nz, .asm_739c2
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ret
|
||||
|
||||
ChooseABoxText: ; 739d4 (1c:79d4)
|
||||
|
@ -545,7 +545,7 @@ Func_73a7f: ; 73a7f (1c:7a7f)
|
|||
ret
|
||||
|
||||
Func_73a84: ; 73a84 (1c:7a84)
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld hl, wWhichTrade
|
||||
push hl
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC1SRamEnable], a
|
||||
|
@ -566,7 +566,7 @@ Func_73a84: ; 73a84 (1c:7a84)
|
|||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
|
@ -585,7 +585,7 @@ Func_73ab8: ; 73ab8 (1c:7ab8)
|
|||
ld [hli], a
|
||||
ret
|
||||
|
||||
SAVCheckRandomID: ;$7ad1
|
||||
SAVCheckRandomID: ; 73ad1 (1c: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 wPlayerID)
|
||||
|
@ -646,7 +646,7 @@ SaveHallOfFameTeams: ; 73b0d (1c:7b0d)
|
|||
LoadHallOfFameTeams: ; 73b3f (1c:7b3f)
|
||||
ld hl, sHallOfFame
|
||||
ld bc, HOF_TEAM
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
call AddNTimes
|
||||
ld de, wcc5b
|
||||
ld bc, HOF_TEAM
|
||||
|
|
|
@ -128,7 +128,7 @@ MainSlotMachineLoop: ; 37395 (d:7395)
|
|||
jr nz, .skip2
|
||||
ld hl, OutOfCoinsSlotMachineText
|
||||
call PrintText
|
||||
ld c, $3c
|
||||
ld c, 60
|
||||
jp DelayFrames
|
||||
.skip2
|
||||
ld hl, OneMoreGoSlotMachineText
|
||||
|
@ -202,13 +202,13 @@ SlotMachine_37480: ; 37480 (d:7480)
|
|||
ret
|
||||
|
||||
SlotMachine_374ad: ; 374ad (d:74ad)
|
||||
ld c, $14
|
||||
ld c, 20
|
||||
.loop1
|
||||
push bc
|
||||
call SlotMachine_37813
|
||||
call SlotMachine_37823
|
||||
call SlotMachine_37833
|
||||
ld c, $2
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
pop bc
|
||||
dec c
|
||||
|
@ -437,7 +437,7 @@ SlotMachine_37588: ; 37588 (d:7588)
|
|||
ld a, [$ff47]
|
||||
xor $40
|
||||
ld [$ff47], a
|
||||
ld c, $5
|
||||
ld c, 5
|
||||
call DelayFrames
|
||||
dec b
|
||||
jr nz, .asm_37638
|
||||
|
@ -674,7 +674,7 @@ SlotMachine_3776b: ; 3776b (d:776b)
|
|||
ld [W_SUBANIMTRANSFORM], a
|
||||
ld a, [wTrainerScreenX]
|
||||
cp $7
|
||||
ld c, $8
|
||||
ld c, 8
|
||||
jr nc, .skip2
|
||||
srl c
|
||||
.skip2
|
||||
|
|
|
@ -5,10 +5,10 @@ CopyFixedLengthText: ; 42b1 (1:42b1)
|
|||
|
||||
SetDefaultNamesBeforeTitlescreen: ; 42b7 (1:42b7)
|
||||
ld hl, NintenText
|
||||
ld de, wPlayerName ; wd158
|
||||
ld de, wPlayerName
|
||||
call CopyFixedLengthText
|
||||
ld hl, SonyText
|
||||
ld de, W_RIVALNAME ; wd34a
|
||||
ld de, W_RIVALNAME
|
||||
call CopyFixedLengthText
|
||||
xor a
|
||||
ld [hWY], a
|
||||
|
@ -24,7 +24,7 @@ SetDefaultNamesBeforeTitlescreen: ; 42b7 (1:42b7)
|
|||
LoadTitlescreenGraphics: ; 42dd (1:42dd)
|
||||
call GBPalWhiteOut
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
xor a
|
||||
ld [hTilesetType], a
|
||||
ld [hSCX], a
|
||||
|
@ -35,27 +35,27 @@ LoadTitlescreenGraphics: ; 42dd (1:42dd)
|
|||
call ClearScreen
|
||||
call DisableLCD
|
||||
call LoadFontTilePatterns
|
||||
ld hl, NintendoCopyrightLogoGraphics ; $60c8
|
||||
ld hl, NintendoCopyrightLogoGraphics
|
||||
ld de, vTitleLogo2 + $100
|
||||
ld bc, $50
|
||||
ld a, BANK(NintendoCopyrightLogoGraphics)
|
||||
call FarCopyData2
|
||||
ld hl, GamefreakLogoGraphics ; $61f8
|
||||
ld hl, GamefreakLogoGraphics
|
||||
ld de, vTitleLogo2 + $100 + $50
|
||||
ld bc, $90
|
||||
ld a, BANK(GamefreakLogoGraphics)
|
||||
call FarCopyData2
|
||||
ld hl, PokemonLogoGraphics ; $5380
|
||||
ld hl, PokemonLogoGraphics
|
||||
ld de, vTitleLogo
|
||||
ld bc, $600
|
||||
ld a, BANK(PokemonLogoGraphics)
|
||||
call FarCopyData2 ; first chunk
|
||||
ld hl, PokemonLogoGraphics+$600 ; $5980
|
||||
ld hl, PokemonLogoGraphics+$600
|
||||
ld de, vTitleLogo2
|
||||
ld bc, $100
|
||||
ld a, BANK(PokemonLogoGraphics)
|
||||
call FarCopyData2 ; second chunk
|
||||
ld hl, Version_GFX ; $402f
|
||||
ld hl, Version_GFX
|
||||
IF DEF(_RED)
|
||||
ld de,vChars2 + $600
|
||||
ld bc,$50
|
||||
|
@ -97,7 +97,7 @@ ENDC
|
|||
ld a, $74
|
||||
ld [hl], a
|
||||
hlCoord 2, 17
|
||||
ld de, .titlescreenTilemap ; $437f
|
||||
ld de, .titlescreenTilemap
|
||||
ld b, $10
|
||||
.asm_4377
|
||||
ld a, [de]
|
||||
|
@ -121,7 +121,7 @@ IF DEF(_BLUE)
|
|||
ld a,SQUIRTLE ; which Pokemon to show first on the title screen
|
||||
ENDC
|
||||
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
call Func_4524
|
||||
ld a, $9b
|
||||
call Func_4533
|
||||
|
@ -135,9 +135,9 @@ ENDC
|
|||
call GoPAL_SET
|
||||
call GBPalNormal
|
||||
ld a, $e4
|
||||
ld [rOBP0], a ; $ff48
|
||||
ld [rOBP0], a
|
||||
ld bc, $ffaf ; background scroll Y
|
||||
ld hl, .TitleScreenPokemonLogoYScrolls ; $43db
|
||||
ld hl, .TitleScreenPokemonLogoYScrolls
|
||||
.asm_43c6
|
||||
ld a, [hli]
|
||||
and a
|
||||
|
@ -176,7 +176,7 @@ ENDC
|
|||
ret
|
||||
.asm_43f4
|
||||
call LoadScreenTilesFromBuffer1
|
||||
ld c, $24
|
||||
ld c, 36
|
||||
call DelayFrames
|
||||
ld a, (SFX_1f_63 - SFX_Headers_1f) / 3
|
||||
call PlaySound
|
||||
|
@ -219,7 +219,7 @@ ENDC
|
|||
call Func_4496
|
||||
jr .asm_443b
|
||||
.asm_4459
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
call PlayCry
|
||||
call WaitForSoundToFinish
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
@ -227,7 +227,7 @@ ENDC
|
|||
xor a
|
||||
ld [hWY], a
|
||||
inc a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
call ClearScreen
|
||||
ld a, $98
|
||||
call Func_4533
|
||||
|
@ -260,7 +260,7 @@ Func_4496: ; 4496 (1:4496)
|
|||
ld hl, TitleMons
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld hl, wWhichTrade
|
||||
|
||||
; Can't be the same as before.
|
||||
cp [hl]
|
||||
|
@ -289,7 +289,7 @@ Func_44cf: ; 44cf (1:44cf)
|
|||
jr nz, .wait
|
||||
|
||||
ld a, h
|
||||
ld [rSCX], a ; $ff43
|
||||
ld [rSCX], a
|
||||
|
||||
.wait2
|
||||
ld a, [$ff44] ; rLY
|
||||
|
@ -298,14 +298,14 @@ Func_44cf: ; 44cf (1:44cf)
|
|||
ret
|
||||
|
||||
Func_44dd: ; 44dd (1:44dd)
|
||||
ld hl, PlayerCharacterTitleGraphics ; $66a8
|
||||
ld hl, PlayerCharacterTitleGraphics
|
||||
ld de, vSprites
|
||||
ld bc, $230
|
||||
ld a, BANK(PlayerCharacterTitleGraphics)
|
||||
call FarCopyData2
|
||||
call ClearSprites
|
||||
xor a
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
ld hl, wOAMBuffer
|
||||
ld de, $605a
|
||||
ld b, $7
|
||||
|
@ -319,10 +319,10 @@ Func_44dd: ; 44dd (1:44dd)
|
|||
ld [hli], a
|
||||
add $8
|
||||
ld e, a
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
ld [hli], a
|
||||
inc a
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
inc hl
|
||||
dec c
|
||||
jr nz, .asm_44fd
|
||||
|
@ -358,12 +358,12 @@ LoadCopyrightAndTextBoxTiles: ; 4538 (1:4538)
|
|||
call LoadTextBoxTilePatterns
|
||||
|
||||
LoadCopyrightTiles: ; 4541 (1:4541)
|
||||
ld de, NintendoCopyrightLogoGraphics ; $60c8
|
||||
ld de, NintendoCopyrightLogoGraphics
|
||||
ld hl, vChars2 + $600
|
||||
ld bc, (BANK(NintendoCopyrightLogoGraphics) << 8) + $1c
|
||||
call CopyVideoData
|
||||
hlCoord 2, 7
|
||||
ld de, CopyrightTextString ; $4556
|
||||
ld de, CopyrightTextString
|
||||
jp PlaceString
|
||||
|
||||
CopyrightTextString: ; 4556 (1:4556)
|
||||
|
|
|
@ -74,7 +74,7 @@ _TitleScroll: ; 3726a (d:726a)
|
|||
jr nz, .wait
|
||||
|
||||
ld a, h
|
||||
ld [rSCX], a ; $ff43
|
||||
ld [rSCX], a
|
||||
|
||||
.wait2
|
||||
ld a, [$ff44] ; rLY
|
||||
|
@ -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] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
cp STARTER1
|
||||
jr z, .ok
|
||||
cp STARTER2
|
||||
|
|
|
@ -7,7 +7,7 @@ DisplayTownMap: ; 70e3e (1c:4e3e)
|
|||
push hl
|
||||
ld a, $1
|
||||
ld [hJoy7], a
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
ld a, [W_CURMAP]
|
||||
push af
|
||||
ld b, $0
|
||||
call Func_711c4
|
||||
|
@ -19,11 +19,11 @@ DisplayTownMap: ; 70e3e (1c:4e3e)
|
|||
ld bc, $10
|
||||
call CopyData
|
||||
ld hl, vSprites + $40
|
||||
ld de, TownMapCursor ; $4f40
|
||||
ld de, TownMapCursor
|
||||
ld bc, (BANK(TownMapCursor) << 8) + $04
|
||||
call CopyVideoDataDouble
|
||||
xor a
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
pop af
|
||||
jr Func_70e92
|
||||
|
||||
|
@ -31,8 +31,8 @@ Func_70e7e: ; 70e7e (1c:4e7e)
|
|||
ld hl, wTileMap
|
||||
ld bc, $114
|
||||
call ClearScreenArea
|
||||
ld hl, TownMapOrder ; $4f11
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld hl, TownMapOrder
|
||||
ld a, [wWhichTrade]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
|
@ -86,22 +86,22 @@ Func_70e92: ; 70e92 (1c:4e92)
|
|||
ld [hl], a
|
||||
ret
|
||||
.asm_70ef2
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
inc a
|
||||
cp $2f
|
||||
jr nz, .asm_70efb
|
||||
xor a
|
||||
.asm_70efb
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
jp Func_70e7e
|
||||
.asm_70f01
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wWhichTrade]
|
||||
dec a
|
||||
cp $ff
|
||||
jr nz, .asm_70f0b
|
||||
ld a, $2e
|
||||
.asm_70f0b
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wWhichTrade], a
|
||||
jp Func_70e7e
|
||||
|
||||
INCLUDE "data/town_map_order.asm"
|
||||
|
@ -139,11 +139,11 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90)
|
|||
call LoadTownMap
|
||||
call LoadPlayerSpriteGraphics
|
||||
call LoadFontTilePatterns
|
||||
ld de, BirdSprite ; $4d80
|
||||
ld de, BirdSprite
|
||||
ld hl, vSprites + $40
|
||||
ld bc, (BANK(BirdSprite) << 8) + $0c
|
||||
call CopyVideoData
|
||||
ld de, TownMapUpArrow ; $5093
|
||||
ld de, TownMapUpArrow
|
||||
ld hl, vChars1 + $6d0
|
||||
ld bc, (BANK(TownMapUpArrow) << 8) + $01
|
||||
call CopyVideoDataDouble
|
||||
|
@ -156,7 +156,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90)
|
|||
ld hl, wTileMap
|
||||
ld de, ToText
|
||||
call PlaceString
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
ld a, [W_CURMAP]
|
||||
ld b, $0
|
||||
call Func_711c4
|
||||
ld hl, wTrainerEngageDistance
|
||||
|
@ -177,7 +177,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90)
|
|||
hlCoord 3, 0
|
||||
ld de, wcd6d
|
||||
call PlaceString
|
||||
ld c, $f
|
||||
ld c, 15
|
||||
call DelayFrames
|
||||
hlCoord 18, 0
|
||||
ld [hl], $ed
|
||||
|
@ -248,7 +248,7 @@ ToText: ; 7106d (1c:506d)
|
|||
db "To@"
|
||||
|
||||
Func_71070: ; 71070 (1c:5070)
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld hl, wWhichTrade
|
||||
ld [hl], $ff
|
||||
inc hl
|
||||
ld a, [W_TOWNVISITEDFLAG]
|
||||
|
@ -283,18 +283,18 @@ LoadTownMap: ; 7109b (1c:509b)
|
|||
ld c, $12
|
||||
call TextBoxBorder
|
||||
call DisableLCD
|
||||
ld hl, WorldMapTileGraphics ; $65a8
|
||||
ld hl, WorldMapTileGraphics
|
||||
ld de, vChars2 + $600
|
||||
ld bc, $100
|
||||
ld a, BANK(WorldMapTileGraphics)
|
||||
call FarCopyData2
|
||||
ld hl, MonNestIcon ; $56be
|
||||
ld hl, MonNestIcon
|
||||
ld de, vSprites + $40
|
||||
ld bc, $8
|
||||
ld a, BANK(MonNestIcon)
|
||||
call FarCopyDataDouble
|
||||
ld hl, wTileMap
|
||||
ld de, CompressedMap ; $5100
|
||||
ld de, CompressedMap
|
||||
.asm_710d3
|
||||
ld a, [de]
|
||||
and a
|
||||
|
@ -401,7 +401,7 @@ Func_711ef: ; 711ef (1c:51ef)
|
|||
call PlaceString
|
||||
jr .asm_7123e
|
||||
.asm_71236
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
ld a, [W_CURMAP]
|
||||
ld b, $0
|
||||
call Func_711c4
|
||||
.asm_7123e
|
||||
|
@ -545,7 +545,7 @@ Func_712f1: ; 712f1 (1c:52f1)
|
|||
cp REDS_HOUSE_1F
|
||||
jr c, .asm_71304
|
||||
ld bc, $4
|
||||
ld hl, InternalMapEntries ; $5382
|
||||
ld hl, InternalMapEntries
|
||||
.asm_712fb
|
||||
cp [hl]
|
||||
jr c, .asm_71301
|
||||
|
@ -555,7 +555,7 @@ Func_712f1: ; 712f1 (1c:52f1)
|
|||
inc hl
|
||||
jr .asm_7130d
|
||||
.asm_71304
|
||||
ld hl, ExternalMapEntries ; $5313
|
||||
ld hl, ExternalMapEntries
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
|
|
|
@ -662,7 +662,7 @@ Trade_AnimMonMoveVertical: ; 41525 (10:5525)
|
|||
.loop
|
||||
call Trade_AddOffsetsToOAMCoords
|
||||
call Trade_AnimCircledMon
|
||||
ld c, $8
|
||||
ld c, 8
|
||||
call DelayFrames
|
||||
dec d
|
||||
jr nz, .loop
|
||||
|
|
194
home.asm
194
home.asm
|
@ -154,7 +154,7 @@ LoadDestinationWarpPosition:: ; 1313 (0:1313)
|
|||
push af
|
||||
ld a,[wPredefParentBank]
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ld a,b
|
||||
add a
|
||||
add a
|
||||
|
@ -166,7 +166,7 @@ LoadDestinationWarpPosition:: ; 1313 (0:1313)
|
|||
call CopyData
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
|
||||
|
@ -258,7 +258,7 @@ LoadMonData:: ; 1372 (0:1372)
|
|||
jp Bankswitch
|
||||
|
||||
|
||||
Func_137a:: ; 137a (0:137a)
|
||||
OverwritewMoves:: ; 137a (0:137a)
|
||||
; Write c to [wMoves + b]. Unused.
|
||||
ld hl, wMoves
|
||||
ld e, b
|
||||
|
@ -299,17 +299,17 @@ LoadFrontSpriteByMonIndex:: ; 1389 (0:1389)
|
|||
pop hl
|
||||
ld a, [H_LOADEDROMBANK]
|
||||
push af
|
||||
ld a, Bank(asm_3f0d0)
|
||||
ld a, Bank(CopyUncompressedPicToHL)
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
xor a
|
||||
ld [$ffe1], a
|
||||
call asm_3f0d0
|
||||
call CopyUncompressedPicToHL
|
||||
xor a
|
||||
ld [W_SPRITEFLIPPED], a
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ret
|
||||
|
||||
|
||||
|
@ -499,17 +499,17 @@ PrintStatusCondition:: ; 14e1 (0:14e1)
|
|||
ld [hl],"T"
|
||||
and a
|
||||
ret
|
||||
PrintStatusConditionNotFainted ; 14f6
|
||||
PrintStatusConditionNotFainted: ; 14f6
|
||||
ld a,[H_LOADEDROMBANK]
|
||||
push af
|
||||
ld a,BANK(PrintStatusAilment)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
call PrintStatusAilment ; print status condition
|
||||
pop bc
|
||||
ld a,b
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; function to print pokemon level, leaving off the ":L" if the level is at least 100
|
||||
|
@ -544,8 +544,8 @@ PrintLevelCommon:: ; 1523 (0:1523)
|
|||
ld b,$41 ; no leading zeroes, left-aligned, one byte
|
||||
jp PrintNumber
|
||||
|
||||
Func_152e:: ; 152e (0:152e)
|
||||
; Unused.
|
||||
GetwMoves:: ; 152e (0:152e)
|
||||
; Unused. Returns the move at index a from wMoves in a
|
||||
ld hl,wMoves
|
||||
ld c,a
|
||||
ld b,0
|
||||
|
@ -561,7 +561,7 @@ GetMonHeader:: ; 1537 (0:1537)
|
|||
push af
|
||||
ld a,BANK(BaseStats)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
|
@ -616,7 +616,7 @@ GetMonHeader:: ; 1537 (0:1537)
|
|||
pop bc
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; copy party pokemon's name to wcd6d
|
||||
|
@ -800,7 +800,7 @@ LoadUncompressedSpriteData:: ; 1672 (0:1672)
|
|||
add a
|
||||
add a
|
||||
add a ; 8*tiles is height in bytes
|
||||
ld [H_SPRITEHEIGHT], a ; $ff8c
|
||||
ld [H_SPRITEHEIGHT], a
|
||||
ld a, $7
|
||||
sub b ; 7-h ; skip for vertical center (in tiles, relative to current column)
|
||||
ld b, a
|
||||
|
@ -832,11 +832,11 @@ AlignSpriteDataCentered:: ; 16c2 (0:16c2)
|
|||
ld b, $0
|
||||
ld c, a
|
||||
add hl, bc
|
||||
ld a, [H_SPRITEWIDTH] ; $ff8b
|
||||
ld a, [H_SPRITEWIDTH]
|
||||
.columnLoop
|
||||
push af
|
||||
push hl
|
||||
ld a, [H_SPRITEHEIGHT] ; $ff8c
|
||||
ld a, [H_SPRITEHEIGHT]
|
||||
ld c, a
|
||||
.columnInnerLoop
|
||||
ld a, [de]
|
||||
|
@ -875,7 +875,7 @@ InterlaceMergeSpriteBuffers:: ; 16ea (0:16ea)
|
|||
ld de, S_SPRITEBUFFER1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1
|
||||
ld bc, S_SPRITEBUFFER0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0
|
||||
ld a, SPRITEBUFFERSIZE/2 ; $c4
|
||||
ld [H_SPRITEINTERLACECOUNTER], a ; $ff8b
|
||||
ld [H_SPRITEINTERLACECOUNTER], a
|
||||
.interlaceLoop
|
||||
ld a, [de]
|
||||
dec de
|
||||
|
@ -889,9 +889,9 @@ InterlaceMergeSpriteBuffers:: ; 16ea (0:16ea)
|
|||
ld a, [bc]
|
||||
dec bc
|
||||
ld [hld], a ; write byte of source 1
|
||||
ld a, [H_SPRITEINTERLACECOUNTER] ; $ff8b
|
||||
ld a, [H_SPRITEINTERLACECOUNTER]
|
||||
dec a
|
||||
ld [H_SPRITEINTERLACECOUNTER], a ; $ff8b
|
||||
ld [H_SPRITEINTERLACECOUNTER], a
|
||||
jr nz, .interlaceLoop
|
||||
ld a, [W_SPRITEFLIPPED]
|
||||
and a
|
||||
|
@ -934,11 +934,11 @@ UpdateSprites:: ; 2429 (0:2429)
|
|||
push af
|
||||
ld a, Bank(_UpdateSprites)
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
call _UpdateSprites
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ret
|
||||
|
||||
INCLUDE "data/mart_inventories.asm"
|
||||
|
@ -1130,7 +1130,7 @@ DisplayTextID:: ; 2920 (0:2920)
|
|||
jp z,FuncTX_PokemonCenterPC
|
||||
cp a,$f5 ; Vending Machine
|
||||
jr nz,.notVendingMachine
|
||||
callba VendingMachineMenu ; jump banks to vending machine routine
|
||||
callba VendingMachineMenu ; jump banks to vending machine routine
|
||||
jr AfterDisplayingTextID
|
||||
.notVendingMachine
|
||||
cp a,$f7 ; slot machine
|
||||
|
@ -1181,7 +1181,7 @@ CloseTextDisplay:: ; 29e8 (0:29e8)
|
|||
jr nz,.restoreSpriteFacingDirectionLoop
|
||||
ld a,BANK(InitMapSprites)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns)
|
||||
ld hl,wFontLoaded
|
||||
res 0,[hl]
|
||||
|
@ -1191,7 +1191,7 @@ CloseTextDisplay:: ; 29e8 (0:29e8)
|
|||
call LoadCurrentMapView
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
jp UpdateSprites
|
||||
|
||||
DisplayPokemartDialogue:: ; 2a2e (0:2a2e)
|
||||
|
@ -1207,11 +1207,11 @@ DisplayPokemartDialogue:: ; 2a2e (0:2a2e)
|
|||
push af
|
||||
ld a,Bank(DisplayPokemartDialogue_)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
call DisplayPokemartDialogue_
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
jp AfterDisplayingTextID
|
||||
|
||||
PokemartGreetingText:: ; 2a55 (0:2a55)
|
||||
|
@ -1244,11 +1244,11 @@ DisplayPokemonCenterDialogue:: ; 2a72 (0:2a72)
|
|||
push af
|
||||
ld a,Bank(DisplayPokemonCenterDialogue_)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
call DisplayPokemonCenterDialogue_
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
jp AfterDisplayingTextID
|
||||
|
||||
DisplaySafariGameOverText:: ; 2a90 (0:2a90)
|
||||
|
@ -1329,8 +1329,8 @@ AddAmountSoldToMoney:: ; 2b9e (0:2b9e)
|
|||
ld [wTextBoxID],a
|
||||
call DisplayTextBoxID ; redraw money text box
|
||||
ld a, (SFX_02_5a - SFX_Headers_02) / 3
|
||||
call PlaySoundWaitForCurrent ; play sound
|
||||
jp WaitForSoundToFinish ; wait until sound is done playing
|
||||
call PlaySoundWaitForCurrent
|
||||
jp WaitForSoundToFinish
|
||||
|
||||
; function to remove an item (in varying quantities) from the player's bag or PC box
|
||||
; INPUT:
|
||||
|
@ -1342,11 +1342,11 @@ RemoveItemFromInventory:: ; 2bbb (0:2bbb)
|
|||
push af
|
||||
ld a,BANK(RemoveItemFromInventory_)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
call RemoveItemFromInventory_
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; function to add an item (in varying quantities) to the player's bag or PC box
|
||||
|
@ -1361,12 +1361,12 @@ AddItemToInventory:: ; 2bcf (0:2bcf)
|
|||
push af
|
||||
ld a,BANK(AddItemToInventory_)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
call AddItemToInventory_
|
||||
pop bc
|
||||
ld a,b
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
pop bc
|
||||
ret
|
||||
|
||||
|
@ -1408,7 +1408,7 @@ DisplayListMenuID:: ; 2be6 (0:2be6)
|
|||
ld a,[wListMenuID]
|
||||
and a ; is it a PC pokemon list?
|
||||
jr nz,.skipMovingSprites
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
.skipMovingSprites
|
||||
ld a,1 ; max menu item ID is 1 if the list has less than 2 entries
|
||||
ld [wcc37],a
|
||||
|
@ -1900,7 +1900,7 @@ GetMonName:: ; 2f9e (0:2f9e)
|
|||
push af
|
||||
ld a,BANK(MonsterNames) ; 07
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ld a,[wd11e]
|
||||
dec a
|
||||
ld hl,MonsterNames ; 421E
|
||||
|
@ -1916,7 +1916,7 @@ GetMonName:: ; 2f9e (0:2f9e)
|
|||
pop de
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
pop hl
|
||||
ret
|
||||
|
||||
|
@ -2051,7 +2051,7 @@ ReloadMapData:: ; 3071 (0:3071)
|
|||
call EnableLCD
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; reloads tileset tile patterns
|
||||
|
@ -2065,7 +2065,7 @@ ReloadTilesetTilePatterns:: ; 3090 (0:3090)
|
|||
call EnableLCD
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; shows the town map and lets the player choose a destination to fly to
|
||||
|
@ -2109,12 +2109,12 @@ TossItem:: ; 30c4 (0:30c4)
|
|||
push af
|
||||
ld a,BANK(TossItem_)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
call TossItem_
|
||||
pop de
|
||||
ld a,d
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; checks if an item is a key item
|
||||
|
@ -2142,12 +2142,12 @@ DisplayTextBoxID:: ; 30e8 (0:30e8)
|
|||
push af
|
||||
ld a,BANK(DisplayTextBoxID_)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
call DisplayTextBoxID_
|
||||
pop bc
|
||||
ld a,b
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; not zero if an NPC movement script is running, the player character is
|
||||
|
@ -2184,12 +2184,12 @@ RunNPCMovementScript:: ; 310e (0:310e)
|
|||
push af
|
||||
ld a, [wNPCMovementScriptBank]
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ld a, [wNPCMovementScriptFunctionNum]
|
||||
call CallFunctionInTable
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ret
|
||||
.NPCMovementScriptPointerTables
|
||||
dw ProfOakMovementScriptPointerTable
|
||||
|
@ -2312,7 +2312,7 @@ TalkToTrainer:: ; 31cc (0:31cc)
|
|||
ld a, $6
|
||||
call ReadTrainerHeaderInfo ; print after battle text
|
||||
jp PrintText
|
||||
.trainerNotYetFought ; 0x31ed
|
||||
.trainerNotYetFought
|
||||
ld a, $4
|
||||
call ReadTrainerHeaderInfo ; print before battle text
|
||||
call PrintText
|
||||
|
@ -2392,7 +2392,7 @@ EndTrainerBattle:: ; 3275 (0:3275)
|
|||
res 7, [hl]
|
||||
ld hl, wFlags_0xcd60
|
||||
res 0, [hl] ; player is no longer engaged by any trainer
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
ld a, [W_ISINBATTLE]
|
||||
cp $ff
|
||||
jp z, ResetButtonPressedAndMapScript
|
||||
ld a, $2
|
||||
|
@ -2436,32 +2436,32 @@ TrainerWalkUpToPlayer_Bank0:: ; 32cf (0:32cf)
|
|||
; sets opponent type and mon set/lvl based on the engaging trainer data
|
||||
InitBattleEnemyParameters:: ; 32d7 (0:32d7)
|
||||
ld a, [wEngagedTrainerClass]
|
||||
ld [W_CUROPPONENT], a ; wd059
|
||||
ld [W_CUROPPONENT], a
|
||||
ld [W_ENEMYMONORTRAINERCLASS], a
|
||||
cp $c8
|
||||
ld a, [wEngagedTrainerSet] ; wcd2e
|
||||
ld a, [wEngagedTrainerSet]
|
||||
jr c, .noTrainer
|
||||
ld [W_TRAINERNO], a ; wd05d
|
||||
ld [W_TRAINERNO], a
|
||||
ret
|
||||
.noTrainer
|
||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||
ld [W_CURENEMYLVL], a
|
||||
ret
|
||||
|
||||
GetSpritePosition1:: ; 32ef (0:32ef)
|
||||
ld hl, _GetSpritePosition1
|
||||
jr asm_3301
|
||||
jr SpritePositionBankswitch
|
||||
|
||||
GetSpritePosition2:: ; 32f4 (0:32f4)
|
||||
ld hl, _GetSpritePosition2
|
||||
jr asm_3301 ; 0x32f7 $8
|
||||
jr SpritePositionBankswitch
|
||||
|
||||
SetSpritePosition1:: ; 32f9 (0:32f9)
|
||||
ld hl, _SetSpritePosition1
|
||||
jr asm_3301
|
||||
jr SpritePositionBankswitch
|
||||
|
||||
SetSpritePosition2:: ; 32fe (0:32fe)
|
||||
ld hl, _SetSpritePosition2
|
||||
asm_3301:: ; 3301 (0:3301)
|
||||
SpritePositionBankswitch:: ; 3301 (0:3301)
|
||||
ld b, BANK(_GetSpritePosition1) ; BANK(_GetSpritePosition2), BANK(_SetSpritePosition1), BANK(_SetSpritePosition2)
|
||||
jp Bankswitch ; indirect jump to one of the four functions
|
||||
|
||||
|
@ -2497,11 +2497,11 @@ CheckForEngagingTrainers:: ; 3306 (0:3306)
|
|||
ld [wTrainerEngageDistance], a
|
||||
ld a, [wSpriteIndex]
|
||||
swap a
|
||||
ld [wTrainerSpriteOffset], a ; wWhichTrade
|
||||
ld [wTrainerSpriteOffset], a
|
||||
predef TrainerEngage
|
||||
pop de
|
||||
pop hl
|
||||
ld a, [wTrainerSpriteOffset] ; wWhichTrade
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
and a
|
||||
ret nz ; break if the trainer is engaging
|
||||
.trainerAlreadyFought
|
||||
|
@ -2539,7 +2539,7 @@ EngageMapTrainer:: ; 336a (0:336a)
|
|||
ld a, [hli] ; load trainer class
|
||||
ld [wEngagedTrainerClass], a
|
||||
ld a, [hl] ; load trainer mon set
|
||||
ld [wEnemyMonAttackMod], a ; wcd2e
|
||||
ld [wEnemyMonAttackMod], a
|
||||
jp PlayTrainerMusic
|
||||
|
||||
PrintEndBattleText:: ; 3381 (0:3381)
|
||||
|
@ -2589,8 +2589,10 @@ TrainerEndBattleText:: ; 33cf (0:33cf)
|
|||
call TextCommandProcessor
|
||||
jp TextScriptEnd
|
||||
|
||||
; only engage withe trainer if the player is not already
|
||||
; engaged with another trainer
|
||||
; XXX unused?
|
||||
Func_33dd:: ; 33dd (0:33dd)
|
||||
CheckIfAlreadyEngaged:: ; 33dd (0:33dd)
|
||||
ld a, [wFlags_0xcd60]
|
||||
bit 0, a
|
||||
ret nz
|
||||
|
@ -2606,13 +2608,13 @@ PlayTrainerMusic:: ; 33e8 (0:33e8)
|
|||
ret z
|
||||
cp $c8 + SONY3
|
||||
ret z
|
||||
ld a, [W_GYMLEADERNO] ; W_GYMLEADERNO
|
||||
ld a, [W_GYMLEADERNO]
|
||||
and a
|
||||
ret nz
|
||||
xor a
|
||||
ld [wMusicHeaderPointer], a
|
||||
ld a, $ff
|
||||
call PlaySound ; stop music
|
||||
call PlaySound
|
||||
ld a, BANK(Music_MeetEvilTrainer)
|
||||
ld [wc0ef], a
|
||||
ld [wc0f0], a
|
||||
|
@ -2719,13 +2721,13 @@ IsItemInBag:: ; 3493 (0:3493)
|
|||
|
||||
DisplayPokedex:: ; 349b (0:349b)
|
||||
ld [wd11e], a
|
||||
ld b, BANK(Func_7c18)
|
||||
ld hl, Func_7c18
|
||||
ld b, BANK(_DisplayPokedex)
|
||||
ld hl, _DisplayPokedex
|
||||
jp Bankswitch
|
||||
|
||||
SetSpriteFacingDirectionAndDelay:: ; 34a6 (0:34a6)
|
||||
call SetSpriteFacingDirection
|
||||
ld c, $6
|
||||
ld c, 6
|
||||
jp DelayFrames
|
||||
|
||||
SetSpriteFacingDirection:: ; 34ae (0:34ae)
|
||||
|
@ -2842,7 +2844,7 @@ DecodeRLEList:: ; 350c (0:350c)
|
|||
ld a, [wRLEByteCount]
|
||||
add c
|
||||
ld [wRLEByteCount], a ; update total number of written bytes
|
||||
ld a, [H_DOWNARROWBLINKCNT1] ; $ff8b
|
||||
ld a, [H_DOWNARROWBLINKCNT1]
|
||||
call FillMemory ; write a c-times to output
|
||||
inc de
|
||||
jr .listLoop
|
||||
|
@ -2903,7 +2905,7 @@ GetTrainerInformation:: ; 3566 (0:3566)
|
|||
jr nz, .linkBattle
|
||||
ld a, Bank(TrainerPicAndMoneyPointers)
|
||||
call BankswitchHome
|
||||
ld a, [W_TRAINERCLASS] ; wd031
|
||||
ld a, [W_TRAINERCLASS]
|
||||
dec a
|
||||
ld hl, TrainerPicAndMoneyPointers
|
||||
ld bc, $5
|
||||
|
@ -2960,14 +2962,14 @@ BankswitchHome:: ; 35bc (0:35bc)
|
|||
ld [wcf08],a
|
||||
ld a,[wcf09]
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
BankswitchBack:: ; 35cd (0:35cd)
|
||||
; returns from BankswitchHome
|
||||
ld a,[wcf08]
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
Bankswitch:: ; 35d6 (0:35d6)
|
||||
|
@ -2977,7 +2979,7 @@ Bankswitch:: ; 35d6 (0:35d6)
|
|||
push af
|
||||
ld a,b
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ld bc,.Return
|
||||
push bc
|
||||
jp [hl]
|
||||
|
@ -2985,7 +2987,7 @@ Bankswitch:: ; 35d6 (0:35d6)
|
|||
pop bc
|
||||
ld a,b
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; displays yes/no choice
|
||||
|
@ -3178,13 +3180,13 @@ SaveScreenTilesToBuffer2:: ; 36f4 (0:36f4)
|
|||
LoadScreenTilesFromBuffer2:: ; 3701 (0:3701)
|
||||
call LoadScreenTilesFromBuffer2DisableBGTransfer
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ret
|
||||
|
||||
; loads screen tiles stored in wTileMapBackup2 but leaves H_AUTOBGTRANSFERENABLED disabled
|
||||
LoadScreenTilesFromBuffer2DisableBGTransfer:: ; 3709 (0:3709)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld hl, wTileMapBackup2
|
||||
ld de, wTileMap
|
||||
ld bc, $168
|
||||
|
@ -3199,13 +3201,13 @@ SaveScreenTilesToBuffer1:: ; 3719 (0:3719)
|
|||
|
||||
LoadScreenTilesFromBuffer1:: ; 3725 (0:3725)
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld hl, wTileMapBackup
|
||||
ld de, wTileMap
|
||||
ld bc, $168
|
||||
call CopyData
|
||||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ret
|
||||
|
||||
DelayFrames:: ; 3739 (0:3739)
|
||||
|
@ -3279,11 +3281,11 @@ GetName:: ; 376b (0:376b)
|
|||
ld e,l
|
||||
ld d,h
|
||||
jr .gotPtr
|
||||
.otherEntries ; $378d
|
||||
.otherEntries
|
||||
;2-7 = OTHER ENTRIES
|
||||
ld a,[wPredefBank]
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ld a,[wNameListType] ;VariousNames' entryID
|
||||
dec a
|
||||
add a
|
||||
|
@ -3291,7 +3293,7 @@ GetName:: ; 376b (0:376b)
|
|||
ld e,a
|
||||
jr nc,.skip
|
||||
inc d
|
||||
.skip ; $37a0
|
||||
.skip
|
||||
ld hl,NamePointers
|
||||
add hl,de
|
||||
ld a,[hli]
|
||||
|
@ -3321,7 +3323,7 @@ GetName:: ; 376b (0:376b)
|
|||
ld de,wcd6d
|
||||
ld bc,$0014
|
||||
call CopyData
|
||||
.gotPtr ; $37cd
|
||||
.gotPtr
|
||||
ld a,e
|
||||
ld [wcf8d],a
|
||||
ld a,d
|
||||
|
@ -3331,7 +3333,7 @@ GetName:: ; 376b (0:376b)
|
|||
pop hl
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
GetItemPrice:: ; 37df (0:37df)
|
||||
|
@ -3346,7 +3348,7 @@ GetItemPrice:: ; 37df (0:37df)
|
|||
ld a, $f ; hardcoded Bank
|
||||
.asm_37ed
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ld hl, wItemPrices
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
|
@ -3370,13 +3372,13 @@ GetItemPrice:: ; 37df (0:37df)
|
|||
.getTMPrice
|
||||
ld a, Bank(GetMachinePrice)
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
call GetMachinePrice
|
||||
.asm_381c
|
||||
ld de, hItemPrice
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ret
|
||||
|
||||
; copies a string from [de] to [wcf4b]
|
||||
|
@ -3486,7 +3488,7 @@ ManualTextScroll:: ; 3898 (0:3898)
|
|||
ld a, (SFX_02_40 - SFX_Headers_02) / 3
|
||||
jp PlaySound
|
||||
.inLinkBattle
|
||||
ld c, $41
|
||||
ld c, 65
|
||||
jp DelayFrames
|
||||
|
||||
; function to do multiplication
|
||||
|
@ -3521,11 +3523,11 @@ Divide:: ; 38b9 (0:38b9)
|
|||
push af
|
||||
ld a,Bank(_Divide)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
call _Divide
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
|
@ -3753,7 +3755,7 @@ CalcStat:: ; 394a (0:394a)
|
|||
ld [H_MULTIPLICAND+1], a
|
||||
xor a
|
||||
ld [H_MULTIPLICAND], a
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
ld a, [W_CURENEMYLVL]
|
||||
ld [H_MULTIPLIER], a
|
||||
call Multiply ; ((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level
|
||||
ld a, [H_MULTIPLICAND]
|
||||
|
@ -3771,7 +3773,7 @@ CalcStat:: ; 394a (0:394a)
|
|||
cp $1
|
||||
ld a, $5
|
||||
jr nz, .notHPStat
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
ld a, [W_CURENEMYLVL]
|
||||
ld b, a
|
||||
ld a, [H_MULTIPLICAND+2]
|
||||
add b
|
||||
|
@ -3816,25 +3818,25 @@ AddEnemyMonToPlayerParty:: ; 3a53 (0:3a53)
|
|||
push af
|
||||
ld a, BANK(_AddEnemyMonToPlayerParty)
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
call _AddEnemyMonToPlayerParty
|
||||
pop bc
|
||||
ld a, b
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ret
|
||||
|
||||
Func_3a68:: ; 3a68 (0:3a68)
|
||||
ld a, [H_LOADEDROMBANK]
|
||||
push af
|
||||
ld a, BANK(Func_f51e)
|
||||
ld a, BANK(MoveMon)
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
call Func_f51e
|
||||
ld [MBC1RomBank], a
|
||||
call MoveMon
|
||||
pop bc
|
||||
ld a, b
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ret
|
||||
|
||||
; skips a text entries, each of size $b (like trainer name, OT name, rival name, ...)
|
||||
|
@ -4010,7 +4012,7 @@ HandleMenuInputPokemonSelection:: ; 3ac2 (0:3ac2)
|
|||
pop hl
|
||||
jr nz,.skipPlayingSound
|
||||
ld a,(SFX_02_40 - SFX_Headers_02) / 3
|
||||
call PlaySound ; play sound
|
||||
call PlaySound
|
||||
.skipPlayingSound
|
||||
pop af
|
||||
ld [H_DOWNARROWBLINKCNT2],a
|
||||
|
@ -4648,7 +4650,7 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: ; 3eb5 (0:3eb5)
|
|||
ret
|
||||
|
||||
PrintPredefTextID:: ; 3ef5 (0:3ef5)
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
ld [H_DOWNARROWBLINKCNT2], a
|
||||
ld hl, TextPredefs
|
||||
call SetMapTextPointer
|
||||
ld hl, wcf11
|
||||
|
|
|
@ -4,19 +4,19 @@ PlayDefaultMusic:: ; 2307 (0:2307)
|
|||
ld c, a
|
||||
ld d, a
|
||||
ld [wcfca], a
|
||||
jr asm_2324
|
||||
jr Func_2324
|
||||
|
||||
Func_2312:: ; 2312 (0:2312)
|
||||
ld c, $a
|
||||
ld d, $0
|
||||
ld a, [wd72e]
|
||||
bit 5, a
|
||||
jr z, asm_2324
|
||||
jr z, Func_2324
|
||||
xor a
|
||||
ld [wcfca], a
|
||||
ld c, $8
|
||||
ld d, c
|
||||
asm_2324:: ; 2324 (0:2324)
|
||||
Func_2324:: ; 2324 (0:2324)
|
||||
ld a, [wWalkBikeSurfState]
|
||||
and a
|
||||
jr z, .asm_2343
|
||||
|
@ -146,27 +146,27 @@ PlaySound:: ; 23b1 (0:23b1)
|
|||
ld [$ffb9], a
|
||||
ld a, [wc0ef]
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
cp BANK(Func_9876)
|
||||
ld [MBC1RomBank], a
|
||||
cp BANK(Music2_9876)
|
||||
jr nz, .checkForBank08
|
||||
.bank02
|
||||
ld a, b
|
||||
call Func_9876
|
||||
call Music2_9876
|
||||
jr .asm_240b
|
||||
.checkForBank08
|
||||
cp BANK(Func_22035)
|
||||
cp BANK(Music8_22035)
|
||||
jr nz, .bank1F
|
||||
.bank08
|
||||
ld a, b
|
||||
call Func_22035
|
||||
call Music8_22035
|
||||
jr .asm_240b
|
||||
.bank1F
|
||||
ld a, b
|
||||
call Func_7d8ea
|
||||
call Music1f_7d8ea
|
||||
.asm_240b
|
||||
ld a, [$ffb9]
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
jr .asm_2425
|
||||
.asm_2414
|
||||
ld a, b
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
SoftReset::
|
||||
call StopAllSounds
|
||||
call GBPalWhiteOut
|
||||
ld c, $20
|
||||
ld c, 32
|
||||
call DelayFrames
|
||||
; fallthrough
|
||||
|
||||
|
|
|
@ -257,7 +257,7 @@ OverworldLoopLessDelay::
|
|||
jr z,.noSpinning
|
||||
callba LoadSpinnerArrowTiles ; spin while moving
|
||||
.noSpinning
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
.moveAhead2
|
||||
ld hl,wFlags_0xcd60
|
||||
res 2,[hl]
|
||||
|
@ -335,7 +335,7 @@ OverworldLoopLessDelay::
|
|||
and a
|
||||
jr z,.allPokemonFainted
|
||||
.noFaintCheck
|
||||
ld c,$0a
|
||||
ld c,10
|
||||
call DelayFrames
|
||||
jp EnterMap
|
||||
.allPokemonFainted
|
||||
|
@ -778,7 +778,7 @@ HandleFlyWarpOrDungeonWarp::
|
|||
call LeaveMapAnim
|
||||
ld a, Bank(SpecialWarpIn)
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
call SpecialWarpIn
|
||||
jp SpecialEnterMap
|
||||
|
||||
|
@ -1358,7 +1358,7 @@ LoadCurrentMapView:: ; 0caa (0:0caa)
|
|||
push af
|
||||
ld a,[W_TILESETBANK] ; tile data ROM bank
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a ; switch to ROM bank that contains tile data
|
||||
ld [MBC1RomBank],a ; switch to ROM bank that contains tile data
|
||||
ld a,[wCurrentTileBlockMapViewPointer] ; address of upper left corner of current map view
|
||||
ld e,a
|
||||
ld a,[wCurrentTileBlockMapViewPointer + 1]
|
||||
|
@ -1440,7 +1440,7 @@ LoadCurrentMapView:: ; 0caa (0:0caa)
|
|||
jr nz,.rowLoop2
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a ; restore previous ROM bank
|
||||
ld [MBC1RomBank],a ; restore previous ROM bank
|
||||
ret
|
||||
|
||||
AdvancePlayerSprite:: ; 0d27 (0:0d27)
|
||||
|
@ -1981,7 +1981,7 @@ RunMapScript:: ; 101b (0:101b)
|
|||
ret
|
||||
|
||||
LoadWalkingPlayerSpriteGraphics:: ; 104d (0:104d)
|
||||
ld de,RedSprite ; $4180
|
||||
ld de,RedSprite
|
||||
ld hl,vNPCSprites
|
||||
jr LoadPlayerSpriteGraphicsCommon
|
||||
|
||||
|
@ -2276,7 +2276,7 @@ LoadMapHeader:: ; 107c (0:107c)
|
|||
push af
|
||||
ld a, BANK(MapSongBanks)
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ld hl, MapSongBanks
|
||||
add hl,bc
|
||||
add hl,bc
|
||||
|
@ -2286,7 +2286,7 @@ LoadMapHeader:: ; 107c (0:107c)
|
|||
ld [wd35c],a ; music 2
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; function to copy map connection data from ROM to WRAM
|
||||
|
@ -2359,7 +2359,7 @@ LoadMapData:: ; 1241 (0:1241)
|
|||
.restoreRomBank
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
ret
|
||||
|
||||
; function to switch to the ROM bank that a map is stored in
|
||||
|
@ -2378,7 +2378,7 @@ SwitchToMapRomBank:: ; 12bc (0:12bc)
|
|||
call BankswitchBack
|
||||
ld a,[$ffe8]
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a ; switch to map ROM bank
|
||||
ld [MBC1RomBank],a ; switch to map ROM bank
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
|
|
16
home/pic.asm
16
home/pic.asm
|
@ -6,7 +6,7 @@ UncompressSpriteData:: ; 24fd (0:24fd)
|
|||
push af
|
||||
ld a, b
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ld a, $a
|
||||
ld [$0], a
|
||||
xor a
|
||||
|
@ -14,7 +14,7 @@ UncompressSpriteData:: ; 24fd (0:24fd)
|
|||
call _UncompressSpriteData
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ret
|
||||
|
||||
; initializes necessary data to load a sprite and runs UncompressSpriteDataLoop
|
||||
|
@ -31,7 +31,7 @@ _UncompressSpriteData:: ; 251a (0:251a)
|
|||
xor a
|
||||
ld [W_SPRITECURPOSX], a
|
||||
ld [W_SPRITECURPOSY], a
|
||||
ld [W_SPRITELOADFLAGS], a ; wd0a8
|
||||
ld [W_SPRITELOADFLAGS], a
|
||||
call ReadNextInputByte ; first byte of input determines sprite width (high nybble) and height (low nybble) in tiles (8x8 pixels)
|
||||
ld b, a
|
||||
and $f
|
||||
|
@ -57,13 +57,13 @@ _UncompressSpriteData:: ; 251a (0:251a)
|
|||
; note that this is an endless loop which is terminated during a call to MoveToNextBufferPosition by manipulating the stack
|
||||
UncompressSpriteDataLoop:: ; 2556 (0:2556)
|
||||
ld hl, S_SPRITEBUFFER1
|
||||
ld a, [W_SPRITELOADFLAGS] ; wd0a8
|
||||
ld a, [W_SPRITELOADFLAGS]
|
||||
bit 0, a
|
||||
jr z, .useSpriteBuffer1 ; check which buffer to use
|
||||
ld hl, S_SPRITEBUFFER2
|
||||
.useSpriteBuffer1
|
||||
call StoreSpriteOutputPointer
|
||||
ld a, [W_SPRITELOADFLAGS] ; wd0a8
|
||||
ld a, [W_SPRITELOADFLAGS]
|
||||
bit 1, a
|
||||
jr z, .startDecompression ; check if last iteration
|
||||
call ReadNextInputBit ; if last chunk, read 1-2 bit unpacking mode
|
||||
|
@ -195,12 +195,12 @@ MoveToNextBufferPosition:: ; 25d8 (0:25d8)
|
|||
pop hl
|
||||
xor a
|
||||
ld [W_SPRITECURPOSX], a
|
||||
ld a, [W_SPRITELOADFLAGS] ; wd0a8
|
||||
ld a, [W_SPRITELOADFLAGS]
|
||||
bit 1, a
|
||||
jr nz, .done ; test if there is one more sprite to go
|
||||
xor $1
|
||||
set 1, a
|
||||
ld [W_SPRITELOADFLAGS], a ; wd0a8
|
||||
ld [W_SPRITELOADFLAGS], a
|
||||
jp UncompressSpriteDataLoop
|
||||
.done
|
||||
jp UnpackSprite
|
||||
|
@ -539,7 +539,7 @@ ReverseNybble:: ; 2837 (0:2837)
|
|||
|
||||
; resets sprite buffer pointers to buffer 1 and 2, depending on W_SPRITELOADFLAGS
|
||||
ResetSpriteBufferPointers:: ; 2841 (0:2841)
|
||||
ld a, [W_SPRITELOADFLAGS] ; wd0a8
|
||||
ld a, [W_SPRITELOADFLAGS]
|
||||
bit 0, a
|
||||
jr nz, .buffer2Selected
|
||||
ld de, S_SPRITEBUFFER1
|
||||
|
|
|
@ -14,13 +14,13 @@ Predef::
|
|||
push af
|
||||
ld a, BANK(GetPredefPointer)
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
|
||||
call GetPredefPointer
|
||||
|
||||
ld a, [wPredefBank]
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
|
||||
ld de, .done
|
||||
push de
|
||||
|
@ -29,7 +29,7 @@ Predef::
|
|||
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK], a
|
||||
ld [$2000], a
|
||||
ld [MBC1RomBank], a
|
||||
ret
|
||||
|
||||
GetPredefRegisters::
|
||||
|
|
|
@ -293,7 +293,7 @@ Char51:: ; 1ab4 (0:1ab4)
|
|||
hlCoord 1, 13
|
||||
ld bc,$0412
|
||||
call ClearScreenArea
|
||||
ld c,$14
|
||||
ld c,20
|
||||
call DelayFrames
|
||||
pop de
|
||||
hlCoord 1, 14
|
||||
|
@ -308,7 +308,7 @@ Char49:: ; 1ad5 (0:1ad5)
|
|||
hlCoord 1, 10
|
||||
ld bc,$0712
|
||||
call ClearScreenArea
|
||||
ld c,$14
|
||||
ld c,20
|
||||
call DelayFrames
|
||||
pop de
|
||||
pop hl
|
||||
|
@ -690,7 +690,7 @@ TextCommand17:: ; 1ca3 (0:1ca3)
|
|||
ld d,a
|
||||
ld a,[hli]
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
push hl
|
||||
ld l,e
|
||||
ld h,d
|
||||
|
@ -698,7 +698,7 @@ TextCommand17:: ; 1ca3 (0:1ca3)
|
|||
pop hl
|
||||
pop af
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a
|
||||
ld [MBC1RomBank],a
|
||||
jp NextTextCommand
|
||||
|
||||
TextCommandJumpTable:: ; 1cc1 (0:1cc1)
|
||||
|
|
142
main.asm
142
main.asm
|
@ -588,7 +588,7 @@ INCLUDE "engine/overworld/movement.asm"
|
|||
INCLUDE "engine/cable_club.asm"
|
||||
|
||||
LoadTrainerInfoTextBoxTiles: ; 5ae6 (1:5ae6)
|
||||
ld de, TrainerInfoTextBoxTileGraphics ; $7b98
|
||||
ld de, TrainerInfoTextBoxTileGraphics
|
||||
ld hl, vChars2 + $760
|
||||
ld bc, (BANK(TrainerInfoTextBoxTileGraphics) << 8) +$09
|
||||
jp CopyVideoData
|
||||
|
@ -1028,7 +1028,7 @@ DisplayTextIDInit: ; 7096 (1:7096)
|
|||
bit 4,[hl]
|
||||
res 4,[hl]
|
||||
jr nz,.skipMovingSprites
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
.skipMovingSprites
|
||||
; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite
|
||||
; this is done because when you talk to an NPC, they turn to look your way
|
||||
|
@ -1210,7 +1210,7 @@ DisplayTextBoxID_: ; 72ea (1:72ea)
|
|||
call PlaceString
|
||||
pop af
|
||||
ld [wd730],a
|
||||
call UpdateSprites ; move sprites
|
||||
call UpdateSprites
|
||||
ret
|
||||
|
||||
; function to search a table terminated with $ff for a byte matching c in increments of de
|
||||
|
@ -1912,16 +1912,16 @@ INCLUDE "engine/battle/moveEffects/drain_hp_effect.asm"
|
|||
INCLUDE "engine/menu/players_pc.asm"
|
||||
|
||||
_RemovePokemon: ; 7b68 (1:7b68)
|
||||
ld hl, wPartyCount ; wPartyCount
|
||||
ld hl, wPartyCount
|
||||
ld a, [wcf95]
|
||||
and a
|
||||
jr z, .asm_7b74
|
||||
ld hl, W_NUMINBOX ; wda80
|
||||
ld hl, W_NUMINBOX
|
||||
.asm_7b74
|
||||
ld a, [hl]
|
||||
dec a
|
||||
ld [hli], a
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld a, [wWhichPokemon]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
|
@ -1934,7 +1934,7 @@ _RemovePokemon: ; 7b68 (1:7b68)
|
|||
ld [hli], a
|
||||
inc a
|
||||
jr nz, .asm_7b81
|
||||
ld hl, wPartyMonOT ; wd273
|
||||
ld hl, wPartyMonOT
|
||||
ld d, $5
|
||||
ld a, [wcf95]
|
||||
and a
|
||||
|
@ -1942,9 +1942,9 @@ _RemovePokemon: ; 7b68 (1:7b68)
|
|||
ld hl, wBoxMonOT
|
||||
ld d, $13
|
||||
.asm_7b97
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld a, [wWhichPokemon]
|
||||
call SkipFixedLengthTextEntries
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld a, [wWhichPokemon]
|
||||
cp d
|
||||
jr nz, .asm_7ba6
|
||||
ld [hl], $ff
|
||||
|
@ -1954,7 +1954,7 @@ _RemovePokemon: ; 7b68 (1:7b68)
|
|||
ld e, l
|
||||
ld bc, $b
|
||||
add hl, bc
|
||||
ld bc, wPartyMonNicks ; wPartyMonNicks
|
||||
ld bc, wPartyMonNicks
|
||||
ld a, [wcf95]
|
||||
and a
|
||||
jr z, .asm_7bb8
|
||||
|
@ -1969,7 +1969,7 @@ _RemovePokemon: ; 7b68 (1:7b68)
|
|||
ld hl, wBoxMons
|
||||
ld bc, wBoxMon2 - wBoxMon1
|
||||
.asm_7bcd
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld a, [wWhichPokemon]
|
||||
call AddNTimes
|
||||
ld d, h
|
||||
ld e, l
|
||||
|
@ -1983,23 +1983,23 @@ _RemovePokemon: ; 7b68 (1:7b68)
|
|||
.asm_7be4
|
||||
ld bc, wPartyMon2 - wPartyMon1
|
||||
add hl, bc
|
||||
ld bc, wPartyMonOT ; wd273
|
||||
ld bc, wPartyMonOT
|
||||
.asm_7beb
|
||||
call CopyDataUntil
|
||||
ld hl, wPartyMonNicks ; wPartyMonNicks
|
||||
ld hl, wPartyMonNicks
|
||||
ld a, [wcf95]
|
||||
and a
|
||||
jr z, .asm_7bfa
|
||||
ld hl, wBoxMonNicks
|
||||
.asm_7bfa
|
||||
ld bc, $b
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld a, [wWhichPokemon]
|
||||
call AddNTimes
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld bc, $b
|
||||
add hl, bc
|
||||
ld bc, wPokedexOwned ; wPokedexOwned
|
||||
ld bc, wPokedexOwned
|
||||
ld a, [wcf95]
|
||||
and a
|
||||
jr z, .asm_7c15
|
||||
|
@ -2007,14 +2007,14 @@ _RemovePokemon: ; 7b68 (1:7b68)
|
|||
.asm_7c15
|
||||
jp CopyDataUntil
|
||||
|
||||
Func_7c18: ; 7c18 (1:7c18)
|
||||
_DisplayPokedex: ; 7c18 (1:7c18)
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
predef ShowPokedexData
|
||||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
call ReloadMapData
|
||||
ld c, $a
|
||||
ld c, 10
|
||||
call DelayFrames
|
||||
predef IndexToPokedex
|
||||
ld a, [wd11e]
|
||||
|
@ -2043,7 +2043,7 @@ ClearVariablesAfterLoadingMapData: ; c335 (3:4335)
|
|||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld [wStepCounter], a
|
||||
ld [W_LONEATTACKNO], a ; W_GYMLEADERNO
|
||||
ld [W_LONEATTACKNO], a
|
||||
ld [hJoyPressed], a
|
||||
ld [hJoyReleased], a
|
||||
ld [hJoyHeld], a
|
||||
|
@ -2293,7 +2293,7 @@ IsPlayerStandingOnDoorTileOrWarpTile: ; c49d (3:449d)
|
|||
INCLUDE "data/warp_tile_ids.asm"
|
||||
|
||||
PrintSafariZoneSteps: ; c52f (3:452f)
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
ld a, [W_CURMAP]
|
||||
cp SAFARI_ZONE_EAST
|
||||
ret c
|
||||
cp UNKNOWN_DUNGEON_2
|
||||
|
@ -2303,16 +2303,16 @@ PrintSafariZoneSteps: ; c52f (3:452f)
|
|||
ld c, $7
|
||||
call TextBoxBorder
|
||||
hlCoord 1, 1
|
||||
ld de, wSafariSteps ; wd70d
|
||||
ld de, wSafariSteps
|
||||
ld bc, $203
|
||||
call PrintNumber
|
||||
hlCoord 4, 1
|
||||
ld de, SafariSteps ; $4579
|
||||
ld de, SafariSteps
|
||||
call PlaceString
|
||||
hlCoord 1, 3
|
||||
ld de, SafariBallText
|
||||
call PlaceString
|
||||
ld a, [W_NUMSAFARIBALLS] ; W_NUMSAFARIBALLS
|
||||
ld a, [W_NUMSAFARIBALLS]
|
||||
cp $a
|
||||
jr nc, .asm_c56d
|
||||
hlCoord 5, 3
|
||||
|
@ -2320,7 +2320,7 @@ PrintSafariZoneSteps: ; c52f (3:452f)
|
|||
ld [hl], a
|
||||
.asm_c56d
|
||||
hlCoord 6, 3
|
||||
ld de, W_NUMSAFARIBALLS ; W_NUMSAFARIBALLS
|
||||
ld de, W_NUMSAFARIBALLS
|
||||
ld bc, $102
|
||||
jp PrintNumber
|
||||
|
||||
|
@ -2742,14 +2742,14 @@ CheckForForcedBikeSurf: ; cdc0 (3:4dc0)
|
|||
ld a, [wd732]
|
||||
bit 5, a
|
||||
jr nz, .asm_cdec
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
ld a, [W_CURMAP]
|
||||
cp SEAFOAM_ISLANDS_5
|
||||
ret nz
|
||||
ld a, [wd881]
|
||||
and $3
|
||||
cp $3
|
||||
ret z
|
||||
ld hl, CoordsData_cdf7 ; $4df7
|
||||
ld hl, CoordsData_cdf7
|
||||
call ArePlayerCoordsInArray
|
||||
ret nc
|
||||
ld hl, wd728
|
||||
|
@ -3132,7 +3132,7 @@ ReplaceTileBlock: ; ee9e (3:6e9e)
|
|||
ret c ; return if the replaced tile block is above the map view in memory
|
||||
|
||||
RedrawMapView: ; eedc (3:6edc)
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
ld a, [W_ISINBATTLE]
|
||||
inc a
|
||||
ret z
|
||||
ld a, [H_AUTOBGTRANSFERENABLED]
|
||||
|
@ -3255,7 +3255,7 @@ LoadMissableObjects: ; f132 (3:7132)
|
|||
ld [H_DIVISOR], a
|
||||
ld b, $2
|
||||
call Divide ; divide difference by 3, resulting in the global offset (number of missable items before ours)
|
||||
ld a, [W_CURMAP] ; W_CURMAP
|
||||
ld a, [W_CURMAP]
|
||||
ld b, a
|
||||
ld a, [H_DIVIDEND+3]
|
||||
ld c, a ; store global offset in c
|
||||
|
@ -3535,11 +3535,11 @@ ResetBoulderPushFlags: ; f2dd (3:72dd)
|
|||
ret
|
||||
|
||||
_AddPartyMon: ; f2e5 (3:72e5)
|
||||
ld de, wPartyCount ; wPartyCount
|
||||
ld de, wPartyCount
|
||||
ld a, [wcc49]
|
||||
and $f
|
||||
jr z, .asm_f2f2
|
||||
ld de, wEnemyPartyCount ; wEnemyPartyCount
|
||||
ld de, wEnemyPartyCount
|
||||
.asm_f2f2
|
||||
ld a, [de]
|
||||
inc a
|
||||
|
@ -3558,7 +3558,7 @@ _AddPartyMon: ; f2e5 (3:72e5)
|
|||
inc de
|
||||
ld a, $ff
|
||||
ld [de], a
|
||||
ld hl, wPartyMonOT ; wd273
|
||||
ld hl, wPartyMonOT
|
||||
ld a, [wcc49]
|
||||
and $f
|
||||
jr z, .asm_f315
|
||||
|
@ -3569,13 +3569,13 @@ _AddPartyMon: ; f2e5 (3:72e5)
|
|||
call SkipFixedLengthTextEntries
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, wPlayerName ; wd158
|
||||
ld hl, wPlayerName
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld a, [wcc49]
|
||||
and a
|
||||
jr nz, .asm_f33f
|
||||
ld hl, wPartyMonNicks ; wPartyMonNicks
|
||||
ld hl, wPartyMonNicks
|
||||
ld a, [$ffe4]
|
||||
dec a
|
||||
call SkipFixedLengthTextEntries
|
||||
|
@ -3619,7 +3619,7 @@ _AddPartyMon: ; f2e5 (3:72e5)
|
|||
dec a
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld hl, wPokedexOwned ; wPokedexOwned
|
||||
ld hl, wPokedexOwned
|
||||
call FlagAction
|
||||
ld a, c
|
||||
ld [wd153], a
|
||||
|
@ -3630,11 +3630,11 @@ _AddPartyMon: ; f2e5 (3:72e5)
|
|||
push bc
|
||||
call FlagAction
|
||||
pop bc
|
||||
ld hl, wPokedexSeen ; wd30a
|
||||
ld hl, wPokedexSeen
|
||||
call FlagAction
|
||||
pop hl
|
||||
push hl
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
ld a, [W_ISINBATTLE]
|
||||
and a
|
||||
jr nz, .copyEnemyMonData
|
||||
call Random ; generate random IVs
|
||||
|
@ -3749,13 +3749,13 @@ _AddPartyMon: ; f2e5 (3:72e5)
|
|||
pop hl
|
||||
call AddPartyMon_WriteMovePP
|
||||
inc de
|
||||
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
||||
ld a, [W_CURENEMYLVL]
|
||||
ld [de], a
|
||||
inc de
|
||||
ld a, [W_ISINBATTLE] ; W_ISINBATTLE
|
||||
ld a, [W_ISINBATTLE]
|
||||
dec a
|
||||
jr nz, .calcFreshStats
|
||||
ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP
|
||||
ld hl, wEnemyMonMaxHP
|
||||
ld bc, $a
|
||||
call CopyData ; copy stats of cur enemy mon
|
||||
pop hl
|
||||
|
@ -3863,7 +3863,7 @@ _AddEnemyMonToPlayerParty: ; f49d (3:749d)
|
|||
and a
|
||||
ret ; return success
|
||||
|
||||
Func_f51e: ; f51e (3:751e)
|
||||
MoveMon: ; f51e (3:751e)
|
||||
ld a, [wcf95]
|
||||
and a
|
||||
jr z, .checkPartyMonSlots
|
||||
|
@ -3872,13 +3872,13 @@ Func_f51e: ; f51e (3:751e)
|
|||
cp $3
|
||||
ld hl, wDayCareMon
|
||||
jr z, .asm_f575
|
||||
ld hl, W_NUMINBOX ; wda80
|
||||
ld hl, W_NUMINBOX
|
||||
ld a, [hl]
|
||||
cp MONS_PER_BOX
|
||||
jr nz, .partyOrBoxNotFull
|
||||
jr .boxFull
|
||||
.checkPartyMonSlots
|
||||
ld hl, wPartyCount ; wPartyCount
|
||||
ld hl, wPartyCount
|
||||
ld a, [hl]
|
||||
cp PARTY_LENGTH
|
||||
jr nz, .partyOrBoxNotFull
|
||||
|
@ -3903,11 +3903,11 @@ Func_f51e: ; f51e (3:751e)
|
|||
dec a
|
||||
ld hl, wPartyMons
|
||||
ld bc, wPartyMon2 - wPartyMon1 ; $2c
|
||||
ld a, [wPartyCount] ; wPartyCount
|
||||
ld a, [wPartyCount]
|
||||
jr nz, .skipToNewMonEntry
|
||||
ld hl, wBoxMons
|
||||
ld bc, wBoxMon2 - wBoxMon1 ; $21
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
.skipToNewMonEntry
|
||||
dec a
|
||||
call AddNTimes
|
||||
|
@ -3926,7 +3926,7 @@ Func_f51e: ; f51e (3:751e)
|
|||
ld hl, wPartyMons
|
||||
ld bc, wPartyMon2 - wPartyMon1 ; $2c
|
||||
.asm_f591
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld a, [wWhichPokemon]
|
||||
call AddNTimes
|
||||
.asm_f597
|
||||
push hl
|
||||
|
@ -3953,11 +3953,11 @@ Func_f51e: ; f51e (3:751e)
|
|||
ld de, W_DAYCAREMONOT
|
||||
jr z, .asm_f5d3
|
||||
dec a
|
||||
ld hl, wPartyMonOT ; wd273
|
||||
ld a, [wPartyCount] ; wPartyCount
|
||||
ld hl, wPartyMonOT
|
||||
ld a, [wPartyCount]
|
||||
jr nz, .asm_f5cd
|
||||
ld hl, wBoxMonOT
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
.asm_f5cd
|
||||
dec a
|
||||
call SkipFixedLengthTextEntries
|
||||
|
@ -3971,9 +3971,9 @@ Func_f51e: ; f51e (3:751e)
|
|||
ld hl, W_DAYCAREMONOT
|
||||
cp $2
|
||||
jr z, .asm_f5ec
|
||||
ld hl, wPartyMonOT ; wd273
|
||||
ld hl, wPartyMonOT
|
||||
.asm_f5e6
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld a, [wWhichPokemon]
|
||||
call SkipFixedLengthTextEntries
|
||||
.asm_f5ec
|
||||
ld bc, $b
|
||||
|
@ -3983,11 +3983,11 @@ Func_f51e: ; f51e (3:751e)
|
|||
ld de, W_DAYCAREMONNAME
|
||||
jr z, .asm_f611
|
||||
dec a
|
||||
ld hl, wPartyMonNicks ; wPartyMonNicks
|
||||
ld a, [wPartyCount] ; wPartyCount
|
||||
ld hl, wPartyMonNicks
|
||||
ld a, [wPartyCount]
|
||||
jr nz, .asm_f60b
|
||||
ld hl, wBoxMonNicks
|
||||
ld a, [W_NUMINBOX] ; wda80
|
||||
ld a, [W_NUMINBOX]
|
||||
.asm_f60b
|
||||
dec a
|
||||
call SkipFixedLengthTextEntries
|
||||
|
@ -4001,9 +4001,9 @@ Func_f51e: ; f51e (3:751e)
|
|||
ld hl, W_DAYCAREMONNAME
|
||||
cp $2
|
||||
jr z, .asm_f62a
|
||||
ld hl, wPartyMonNicks ; wPartyMonNicks
|
||||
ld hl, wPartyMonNicks
|
||||
.asm_f624
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
ld a, [wWhichPokemon]
|
||||
call SkipFixedLengthTextEntries
|
||||
.asm_f62a
|
||||
ld bc, $b
|
||||
|
@ -4021,7 +4021,7 @@ Func_f51e: ; f51e (3:751e)
|
|||
call LoadMonData
|
||||
callba CalcLevelFromExperience
|
||||
ld a, d
|
||||
ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
|
||||
ld [W_CURENEMYLVL], a
|
||||
pop hl
|
||||
ld bc, wBoxMon2 - wBoxMon1
|
||||
add hl, bc
|
||||
|
@ -4256,7 +4256,7 @@ DivideBCD::
|
|||
.asm_f75b
|
||||
push de
|
||||
push de
|
||||
call Func_f800
|
||||
call DivideBCD_f800
|
||||
pop de
|
||||
ld a, b
|
||||
swap a
|
||||
|
@ -4265,8 +4265,8 @@ DivideBCD::
|
|||
dec d
|
||||
jr z, .asm_f7bc
|
||||
push de
|
||||
call Func_f7d7
|
||||
call Func_f800
|
||||
call DivideBCD_f7d7
|
||||
call DivideBCD_f800
|
||||
pop de
|
||||
ld a, [$ffa5]
|
||||
or b
|
||||
|
@ -4274,8 +4274,8 @@ DivideBCD::
|
|||
dec d
|
||||
jr z, .asm_f7bc
|
||||
push de
|
||||
call Func_f7d7
|
||||
call Func_f800
|
||||
call DivideBCD_f7d7
|
||||
call DivideBCD_f800
|
||||
pop de
|
||||
ld a, b
|
||||
swap a
|
||||
|
@ -4284,8 +4284,8 @@ DivideBCD::
|
|||
dec d
|
||||
jr z, .asm_f7bc
|
||||
push de
|
||||
call Func_f7d7
|
||||
call Func_f800
|
||||
call DivideBCD_f7d7
|
||||
call DivideBCD_f800
|
||||
pop de
|
||||
ld a, [$ffa6]
|
||||
or b
|
||||
|
@ -4293,8 +4293,8 @@ DivideBCD::
|
|||
dec d
|
||||
jr z, .asm_f7bc
|
||||
push de
|
||||
call Func_f7d7
|
||||
call Func_f800
|
||||
call DivideBCD_f7d7
|
||||
call DivideBCD_f800
|
||||
pop de
|
||||
ld a, b
|
||||
swap a
|
||||
|
@ -4303,8 +4303,8 @@ DivideBCD::
|
|||
dec d
|
||||
jr z, .asm_f7bc
|
||||
push de
|
||||
call Func_f7d7
|
||||
call Func_f800
|
||||
call DivideBCD_f7d7
|
||||
call DivideBCD_f800
|
||||
pop de
|
||||
ld a, [$ffa7]
|
||||
or b
|
||||
|
@ -4323,13 +4323,13 @@ DivideBCD::
|
|||
ret z
|
||||
.asm_f7ce
|
||||
push af
|
||||
call Func_f7d7
|
||||
call DivideBCD_f7d7
|
||||
pop af
|
||||
dec a
|
||||
jr nz, .asm_f7ce
|
||||
ret
|
||||
|
||||
Func_f7d7: ; f7d7 (3:77d7)
|
||||
DivideBCD_f7d7: ; f7d7 (3:77d7)
|
||||
ld a, [$ffa4]
|
||||
swap a
|
||||
and $f
|
||||
|
@ -4354,7 +4354,7 @@ Func_f7d7: ; f7d7 (3:77d7)
|
|||
ld [$ffa2], a
|
||||
ret
|
||||
|
||||
Func_f800: ; f800 (3:7800)
|
||||
DivideBCD_f800: ; f800 (3:7800)
|
||||
ld bc, $3
|
||||
.asm_f803
|
||||
ld de, $ff9f
|
||||
|
@ -4486,7 +4486,7 @@ InitializeEmptyList:
|
|||
|
||||
IsItemInBag_: ; f8a5 (3:78a5)
|
||||
call GetPredefRegisters
|
||||
ld hl, wNumBagItems ; wNumBagItems
|
||||
ld hl, wNumBagItems
|
||||
.asm_f8ab
|
||||
inc hl
|
||||
ld a, [hli]
|
||||
|
@ -4697,7 +4697,7 @@ NPCMovementDirectionsToJoypadMasksTable: ; f9d2 (3:79d2)
|
|||
db NPC_MOVEMENT_RIGHT, D_RIGHT
|
||||
db $ff
|
||||
|
||||
Func_f9db: ; f9db (3:79db)
|
||||
; unreferenced
|
||||
ret
|
||||
|
||||
INCLUDE "engine/hp_bar.asm"
|
||||
|
|
4
text.asm
4
text.asm
|
@ -1122,7 +1122,7 @@ _MoneyForWinningText:: ; 896dd (22:56dd)
|
|||
_TrainerDefeatedText:: ; 896f9 (22:56f9)
|
||||
text $52, " defeated"
|
||||
line "@"
|
||||
TX_RAM W_TRAINERNAME ; 0x89706
|
||||
TX_RAM W_TRAINERNAME
|
||||
text "!"
|
||||
prompt
|
||||
|
||||
|
@ -1152,7 +1152,7 @@ _PlayerBlackedOutText2:: ; 89748 (22:5748)
|
|||
_LinkBattleLostText:: ; 89772 (22:5772)
|
||||
text $52, " lost to"
|
||||
line "@"
|
||||
TX_RAM W_TRAINERNAME ; 0x8977e
|
||||
TX_RAM W_TRAINERNAME
|
||||
text "!"
|
||||
prompt
|
||||
|
||||
|
|
10
wram.asm
10
wram.asm
|
@ -953,7 +953,7 @@ W_TRAINERCLASS:: ; d031
|
|||
|
||||
ds 1
|
||||
|
||||
wTrainerPicPointer:: ; wd033
|
||||
wTrainerPicPointer:: ; d033
|
||||
ds 2
|
||||
ds 1
|
||||
wd036:: ds 16 ; used as a temporary buffer to print "XXX learned YYY"
|
||||
|
@ -1071,7 +1071,7 @@ wPlayerNumAttacksLeft::
|
|||
; when the player is attacking multiple times, the number of attacks left
|
||||
ds 1
|
||||
|
||||
W_PLAYERCONFUSEDCOUNTER:: ; wd06b
|
||||
W_PLAYERCONFUSEDCOUNTER:: ; d06b
|
||||
ds 1
|
||||
|
||||
W_PLAYERTOXICCOUNTER:: ; d06c
|
||||
|
@ -1087,7 +1087,7 @@ wEnemyNumAttacksLeft:: ; d06f
|
|||
; when the enemy is attacking multiple times, the number of attacks left
|
||||
ds 1
|
||||
|
||||
W_ENEMYCONFUSEDCOUNTER:: ; wd070
|
||||
W_ENEMYCONFUSEDCOUNTER:: ; d070
|
||||
ds 1
|
||||
|
||||
W_ENEMYTOXICCOUNTER:: ; d071
|
||||
|
@ -1332,10 +1332,10 @@ W_DAMAGE:: ; d0d7
|
|||
|
||||
ds 2
|
||||
|
||||
wRepelRemainingSteps:: ; wd0db
|
||||
wRepelRemainingSteps:: ; d0db
|
||||
ds 1
|
||||
|
||||
wMoves:: ; wd0dc
|
||||
wMoves:: ; d0dc
|
||||
; list of moves for FormatMovesString
|
||||
ds 4
|
||||
|
||||
|
|
Loading…
Reference in a new issue