Identify more sprite graphics and map object labels, and have consistent anonymous jumptable labels

This commit is contained in:
Rangi
2020-10-22 10:54:53 -04:00
parent ae4fe08084
commit b9a74ff777
6 changed files with 419 additions and 407 deletions

View File

@@ -163,7 +163,7 @@ BattleBGEffects_AnonJumptable:
ld l, a ld l, a
jp hl jp hl
BattleBGEffects_IncrementJumptable: BattleBGEffects_IncAnonJumptableIndex:
ld hl, BG_EFFECT_STRUCT_JT_INDEX ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc add hl, bc
inc [hl] inc [hl]
@@ -342,13 +342,13 @@ BattleBGEffect_HideMon:
call BattleBGEffects_AnonJumptable call BattleBGEffects_AnonJumptable
.anon_dw .anon_dw
dw .zero dw .zero
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw .four dw .four
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
push bc push bc
call BGEffect_CheckBattleTurn call BGEffect_CheckBattleTurn
jr nz, .player_side jr nz, .player_side
@@ -408,9 +408,9 @@ BattleBGEffect_BattlerObj_1Row:
.anon_dw .anon_dw
dw .zero dw .zero
dw .one dw .one
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw .five dw .five
.zero .zero
@@ -422,7 +422,7 @@ BattleBGEffect_BattlerObj_1Row:
ret ret
.not_flying_digging .not_flying_digging
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
push bc push bc
call BGEffect_CheckBattleTurn call BGEffect_CheckBattleTurn
jr nz, .player_side jr nz, .player_side
@@ -446,7 +446,7 @@ BattleBGEffect_BattlerObj_1Row:
ret ret
.one .one
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
push bc push bc
call BGEffect_CheckBattleTurn call BGEffect_CheckBattleTurn
jr nz, .player_side_2 jr nz, .player_side_2
@@ -475,9 +475,9 @@ BattleBGEffect_BattlerObj_2Row:
.anon_dw .anon_dw
dw .zero dw .zero
dw .one dw .one
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw .five dw .five
.zero .zero
@@ -489,7 +489,7 @@ BattleBGEffect_BattlerObj_2Row:
ret ret
.not_flying_digging .not_flying_digging
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
push bc push bc
call BGEffect_CheckBattleTurn call BGEffect_CheckBattleTurn
jr nz, .player_side jr nz, .player_side
@@ -513,7 +513,7 @@ BattleBGEffect_BattlerObj_2Row:
ret ret
.one .one
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
push bc push bc
call BGEffect_CheckBattleTurn call BGEffect_CheckBattleTurn
jr nz, .player_side_2 jr nz, .player_side_2
@@ -547,12 +547,12 @@ BattleBGEffect_RemoveMon:
.anon_dw .anon_dw
dw .zero dw .zero
dw .one dw .one
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw .four dw .four
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BGEffect_CheckBattleTurn call BGEffect_CheckBattleTurn
ld [hl], a ld [hl], a
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
@@ -619,7 +619,7 @@ BattleBGEffect_RemoveMon:
ldh [hBGMapThird], a ldh [hBGMapThird], a
ld a, $1 ld a, $1
ldh [hBGMapMode], a ldh [hBGMapMode], a
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ld hl, BG_EFFECT_STRUCT_03 ld hl, BG_EFFECT_STRUCT_03
add hl, bc add hl, bc
dec [hl] dec [hl]
@@ -708,8 +708,8 @@ BattleBGEffect_RunPicResizeScript:
call BattleBGEffects_AnonJumptable call BattleBGEffects_AnonJumptable
.anon_dw .anon_dw
dw .zero dw .zero
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw BattleBGEffects_IncrementJumptable dw BattleBGEffects_IncAnonJumptableIndex
dw .restart dw .restart
dw .end dw .end
@@ -735,7 +735,7 @@ BattleBGEffect_RunPicResizeScript:
jr z, .skip jr z, .skip
call .PlaceGraphic call .PlaceGraphic
.skip .skip
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ld a, $1 ld a, $1
ldh [hBGMapMode], a ldh [hBGMapMode], a
ret ret
@@ -911,7 +911,7 @@ BattleBGEffect_Surf:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
lb de, 2, 2 lb de, 2, 2
call InitSurfWaves call InitSurfWaves
@@ -977,7 +977,7 @@ BattleBGEffect_Whirlpool:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCY) ld a, LOW(rSCY)
ldh [hLCDCPointer], a ldh [hLCDCPointer], a
@@ -1052,7 +1052,7 @@ BattleBGEffect_Psychic:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
ldh [hLCDCPointer], a ldh [hLCDCPointer], a
@@ -1089,7 +1089,7 @@ BattleBGEffect_Teleport:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1113,7 +1113,7 @@ BattleBGEffect_NightShade:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCY) ld a, LOW(rSCY)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1143,7 +1143,7 @@ BattleBGEffect_DoubleTeam:
dw .five dw .five
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1176,7 +1176,7 @@ BattleBGEffect_DoubleTeam:
ret ret
.next .next
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ret ret
.two .two
@@ -1234,7 +1234,7 @@ BattleBGEffect_AcidArmor:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCY) ld a, LOW(rSCY)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1296,7 +1296,7 @@ BattleBGEffect_Withdraw:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCY) ld a, LOW(rSCY)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1345,7 +1345,7 @@ BattleBGEffect_Dig:
dw .three dw .three
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCY) ld a, LOW(rSCY)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1371,7 +1371,7 @@ BattleBGEffect_Dig:
.next .next
ld [hl], $10 ld [hl], $10
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
.two .two
ldh a, [hLYOverrideStart] ldh a, [hLYOverrideStart]
ld l, a ld l, a
@@ -1414,7 +1414,7 @@ BattleBGEffect_Tackle:
; Prepares mon to move forward (player moves right, enemy moves left) ; Prepares mon to move forward (player moves right, enemy moves left)
; BG_EFFECT_STRUCT_03 will keep track of distance moved, so it's reset to 0 here ; BG_EFFECT_STRUCT_03 will keep track of distance moved, so it's reset to 0 here
; BG_EFFECT_STRUCT_BATTLE_TURN is set to 2 or -2 depending on target ; BG_EFFECT_STRUCT_BATTLE_TURN is set to 2 or -2 depending on target
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1451,7 +1451,7 @@ BattleBGEffect_BodySlam:
; Prepares mon to move forward (player moves right, enemy moves left) ; Prepares mon to move forward (player moves right, enemy moves left)
; BG_EFFECT_STRUCT_03 will keep track of distance moved, so it's reset to 0 here ; BG_EFFECT_STRUCT_03 will keep track of distance moved, so it's reset to 0 here
; BG_EFFECT_STRUCT_BATTLE_TURN is set to 2 or -2 depending on target ; BG_EFFECT_STRUCT_BATTLE_TURN is set to 2 or -2 depending on target
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms2 call BattleBGEffect_SetLCDStatCustoms2
@@ -1488,7 +1488,7 @@ Tackle_MoveForward:
cp 8 cp 8
jr nz, .finish jr nz, .finish
.reached_limit .reached_limit
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
.finish .finish
call Rollout_FillLYOverridesBackup call Rollout_FillLYOverridesBackup
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
@@ -1509,7 +1509,7 @@ Tackle_ReturnMove:
ld a, [hl] ld a, [hl]
and a and a
jr nz, .move_back jr nz, .move_back
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
.move_back .move_back
call Rollout_FillLYOverridesBackup call Rollout_FillLYOverridesBackup
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
@@ -1590,7 +1590,7 @@ BattleBGEffect_BetaPursuit: ; unused
VitalThrow_MoveBackwards: VitalThrow_MoveBackwards:
; Prepares mon to move back back (player moves left, enemy moves right) ; Prepares mon to move back back (player moves left, enemy moves right)
; BG_EFFECT_STRUCT_03: keeps track of distance moved, so it's reset to 0 here ; BG_EFFECT_STRUCT_03: keeps track of distance moved, so it's reset to 0 here
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1634,7 +1634,7 @@ BattleBGEffect_WobbleMon:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1672,7 +1672,7 @@ BattleBGEffect_Flail:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1726,7 +1726,7 @@ BattleBGEffect_WaveDeformMon:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1768,7 +1768,7 @@ BattleBGEffect_BounceDown:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCY) ld a, LOW(rSCY)
call BattleBGEffect_SetLCDStatCustoms2 call BattleBGEffect_SetLCDStatCustoms2
@@ -1821,7 +1821,7 @@ BattleBGEffect_BetaSendOutMon1: ; unused
dw .five dw .five
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ld a, $e4 ld a, $e4
call BattleBGEffects_SetLYOverrides call BattleBGEffects_SetLYOverrides
ld a, $47 ld a, $47
@@ -1861,7 +1861,7 @@ BattleBGEffect_BetaSendOutMon1: ; unused
ldh a, [hLYOverrideStart] ldh a, [hLYOverrideStart]
inc a inc a
ldh [hLYOverrideStart], a ldh [hLYOverrideStart], a
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ret ret
.three .three
@@ -1875,7 +1875,7 @@ BattleBGEffect_BetaSendOutMon1: ; unused
ret ret
.finish .finish
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ret ret
.SetLYOverridesBackup: .SetLYOverridesBackup:
@@ -1925,7 +1925,7 @@ BattleBGEffect_BetaSendOutMon2: ; unused
dw .one dw .one
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -1965,7 +1965,7 @@ BattleBGEffect_FadeMonsToBlackRepeating:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ld a, $e4 ld a, $e4
call BattleBGEffects_SetLYOverrides call BattleBGEffects_SetLYOverrides
ld a, LOW(rBGP) ld a, LOW(rBGP)
@@ -2049,7 +2049,7 @@ BattleBGEffect_FadeMonsToBlackRepeating:
dw .cgb_two dw .cgb_two
.cgb_zero .cgb_zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ld hl, BG_EFFECT_STRUCT_03 ld hl, BG_EFFECT_STRUCT_03
add hl, bc add hl, bc
ld [hl], $0 ld [hl], $0
@@ -2201,7 +2201,7 @@ BattleBGEffect_VibrateMon:
dw .one dw .one
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
call BattleBGEffect_SetLCDStatCustoms1 call BattleBGEffect_SetLCDStatCustoms1
@@ -2247,7 +2247,7 @@ BattleBGEffect_WobblePlayer:
dw .two dw .two
.zero .zero
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_ClearLYOverrides call BattleBGEffects_ClearLYOverrides
ld a, LOW(rSCX) ld a, LOW(rSCX)
ldh [hLCDCPointer], a ldh [hLCDCPointer], a
@@ -2412,7 +2412,7 @@ BGEffect_RapidCyclePals:
dw .two_dmg dw .two_dmg
.zero_dmg .zero_dmg
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ld a, $e4 ld a, $e4
call BattleBGEffects_SetLYOverrides call BattleBGEffects_SetLYOverrides
ld a, $47 ld a, $47
@@ -2478,10 +2478,10 @@ BGEffect_RapidCyclePals:
.zero_cgb .zero_cgb
call BGEffect_CheckBattleTurn call BGEffect_CheckBattleTurn
jr nz, .player_turn_cgb jr nz, .player_turn_cgb
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
.player_turn_cgb .player_turn_cgb
call BattleBGEffects_IncrementJumptable call BattleBGEffects_IncAnonJumptableIndex
ld hl, BG_EFFECT_STRUCT_03 ld hl, BG_EFFECT_STRUCT_03
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]

View File

@@ -3,11 +3,11 @@ CARDFLIP_LIGHT_ON EQU "♀" ; $f5
CARDFLIP_DECK_SIZE EQU 4 * 6 CARDFLIP_DECK_SIZE EQU 4 * 6
; two labels below called from inside ./dummy_game.asm DummyGameGFX:
Unknown_e00ed:
; Graphics for an unused Game Corner ; Graphics for an unused Game Corner
; game were meant to be here. ; game were meant to be here.
ret_e00ed:
UnusedCursor_InterpretJoypad_AnimateCursor:
ret ret
_CardFlip: _CardFlip:

View File

@@ -14,10 +14,10 @@ _DummyGame:
ld hl, DummyGameLZ ld hl, DummyGameLZ
ld de, vTiles2 tile $00 ld de, vTiles2 tile $00
call Decompress call Decompress
ld hl, Unknown_e00ed ld hl, DummyGameGFX
ld de, vTiles0 tile $00 ld de, vTiles0 tile $00
ld bc, 4 tiles ld bc, 4 tiles
ld a, BANK(Unknown_e00ed) ld a, BANK(DummyGameGFX)
call FarCopyBytes call FarCopyBytes
ld a, $8 ld a, $8
ld hl, wc300 ld hl, wc300
@@ -77,7 +77,7 @@ _DummyGame:
ret ret
.ResetBoard: .ResetBoard:
call ret_e00ed call UnusedCursor_InterpretJoypad_AnimateCursor
jr nc, .proceed jr nc, .proceed
ld hl, wJumptableIndex ld hl, wJumptableIndex
set 7, [hl] set 7, [hl]
@@ -232,7 +232,7 @@ endr
ld hl, wJumptableIndex ld hl, wJumptableIndex
inc [hl] inc [hl]
.AskPlayAgain: .AskPlayAgain:
call ret_e00ed call UnusedCursor_InterpretJoypad_AnimateCursor
jr nc, .restart jr nc, .restart
ld hl, wJumptableIndex ld hl, wJumptableIndex
set 7, [hl] set 7, [hl]

View File

@@ -13,52 +13,52 @@ DoAnimFrame:
.Jumptable: .Jumptable:
; entries correspond to SPRITE_ANIM_SEQ_* constants ; entries correspond to SPRITE_ANIM_SEQ_* constants
dw .Null dw AnimSeq_Null
dw .PartyMon dw AnimSeq_PartyMon
dw .PartyMonSwitch dw AnimSeq_PartyMonSwitch
dw .PartyMonSelected dw AnimSeq_PartyMonSelected
dw .GSTitleTrail dw AnimSeq_GSTitleTrail
dw .NamingScreenCursor dw AnimSeq_NamingScreenCursor
dw .GameFreakLogo dw AnimSeq_GameFreakLogo
dw .GSGameFreakLogoStar dw AnimSeq_GSGameFreakLogoStar
dw .GSGameFreakLogoSparkle dw AnimSeq_GSGameFreakLogoSparkle
dw .SlotsGolem dw AnimSeq_SlotsGolem
dw .SlotsChansey dw AnimSeq_SlotsChansey
dw .SlotsChanseyEgg dw AnimSeq_SlotsChanseyEgg
dw .MailCursor dw AnimSeq_MailCursor
dw .UnusedCursor dw AnimSeq_UnusedCursor
dw .DummyGameCursor dw AnimSeq_DummyGameCursor
dw .PokegearArrow dw AnimSeq_PokegearArrow
dw .TradePokeBall dw AnimSeq_TradePokeBall
dw .TradeTubeBulge dw AnimSeq_TradeTubeBulge
dw .TrademonInTube dw AnimSeq_TrademonInTube
dw .RevealNewMon dw AnimSeq_RevealNewMon
dw .RadioTuningKnob dw AnimSeq_RadioTuningKnob
dw .CutLeaves dw AnimSeq_CutLeaves
dw .FlyFrom dw AnimSeq_FlyFrom
dw .FlyLeaf dw AnimSeq_FlyLeaf
dw .FlyTo dw AnimSeq_FlyTo
dw .GSIntroHoOhLugia dw AnimSeq_GSIntroHoOhLugia
dw .EZChatCursor dw AnimSeq_EZChatCursor
dw .MobileTradeSentPulse dw AnimSeq_MobileTradeSentPulse
dw .MobileTradeOTPulse dw AnimSeq_MobileTradeOTPulse
dw .IntroSuicune dw AnimSeq_IntroSuicune
dw .IntroPichuWooper dw AnimSeq_IntroPichuWooper
dw .Celebi dw AnimSeq_Celebi
dw .IntroUnown dw AnimSeq_IntroUnown
dw .IntroUnownF dw AnimSeq_IntroUnownF
dw .IntroSuicuneAway dw AnimSeq_IntroSuicuneAway
.Null: AnimSeq_Null:
ret ret
.PartyMon AnimSeq_PartyMon:
ld a, [wMenuCursorY] ld a, [wMenuCursorY]
ld hl, SPRITEANIMSTRUCT_INDEX ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc add hl, bc
cp [hl] cp [hl]
jr z, .PartyMonSwitch jr z, AnimSeq_PartyMonSwitch
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
@@ -69,7 +69,7 @@ DoAnimFrame:
ld [hl], 0 ld [hl], 0
ret ret
.PartyMonSwitch AnimSeq_PartyMonSwitch:
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
ld [hl], 8 * 3 ld [hl], 8 * 3
@@ -111,7 +111,7 @@ DoAnimFrame:
ld [hl], a ld [hl], a
ret ret
.PartyMonSelected AnimSeq_PartyMonSelected:
ld a, [wMenuCursorY] ld a, [wMenuCursorY]
ld hl, SPRITEANIMSTRUCT_INDEX ld hl, SPRITEANIMSTRUCT_INDEX
@@ -130,16 +130,15 @@ DoAnimFrame:
ld [hl], 8 * 3 ld [hl], 8 * 3
ret ret
.GSTitleTrail AnimSeq_GSTitleTrail:
call .AnonymousJumptable call AnimSeqs_AnonJumptable
jp hl jp hl
.anon_dw
dw .zero
dw .one
; Anonymous dw (see .AnonymousJumptable) .zero
dw .four_zero call AnimSeqs_IncAnonJumptableIndex
dw .four_one
.four_zero
call .IncrementJumptableIndex
ld hl, SPRITEANIMSTRUCT_INDEX ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc add hl, bc
@@ -156,16 +155,16 @@ DoAnimFrame:
add hl, bc add hl, bc
ld [hl], a ld [hl], a
.four_one .one
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $a4 cp $a4
jr nc, .asm_8d356 jr nc, .delete
ld hl, SPRITEANIMSTRUCT_VAR2 ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
add $4 add 4
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
@@ -187,72 +186,73 @@ DoAnimFrame:
ld a, [hl] ld a, [hl]
add 3 add 3
ld [hl], a ld [hl], a
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.asm_8d356 .delete
call DeinitializeSprite call DeinitializeSprite
ret ret
.GSIntroHoOhLugia AnimSeq_GSIntroHoOhLugia:
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc a inc a
ld [hl], a ld [hl], a
ld d, 2 ld d, 2
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.NamingScreenCursor AnimSeq_NamingScreenCursor:
callfar NamingScreen_AnimateCursor callfar NamingScreen_AnimateCursor
ret ret
.MailCursor AnimSeq_MailCursor:
callfar ComposeMail_AnimateCursor callfar ComposeMail_AnimateCursor
ret ret
.GameFreakLogo AnimSeq_GameFreakLogo:
callfar GameFreakLogoSpriteAnim callfar GameFreakLogoSpriteAnim
ret ret
.GSGameFreakLogoStar AnimSeq_GSGameFreakLogoStar:
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
jr z, .asm_8d3ba jr z, .delete
dec [hl] dec [hl]
dec [hl] dec [hl]
ld d, a ld d, a
and $1f and $1f
jr nz, .asm_8d395 jr nz, .stay
ld hl, SPRITEANIMSTRUCT_VAR2 ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
dec [hl] dec [hl]
.asm_8d395
.stay
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
push af push af
push de push de
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
pop de pop de
pop af pop af
call .Sprites_Cosine call AnimSeqs_Cosine
ld hl, SPRITEANIMSTRUCT_XOFFSET ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc add hl, bc
@@ -268,18 +268,18 @@ DoAnimFrame:
ld [hl], a ld [hl], a
ret ret
.asm_8d3ba .delete
ld a, 1 ld a, 1
ld [wIntroSceneFrameCounter], a ld [wIntroSceneFrameCounter], a
call DeinitializeSprite call DeinitializeSprite
ret ret
.GSGameFreakLogoSparkle AnimSeq_GSGameFreakLogoSparkle:
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
or [hl] or [hl]
jr z, .asm_8d41e jr z, .delete
ld hl, SPRITEANIMSTRUCT_VAR4 ld hl, SPRITEANIMSTRUCT_VAR4
add hl, bc add hl, bc
@@ -290,14 +290,14 @@ DoAnimFrame:
ld a, [hl] ld a, [hl]
push af push af
push de push de
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
pop de pop de
pop af pop af
call .Sprites_Cosine call AnimSeqs_Cosine
ld hl, SPRITEANIMSTRUCT_XOFFSET ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc add hl, bc
@@ -347,15 +347,15 @@ DoAnimFrame:
ld [hl], a ld [hl], a
ret ret
.asm_8d41e .delete
call DeinitializeSprite call DeinitializeSprite
ret ret
.SlotsGolem: AnimSeq_SlotsGolem:
callfar Slots_AnimateGolem callfar Slots_AnimateGolem
ret ret
.SlotsChansey: AnimSeq_SlotsChansey:
callfar Slots_AnimateChansey callfar Slots_AnimateChansey
ld hl, wcf64 ld hl, wcf64
ld a, [hl] ld a, [hl]
@@ -366,7 +366,7 @@ DoAnimFrame:
call _ReinitSpriteAnimFrame call _ReinitSpriteAnimFrame
ret ret
.SlotsChanseyEgg: AnimSeq_SlotsChanseyEgg:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -392,87 +392,86 @@ DoAnimFrame:
.move_vertical .move_vertical
ld a, e ld a, e
ld d, 32 ld d, 32
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.UnusedCursor AnimSeq_UnusedCursor:
callfar ret_e00ed callfar UnusedCursor_InterpretJoypad_AnimateCursor
ret ret
.PokegearArrow AnimSeq_PokegearArrow:
callfar AnimatePokegearModeIndicatorArrow callfar AnimatePokegearModeIndicatorArrow
ret ret
.DummyGameCursor AnimSeq_DummyGameCursor:
callfar DummyGame_InterpretJoypad_AnimateCursor callfar DummyGame_InterpretJoypad_AnimateCursor
ret ret
.TradePokeBall AnimSeq_TradePokeBall:
call .AnonymousJumptable call AnimSeqs_AnonJumptable
jp hl jp hl
.anon_dw
dw .zero
dw .one
dw .two
dw .three
dw .four
dw .delete
; Anonymous dw (see .AnonymousJumptable) .zero
dw .TradePokeBall_zero
dw .TradePokeBall_one
dw .TradePokeBall_two
dw .TradePokeBall_three
dw .TradePokeBall_four
dw .TradePokeBall_five
.TradePokeBall_zero
ld a, SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_WOBBLE ld a, SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_WOBBLE
call _ReinitSpriteAnimFrame call _ReinitSpriteAnimFrame
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
ld [hl], $2 ld [hl], 2 ; .two
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $20 ld [hl], $20
ret ret
.TradePokeBall_two .two
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
jr z, .asm_8d4af jr z, .next
dec [hl] dec [hl]
ret ret
.asm_8d4af .next
call .IncrementJumptableIndex call AnimSeqs_IncAnonJumptableIndex
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $40 ld [hl], $40
.TradePokeBall_three .three
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp 48 cp 48
jr c, .asm_8d4cd jr c, .done
dec [hl] dec [hl]
ld d, 40 ld d, 40
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.asm_8d4cd .done
ld de, SFX_GOT_SAFARI_BALLS ld de, SFX_GOT_SAFARI_BALLS
call PlaySFX call PlaySFX
jr .TradePokeBall_five jr .delete
.TradePokeBall_one .one
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
ld [hl], $4 ld [hl], $4
@@ -486,12 +485,12 @@ DoAnimFrame:
ld [hl], $24 ld [hl], $24
ret ret
.TradePokeBall_four .four
ld hl, SPRITEANIMSTRUCT_VAR2 ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
jr z, .asm_8d51c jr z, .done2
ld d, a ld d, a
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
@@ -523,20 +522,20 @@ DoAnimFrame:
call PlaySFX call PlaySFX
ret ret
.asm_8d51c .done2
xor a xor a
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
call .IncrementJumptableIndex call AnimSeqs_IncAnonJumptableIndex
ret ret
.TradePokeBall_five .delete
call DeinitializeSprite call DeinitializeSprite
ret ret
.TradeTubeBulge AnimSeq_TradeTubeBulge:
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -554,18 +553,18 @@ DoAnimFrame:
call DeinitializeSprite call DeinitializeSprite
ret ret
.TrademonInTube AnimSeq_TrademonInTube:
callfar TradeAnim_AnimateTrademonInTube callfar TradeAnim_AnimateTrademonInTube
ret ret
.RevealNewMon: AnimSeq_RevealNewMon:
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $80 cp $80
jr nc, .finish_EggShell jr nc, .finish_EggShell
ld d, a ld d, a
add $8 add 8
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
@@ -576,7 +575,7 @@ DoAnimFrame:
push af push af
push de push de
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
@@ -584,7 +583,7 @@ DoAnimFrame:
pop de pop de
pop af pop af
call .Sprites_Cosine call AnimSeqs_Cosine
ld hl, SPRITEANIMSTRUCT_XOFFSET ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc add hl, bc
@@ -595,11 +594,11 @@ DoAnimFrame:
call DeinitializeSprite call DeinitializeSprite
ret ret
.RadioTuningKnob: AnimSeq_RadioTuningKnob:
callfar AnimateTuningKnob callfar AnimateTuningKnob
ret ret
.CutLeaves AnimSeq_CutLeaves:
ld hl, SPRITEANIMSTRUCT_VAR2 ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld e, [hl] ld e, [hl]
@@ -624,21 +623,21 @@ DoAnimFrame:
inc [hl] inc [hl]
push af push af
push de push de
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
pop de pop de
pop af pop af
call .Sprites_Cosine call AnimSeqs_Cosine
ld hl, SPRITEANIMSTRUCT_XOFFSET ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.FlyFrom: AnimSeq_FlyFrom:
ld hl, SPRITEANIMSTRUCT_YCOORD ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -663,21 +662,21 @@ DoAnimFrame:
ld d, a ld d, a
cp $40 cp $40
jr nc, .skip jr nc, .skip
add $8 add 8
ld [hl], a ld [hl], a
.skip .skip
ld hl, SPRITEANIMSTRUCT_VAR3 ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc [hl] inc [hl]
call .Sprites_Cosine call AnimSeqs_Cosine
ld hl, SPRITEANIMSTRUCT_XOFFSET ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.FlyLeaf: AnimSeq_FlyLeaf:
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -695,7 +694,7 @@ DoAnimFrame:
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc [hl] inc [hl]
call .Sprites_Cosine call AnimSeqs_Cosine
ld hl, SPRITEANIMSTRUCT_XOFFSET ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc add hl, bc
@@ -706,7 +705,7 @@ DoAnimFrame:
call DeinitializeSprite call DeinitializeSprite
ret ret
.FlyTo: AnimSeq_FlyTo:
ld hl, SPRITEANIMSTRUCT_YCOORD ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -723,35 +722,36 @@ DoAnimFrame:
ld a, [hl] ld a, [hl]
ld d, a ld d, a
and a and a
jr z, .asm_8d621 jr z, .stay
sub $2 sub $2
ld [hl], a ld [hl], a
.asm_8d621 .stay
ld hl, SPRITEANIMSTRUCT_VAR3 ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc [hl] inc [hl]
call .Sprites_Cosine call AnimSeqs_Cosine
ld hl, SPRITEANIMSTRUCT_XOFFSET ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.MobileTradeSentPulse AnimSeq_MobileTradeSentPulse:
farcall Function108bc7 farcall Function108bc7
ret ret
.MobileTradeOTPulse AnimSeq_MobileTradeOTPulse:
farcall Function108be0 farcall Function108be0
ret ret
.IntroSuicune AnimSeq_IntroSuicune:
ld a, [wIntroSceneTimer] ld a, [wIntroSceneTimer]
and a and a
jr nz, .asm_8d645 jr nz, .continue
ret ret
.asm_8d645
.continue
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], $0 ld [hl], $0
@@ -764,7 +764,7 @@ DoAnimFrame:
xor $ff xor $ff
inc a inc a
ld d, 32 ld d, 32
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
@@ -773,26 +773,26 @@ DoAnimFrame:
call _ReinitSpriteAnimFrame call _ReinitSpriteAnimFrame
ret ret
.IntroPichuWooper AnimSeq_IntroPichuWooper:
ld hl, SPRITEANIMSTRUCT_VAR1 ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp 20 cp 20
jr nc, .asm_8d67f jr nc, .done
add 2 add 2
ld [hl], a ld [hl], a
xor $ff xor $ff
inc a inc a
ld d, 32 ld d, 32
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
.asm_8d67f .done
ret ret
.IntroUnown AnimSeq_IntroUnown:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
ld d, [hl] ld d, [hl]
@@ -804,21 +804,21 @@ DoAnimFrame:
ld a, [hl] ld a, [hl]
push af push af
push de push de
call .Sprites_Sine call AnimSeqs_Sine
ld hl, SPRITEANIMSTRUCT_YOFFSET ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
pop de pop de
pop af pop af
call .Sprites_Cosine call AnimSeqs_Cosine
ld hl, SPRITEANIMSTRUCT_XOFFSET ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.IntroUnownF AnimSeq_IntroUnownF:
ld a, [wcf64] ld a, [wcf64]
cp $40 cp $40
ret nz ret nz
@@ -826,23 +826,23 @@ DoAnimFrame:
call _ReinitSpriteAnimFrame call _ReinitSpriteAnimFrame
ret ret
.IntroSuicuneAway AnimSeq_IntroSuicuneAway:
ld hl, SPRITEANIMSTRUCT_YCOORD ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
add $10 add 16
ld [hl], a ld [hl], a
ret ret
.EZChatCursor AnimSeq_EZChatCursor:
farcall AnimateEZChatCursor farcall AnimateEZChatCursor
ret ret
.Celebi AnimSeq_Celebi:
farcall UpdateCelebiPosition farcall UpdateCelebiPosition
ret ret
.AnonymousJumptable: AnimSeqs_AnonJumptable:
ld hl, sp+0 ld hl, sp+0
ld e, [hl] ld e, [hl]
inc hl inc hl
@@ -860,16 +860,16 @@ DoAnimFrame:
ld l, a ld l, a
ret ret
.IncrementJumptableIndex: AnimSeqs_IncAnonJumptableIndex:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
inc [hl] inc [hl]
ret ret
.Sprites_Sine: AnimSeqs_Sine:
call Sprites_Sine call Sprites_Sine
ret ret
.Sprites_Cosine: AnimSeqs_Cosine:
call Sprites_Cosine call Sprites_Cosine
ret ret

View File

@@ -134,7 +134,7 @@ HandleQueuedCommand:
dba CmdQueue_Type3 dba CmdQueue_Type3
dba CmdQueue_Type4 dba CmdQueue_Type4
CmdQueueAnonymousJumptable: CmdQueues_AnonJumptable:
ld hl, CMDQUEUE_05 ld hl, CMDQUEUE_05
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -142,13 +142,13 @@ CmdQueueAnonymousJumptable:
rst JumpTable rst JumpTable
ret ret
CmdQueueAnonJT_Increment: CmdQueues_IncAnonJumptableIndex:
ld hl, CMDQUEUE_05 ld hl, CMDQUEUE_05
add hl, bc add hl, bc
inc [hl] inc [hl]
ret ret
CmdQueueAnonJT_Decrement: CmdQueues_DecAnonJumptableIndex:
ld hl, CMDQUEUE_05 ld hl, CMDQUEUE_05
add hl, bc add hl, bc
dec [hl] dec [hl]
@@ -162,7 +162,7 @@ CmdQueue_Type1:
ret ret
CmdQueue_Type4: CmdQueue_Type4:
call CmdQueueAnonymousJumptable call CmdQueues_AnonJumptable
; anonymous dw ; anonymous dw
dw .zero dw .zero
dw .one dw .one
@@ -172,7 +172,7 @@ CmdQueue_Type4:
ld hl, CMDQUEUE_04 ld hl, CMDQUEUE_04
add hl, bc add hl, bc
ld [hl], a ld [hl], a
call CmdQueueAnonJT_Increment call CmdQueues_IncAnonJumptableIndex
.one .one
ld hl, CMDQUEUE_ADDR ld hl, CMDQUEUE_ADDR
add hl, bc add hl, bc
@@ -206,7 +206,7 @@ CmdQueue_Type4:
ret ret
CmdQueue_Type3: CmdQueue_Type3:
call CmdQueueAnonymousJumptable call CmdQueues_AnonJumptable
; anonymous dw ; anonymous dw
dw .zero dw .zero
dw .one dw .one
@@ -215,11 +215,11 @@ CmdQueue_Type3:
.zero .zero
call .IsPlayerFacingDown call .IsPlayerFacingDown
jr z, .PlayerNotFacingDown jr z, .PlayerNotFacingDown
call CmdQueueAnonJT_Increment call CmdQueues_IncAnonJumptableIndex
.one .one
call .IsPlayerFacingDown call .IsPlayerFacingDown
jr z, .PlayerNotFacingDown jr z, .PlayerNotFacingDown
call CmdQueueAnonJT_Increment call CmdQueues_IncAnonJumptableIndex
ld hl, CMDQUEUE_02 ld hl, CMDQUEUE_02
add hl, bc add hl, bc
@@ -230,7 +230,7 @@ CmdQueue_Type3:
.two .two
call .IsPlayerFacingDown call .IsPlayerFacingDown
jr z, .PlayerNotFacingDown jr z, .PlayerNotFacingDown
call CmdQueueAnonJT_Decrement call CmdQueues_DecAnonJumptableIndex
ld hl, CMDQUEUE_03 ld hl, CMDQUEUE_03
add hl, bc add hl, bc

View File

@@ -433,25 +433,25 @@ RestoreDefaultMovement:
ld a, SPRITEMOVEDATA_STANDING_DOWN ld a, SPRITEMOVEDATA_STANDING_DOWN
ret ret
ClearObjectMovementByteIndex: ObjectMovementByte_ZeroAnonJumptableIndex: ; unreferenced
ld hl, OBJECT_MOVEMENT_BYTE_INDEX ld hl, OBJECT_MOVEMENT_BYTE_INDEX
add hl, bc add hl, bc
ld [hl], 0 ld [hl], 0
ret ret
IncrementObjectMovementByteIndex: ObjectMovementByte_IncAnonJumptableIndex:
ld hl, OBJECT_MOVEMENT_BYTE_INDEX ld hl, OBJECT_MOVEMENT_BYTE_INDEX
add hl, bc add hl, bc
inc [hl] inc [hl]
ret ret
DecrementObjectMovementByteIndex: ObjectMovementByte_DecAnonJumptableIndex:
ld hl, OBJECT_MOVEMENT_BYTE_INDEX ld hl, OBJECT_MOVEMENT_BYTE_INDEX
add hl, bc add hl, bc
dec [hl] dec [hl]
ret ret
MovementAnonymousJumptable: ObjectMovementByte_AnonJumptable:
ld hl, OBJECT_MOVEMENT_BYTE_INDEX ld hl, OBJECT_MOVEMENT_BYTE_INDEX
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -459,19 +459,19 @@ MovementAnonymousJumptable:
rst JumpTable rst JumpTable
ret ret
ClearObjectStructField1c: Field1c_ZeroAnonJumptableIndex:
ld hl, OBJECT_1C ld hl, OBJECT_1C
add hl, bc add hl, bc
ld [hl], 0 ld [hl], 0
ret ret
IncrementObjectStructField1c: Field1c_IncAnonJumptableIndex:
ld hl, OBJECT_1C ld hl, OBJECT_1C
add hl, bc add hl, bc
inc [hl] inc [hl]
ret ret
Field1cAnonymousJumptable: Field1c_AnonJumptable:
ld hl, OBJECT_1C ld hl, OBJECT_1C
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -479,13 +479,13 @@ Field1cAnonymousJumptable:
rst JumpTable rst JumpTable
ret ret
GetValueObjectStructField1c: Field1c_GetAnonJumptableIndex: ; unreferenced
ld hl, OBJECT_1C ld hl, OBJECT_1C
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ret ret
SetValueObjectStructField1c: Field1c_SetAnonJumptableIndex: ; unreferenced
ld hl, OBJECT_1C ld hl, OBJECT_1C
add hl, bc add hl, bc
ld [hl], a ld [hl], a
@@ -512,7 +512,7 @@ ObjectMovementReset:
ret ret
MapObjectMovementPattern: MapObjectMovementPattern:
call ClearObjectStructField1c call Field1c_ZeroAnonJumptableIndex
call GetSpriteMovementFunction call GetSpriteMovementFunction
ld a, [hl] ld a, [hl]
ld hl, .Pointers ld hl, .Pointers
@@ -521,58 +521,58 @@ MapObjectMovementPattern:
.Pointers: .Pointers:
; entries correspond to SPRITEMOVEFN_* constants ; entries correspond to SPRITEMOVEFN_* constants
dw .Null_00 ; 00 dw MovementFunction_Null ; 00
dw .RandomWalkY ; 01 dw MovementFunction_RandomWalkY ; 01
dw .RandomWalkX ; 02 dw MovementFunction_RandomWalkX ; 02
dw .RandomWalkXY ; 03 dw MovementFunction_RandomWalkXY ; 03
dw .RandomSpin1 ; 04 dw MovementFunction_RandomSpinSlow ; 04
dw .RandomSpin2 ; 05 dw MovementFunction_RandomSpinFast ; 05
dw .Standing ; 06 dw MovementFunction_Standing ; 06
dw .ObeyDPad ; 07 dw MovementFunction_ObeyDPad ; 07
dw .Movement08 ; 08 dw MovementFunction_08 ; 08
dw .Movement09 ; 09 dw MovementFunction_09 ; 09
dw .Movement0a ; 0a dw MovementFunction_0a ; 0a
dw .Movement0b ; 0b dw MovementFunction_0b ; 0b
dw .Movement0c ; 0c dw MovementFunction_0c ; 0c
dw .Movement0d ; 0d dw MovementFunction_0d ; 0d
dw .Movement0e ; 0e dw MovementFunction_0e ; 0e
dw .Follow ; 0f dw MovementFunction_Follow ; 0f
dw .Script ; 10 dw MovementFunction_Script ; 10
dw .Strength ; 11 dw MovementFunction_Strength ; 11
dw .FollowNotExact ; 12 dw MovementFunction_FollowNotExact ; 12
dw .MovementShadow ; 13 dw MovementFunction_Shadow ; 13
dw .MovementEmote ; 14 dw MovementFunction_Emote ; 14
dw .MovementBigStanding ; 15 dw MovementFunction_BigStanding ; 15
dw .MovementBouncing ; 16 dw MovementFunction_Bouncing ; 16
dw .MovementScreenShake ; 17 dw MovementFunction_ScreenShake ; 17
dw .MovementSpinClockwise ; 18 dw MovementFunction_SpinClockwise ; 18
dw .MovementSpinCounterclockwise ; 19 dw MovementFunction_SpinCounterclockwise ; 19
dw .MovementBoulderDust ; 1a dw MovementFunction_BoulderDust ; 1a
dw .MovementShakingGrass ; 1b dw MovementFunction_ShakingGrass ; 1b
.Null_00: MovementFunction_Null:
ret ret
.RandomWalkY: MovementFunction_RandomWalkY:
call Random call Random
ldh a, [hRandomAdd] ldh a, [hRandomAdd]
and %00000001 and %00000001
jp .RandomWalkContinue jp _RandomWalkContinue
.RandomWalkX: MovementFunction_RandomWalkX:
call Random call Random
ldh a, [hRandomAdd] ldh a, [hRandomAdd]
and %00000001 and %00000001
or %00000010 or %00000010
jp .RandomWalkContinue jp _RandomWalkContinue
.RandomWalkXY: MovementFunction_RandomWalkXY:
call Random call Random
ldh a, [hRandomAdd] ldh a, [hRandomAdd]
and %00000011 and %00000011
jp .RandomWalkContinue jp _RandomWalkContinue
.RandomSpin1: MovementFunction_RandomSpinSlow:
call Random call Random
ldh a, [hRandomAdd] ldh a, [hRandomAdd]
and %00001100 and %00001100
@@ -581,7 +581,7 @@ MapObjectMovementPattern:
ld [hl], a ld [hl], a
jp RandomStepDuration_Slow jp RandomStepDuration_Slow
.RandomSpin2: MovementFunction_RandomSpinFast:
ld hl, OBJECT_FACING ld hl, OBJECT_FACING
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -597,7 +597,7 @@ MapObjectMovementPattern:
ld [hl], a ld [hl], a
jp RandomStepDuration_Fast jp RandomStepDuration_Fast
.Standing: MovementFunction_Standing:
call Function462a call Function462a
call EndSpriteMovement call EndSpriteMovement
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
@@ -608,48 +608,49 @@ MapObjectMovementPattern:
ld [hl], STEP_TYPE_05 ld [hl], STEP_TYPE_05
ret ret
.ObeyDPad: MovementFunction_ObeyDPad:
ld hl, ApplyPlayerMovementByte ld hl, ApplyPlayerMovementByte
jp HandleMovementData jp HandleMovementData
.Movement08: MovementFunction_08:
ld hl, Function5015 ld hl, Function5015
jp HandleMovementData jp HandleMovementData
.Movement09: MovementFunction_09:
ld hl, Function5026 ld hl, Function5026
jp HandleMovementData jp HandleMovementData
.Movement0a: MovementFunction_0a:
jp _GetMovementObject jp _GetMovementObject
.Movement0b: MovementFunction_0b:
jp _GetMovementObject jp _GetMovementObject
.Movement0c: MovementFunction_0c:
jp _GetMovementObject jp _GetMovementObject
.Movement0d: MovementFunction_0d:
ld hl, ApplyPlayerMovementByte ld hl, ApplyPlayerMovementByte
jp HandleMovementData jp HandleMovementData
.Movement0e: MovementFunction_0e:
jp _GetMovementObject jp _GetMovementObject
.Follow: MovementFunction_Follow:
ld hl, GetFollowerNextMovementByte ld hl, GetFollowerNextMovementByte
jp HandleMovementData jp HandleMovementData
.Script: MovementFunction_Script:
ld hl, GetMovementByte ld hl, GetMovementByte
jp HandleMovementData jp HandleMovementData
.Strength: MovementFunction_Strength:
call MovementAnonymousJumptable call ObjectMovementByte_AnonJumptable
dw .Strength_Start .anon_dw
dw .Strength_Stop dw .start
dw .stop
.Strength_Start: .start:
ld hl, OBJECT_NEXT_TILE ld hl, OBJECT_NEXT_TILE
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -686,14 +687,14 @@ MapObjectMovementPattern:
ret ret
.on_pit .on_pit
call IncrementObjectMovementByteIndex call ObjectMovementByte_IncAnonJumptableIndex
.Strength_Stop: .stop:
ld hl, OBJECT_DIRECTION_WALKING ld hl, OBJECT_DIRECTION_WALKING
add hl, bc add hl, bc
ld [hl], STANDING ld [hl], STANDING
ret ret
.FollowNotExact: MovementFunction_FollowNotExact:
ld hl, OBJECT_NEXT_MAP_X ld hl, OBJECT_NEXT_MAP_X
add hl, bc add hl, bc
ld d, [hl] ld d, [hl]
@@ -755,7 +756,7 @@ MapObjectMovementPattern:
ld [hl], OBJECT_ACTION_STAND ld [hl], OBJECT_ACTION_STAND
ret ret
.MovementBigStanding: MovementFunction_BigStanding:
call EndSpriteMovement call EndSpriteMovement
ld hl, OBJECT_DIRECTION_WALKING ld hl, OBJECT_DIRECTION_WALKING
add hl, bc add hl, bc
@@ -768,7 +769,7 @@ MapObjectMovementPattern:
ld [hl], STEP_TYPE_04 ld [hl], STEP_TYPE_04
ret ret
.MovementBouncing: MovementFunction_Bouncing:
call EndSpriteMovement call EndSpriteMovement
ld hl, OBJECT_DIRECTION_WALKING ld hl, OBJECT_DIRECTION_WALKING
add hl, bc add hl, bc
@@ -781,22 +782,24 @@ MapObjectMovementPattern:
ld [hl], STEP_TYPE_04 ld [hl], STEP_TYPE_04
ret ret
.MovementSpinCounterclockwise: MovementFunction_SpinCounterclockwise:
call MovementAnonymousJumptable call ObjectMovementByte_AnonJumptable
dw .MovementSpinInit .anon_dw
dw .MovementSpinRepeat dw _MovementSpinInit
dw .MovementSpinTurnLeft dw _MovementSpinRepeat
dw _MovementSpinTurnLeft
.MovementSpinClockwise: MovementFunction_SpinClockwise:
call MovementAnonymousJumptable call ObjectMovementByte_AnonJumptable
dw .MovementSpinInit .anon_dw
dw .MovementSpinRepeat dw _MovementSpinInit
dw .MovementSpinTurnRight dw _MovementSpinRepeat
dw _MovementSpinTurnRight
.MovementSpinInit: _MovementSpinInit:
call EndSpriteMovement call EndSpriteMovement
call IncrementObjectMovementByteIndex call ObjectMovementByte_IncAnonJumptableIndex
.MovementSpinRepeat: _MovementSpinRepeat:
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc
ld [hl], OBJECT_ACTION_STAND ld [hl], OBJECT_ACTION_STAND
@@ -810,26 +813,32 @@ MapObjectMovementPattern:
ld hl, OBJECT_STEP_TYPE ld hl, OBJECT_STEP_TYPE
add hl, bc add hl, bc
ld [hl], STEP_TYPE_03 ld [hl], STEP_TYPE_03
call IncrementObjectMovementByteIndex call ObjectMovementByte_IncAnonJumptableIndex
ret ret
.MovementSpinTurnLeft: _MovementSpinTurnLeft:
ld de, .DirectionData_Counterclockwise ld de, .facings_counterclockwise
call .MovementSpinNextFacing call _MovementSpinNextFacing
jr .MovementSpinCounterclockwise jr MovementFunction_SpinCounterclockwise
.DirectionData_Counterclockwise: .facings_counterclockwise:
db OW_RIGHT, OW_LEFT, OW_DOWN, OW_UP db OW_RIGHT
db OW_LEFT
db OW_DOWN
db OW_UP
.MovementSpinTurnRight: _MovementSpinTurnRight:
ld de, .DirectionData_Clockwise ld de, .facings_clockwise
call .MovementSpinNextFacing call _MovementSpinNextFacing
jr .MovementSpinClockwise jr MovementFunction_SpinClockwise
.DirectionData_Clockwise: .facings_clockwise:
db OW_LEFT, OW_RIGHT, OW_UP, OW_DOWN db OW_LEFT
db OW_RIGHT
db OW_UP
db OW_DOWN
.MovementSpinNextFacing: _MovementSpinNextFacing:
ld hl, OBJECT_FACING ld hl, OBJECT_FACING
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -843,11 +852,11 @@ MapObjectMovementPattern:
ld a, [hl] ld a, [hl]
pop hl pop hl
ld [hl], a ld [hl], a
call DecrementObjectMovementByteIndex call ObjectMovementByte_DecAnonJumptableIndex
ret ret
.MovementShadow: MovementFunction_Shadow:
call ._MovementShadow_Grass_Emote_BoulderDust call InitMovementField1dField1e
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc
ld [hl], OBJECT_ACTION_SHADOW ld [hl], OBJECT_ACTION_SHADOW
@@ -866,11 +875,11 @@ MapObjectMovementPattern:
maskbits NUM_DIRECTIONS maskbits NUM_DIRECTIONS
ld d, 1 * 8 + 6 ld d, 1 * 8 + 6
cp DOWN cp DOWN
jr z, .ok_13 jr z, .ok
cp UP cp UP
jr z, .ok_13 jr z, .ok
ld d, 1 * 8 + 4 ld d, 1 * 8 + 4
.ok_13 .ok
ld hl, OBJECT_SPRITE_Y_OFFSET ld hl, OBJECT_SPRITE_Y_OFFSET
add hl, bc add hl, bc
ld [hl], d ld [hl], d
@@ -882,9 +891,9 @@ MapObjectMovementPattern:
ld [hl], STEP_TYPE_TRACKING_OBJECT ld [hl], STEP_TYPE_TRACKING_OBJECT
ret ret
.MovementEmote: MovementFunction_Emote:
call EndSpriteMovement call EndSpriteMovement
call ._MovementShadow_Grass_Emote_BoulderDust call InitMovementField1dField1e
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc
ld [hl], OBJECT_ACTION_EMOTE ld [hl], OBJECT_ACTION_EMOTE
@@ -902,9 +911,9 @@ MapObjectMovementPattern:
ld [hl], STEP_TYPE_TRACKING_OBJECT ld [hl], STEP_TYPE_TRACKING_OBJECT
ret ret
.MovementBoulderDust: MovementFunction_BoulderDust:
call EndSpriteMovement call EndSpriteMovement
call ._MovementShadow_Grass_Emote_BoulderDust call InitMovementField1dField1e
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc
ld [hl], OBJECT_ACTION_BOULDER_DUST ld [hl], OBJECT_ACTION_BOULDER_DUST
@@ -922,7 +931,7 @@ MapObjectMovementPattern:
and %00000011 and %00000011
ld e, a ld e, a
ld d, 0 ld d, 0
ld hl, .data_4a81 ld hl, .dust_coords
add hl, de add hl, de
add hl, de add hl, de
ld d, [hl] ld d, [hl]
@@ -939,16 +948,16 @@ MapObjectMovementPattern:
ld [hl], STEP_TYPE_TRACKING_OBJECT ld [hl], STEP_TYPE_TRACKING_OBJECT
ret ret
.data_4a81 .dust_coords:
; x, y ; x, y
db 0, -4 db 0, -4
db 0, 8 db 0, 8
db 6, 2 db 6, 2
db -6, 2 db -6, 2
.MovementShakingGrass: MovementFunction_ShakingGrass:
call EndSpriteMovement call EndSpriteMovement
call ._MovementShadow_Grass_Emote_BoulderDust call InitMovementField1dField1e
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc
ld [hl], OBJECT_ACTION_GRASS_SHAKE ld [hl], OBJECT_ACTION_GRASS_SHAKE
@@ -964,7 +973,7 @@ MapObjectMovementPattern:
ld [hl], STEP_TYPE_TRACKING_OBJECT ld [hl], STEP_TYPE_TRACKING_OBJECT
ret ret
._MovementShadow_Grass_Emote_BoulderDust: InitMovementField1dField1e:
ld hl, OBJECT_RANGE ld hl, OBJECT_RANGE
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@@ -980,7 +989,7 @@ MapObjectMovementPattern:
ld [hl], d ld [hl], d
ret ret
.MovementScreenShake: MovementFunction_ScreenShake:
call EndSpriteMovement call EndSpriteMovement
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc
@@ -988,7 +997,7 @@ MapObjectMovementPattern:
ld hl, OBJECT_RANGE ld hl, OBJECT_RANGE
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
call ._MovementScreenShake call .GetDurationAndField1e
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], e ld [hl], e
@@ -1000,7 +1009,7 @@ MapObjectMovementPattern:
ld [hl], STEP_TYPE_15 ld [hl], STEP_TYPE_15
ret ret
._MovementScreenShake: .GetDurationAndField1e:
ld d, a ld d, a
and %00111111 and %00111111
ld e, a ld e, a
@@ -1017,10 +1026,10 @@ MapObjectMovementPattern:
add a add a
jr .loop jr .loop
.RandomWalkContinue: _RandomWalkContinue:
call InitStep call InitStep
call CanObjectMoveInDirection ; check whether the object can move in that direction call CanObjectMoveInDirection ; check whether the object can move in that direction
jr c, .NewDuration jr c, .new_duration
call UpdateTallGrassFlags call UpdateTallGrassFlags
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc
@@ -1028,21 +1037,23 @@ MapObjectMovementPattern:
ld hl, wCenteredObject ld hl, wCenteredObject
ldh a, [hMapObjectIndexBuffer] ldh a, [hMapObjectIndexBuffer]
cp [hl] cp [hl]
jr z, .load_6 jr z, .centered
ld hl, OBJECT_STEP_TYPE ld hl, OBJECT_STEP_TYPE
add hl, bc add hl, bc
ld [hl], STEP_TYPE_07 ld [hl], STEP_TYPE_07
ret ret
.load_6 .centered
ld hl, OBJECT_STEP_TYPE ld hl, OBJECT_STEP_TYPE
add hl, bc add hl, bc
ld [hl], STEP_TYPE_PLAYER_WALK ld [hl], STEP_TYPE_PLAYER_WALK
ret ret
.NewDuration: .new_duration:
call EndSpriteMovement call EndSpriteMovement
call Function462a call Function462a
; fallthrough
RandomStepDuration_Slow: RandomStepDuration_Slow:
call Random call Random
ldh a, [hRandomAdd] ldh a, [hRandomAdd]
@@ -1070,32 +1081,32 @@ SetRandomStepDuration:
StepTypesJumptable: StepTypesJumptable:
; entries correspond to STEP_TYPE_* constants ; entries correspond to STEP_TYPE_* constants
dw ObjectMovementReset ; 00 dw ObjectMovementReset ; 00
dw MapObjectMovementPattern ; 01 dw MapObjectMovementPattern ; 01
dw NPCStep ; 02 dw NPCStep ; 02
dw StepType03 ; 03 dw StepType03 ; 03
dw StepType04 ; 04 dw StepType04 ; 04
dw StepType05 ; 05 dw StepType05 ; 05
dw PlayerStep ; 06 dw PlayerStep ; 06
dw StepType07 ; 07 dw StepType07 ; 07
dw NPCJump ; 08 dw NPCJump ; 08
dw PlayerJump ; 09 dw PlayerJump ; 09
dw PlayerOrNPCTurnStep ; 0a dw PlayerOrNPCTurnStep ; 0a
dw StepTypeBump ; 0b dw StepTypeBump ; 0b
dw TeleportFrom ; 0c dw TeleportFrom ; 0c
dw TeleportTo ; 0d dw TeleportTo ; 0d
dw Skyfall ; 0e dw Skyfall ; 0e
dw StepType0f ; 0f dw StepType0f ; 0f
dw GotBiteStep ; 10 dw GotBiteStep ; 10
dw RockSmashStep ; 11 dw RockSmashStep ; 11
dw ReturnDigStep ; 12 dw ReturnDigStep ; 12
dw StepTypeTrackingObject ; 13 dw StepTypeTrackingObject ; 13
dw StepType14 ; 14 dw StepType14 ; 14
dw StepType15 ; 15 dw StepType15 ; 15
dw StepType16 ; 16 dw StepType16 ; 16
dw StepType17 ; 17 dw StepType17 ; 17
dw StepType18 ; 18 dw StepType18 ; 18
dw SkyfallTop ; 19 dw SkyfallTop ; 19
WaitStep_InPlace: WaitStep_InPlace:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
@@ -1108,8 +1119,8 @@ WaitStep_InPlace:
ret ret
NPCJump: NPCJump:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .Jump dw .Jump
dw .Land dw .Land
@@ -1125,7 +1136,7 @@ NPCJump:
ld hl, OBJECT_FLAGS2 ld hl, OBJECT_FLAGS2
add hl, bc add hl, bc
res OVERHEAD_F, [hl] res OVERHEAD_F, [hl]
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
ret ret
.Land: .Land:
@@ -1142,8 +1153,8 @@ NPCJump:
ret ret
PlayerJump: PlayerJump:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .initjump dw .initjump
dw .stepjump dw .stepjump
dw .initland dw .initland
@@ -1152,7 +1163,7 @@ PlayerJump:
.initjump .initjump
ld hl, wPlayerStepFlags ld hl, wPlayerStepFlags
set PLAYERSTEP_START_F, [hl] set PLAYERSTEP_START_F, [hl]
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.stepjump .stepjump
call UpdateJumpPosition call UpdateJumpPosition
call UpdatePlayerStep call UpdatePlayerStep
@@ -1167,14 +1178,14 @@ PlayerJump:
ld hl, wPlayerStepFlags ld hl, wPlayerStepFlags
set PLAYERSTEP_STOP_F, [hl] set PLAYERSTEP_STOP_F, [hl]
set PLAYERSTEP_MIDAIR_F, [hl] set PLAYERSTEP_MIDAIR_F, [hl]
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
ret ret
.initland .initland
call GetNextTile call GetNextTile
ld hl, wPlayerStepFlags ld hl, wPlayerStepFlags
set PLAYERSTEP_START_F, [hl] set PLAYERSTEP_START_F, [hl]
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.stepland .stepland
call UpdateJumpPosition call UpdateJumpPosition
call UpdatePlayerStep call UpdatePlayerStep
@@ -1191,8 +1202,8 @@ PlayerJump:
ret ret
TeleportFrom: TeleportFrom:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .InitSpin dw .InitSpin
dw .DoSpin dw .DoSpin
dw .InitSpinRise dw .InitSpinRise
@@ -1205,7 +1216,7 @@ TeleportFrom:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], 16 ld [hl], 16
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.DoSpin: .DoSpin:
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc
@@ -1214,7 +1225,7 @@ TeleportFrom:
add hl, bc add hl, bc
dec [hl] dec [hl]
ret nz ret nz
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
ret ret
.InitSpinRise: .InitSpinRise:
@@ -1230,7 +1241,7 @@ TeleportFrom:
ld hl, OBJECT_FLAGS2 ld hl, OBJECT_FLAGS2
add hl, bc add hl, bc
res OVERHEAD_F, [hl] res OVERHEAD_F, [hl]
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.DoSpinRise: .DoSpinRise:
ld hl, OBJECT_ACTION ld hl, OBJECT_ACTION
add hl, bc add hl, bc
@@ -1259,8 +1270,8 @@ TeleportFrom:
ret ret
TeleportTo: TeleportTo:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .InitWait dw .InitWait
dw .DoWait dw .DoWait
dw .InitDescent dw .InitDescent
@@ -1276,7 +1287,7 @@ TeleportTo:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], 16 ld [hl], 16
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
ret ret
.DoWait: .DoWait:
@@ -1284,7 +1295,7 @@ TeleportTo:
add hl, bc add hl, bc
dec [hl] dec [hl]
ret nz ret nz
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.InitDescent: .InitDescent:
ld hl, OBJECT_STEP_FRAME ld hl, OBJECT_STEP_FRAME
add hl, bc add hl, bc
@@ -1295,7 +1306,7 @@ TeleportTo:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], 16 ld [hl], 16
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
ret ret
.DoDescent: .DoDescent:
@@ -1317,12 +1328,12 @@ TeleportTo:
add hl, bc add hl, bc
dec [hl] dec [hl]
ret nz ret nz
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.InitFinalSpin: .InitFinalSpin:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], 16 ld [hl], 16
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
ret ret
.DoFinalSpin: .DoFinalSpin:
@@ -1346,8 +1357,8 @@ TeleportTo:
ret ret
Skyfall: Skyfall:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .Init dw .Init
dw .Step dw .Step
dw .Fall dw .Fall
@@ -1360,7 +1371,7 @@ Skyfall:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], 16 ld [hl], 16
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.Step: .Step:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
@@ -1378,7 +1389,7 @@ Skyfall:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], 16 ld [hl], 16
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.Fall: .Fall:
ld hl, OBJECT_1F ld hl, OBJECT_1F
add hl, bc add hl, bc
@@ -1395,7 +1406,7 @@ Skyfall:
add hl, bc add hl, bc
dec [hl] dec [hl]
ret nz ret nz
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.Finish: .Finish:
ld hl, OBJECT_STEP_FRAME ld hl, OBJECT_STEP_FRAME
add hl, bc add hl, bc
@@ -1409,8 +1420,8 @@ Skyfall:
ret ret
GotBiteStep: GotBiteStep:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .Init dw .Init
dw .Run dw .Run
@@ -1421,7 +1432,7 @@ GotBiteStep:
ld hl, OBJECT_SPRITE_Y_OFFSET ld hl, OBJECT_SPRITE_Y_OFFSET
add hl, bc add hl, bc
ld [hl], 0 ld [hl], 0
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.Run: .Run:
ld hl, OBJECT_SPRITE_Y_OFFSET ld hl, OBJECT_SPRITE_Y_OFFSET
add hl, bc add hl, bc
@@ -1506,8 +1517,8 @@ StepTypeBump:
ret ret
StepType05: StepType05:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .Reset dw .Reset
dw StepType04 dw StepType04
@@ -1517,7 +1528,7 @@ StepType05:
ld hl, OBJECT_FACING ld hl, OBJECT_FACING
add hl, bc add hl, bc
ld [hl], a ld [hl], a
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
StepType04: StepType04:
call Stubbed_Function4fb2 call Stubbed_Function4fb2
ld hl, OBJECT_DIRECTION_WALKING ld hl, OBJECT_DIRECTION_WALKING
@@ -1552,15 +1563,15 @@ StepType07:
PlayerStep: PlayerStep:
; AnimateStep? ; AnimateStep?
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .init dw .init
dw .step dw .step
.init .init
ld hl, wPlayerStepFlags ld hl, wPlayerStepFlags
set PLAYERSTEP_START_F, [hl] set PLAYERSTEP_START_F, [hl]
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.step .step
call UpdatePlayerStep call UpdatePlayerStep
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
@@ -1579,8 +1590,8 @@ PlayerStep:
ret ret
PlayerOrNPCTurnStep: PlayerOrNPCTurnStep:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .init1 dw .init1
dw .step1 dw .step1
dw .init2 dw .init2
@@ -1597,13 +1608,13 @@ PlayerOrNPCTurnStep:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], 2 ld [hl], 2
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.step1 .step1
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
dec [hl] dec [hl]
ret nz ret nz
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.init2 .init2
ld hl, OBJECT_1D ; new facing ld hl, OBJECT_1D ; new facing
add hl, bc add hl, bc
@@ -1614,7 +1625,7 @@ PlayerOrNPCTurnStep:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], 2 ld [hl], 2
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.step2 .step2
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
@@ -1691,8 +1702,8 @@ StepTypeTrackingObject:
StepType14: StepType14:
StepType15: StepType15:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .Init dw .Init
dw .Run dw .Run
@@ -1701,7 +1712,7 @@ StepType15:
ld hl, OBJECT_1D ld hl, OBJECT_1D
add hl, bc add hl, bc
ld [hl], a ld [hl], a
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.Run: .Run:
ld hl, OBJECT_1D ld hl, OBJECT_1D
add hl, bc add hl, bc
@@ -1739,17 +1750,17 @@ StepType15:
ret ret
StepType16: StepType16:
call Field1cAnonymousJumptable ; ???? call Field1c_AnonJumptable ; ????
StepType17: StepType17:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw .anon_dw
dw .null dw .null
dw .null dw .null
dw .null dw .null
.null .null
SkyfallTop: SkyfallTop:
call Field1cAnonymousJumptable call Field1c_AnonJumptable
; anonymous dw ; anonymous dw
dw .Init dw .Init
dw .Run dw .Run
@@ -1761,7 +1772,7 @@ SkyfallTop:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
add hl, bc add hl, bc
ld [hl], 16 ld [hl], 16
call IncrementObjectStructField1c call Field1c_IncAnonJumptableIndex
.Run: .Run:
ld hl, OBJECT_STEP_DURATION ld hl, OBJECT_STEP_DURATION
@@ -1800,6 +1811,7 @@ Stubbed_Function4fb2:
.y .y
db 0, -1, -2, -3, -4, -3, -2, -1 db 0, -1, -2, -3, -4, -3, -2, -1
UpdateJumpPosition: UpdateJumpPosition:
call GetStepVector call GetStepVector
ld a, h ld a, h