summaryrefslogtreecommitdiff
path: root/src/engine/home.asm
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/home.asm')
-rw-r--r--src/engine/home.asm31
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