aboutsummaryrefslogtreecommitdiff
path: root/animations
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-05-13 15:52:37 +0200
committerAstatin <[email protected]>2025-05-13 15:52:37 +0200
commitef9de76cd0bc313385b7edac3659e03ab36d3c1e (patch)
tree4125a1ba04438d8e9db5262d24b525f370a41f2f /animations
parentb0f9e2e6d53983faa9d213b40d2bd6a23473e134 (diff)
Add bugs and poison
Diffstat (limited to 'animations')
-rw-r--r--animations/bubbles.gbasm101
1 files changed, 101 insertions, 0 deletions
diff --git a/animations/bubbles.gbasm b/animations/bubbles.gbasm
new file mode 100644
index 0000000..6678e1e
--- /dev/null
+++ b/animations/bubbles.gbasm
@@ -0,0 +1,101 @@
+Bubbles_Animation:
+ INC HL
+
+ LD A, (HL+)
+ ADD $80
+ LD D, A
+ LD A, $mem_viewport_x
+ LD B, A
+ SUB $82
+ CP D
+ RET NC
+ ADD $0e
+ CP D
+ RET C
+ LD A, D
+ SUB $80
+ SUB B
+ AND $0f
+ SWAP A
+ LD B, A
+
+
+ LD A, (HL+)
+ ADD $80
+ LD D, A
+ LD A, $mem_viewport_y
+ LD C, A
+ SUB $82
+ CP D
+ RET NC
+ ADD $0d
+ CP D
+ RET C
+ LD A, D
+ SUB $80
+ SUB C
+ AND $0f
+ SWAP A
+ ADD $06
+ LD C, A
+
+ LD E, (HL)
+ DEC E
+ XOR A
+ CP E
+ JP Z, =End_animation
+ LD (HL), E
+ LD A, $20
+ SUB E
+ LD E, A
+
+ .ADD_MOVING_ANIMATION_OFFSET
+
+ PUSH HL
+ LD HL, $mem_oam_buffer
+ LD A, $mem_oam_buffer_low
+ LD L, A
+
+ LD D, E
+ SRA D
+ LD A, C
+ SUB D
+ ADD $0c
+ LD (HL+), A
+ LD A, B
+ LD (HL+), A
+ LD A, E
+ SRA A
+ SRA A
+ AND $02
+ ADD $vram_animation_index
+ ADD $06 ; bubbles
+
+ LD (HL+), A
+ LD A, $00
+ LD (HL+), A
+
+ SRA D
+ LD A, C
+ SUB D
+ ADD $08
+ LD (HL+), A
+ LD A, B
+ ADD $08
+ LD (HL+), A
+ LD A, E
+ SRA A
+ SRA A
+ AND $02
+ ADD $vram_animation_index
+ ADD $06 ; bubbles
+
+ LD (HL+), A
+ LD A, $00
+ LD (HL+), A
+
+ LD A, L
+ LD $mem_oam_buffer_low, A
+
+ POP HL
+ RET