summaryrefslogtreecommitdiff
path: root/engine/events
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2018-02-03 21:11:55 -0500
committerRangi <remy.oukaour+rangi42@gmail.com>2018-02-03 21:11:55 -0500
commit73ea7c6326f16f84de1cf74193705328d1664645 (patch)
tree31c6e407dd73df136f34c7945c8198afb2746f0a /engine/events
parent271aa20b73f699819351e787c58d0d14694eb135 (diff)
Macro factors out sine code, just like sine data, since it's used 5 times
Diffstat (limited to 'engine/events')
-rwxr-xr-xengine/events/celebi.asm43
1 files changed, 2 insertions, 41 deletions
diff --git a/engine/events/celebi.asm b/engine/events/celebi.asm
index 87876f1cb..99c22f49f 100755
--- a/engine/events/celebi.asm
+++ b/engine/events/celebi.asm
@@ -241,47 +241,8 @@ UpdateCelebiPosition: ; 49aa2 (12:5aa2)
CelebiEvent_Cosine: ; 49b3b (12:5b3b)
; a = d * cos(a * pi/32)
- add %010000
- and %111111
- cp %100000
- jr nc, .negative
- call .ApplySineWave
- ld a, h
- ret
-
-.negative
- and %011111
- call .ApplySineWave
- ld a, h
- xor $ff
- inc a
- ret
-
-.ApplySineWave: ; 49b52 (12:5b52)
- ld e, a
- ld a, d
- ld d, 0
- ld hl, .sinewave
- add hl, de
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, 0
-.multiply
- srl a
- jr nc, .even
- add hl, de
-.even
- sla e
- rl d
- and a
- jr nz, .multiply
- ret
-; 49b6e (12:5b6e)
-
-.sinewave ; 49b6e
- sine_wave 32
+ add %010000 ; cos(x) = sin(x + pi/2)
+ calc_sine_wave
; 49bae
GetCelebiSpriteTile: ; 49bae