summaryrefslogtreecommitdiff
path: root/home/sprite_anims.asm
diff options
context:
space:
mode:
Diffstat (limited to 'home/sprite_anims.asm')
-rw-r--r--home/sprite_anims.asm53
1 files changed, 53 insertions, 0 deletions
diff --git a/home/sprite_anims.asm b/home/sprite_anims.asm
new file mode 100644
index 000000000..b5a3fce56
--- /dev/null
+++ b/home/sprite_anims.asm
@@ -0,0 +1,53 @@
+PushLYOverrides:: ; 3b0c
+ ld a, [hLCDCPointer]
+ and a
+ ret z
+
+ ld a, LOW(wLYOverridesBackup)
+ ld [wRequested2bppSource], a
+ ld a, HIGH(wLYOverridesBackup)
+ ld [wRequested2bppSource + 1], a
+
+ ld a, LOW(wLYOverrides)
+ ld [wRequested2bppDest], a
+ ld a, HIGH(wLYOverrides)
+ ld [wRequested2bppDest + 1], a
+
+ ld a, (wLYOverridesEnd - wLYOverrides) / 16
+ ld [wRequested2bpp], a
+ ret
+; 3b2a
+
+_InitSpriteAnimStruct:: ; 3b2a
+ ld [wSpriteAnimIDBuffer], a
+ ld a, [hROMBank]
+ push af
+
+ ld a, BANK(InitSpriteAnimStruct)
+ rst Bankswitch
+ ld a, [wSpriteAnimIDBuffer]
+
+ call InitSpriteAnimStruct
+
+ pop af
+ rst Bankswitch
+
+ ret
+; 3b3c
+
+ReinitSpriteAnimFrame:: ; 3b3c
+ ld [wSpriteAnimIDBuffer], a
+ ld a, [hROMBank]
+ push af
+
+ ld a, BANK(_ReinitSpriteAnimFrame)
+ rst Bankswitch
+ ld a, [wSpriteAnimIDBuffer]
+
+ call _ReinitSpriteAnimFrame
+
+ pop af
+ rst Bankswitch
+
+ ret
+; 3b4e