diff options
Diffstat (limited to 'src/engine/home.asm')
-rw-r--r-- | src/engine/home.asm | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/engine/home.asm b/src/engine/home.asm index 6f8ae26..944a99f 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -11119,36 +11119,39 @@ CheckAnyAnimationPlaying: ; 3b52 (0:3b52) pop hl ret +; plays duel animation +; the animations are loaded to a buffer +; and played in order, so they can be stacked ; input: ; - a = animation index -Func_3b6a: ; 3b6a (0:3b6a) +PlayDuelAnimation: ; 3b6a (0:3b6a) ld [wTempAnimation], a ; hold an animation temporarily ldh a, [hBankROM] push af - ld [wd4be], a + ld [wDuelAnimReturnBank], a push hl push bc push de - ld a, BANK(Func_1ca31) ; BANK(Func_1c8ef) + ld a, BANK(LoadDuelAnimationToBuffer) call BankswitchROM ld a, [wTempAnimation] - cp $61 - jr nc, .asm_3b90 + cp DUEL_SPECIAL_ANIMS + jr nc, .load_buffer - ld hl, wd4ad - ld a, [wd4ac] + ld hl, wDuelAnimBufferSize + ld a, [wDuelAnimBufferCurPos] cp [hl] - jr nz, .asm_3b90 + jr nz, .load_buffer call CheckAnyAnimationPlaying - jr nc, .asm_3b95 + jr nc, .play_anim -.asm_3b90 - call Func_1ca31 +.load_buffer + call LoadDuelAnimationToBuffer jr .done -.asm_3b95 - call Func_1c8ef +.play_anim + call PlayLoadedDuelAnimation jr .done .done @@ -11175,7 +11178,7 @@ Func_3bb5: ; 3bb5 (0:3bb5) ld [wd4c0], a ldh a, [hBankROM] push af - ld a, [wd4be] + ld a, [wDuelAnimReturnBank] call BankswitchROM call Func_3cb4 call CallHL2 |