Partially started decompiling animations

This commit is contained in:
DrippingYellow 2025-05-17 16:02:15 -05:00
parent 7e17cfac59
commit a13205fbd8
12 changed files with 1523 additions and 160 deletions

View File

@ -289,7 +289,7 @@ DEF NUM_BATTLE_ANIM_OBJS EQU const_value
const BATTLE_ANIM_FUNC_PERISH_SONG ; 47
const BATTLE_ANIM_FUNC_RAPID_SPIN ; 48
const BATTLE_ANIM_FUNC_BETA_PURSUIT ; 49
const BATTLE_ANIM_FUNC_RAIN_SANDSTORM ; 4a
const BATTLE_ANIM_FUNC_RAIN ; 4a
DEF NUM_BATTLE_ANIM_FUNCS EQU const_value
; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm)
@ -696,53 +696,51 @@ DEF NUM_BATTLE_ANIM_OAMSETS EQU const_value
; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm)
const_def 1
const ANIM_BG_FLASH_INVERTED
const ANIM_BG_FLASH_WHITE
const ANIM_BG_WHITE_HUES
const ANIM_BG_BLACK_HUES
const ANIM_BG_ALTERNATE_HUES
const ANIM_BG_06
const ANIM_BG_07
const ANIM_BG_08
const ANIM_BG_HIDE_MON
const ANIM_BG_SHOW_MON
const ANIM_BG_ENTER_MON
const ANIM_BG_RETURN_MON
const ANIM_BG_SURF
;const ANIM_BG_WHIRLPOOL
const ANIM_BG_TELEPORT
const ANIM_BG_NIGHT_SHADE
const ANIM_BG_FEET_FOLLOW
const ANIM_BG_HEAD_FOLLOW
const ANIM_BG_DOUBLE_TEAM
const ANIM_BG_ACID_ARMOR
const ANIM_BG_RAPID_FLASH
const ANIM_BG_16
const ANIM_BG_17
const ANIM_BG_18
const BATTLE_BG_EFFECT_FLASH_INVERTED ; 01
const BATTLE_BG_EFFECT_FLASH_WHITE ; 02
const BATTLE_BG_EFFECT_WHITE_HUES ; 03
const BATTLE_BG_EFFECT_BLACK_HUES ; 04
const BATTLE_BG_EFFECT_ALTERNATE_HUES ; 05
const BATTLE_BG_EFFECT_CYCLE_OBPALS ; 06
const BATTLE_BG_EFFECT_CYCLE_MID_OBPALS_GRAY_AND_YELLOW ; 07
const BATTLE_BG_EFFECT_CYCLE_BGPALS_INVERTED ; 08
const BATTLE_BG_EFFECT_HIDE_MON ; 09
const BATTLE_BG_EFFECT_SHOW_MON ; 0a
const BATTLE_BG_EFFECT_ENTER_MON ; 0b
const BATTLE_BG_EFFECT_RETURN_MON ; 0c
const BATTLE_BG_EFFECT_SURF ; 0d
const BATTLE_BG_EFFECT_TELEPORT ; 0e
const BATTLE_BG_EFFECT_NIGHT_SHADE ; 0f
const BATTLE_BG_EFFECT_BATTLEROBJ_1ROW ; 10
const BATTLE_BG_EFFECT_BATTLEROBJ_2ROW ; 11
const BATTLE_BG_EFFECT_DOUBLE_TEAM ; 12
const BATTLE_BG_EFFECT_ACID_ARMOR ; 13
const BATTLE_BG_EFFECT_RAPID_FLASH ; 14
const BATTLE_BG_EFFECT_FADE_MON_TO_LIGHT ; 15
const BATTLE_BG_EFFECT_FADE_MON_TO_BLACK ; 16
const BATTLE_BG_EFFECT_FADE_MON_TO_LIGHT_REPEATING ; 17
const BATTLE_BG_EFFECT_FADE_MON_TO_BLACK_REPEATING ; 18
const ANIM_BG_19
const ANIM_BG_1A
const ANIM_BG_1B
const ANIM_BG_1C
const ANIM_BG_1D
const ANIM_BG_1E
const ANIM_BG_1F
const BATTLE_BG_EFFECT_SHAKE_SCREEN_X ; 1e
const BATTLE_BG_EFFECT_SHAKE_SCREEN_Y ; 1f
const ANIM_BG_20
const ANIM_BG_WITHDRAW
const ANIM_BG_BOUNCE_DOWN
const ANIM_BG_DIG
const ANIM_BG_TACKLE
;const ANIM_BG_25
const ANIM_BG_26
const ANIM_BG_27
const ANIM_BG_WAVE_DEFORM_USER
const ANIM_BG_PSYCHIC
const ANIM_BG_25
const BATTLE_BG_EFFECT_WAVE_DEFORM_MON ; 26
const BATTLE_BG_EFFECT_PSYCHIC ; 27
const BATTLE_BG_EFFECT_BETA_SEND_OUT_MON1 ; 28
const BATTLE_BG_EFFECT_BETA_SEND_OUT_MON2 ; 29
const ANIM_BG_2A
const ANIM_BG_2B
const ANIM_BG_2C
const ANIM_BG_2D
const ANIM_BG_2E
const ANIM_BG_2F
;const ANIM_BG_30
;const ANIM_BG_31
;const ANIM_BG_32
@ -803,6 +801,11 @@ DEF NUM_BATTLE_ANIM_GFX EQU const_value - 1
DEF BG_EFFECT_STRUCT_LENGTH EQU const_value
DEF NUM_BG_EFFECTS EQU 5 ; see wActiveBGEffects
; anim_bgeffect battle turn values for some effects
const_def
const BG_EFFECT_TARGET ; 0
const BG_EFFECT_USER ; 1
; battle palettes
const_def
const PAL_BATTLE_BG_PLAYER ; 0

View File

@ -274,22 +274,29 @@ DEF NUM_ATTACKS EQU const_value - 1
const ANIM_IN_SANDSTORM ; 10b
const ANIM_IN_NIGHTMARE ; 10c
; battle anims
const ANIM_MISS ; 10d
const ANIM_ENEMY_DAMAGE ; 10e
const ANIM_ENEMY_STAT_DOWN ; 10f
const ANIM_PLAYER_STAT_DOWN ; 110
const ANIM_PLAYER_DAMAGE ; 111
const ANIM_WOBBLE ; 112
const ANIM_SHAKE ; 113
const ANIM_HIT_CONFUSION ; 114
const ANIM_MISS ; 10d
const ANIM_DAMAGE ; 10e
const ANIM_SHAKE_HORIZONTAL_UNUSED ; 10f
const ANIM_PLAYER_STAT_DOWN ; 110
const ANIM_BLINK_ENEMY_MON_UNUSED ; 111
const ANIM_SHAKE_HORIZONTAL_UNUSED_2 ; 112
const ANIM_ENEMY_STAT_DOWN ; 113
; wNumHits uses offsets from ANIM_MISS
const_def
const BATTLEANIM_NONE
const BATTLEANIM_ENEMY_DAMAGE
const BATTLEANIM_ENEMY_STAT_DOWN
const BATTLEANIM_DAMAGE
const BATTLEANIM_SHAKE_HORIZONTAL_UNUSED
const BATTLEANIM_PLAYER_STAT_DOWN
const BATTLEANIM_PLAYER_DAMAGE
const BATTLEANIM_WOBBLE
const BATTLEANIM_SHAKE
const BATTLEANIM_HIT_CONFUSION
const BATTLEANIM_BLINK_ENEMY_MON_UNUSED
const BATTLEANIM_SHAKE_HORIZONTAL_UNUSED_2
const BATTLEANIM_ENEMY_STAT_DOWN
; const BATTLEANIM_NONE
; const BATTLEANIM_ENEMY_DAMAGE
; const BATTLEANIM_ENEMY_STAT_DOWN
; const BATTLEANIM_PLAYER_STAT_DOWN
; const BATTLEANIM_PLAYER_DAMAGE
; const BATTLEANIM_WOBBLE
; const BATTLEANIM_SHAKE
; const BATTLEANIM_HIT_CONFUSION

View File

@ -1,24 +1,58 @@
; TODO
DEF SFX_BALL_WOBBLE EQU $00
DEF SFX_POTION EQU $01
DEF SFX_FULL_HEAL EQU $02
DEF SFX_MENU EQU $03
DEF SFX_READ_TEXT EQU $04
DEF SFX_READ_TEXT_2 EQU $05
DEF SFX_POISON EQU $06
DEF SFX_BOOT_PC EQU $0A
DEF SFX_ESCAPE_ROPE EQU $0B ; player shrink
DEF SFX_WRONG EQU $14
DEF SFX_STRENGTH EQU $16
DEF SFX_SWITCH_POKEMON EQU $1B
DEF SFX_1E EQU $1E
DEF SFX_POKEFLUTE EQU $21
DEF SFX_22 EQU $22
DEF SFX_24 EQU $24
DEF SFX_THROW_BALL EQU $23
DEF SFX_BALL_POOF EQU $24
DEF SFX_25 EQU $25
DEF SFX_POKEDEX_REGISTRATION EQU $27
DEF SFX_TITLE_ENTRANCE EQU $2D
DEF SFX_PAY_DAY EQU $30
DEF SFX_GAME_FREAK_LOGO_RG EQU $31
DEF SFX_KINESIS EQU $33
DEF SFX_LICK EQU $34
DEF SFX_POUND EQU $35
DEF SFX_COMET_PUNCH EQU $37
DEF SFX_MEGA_PUNCH EQU $38
DEF SFX_SCRATCH EQU $39
DEF SFX_VICEGRIP EQU $3A
DEF SFX_RAZOR_WIND EQU $3B
DEF SFX_CUT EQU $3C
DEF SFX_WING_ATTACK EQU $3D
DEF SFX_VINE_WHIP EQU $40
DEF SFX_DOUBLE_KICK EQU $41
DEF SFX_MEGA_KICK EQU $42
DEF SFX_POWDER EQU $47
DEF SFX_DOUBLESLAP EQU $48
DEF SFX_BITE EQU $49
DEF SFX_JUMP_KICK EQU $4A
DEF SFX_STOMP EQU $4B
DEF SFX_TAIL_WHIP EQU $4C
DEF SFX_KARATE_CHOP EQU $4D
DEF SFX_WATER_GUN EQU $4F
DEF SFX_THUNDER EQU $51
DEF SFX_EMBER EQU $54
DEF SFX_BUBBLEBEAM EQU $55
DEF SFX_HYDRO_PUMP EQU $56
DEF SFX_SURF EQU $57
DEF SFX_PSYBEAM EQU $58
DEF SFX_CHARGE EQU $59
DEF SFX_THUNDERSHOCK EQU $5A
DEF SFX_SING EQU $60
DEF SFX_SHINE EQU $62
; R/G/B/Y fanfares

View File

@ -371,7 +371,7 @@ BattleAnimObjects:
; BATTLE_ANIM_OBJ_SHOOTING_SPARKLE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_GROWING_SPARKLE, BATTLE_ANIM_FUNC_USER_TO_TARGET, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_RAIN
battleanimobj RELATIVE_X | X_FLIP, $00, BATTLE_ANIM_FRAMESET_RAIN_1, BATTLE_ANIM_FUNC_RAIN_SANDSTORM, BATTLE_ANIM_GFX_WATER
battleanimobj RELATIVE_X | X_FLIP, $00, BATTLE_ANIM_FRAMESET_RAIN_1, BATTLE_ANIM_FUNC_RAIN, BATTLE_ANIM_GFX_WATER
; BATTLE_ANIM_OBJ_ENEMYFEET_1ROW
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_ENEMYFEET_1ROW, BATTLE_ANIM_FUNC_NULL, BATTLE_ANIM_GFX_PLAYERHEAD
; BATTLE_ANIM_OBJ_PLAYERHEAD_1ROW

1307
data/moves/animations.asm Normal file

File diff suppressed because it is too large Load Diff

View File

@ -52,13 +52,13 @@ QueueBGEffect:
ld b, h
ld hl, BG_EFFECT_STRUCT_FUNCTION
add hl, bc
ld a, [wBattleAnimTemp0]
ld a, [wBattleBGEffectTempID]
ld [hli], a
ld a, [wBattleAnimTemp1]
ld a, [wBattleBGEffectTempJumptableIndex]
ld [hli], a
ld a, [wBattleAnimTemp2]
ld a, [wBattleBGEffectTempTurn]
ld [hli], a
ld a, [wBattleAnimTemp3]
ld a, [wBattleBGEffectTempParam]
ld [hl], a
ret
@ -97,7 +97,6 @@ BattleBGEffects:
dw BattleBGEffect_EnterMon
dw BattleBGEffect_ReturnMon
dw BattleBGEffect_Surf
;dw BattleBGEffect_Whirlpool
dw BattleBGEffect_Teleport
dw BattleBGEffect_NightShade
dw BattleBGEffect_FeetFollow
@ -105,31 +104,31 @@ BattleBGEffects:
dw BattleBGEffect_DoubleTeam
dw BattleBGEffect_AcidArmor
dw BattleBGEffect_RapidFlash
dw BattleBGEffect_16
dw BattleBGEffect_17
dw BattleBGEffect_18
dw BattleBGEffect_19
dw BattleBGEffect_1a
dw BattleBGEffect_1b
dw BattleBGEffect_1c
dw BattleBGEffect_1d
dw BattleBGEffect_1e
dw BattleBGEffect_1f
dw BattleBGEffect_20
dw BattleBGEffect_FadeMonToLight
dw BattleBGEffect_FadeMonToBlack
dw BattleBGEffect_FadeMonToLightRepeating
dw BattleBGEffect_FadeMonToBlackRepeating
dw BattleBGEffect_CycleMonLightDarkRepeating
dw BattleBGEffect_FlashMonRepeating
dw BattleBGEffect_FadeMonsToBlackRepeating
dw BattleBGEffect_FadeMonToWhiteWaitFadeBack
dw BattleBGEffect_FadeMonFromWhite
dw BattleBGEffect_ShakeScreenX
dw BattleBGEffect_ShakeScreenY
dw BattleBGEffect_Withdraw
dw BattleBGEffect_BounceDown
dw BattleBGEffect_Dig
dw BattleBGEffect_Tackle
;dw BattleBGEffect_25
dw BattleBGEffect_26
dw BattleBGEffect_27
dw BattleBGEffect_28
dw BattleBGEffect_WaveDeformMon
dw BattleBGEffect_Psychic
dw BattleBGEffect_2a
dw BattleBGEffect_2b
dw BattleBGEffect_BetaSendOutMon1
dw BattleBGEffect_BetaSendOutMon2
dw BattleBGEffect_2c
dw BattleBGEffect_2d
dw BattleBGEffect_2e
dw BattleBGEffect_Rollout
dw BattleBGEffect_2f
;dw BattleBGEffect_30
;dw BattleBGEffect_31
@ -187,7 +186,7 @@ BattleBGEffect_FlashWhite:
BattleBGEffect_FlashContinue:
; current timer, flash duration, number of flashes
ld a, $1
ld [wBattleAnimTemp0], a
ld [wBattleBGEffectTempID], a
ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld a, [hl]
@ -282,7 +281,7 @@ BattleBGEffect_AlternateHues:
BattleBGEffect_06:
call BattleBGEffects_CheckSGB
jr nz, .sgb
ld de, .PalsCGB
ld de, .PalsGB
jr .okay
.sgb
@ -292,7 +291,7 @@ BattleBGEffect_06:
ld [wOBP0], a
ret
.PalsCGB:
.PalsGB:
db %11100100
db %10010000
db -2
@ -305,7 +304,7 @@ BattleBGEffect_06:
BattleBGEffect_07:
call BattleBGEffects_CheckSGB
jr nz, .sgb
ld de, .PalsCGB
ld de, .PalsGB
jr .okay
.sgb
@ -315,7 +314,7 @@ BattleBGEffect_07:
ld [wOBP0], a
ret
.PalsCGB:
.PalsGB:
db %11100100
db %11011000
db -2
@ -389,9 +388,9 @@ BattleBGEffect_ShowMon:
ld de, .PlayerData
.got_pointer
ld a, e
ld [wBattleAnimTemp1], a
ld [wBattleBGEffectTempJumptableIndex], a
ld a, d
ld [wBattleAnimTemp2], a
ld [wBattleBGEffectTempTurn], a
call BattleBGEffect_RunPicResizeScript
ret
@ -426,20 +425,20 @@ BattleBGEffect_FeetFollow:
call BGEffect_CheckBattleTurn
jr nz, .player_turn
ld a, BATTLE_ANIM_OBJ_ENEMYFEET_1ROW
ld [wBattleAnimTemp0], a
ld [wBattleBGEffectTempID], a
ld a, 16 * 8 + 4
jr .okay
.player_turn
ld a, BATTLE_ANIM_OBJ_PLAYERHEAD_1ROW
ld [wBattleAnimTemp0], a
ld [wBattleBGEffectTempID], a
ld a, 6 * 8
.okay
ld [wBattleAnimTemp1], a
ld [wBattleBGEffectTempJumptableIndex], a
ld a, 8 * 8
ld [wBattleAnimTemp2], a
ld [wBattleBGEffectTempTurn], a
xor a
ld [wBattleAnimTemp3], a
ld [wBattleBGEffectTempParam], a
call _QueueBattleAnimation
pop bc
ret
@ -493,20 +492,20 @@ BattleBGEffect_HeadFollow:
call BGEffect_CheckBattleTurn
jr nz, .player_turn
ld a, BATTLE_ANIM_OBJ_ENEMYFEET_2ROW
ld [wBattleAnimTemp0], a
ld [wBattleBGEffectTempID], a
ld a, 16 * 8 + 4
jr .okay
.player_turn
ld a, BATTLE_ANIM_OBJ_PLAYERHEAD_2ROW
ld [wBattleAnimTemp0], a
ld [wBattleBGEffectTempID], a
ld a, 6 * 8
.okay
ld [wBattleAnimTemp1], a
ld [wBattleBGEffectTempJumptableIndex], a
ld a, 8 * 8
ld [wBattleAnimTemp2], a
ld [wBattleBGEffectTempTurn], a
xor a
ld [wBattleAnimTemp3], a
ld [wBattleBGEffectTempParam], a
call _QueueBattleAnimation
pop bc
ret
@ -639,9 +638,9 @@ BattleBGEffect_EnterMon:
ld de, .PlayerData
.okay
ld a, e
ld [wBattleAnimTemp1], a
ld [wBattleBGEffectTempJumptableIndex], a
ld a, d
ld [wBattleAnimTemp2], a
ld [wBattleBGEffectTempTurn], a
call BattleBGEffect_RunPicResizeScript
ret
@ -666,9 +665,9 @@ BattleBGEffect_ReturnMon:
ld de, .PlayerData
.okay
ld a, e
ld [wBattleAnimTemp1], a
ld [wBattleBGEffectTempJumptableIndex], a
ld a, d
ld [wBattleAnimTemp2], a
ld [wBattleBGEffectTempTurn], a
call BattleBGEffect_RunPicResizeScript
ret
@ -709,9 +708,9 @@ BattleBGEffect_RunPicResizeScript:
ld e, [hl]
ld d, $0
inc [hl]
ld a, [wBattleAnimTemp1]
ld a, [wBattleBGEffectTempJumptableIndex]
ld l, a
ld a, [wBattleAnimTemp2]
ld a, [wBattleBGEffectTempTurn]
ld h, a
add hl, de
add hl, de
@ -799,7 +798,7 @@ BattleBGEffect_RunPicResizeScript:
pop hl
inc hl
ld a, [hli]
ld [wBattleAnimTemp0], a
ld [wBattleBGEffectTempID], a
; get coord
push de
ld e, [hl]
@ -815,7 +814,7 @@ BattleBGEffect_RunPicResizeScript:
.row
push bc
push hl
ld a, [wBattleAnimTemp0]
ld a, [wBattleBGEffectTempID]
ld b, a
.col
ld a, [de]
@ -1548,7 +1547,7 @@ BattleBGEffect_2c:
call BGEffect_FillLYOverridesBackup
ret
BattleBGEffect_28:
BattleBGEffect_WaveDeformMon:
call BattleBGEffects_AnonJumptable
jp hl
.anon_dw
@ -1644,7 +1643,7 @@ BattleBGEffect_BounceDown:
call BattleAnim_ResetLCDStatCustom
ret
BattleBGEffect_2a:
BattleBGEffect_BetaSendOutMon1:
call BattleBGEffects_AnonJumptable
jp hl
.anon_dw
@ -1753,7 +1752,7 @@ BattleBGEffect_2a:
db $00, $40, $90, $e4
db -1
BattleBGEffect_2b:
BattleBGEffect_BetaSendOutMon2:
call BattleBGEffects_AnonJumptable
jp hl
.anon_dw
@ -1791,7 +1790,7 @@ BattleBGEffect_2b:
call BattleAnim_ResetLCDStatCustom
ret
BattleBGEffect_1c:
BattleBGEffect_FadeMonsToBlackRepeating:
call BattleBGEffects_AnonJumptable
jp hl
.anon_dw
@ -1888,7 +1887,7 @@ BattleBGEffect_RapidFlash:
.FlashPals:
db $e4, $6c, $fe
BattleBGEffect_16:
BattleBGEffect_FadeMonToLight:
ld de, .Pals
call BGEffect_RapidCyclePals
ret
@ -1896,7 +1895,7 @@ BattleBGEffect_16:
.Pals:
db $e4, $90, $40, $ff
BattleBGEffect_17:
BattleBGEffect_FadeMonToBlack:
ld de, .Pals
call BGEffect_RapidCyclePals
ret
@ -1904,7 +1903,7 @@ BattleBGEffect_17:
.Pals:
db $e4, $f8, $fc, $ff
BattleBGEffect_18:
BattleBGEffect_FadeMonToLightRepeating:
ld de, .Pals
call BGEffect_RapidCyclePals
ret
@ -1912,7 +1911,7 @@ BattleBGEffect_18:
.Pals:
db $e4, $90, $40, $90, $fe
BattleBGEffect_19:
BattleBGEffect_FadeMonToBlackRepeating:
ld de, .Pals
call BGEffect_RapidCyclePals
ret
@ -1920,7 +1919,7 @@ BattleBGEffect_19:
.Pals:
db $e4, $f8, $fc, $f8, $fe
BattleBGEffect_1a:
BattleBGEffect_CycleMonLightDarkRepeating:
ld de, .Pals
call BGEffect_RapidCyclePals
ret
@ -1928,7 +1927,7 @@ BattleBGEffect_1a:
.Pals:
db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
BattleBGEffect_1b:
BattleBGEffect_FlashMonRepeating:
ld de, .Pals
call BGEffect_RapidCyclePals
ret
@ -1936,7 +1935,7 @@ BattleBGEffect_1b:
.Pals:
db $e4, $fc, $e4, $00, $fe
BattleBGEffect_1d:
BattleBGEffect_FadeMonToWhiteWaitFadeBack:
ld de, .Pals
call BGEffect_RapidCyclePals
ret
@ -1944,7 +1943,7 @@ BattleBGEffect_1d:
.Pals:
db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
BattleBGEffect_1e:
BattleBGEffect_FadeMonFromWhite:
ld de, .Pals
call BGEffect_RapidCyclePals
ret
@ -1952,8 +1951,8 @@ BattleBGEffect_1e:
.Pals:
db $00, $40, $90, $e4, $ff
BattleBGEffect_2e:
call Functionc8d0b
BattleBGEffect_Rollout:
call BattleBGEffects_GetShakeAmount
jr c, .xor_a
bit 7, a
jr z, .okay
@ -1963,26 +1962,26 @@ BattleBGEffect_2e:
ldh [hSCY], a
xor $ff
inc a
ld [$c753], a ; wAnimObject01YOffset
ld [wAnimObject1YOffset], a
ret
BattleBGEffect_1f:
call Functionc8d0b
BattleBGEffect_ShakeScreenX:
call BattleBGEffects_GetShakeAmount
jr nc, .skip
xor a
.skip
ldh [hSCX], a
ret
BattleBGEffect_20:
call Functionc8d0b
BattleBGEffect_ShakeScreenY:
call BattleBGEffects_GetShakeAmount
jr nc, .skip
xor a
.skip
ldh [hSCY], a
ret
Functionc8d0b:
BattleBGEffects_GetShakeAmount:
ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld a, [hl]
@ -2180,13 +2179,13 @@ BattleBGEffects_ResetVideoHRAM:
Functionc8f2e:
push bc
xor a
ld [wBattleAnimTemp0], a
ld [wBattleBGEffectTempID], a
ld a, e
ld [wBattleAnimTemp1], a
ld [wBattleBGEffectTempJumptableIndex], a
ld a, d
ld [wBattleAnimTemp2], a
ld [wBattleBGEffectTempTurn], a
ld a, $80
ld [wBattleAnimTemp3], a
ld [wBattleBGEffectTempParam], a
ld bc, wLYOverrides
.loop
ldh a, [hLYOverrideStart]
@ -2195,18 +2194,18 @@ Functionc8f2e:
ldh a, [hLYOverrideEnd]
cp c
jr c, .next
ld a, [wBattleAnimTemp2]
ld a, [wBattleBGEffectTempTurn]
ld d, a
ld a, [wBattleAnimTemp0]
ld a, [wBattleBGEffectTempID]
call BattleBGEffects_Sine
ld [bc], a
.next
inc bc
ld a, [wBattleAnimTemp1]
ld hl, wBattleAnimTemp0
ld a, [wBattleBGEffectTempJumptableIndex]
ld hl, wBattleBGEffectTempID
add [hl]
ld [hl], a
ld hl, wBattleAnimTemp3
ld hl, wBattleBGEffectTempParam
dec [hl]
jr nz, .loop
pop bc
@ -2215,26 +2214,26 @@ Functionc8f2e:
InitSurfWaves:
push bc
xor a
ld [wBattleAnimTemp0], a
ld [wBattleBGEffectTempID], a
ld a, e
ld [wBattleAnimTemp1], a
ld [wBattleBGEffectTempJumptableIndex], a
ld a, d
ld [wBattleAnimTemp2], a
ld [wBattleBGEffectTempTurn], a
ld a, $80
ld [wBattleAnimTemp3], a
ld [wBattleBGEffectTempParam], a
ld bc, wLYOverrides2
.loop
ld a, [wBattleAnimTemp2]
ld a, [wBattleBGEffectTempTurn]
ld d, a
ld a, [wBattleAnimTemp0]
ld a, [wBattleBGEffectTempID]
call BattleBGEffects_Sine
ld [bc], a
inc bc
ld a, [wBattleAnimTemp1]
ld hl, wBattleAnimTemp0
ld a, [wBattleBGEffectTempJumptableIndex]
ld hl, wBattleBGEffectTempID
add [hl]
ld [hl], a
ld hl, wBattleAnimTemp3
ld hl, wBattleBGEffectTempParam
dec [hl]
jr nz, .loop
pop bc
@ -2324,13 +2323,13 @@ BGEffect_CheckFlyDigStatus:
and $1
xor [hl]
jr nz, .player
ld a, [wEnemySubStatus3] ; EnemySubStatus3
bit 6, a
ld a, [wEnemySubStatus3]
bit SUBSTATUS_INVULNERABLE, a
ret
.player
ld a, [wPlayerSubStatus3] ; PlayerSubStatus3
bit 6, a
ld a, [wPlayerSubStatus3]
bit SUBSTATUS_INVULNERABLE, a
ret
BattleBGEffects_CheckSGB:

View File

@ -1436,8 +1436,8 @@ BattleAnimFunction_Clamp_Encore:
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
; assert BATTLE_ANIM_FRAMESET_CLAMP + 1 == BATTLE_ANIM_FRAMESET_CLAMP_FLIPPED
; assert BATTLE_ANIM_FRAMESET_ENCORE_HAND + 1 == BATTLE_ANIM_FRAMESET_ENCORE_HAND_FLIPPED
assert BATTLE_ANIM_FRAMESET_CLAMP + 1 == BATTLE_ANIM_FRAMESET_CLAMP_FLIPPED
assert BATTLE_ANIM_FRAMESET_ENCORE_HAND + 1 == BATTLE_ANIM_FRAMESET_ENCORE_HAND_FLIPPED
inc a
jr .reinit
@ -1774,9 +1774,9 @@ BattleAnimFunction_Wrap:
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, [hl]
; assert BATTLE_ANIM_FRAMESET_BIND_1 + 1 == BATTLE_ANIM_FRAMESET_BIND_2 \
; && BATTLE_ANIM_FRAMESET_BIND_2 + 1 == BATTLE_ANIM_FRAMESET_BIND_3 \
; && BATTLE_ANIM_FRAMESET_BIND_3 + 1 == BATTLE_ANIM_FRAMESET_BIND_4
assert BATTLE_ANIM_FRAMESET_BIND_1 + 1 == BATTLE_ANIM_FRAMESET_BIND_2 \
&& BATTLE_ANIM_FRAMESET_BIND_2 + 1 == BATTLE_ANIM_FRAMESET_BIND_3 \
&& BATTLE_ANIM_FRAMESET_BIND_3 + 1 == BATTLE_ANIM_FRAMESET_BIND_4
inc a
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
@ -2432,8 +2432,8 @@ BattleAnimFunction_Dizzy:
rlca
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
; assert BATTLE_ANIM_FRAMESET_CHICK_1 + 1 == BATTLE_ANIM_FRAMESET_CHICK_2
; assert BATTLE_ANIM_FRAMESET_IMP + 1 == BATTLE_ANIM_FRAMESET_IMP_FLIPPED
assert BATTLE_ANIM_FRAMESET_CHICK_1 + 1 == BATTLE_ANIM_FRAMESET_CHICK_2
assert BATTLE_ANIM_FRAMESET_IMP + 1 == BATTLE_ANIM_FRAMESET_IMP_FLIPPED
add [hl]
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_PARAM
@ -2471,8 +2471,8 @@ BattleAnimFunction_Dizzy:
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
; assert BATTLE_ANIM_FRAMESET_CHICK_1 + 1 == BATTLE_ANIM_FRAMESET_CHICK_2
; assert BATTLE_ANIM_FRAMESET_IMP + 1 == BATTLE_ANIM_FRAMESET_IMP_FLIPPED
assert BATTLE_ANIM_FRAMESET_CHICK_1 + 1 == BATTLE_ANIM_FRAMESET_CHICK_2
assert BATTLE_ANIM_FRAMESET_IMP + 1 == BATTLE_ANIM_FRAMESET_IMP_FLIPPED
inc a
jr .got_frameset
@ -3678,12 +3678,12 @@ BattleAnimFunction_LockOnMindReader:
and $f
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
; assert BATTLE_ANIM_FRAMESET_LOCK_ON_1 + 1 == BATTLE_ANIM_FRAMESET_LOCK_ON_2 \
; && BATTLE_ANIM_FRAMESET_LOCK_ON_2 + 1 == BATTLE_ANIM_FRAMESET_LOCK_ON_3 \
; && BATTLE_ANIM_FRAMESET_LOCK_ON_3 + 1 == BATTLE_ANIM_FRAMESET_LOCK_ON_4
; assert BATTLE_ANIM_FRAMESET_MIND_READER_1 + 1 == BATTLE_ANIM_FRAMESET_MIND_READER_2 \
; && BATTLE_ANIM_FRAMESET_MIND_READER_2 + 1 == BATTLE_ANIM_FRAMESET_MIND_READER_3 \
; && BATTLE_ANIM_FRAMESET_MIND_READER_3 + 1 == BATTLE_ANIM_FRAMESET_MIND_READER_4
assert BATTLE_ANIM_FRAMESET_LOCK_ON_1 + 1 == BATTLE_ANIM_FRAMESET_LOCK_ON_2 \
&& BATTLE_ANIM_FRAMESET_LOCK_ON_2 + 1 == BATTLE_ANIM_FRAMESET_LOCK_ON_3 \
&& BATTLE_ANIM_FRAMESET_LOCK_ON_3 + 1 == BATTLE_ANIM_FRAMESET_LOCK_ON_4
assert BATTLE_ANIM_FRAMESET_MIND_READER_1 + 1 == BATTLE_ANIM_FRAMESET_MIND_READER_2 \
&& BATTLE_ANIM_FRAMESET_MIND_READER_2 + 1 == BATTLE_ANIM_FRAMESET_MIND_READER_3 \
&& BATTLE_ANIM_FRAMESET_MIND_READER_3 + 1 == BATTLE_ANIM_FRAMESET_MIND_READER_4
add [hl]
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_PARAM

View File

@ -19,7 +19,7 @@ FieldDebug_PokemonFollowing:
and a
jr nz, .ShowUnableText
callfar SpawnFollower
ld de, SFX_24
ld de, SFX_BALL_POOF
call PlaySFX
call CloseWindow
call UpdateSprites

View File

@ -2261,6 +2261,7 @@ BattleCommand_MoveAnim:
and a
jp nz, BattleCommand_MoveDelay
assert BATTLEANIM_NONE + 1 == BATTLEANIM_DAMAGE
inc a
ld [wNumHits], a
ldh a, [hBattleTurn]

View File

@ -571,11 +571,11 @@ asm_3c4a3:
and $18
jr z, asm_3c4eb
ld hl, HurtByPoisonText
ld de, $0106
ld de, ANIM_PSN
and $10
jr z, asm_3c4b8
ld hl, HurtByBurnText
ld de, $0105
ld de, ANIM_BRN
asm_3c4b8:
push de
@ -627,7 +627,7 @@ asm_3c4f6:
ldh [hBattleTurn], a
xor a
ld [wNumHits], a
ld de, $0107
ld de, ANIM_SAP
call PlayMoveAnimation
pop af
ldh [hBattleTurn], a
@ -649,7 +649,7 @@ asm_3c528:
jr z, asm_3c542
xor a
ld [wNumHits], a
ld de, $010c
ld de, ANIM_IN_NIGHTMARE
call PlayMoveAnimation
call GetQuarterMaxHP
call SubtractHPFromUser
@ -668,7 +668,7 @@ asm_3c54d:
jr z, asm_3c567
xor a
ld [wNumHits], a
ld de, $010c
ld de, ANIM_IN_NIGHTMARE
call PlayMoveAnimation
call GetQuarterMaxHP
call SubtractHPFromUser
@ -691,7 +691,7 @@ asm_3c572:
ldh [hBattleTurn], a
xor a
ld [wNumHits], a
ld de, $010b
ld de, ANIM_IN_SANDSTORM
call PlayMoveAnimation
pop af
ldh [hBattleTurn], a

View File

@ -772,6 +772,8 @@ ROMX $31
ROMX $32
org $4000
"engine/battle_anims/bg_effects.asm"
org $4f26
"data/moves/animations.asm"
ROMX $33
org $4000

View File

@ -67,6 +67,16 @@
32:7FFF BattleAnimationsBankRef
32:4cfe BattleAnimations
32:5b8d BattleAnim_FocusEnergy
32:7573 BattleAnimSub_WarpAway
32:759a BattleAnimSub_Beam
32:75c3 BattleAnimSub_Explosion1
32:75f0 BattleAnimSub_Explosion2
32:762d BattleAnimSub_Fire
32:7640 BattleAnimSub_Ice
32:7696 BattleAnimSub_Acid
32:76cb BattleAnim_TargetObj_1Row
32:76db BattleAnim_ShowMon_0
;33:480f BattleAnimObjects
;33:4b98 DoBattleAnimFrame