Some work on battle animations

This commit is contained in:
PikalaxALT
2015-11-09 16:41:09 -05:00
parent 59d67a44be
commit 93ab6985d2
29 changed files with 787 additions and 675 deletions

View File

@@ -40,7 +40,7 @@ _PlayBattleAnim: ; cc0e4
push af push af
ld [hl], c ld [hl], c
call Functioncc11c call BattleAnimRunScript
pop af pop af
ld [hVBlank], a ld [hVBlank], a
@@ -55,17 +55,17 @@ _PlayBattleAnim: ; cc0e4
ret ret
; cc11c ; cc11c
Functioncc11c: ; cc11c BattleAnimRunScript: ; cc11c
ld a, [FXAnimIDHi] ld a, [FXAnimIDHi]
and a and a
jr nz, .asm_cc156 jr nz, .hi_byte
callba CheckBattleScene callba CheckBattleScene
jr c, .asm_cc141 jr c, .disabled
call BattleAnimClearHud call BattleAnimClearHud
call Functioncc163 call RunBattleAnimScript
call BattleAnimAssignPals call BattleAnimAssignPals
call BattleAnimRequestPals call BattleAnimRequestPals
@@ -76,31 +76,31 @@ Functioncc11c: ; cc11c
call BattleAnimDelayFrame call BattleAnimDelayFrame
call BattleAnimRestoreHuds call BattleAnimRestoreHuds
.asm_cc141 .disabled
ld a, [wcfca] ld a, [wcfca]
and a and a
jr z, .asm_cc15f jr z, .done
ld l, a ld l, a
ld h, 0 ld h, 0
ld de, $10e ld de, ANIM_MISS
add hl, de add hl, de
ld a, l ld a, l
ld [FXAnimIDLo], a ld [FXAnimIDLo], a
ld a, h ld a, h
ld [FXAnimIDHi], a ld [FXAnimIDHi], a
.asm_cc156 .hi_byte
call WaitSFX call WaitSFX
call Functioncc881 call Functioncc881
call Functioncc163 call RunBattleAnimScript
.asm_cc15f .done
call Functioncc8f6 call Functioncc8f6
ret ret
; cc163 ; cc163
Functioncc163: ; cc163 RunBattleAnimScript: ; cc163
call Functioncc8d3 call Functioncc8d3
@@ -257,11 +257,11 @@ Functioncc23d: ; cc23d
ld a, [BattleAnimFlags] ld a, [BattleAnimFlags]
bit 3, a bit 3, a
jr z, .asm_cc254 jr z, .skip
ld hl, Sprites + 3 ld hl, Sprites + 3
ld c, (SpritesEnd - Sprites) / 4 ld c, (SpritesEnd - Sprites) / 4
.asm_cc249 .loop
ld a, [hl] ld a, [hl]
and $f0 and $f0
ld [hli], a ld [hli], a
@@ -269,71 +269,71 @@ rept 3
inc hl inc hl
endr endr
dec c dec c
jr nz, .asm_cc249 jr nz, .loop
ret ret
.asm_cc254 .skip
ld hl, Sprites ld hl, Sprites
ld c, SpritesEnd - Sprites ld c, SpritesEnd - Sprites
xor a xor a
.asm_cc25a .loop2
ld [hli], a ld [hli], a
dec c dec c
jr nz, .asm_cc25a jr nz, .loop2
ret ret
; cc25f ; cc25f
Functioncc25f: ; cc25f Functioncc25f: ; cc25f
call Functioncc267 call .CheckTimer
ret nc ret nc
call Functioncc275 call .RunScript
ret ret
; cc267 ; cc267
Functioncc267: ; cc267 .CheckTimer: ; cc267
ld a, [BattleAnimDuration] ld a, [BattleAnimDuration]
and a and a
jr z, .asm_cc273 jr z, .done
dec a dec a
ld [BattleAnimDuration], a ld [BattleAnimDuration], a
and a and a
ret ret
.asm_cc273 .done
scf scf
ret ret
; cc275 ; cc275
Functioncc275: ; cc275 .RunScript: ; cc275
.loop
call GetBattleAnimByte call GetBattleAnimByte
cp $ff cp $ff
jr nz, .asm_cc286 jr nz, .not_done_with_anim
; Return from a subroutine. ; Return from a subroutine.
ld hl, BattleAnimFlags ld hl, BattleAnimFlags
bit 1, [hl] bit 1, [hl]
jr nz, .asm_cc28e jr nz, .do_anim
set 0, [hl] set 0, [hl]
ret ret
.asm_cc286 .not_done_with_anim
cp $d0 cp $d0
jr nc, .asm_cc28e jr nc, .do_anim
ld [BattleAnimDuration], a ld [BattleAnimDuration], a
ret ret
.asm_cc28e .do_anim
call Functioncc293 call .DoCommand
jr Functioncc275 jr .loop
; cc293 ; cc293
Functioncc293: ; cc293 .DoCommand: ; cc293
; Execute battle animation command in [BattleAnimByte]. ; Execute battle animation command in [BattleAnimByte].
ld a, [BattleAnimByte] ld a, [BattleAnimByte]
sub $d0 sub $d0
@@ -1332,11 +1332,11 @@ Datacc871: ; cc871
Functioncc881: ; cc881 Functioncc881: ; cc881
ld a, [wcfca] ld a, [wcfca]
cp $1 cp $1
jr z, .asm_cc88b jr z, .okay
cp $4 cp $4
ret nz ret nz
.asm_cc88b .okay
ld a, [TypeModifier] ld a, [TypeModifier]
and $7f and $7f
ret z ret z
@@ -1358,41 +1358,43 @@ Functioncc881: ; cc881
BattleAnimAssignPals: ; cc8a4 BattleAnimAssignPals: ; cc8a4
ld a, [hCGB] ld a, [hCGB]
and a and a
jr nz, .asm_cc8be jr nz, .cgb
ld a, [hSGB] ld a, [hSGB]
and a and a
ld a, $e0 ld a, %11100000
jr z, .asm_cc8b2 jr z, .sgb
ld a, $f0 ld a, %11110000
.asm_cc8b2 .sgb
ld [wcfc8], a ld [wcfc8], a
ld a, $e4 ld a, %11100100
ld [wcfc7], a ld [wcfc7], a
ld [wcfc9], a ld [wcfc9], a
ret ret
.asm_cc8be .cgb
ld a, $e4 ld a, %11100100
ld [wcfc7], a ld [wcfc7], a
ld [wcfc8], a ld [wcfc8], a
ld [wcfc9], a ld [wcfc9], a
call DmgToCgbBGPals call DmgToCgbBGPals
ld de, $e4e4 lb de, %11100100, %11100100
call DmgToCgbObjPals call DmgToCgbObjPals
ret ret
; cc8d3 ; cc8d3
Functioncc8d3: ; cc8d3 Functioncc8d3: ; cc8d3
; Clear animation block
ld hl, LYOverrides ld hl, LYOverrides
ld bc, $0354 ld bc, wBattleAnimEnd - LYOverrides
.asm_cc8d9 .loop
ld [hl], $0 ld [hl], $0
inc hl inc hl
dec bc dec bc
ld a, c ld a, c
or b or b
jr nz, .asm_cc8d9 jr nz, .loop
ld hl, FXAnimIDLo ld hl, FXAnimIDLo
ld e, [hl] ld e, [hl]
inc hl inc hl
@@ -1401,7 +1403,7 @@ Functioncc8d3: ; cc8d3
rept 2 rept 2
add hl, de add hl, de
endr endr
call Function3ae1 call GetBattleAnimPointer
call BattleAnimAssignPals call BattleAnimAssignPals
call BattleAnimDelayFrame call BattleAnimDelayFrame
ret ret
@@ -1409,12 +1411,12 @@ endr
Functioncc8f6: ; cc8f6 Functioncc8f6: ; cc8f6
call WaitTop call WaitTop
ld a, $e4 ld a, %11100100
ld [wcfc7], a ld [wcfc7], a
ld [wcfc8], a ld [wcfc8], a
ld [wcfc9], a ld [wcfc9], a
call DmgToCgbBGPals call DmgToCgbBGPals
ld de, $e4e4 lb de, %11100100, %11100100
call DmgToCgbObjPals call DmgToCgbObjPals
xor a xor a
ld [hSCX], a ld [hSCX], a

View File

@@ -255,6 +255,7 @@ BattleAnimations:: ; c906f
dw BattleAnim_253 dw BattleAnim_253
dw BattleAnim_254 dw BattleAnim_254
dw BattleAnim_SweetScent2 dw BattleAnim_SweetScent2
; $100
dw BattleAnim_ThrowPokeBall dw BattleAnim_ThrowPokeBall
dw BattleAnim_SendOutMon dw BattleAnim_SendOutMon
dw BattleAnim_ReturnMon dw BattleAnim_ReturnMon

View File

@@ -2022,7 +2022,7 @@ Function3ccc2: ; 3ccc2
ret ret
; 3ccde ; 3ccde
Function3ccde: ; 3ccde CheckUserHasEnoughHP: ; 3ccde
ld hl, BattleMonHP + 1 ld hl, BattleMonHP + 1
ld a, [hBattleTurn] ld a, [hBattleTurn]
and a and a
@@ -3740,7 +3740,7 @@ Function3d7a0: ; 3d7a0
lb bc, 4, 10 lb bc, 4, 10
call ClearBox call ClearBox
call WaitBGMap call WaitBGMap
jp Function3ee27 jp FinishBattleAnim
; 3d7b8 ; 3d7b8
Function_BattleTextEnemySentOut: ; 3d7b8 Function_BattleTextEnemySentOut: ; 3d7b8
@@ -4253,7 +4253,7 @@ SendOutPlayerMon: ; 3db5f
ld [hBGMapMode], a ld [hBGMapMode], a
call GetMonBackpic call GetMonBackpic
xor a xor a
ld [$ffad], a ld [hFillBox], a
ld [wd0d2], a ld [wd0d2], a
ld [CurMoveNum], a ld [CurMoveNum], a
ld [TypeModifier], a ld [TypeModifier], a
@@ -4262,7 +4262,7 @@ SendOutPlayerMon: ; 3db5f
ld [LastPlayerCounterMove], a ld [LastPlayerCounterMove], a
ld [LastPlayerMove], a ld [LastPlayerMove], a
call CheckAmuletCoin call CheckAmuletCoin
call Function3ee27 call FinishBattleAnim
xor a xor a
ld [wEnemyWrapCount], a ld [wEnemyWrapCount], a
call SetPlayerTurn call SetPlayerTurn
@@ -5132,7 +5132,7 @@ Function3e12e: ; 3e12e
ld a, [hl] ld a, [hl]
cp b cp b
ret z ret z
jp Function3ee27 jp FinishBattleAnim
; 3e138 ; 3e138
Function3e138: ; 3e138 Function3e138: ; 3e138
@@ -5269,7 +5269,7 @@ BattleMenu_Pack: ; 3e1c7
call GetMonFrontpic call GetMonFrontpic
call ExitMenu call ExitMenu
call WaitBGMap call WaitBGMap
call Function3ee27 call FinishBattleAnim
call LoadTileMapToTempTileMap call LoadTileMapToTempTileMap
jp BattleMenu jp BattleMenu
; 3e22b ; 3e22b
@@ -5309,7 +5309,7 @@ Function3e234: ; 3e234
call WaitBGMap call WaitBGMap
call LoadTileMapToTempTileMap call LoadTileMapToTempTileMap
call ResetTextRelatedRAM call ResetTextRelatedRAM
call Function3ee27 call FinishBattleAnim
and a and a
ret ret
@@ -6873,7 +6873,7 @@ Function3ebc7: ; 3ebc7
Function3ebd8: ; 3ebd8 Function3ebd8: ; 3ebd8
xor a xor a
ld [TempEnemyMonSpecies], a ld [TempEnemyMonSpecies], a
call Function3ee27 call FinishBattleAnim
ld a, [OtherTrainerClass] ld a, [OtherTrainerClass]
ld [TrainerClass], a ld [TrainerClass], a
ld de, VTiles2 ld de, VTiles2
@@ -7368,7 +7368,7 @@ Call_PlayBattleAnim: ; 3ee17
predef_jump PlayBattleAnim predef_jump PlayBattleAnim
; 3ee27 ; 3ee27
Function3ee27: ; 3ee27 FinishBattleAnim: ; 3ee27
push af push af
push bc push bc
push de push de
@@ -8377,7 +8377,7 @@ GetMonBackpic: ; 3f43d
ld a, [PlayerSubStatus4] ld a, [PlayerSubStatus4]
bit SUBSTATUS_SUBSTITUTE, a bit SUBSTATUS_SUBSTITUTE, a
ld hl, BattleAnimCmd_DD ld hl, BattleAnimCmd_DD
jr nz, Function3f46f jr nz, Function3f46f ; substitute
Function3f447: ; 3f447 Function3f447: ; 3f447
ld a, [wc6fe] ld a, [wc6fe]
@@ -8576,7 +8576,7 @@ InitEnemyTrainer: ; 3f594
ld de, VTiles2 ld de, VTiles2
callab GetTrainerPic callab GetTrainerPic
xor a xor a
ld [$ffad], a ld [hFillBox], a
dec a dec a
ld [wc6e6], a ld [wc6e6], a
hlcoord 12, 0 hlcoord 12, 0
@@ -8641,7 +8641,7 @@ InitEnemyWildmon: ; 3f607
predef Function5108b predef Function5108b
xor a xor a
ld [TrainerClass], a ld [TrainerClass], a
ld [$ffad], a ld [hFillBox], a
hlcoord 12, 0 hlcoord 12, 0
lb bc, 7, 7 lb bc, 7, 7
predef FillBox predef FillBox
@@ -9400,7 +9400,7 @@ Function3fb6c: ; 3fb6c
ld a, $1 ld a, $1
ld [hBGMapMode], a ld [hBGMapMode], a
ld a, $31 ld a, $31
ld [$ffad], a ld [hFillBox], a
hlcoord 2, 6 hlcoord 2, 6
lb bc, 6, 6 lb bc, 6, 6
predef FillBox predef FillBox
@@ -9494,7 +9494,7 @@ CopyBackpic: ; 3fc30
ld [rSVBK], a ld [rSVBK], a
call Function3fc5b call Function3fc5b
ld a, $31 ld a, $31
ld [$ffad], a ld [hFillBox], a
hlcoord 2, 6 hlcoord 2, 6
lb bc, 6, 6 lb bc, 6, 6
predef FillBox predef FillBox

View File

@@ -13,7 +13,7 @@ BattleCommandPointers: ; 3fd28
dw BattleCommand_LowerSub ; 34eee dw BattleCommand_LowerSub ; 34eee
dw BattleCommand_HitTargetNoSub ; 34f60 dw BattleCommand_HitTargetNoSub ; 34f60
dw BattleCommand_RaiseSub ; 35004 dw BattleCommand_RaiseSub ; 35004
dw BattleCommand_ResultText ; 35023 dw BattleCommand_FailureText ; 35023
dw BattleCommand_CheckFaint ; 3505e dw BattleCommand_CheckFaint ; 3505e
dw BattleCommand_CriticalText ; 35175 dw BattleCommand_CriticalText ; 35175
dw BattleCommand_SuperEffectiveText ; 351ad dw BattleCommand_SuperEffectiveText ; 351ad

File diff suppressed because it is too large Load Diff

View File

@@ -20,7 +20,7 @@ BattleCommand_Attract: ; 377ce
jp StdBattleTextBox jp StdBattleTextBox
.failed .failed
jp Function37354 jp FailAttract
; 377f5 ; 377f5

View File

@@ -19,5 +19,5 @@ BattleCommand_Foresight: ; 376a0
jp StdBattleTextBox jp StdBattleTextBox
.failed .failed
jp Function37354 jp FailForesight
; 376c2 ; 376c2

View File

@@ -1,8 +1,8 @@
BattleCommand_Metronome: ; 37418 BattleCommand_Metronome: ; 37418
; metronome ; metronome
call Function372d8 call ClearLastMove
call Function34548 call CheckUserIsCharging
jr nz, .asm_3742b jr nz, .asm_3742b
ld a, [wKickCounter] ld a, [wKickCounter]
@@ -12,7 +12,7 @@ BattleCommand_Metronome: ; 37418
ld [wKickCounter], a ld [wKickCounter], a
.asm_3742b .asm_3742b
call PlayPlayerMoveAnim_ClearHiID call LoadMoveAnim
.GetMove .GetMove
call BattleRandom call BattleRandom

View File

@@ -1,7 +1,7 @@
BattleCommand_MirrorMove: ; 373c9 BattleCommand_MirrorMove: ; 373c9
; mirrormove ; mirrormove
call Function372d8 call ClearLastMove
ld a, BATTLE_VARS_MOVE ld a, BATTLE_VARS_MOVE
call GetBattleVarAddr call GetBattleVarAddr
@@ -37,7 +37,7 @@ BattleCommand_MirrorMove: ; 373c9
call GetMoveData call GetMoveData
call GetMoveName call GetMoveName
call CopyName1 call CopyName1
call Function34548 call CheckUserIsCharging
jr nz, .done jr nz, .done
ld a, [wKickCounter] ld a, [wKickCounter]

View File

@@ -23,7 +23,7 @@ ProtectChance: ; 3762c
ld de, EnemyProtectCount ld de, EnemyProtectCount
.asm_37637 .asm_37637
call Function36abf call CheckOpponentWentFirst
jr nz, .failed jr nz, .failed
; Can't have a substitute. ; Can't have a substitute.

View File

@@ -23,5 +23,5 @@ BattleCommand_Spikes: ; 37683
jp StdBattleTextBox jp StdBattleTextBox
.failed .failed
jp Function37354 jp FailSpikes
; 376a0 ; 376a0

View File

@@ -1,50 +1,50 @@
Functionfbd54: ; fbd54 _DisappearUser: ; fbd54
xor a xor a
ld [hBGMapMode], a ; $ff00+$d4 ld [hBGMapMode], a ; $ff00+$d4
ld a, [hBattleTurn] ; $ff00+$e4 ld a, [hBattleTurn] ; $ff00+$e4
and a and a
jr z, .asm_fbd61 jr z, .player
call Functionfbd96 call GetEnemyFrontpicCoords
jr .asm_fbd64 jr .okay
.asm_fbd61 .player
call Functionfbd9d call GetPlayerBackpicCoords
.asm_fbd64 .okay
call ClearBox call ClearBox
jr Functionfbd91 jr FinishAppearDisappearUser
Functionfbd69: ; fbd69 (3e:7d69) _AppearUserRaiseSub: ; fbd69 (3e:7d69)
callba BattleCommand_RaiseSubNoAnim callba BattleCommand_RaiseSubNoAnim
jr Functionfbd77 jr AppearUser
Functionfbd71: ; fbd71 (3e:7d71) _AppearUserLowerSub: ; fbd71 (3e:7d71)
callba BattleCommand_LowerSubNoAnim callba BattleCommand_LowerSubNoAnim
Functionfbd77: ; fbd77 (3e:7d77) AppearUser: ; fbd77 (3e:7d77)
xor a xor a
ld [hBGMapMode], a ; $ff00+$d4 ld [hBGMapMode], a ; $ff00+$d4
ld a, [hBattleTurn] ; $ff00+$e4 ld a, [hBattleTurn] ; $ff00+$e4
and a and a
jr z, .asm_fbd85 jr z, .player
call Functionfbd96 call GetEnemyFrontpicCoords
xor a xor a
jr .asm_fbd8a jr .okay
.asm_fbd85 .player
call Functionfbd9d call GetPlayerBackpicCoords
ld a, $31 ld a, $31
.asm_fbd8a .okay
ld [$ffad], a ld [hFillBox], a
predef FillBox predef FillBox
Functionfbd91: ; fbd91 (3e:7d91) FinishAppearDisappearUser: ; fbd91 (3e:7d91)
ld a, $1 ld a, $1
ld [hBGMapMode], a ; $ff00+$d4 ld [hBGMapMode], a ; $ff00+$d4
ret ret
Functionfbd96: ; fbd96 (3e:7d96) GetEnemyFrontpicCoords: ; fbd96 (3e:7d96)
hlcoord 12, 0 hlcoord 12, 0
lb bc, 7, 7 lb bc, 7, 7
ret ret
Functionfbd9d: ; fbd9d (3e:7d9d) GetPlayerBackpicCoords: ; fbd9d (3e:7d9d)
hlcoord 2, 6 hlcoord 2, 6
lb bc, 6, 6 lb bc, 6, 6
ret ret
@@ -62,7 +62,7 @@ DoWeatherModifiers: ; fbda4
ld a, [de] ld a, [de]
inc de inc de
cp $ff cp $ff
jr z, .asm_fbdc0 jr z, .done_weather_types
cp b cp b
jr nz, .NextWeatherType jr nz, .NextWeatherType
@@ -78,7 +78,7 @@ endr
jr .CheckWeatherType jr .CheckWeatherType
.asm_fbdc0 .done_weather_types
ld de, .WeatherMoveModifiers ld de, .WeatherMoveModifiers
ld a, BATTLE_VARS_MOVE_EFFECT ld a, BATTLE_VARS_MOVE_EFFECT
@@ -217,10 +217,10 @@ DoBadgeTypeBoosts: ; fbe24
ld a, e ld a, e
or d or d
jr nz, .asm_fbe6f jr nz, .done_min
ld e, 1 ld e, 1
.asm_fbe6f .done_min
add hl, de add hl, de
jr nc, .Update jr nc, .Update

File diff suppressed because it is too large Load Diff

View File

@@ -1,26 +1,3 @@
ANIM_SWEET_SCENT_2 EQU 255 ; unused?
ANIM_THROW_POKE_BALL EQU 256
ANIM_SEND_OUT_MON EQU 257 ; seems to also cover shiny
ANIM_RETURN_MON EQU 258
ANIM_CONFUSED EQU 259
ANIM_SLP EQU 260
ANIM_BRN EQU 261
ANIM_PSN EQU 262
ANIM_SAP EQU 263
ANIM_FRZ EQU 264
ANIM_PAR EQU 265
ANIM_IN_LOVE EQU 266
ANIM_IN_SANDSTORM EQU 267
ANIM_IN_NIGHTMARE EQU 268
ANIM_IN_WHIRLPOOL EQU 269
ANIM_MISS EQU 270
ANIM_ENEMY_DAMAGE EQU 271
ANIM_ENEMY_STAT_DOWN EQU 272 ; vibrate horizontally
ANIM_PLAYER_STAT_DOWN EQU 273 ; wobble horizontally
ANIM_PLAYER_DAMAGE EQU 274
ANIM_WOBBLE EQU 275
ANIM_SHAKE EQU 276
ANIM_HIT_CONFUSION EQU 277
ANIM_OBJ_BURNED EQU $10 ANIM_OBJ_BURNED EQU $10
ANIM_OBJ_FROZEN EQU $2a ANIM_OBJ_FROZEN EQU $2a
@@ -71,3 +48,53 @@ ANIM_BG_WOBBLE_MON EQU $34
const ANIM_MON_UNUSED ; 6 const ANIM_MON_UNUSED ; 6
const ANIM_MON_EGG1 ; 7 const ANIM_MON_EGG1 ; 7
const ANIM_MON_EGG2 ; 8 const ANIM_MON_EGG2 ; 8
const_value SET $d0
const BATTLEANIM_D0
const BATTLEANIM_D1
const BATTLEANIM_D2
const BATTLEANIM_D3
const BATTLEANIM_D4
const BATTLEANIM_D5
const BATTLEANIM_D6
const BATTLEANIM_D7
const BATTLEANIM_D8
const BATTLEANIM_D9
const BATTLEANIM_DA
const BATTLEANIM_DB
const BATTLEANIM_DC
const BATTLEANIM_DD
const BATTLEANIM_DE
const BATTLEANIM_DF
const BATTLEANIM_E0
const BATTLEANIM_E1
const BATTLEANIM_E2
const BATTLEANIM_E3
const BATTLEANIM_E4
const BATTLEANIM_E5
const BATTLEANIM_E6
const BATTLEANIM_E7
const BATTLEANIM_E8
const BATTLEANIM_E9
const BATTLEANIM_EA
const BATTLEANIM_EB
const BATTLEANIM_EC
const BATTLEANIM_ED
const BATTLEANIM_EE
const BATTLEANIM_EF
const BATTLEANIM_F0
const BATTLEANIM_F1
const BATTLEANIM_F2
const BATTLEANIM_F3
const BATTLEANIM_F4
const BATTLEANIM_F5
const BATTLEANIM_F6
const BATTLEANIM_F7
const BATTLEANIM_F8
const BATTLEANIM_F9
const BATTLEANIM_FA
const BATTLEANIM_FB
const BATTLEANIM_FC
const BATTLEANIM_FD
const BATTLEANIM_FE
const BATTLEANIM_FF

View File

@@ -256,3 +256,44 @@
const_value SET const_value + -1 const_value SET const_value + -1
const NUM_ATTACKS ; $fb const NUM_ATTACKS ; $fb
; Battle animations use the same constants
; as the moves up to this point.
const ANIM_FC ; $fc
const ANIM_FD ; $fd
const ANIM_FE ; $fe
const ANIM_SWEET_SCENT_2 ; $ff
const ANIM_THROW_POKE_BALL ; $100
const ANIM_SEND_OUT_MON ; $101
const ANIM_RETURN_MON ; $102
const ANIM_CONFUSED ; $103
const ANIM_SLP ; $104
const ANIM_BRN ; $105
const ANIM_PSN ; $106
const ANIM_SAP ; $107
const ANIM_FRZ ; $108
const ANIM_PAR ; $109
const ANIM_IN_LOVE ; $10a
const ANIM_IN_SANDSTORM ; $10b
const ANIM_IN_NIGHTMARE ; $10c
const ANIM_IN_WHIRLPOOL ; $10d
; battle anims
const ANIM_MISS ; $10e
const ANIM_ENEMY_DAMAGE ; $10f
const ANIM_ENEMY_STAT_DOWN ; $110
const ANIM_PLAYER_STAT_DOWN ; $111
const ANIM_PLAYER_DAMAGE ; $112
const ANIM_WOBBLE ; $113
const ANIM_SHAKE ; $114
const ANIM_HIT_CONFUSION ; $115
; wcfca uses offsets from ANIM_MISS
const_def
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

@@ -366,7 +366,7 @@ ParseCredits: ; 1099aa
; First, let's clear the current text display, ; First, let's clear the current text display,
; starting from line 5. ; starting from line 5.
xor a xor a
ld [$ffd4], a ld [hBGMapMode], a
hlcoord 0, 5 hlcoord 0, 5
ld bc, 20 * 12 ld bc, 20 * 12
ld a, " " ld a, " "
@@ -479,9 +479,9 @@ endr
ld [CreditsTimer], a ld [CreditsTimer], a
xor a xor a
ld [$ffd5], a ld [hBGMapThird], a
ld a, 1 ld a, 1
ld [$ffd4], a ld [hBGMapMode], a
.done .done
jp Function109951 jp Function109951

View File

@@ -440,14 +440,14 @@ Script_closetext: ; 0x96ed9
Script_keeptextopen: ; 0x96edc Script_keeptextopen: ; 0x96edc
; script command 0x55 ; script command 0x55
ld a, [$ffd8] ld a, [hOAMUpdate]
push af push af
ld a, $1 ld a, $1
ld [$ffd8], a ld [hOAMUpdate], a
call WaitBGMap call WaitBGMap
call KeepTextOpen call KeepTextOpen
pop af pop af
ld [$ffd8], a ld [hOAMUpdate], a
ret ret
; 0x96eed ; 0x96eed

View File

@@ -1724,7 +1724,7 @@ Function378b:: ; 378b
predef GetFrontpic predef GetFrontpic
pop hl pop hl
xor a xor a
ld [$ffad], a ld [hFillBox], a
lb bc, 7, 7 lb bc, 7, 7
predef FillBox predef FillBox
xor a xor a
@@ -1991,57 +1991,6 @@ Function392d:: ; 392d
INCLUDE "home/battle.asm" INCLUDE "home/battle.asm"
Function3ae1:: ; 3ae1
GLOBAL BattleAnimations
GLOBAL BattleAnimCommands
ld a, BANK(BattleAnimations)
rst Bankswitch
ld a, [hli]
ld [BattleAnimAddress], a
ld a, [hl]
ld [BattleAnimAddress + 1], a
ld a, BANK(BattleAnimCommands)
rst Bankswitch
ret
; 3af0
GetBattleAnimByte:: ; 3af0
push hl
push de
ld hl, BattleAnimAddress
ld e, [hl]
inc hl
ld d, [hl]
ld a, BANK(BattleAnimations)
rst Bankswitch
ld a, [de]
ld [BattleAnimByte], a
inc de
ld a, BANK(BattleAnimCommands)
rst Bankswitch
ld [hl], d
dec hl
ld [hl], e
pop de
pop hl
ld a, [BattleAnimByte]
ret
; 3b0c
Function3b0c:: ; 3b0c Function3b0c:: ; 3b0c
ld a, [hLCDStatCustom] ld a, [hLCDStatCustom]

View File

@@ -309,3 +309,53 @@ GLOBAL BattleText
rst Bankswitch rst Bankswitch
ret ret
; 3ae1 ; 3ae1
GetBattleAnimPointer:: ; 3ae1
GLOBAL BattleAnimations
GLOBAL BattleAnimCommands
ld a, BANK(BattleAnimations)
rst Bankswitch
ld a, [hli]
ld [BattleAnimAddress], a
ld a, [hl]
ld [BattleAnimAddress + 1], a
ld a, BANK(BattleAnimCommands)
rst Bankswitch
ret
; 3af0
GetBattleAnimByte:: ; 3af0
push hl
push de
ld hl, BattleAnimAddress
ld e, [hl]
inc hl
ld d, [hl]
ld a, BANK(BattleAnimations)
rst Bankswitch
ld a, [de]
ld [BattleAnimByte], a
inc de
ld a, BANK(BattleAnimCommands)
rst Bankswitch
ld [hl], d
dec hl
ld [hl], e
pop de
pop hl
ld a, [BattleAnimByte]
ret
; 3b0c

View File

@@ -124,9 +124,10 @@ LoadMapPart:: ; 217a
; 2198 ; 2198
LoadMetatiles:: ; 2198 LoadMetatiles:: ; 2198
; de <- wd194
ld a, [wd194] ld a, [wd194]
ld e, a ld e, a
ld a, [wd195] ld a, [wd194 + 1]
ld d, a ld d, a
ld hl, wMisc ld hl, wMisc
ld b, 5 ; SCREEN_WIDTH / 4 ld b, 5 ; SCREEN_WIDTH / 4
@@ -163,20 +164,21 @@ endr
ld h, a ld h, a
rept 3 rept 3
; copy 4 bytes from hl to de
rept 4 rept 4
ld a, [hli] ld a, [hli]
ld [de], a ld [de], a
inc de inc de
endr endr
; next row
ld a, e ld a, e
add 5 * 4 add SCREEN_WIDTH
ld e, a ld e, a
jr nc, .next\@ jr nc, .next\@
inc d inc d
.next\@ .next\@
endr endr
; copy 4 more bytes from hl to de
rept 4 rept 4
ld a, [hli] ld a, [hli]
ld [de], a ld [de], a

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