summaryrefslogtreecommitdiff
path: root/engine/battle_anims/functions.asm
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/battle_anims/functions.asm
parent271aa20b73f699819351e787c58d0d14694eb135 (diff)
Macro factors out sine code, just like sine data, since it's used 5 times
Diffstat (limited to 'engine/battle_anims/functions.asm')
-rwxr-xr-xengine/battle_anims/functions.asm42
1 files changed, 4 insertions, 38 deletions
diff --git a/engine/battle_anims/functions.asm b/engine/battle_anims/functions.asm
index 28612e636..e0eedec86 100755
--- a/engine/battle_anims/functions.asm
+++ b/engine/battle_anims/functions.asm
@@ -4125,45 +4125,11 @@ BattleAnim_IncAnonJumptableIndex: ; ce72c (33:672c)
BattleAnim_Cosine: ; ce732 (33:6732)
; a = d * cos(a * pi/32)
- add %010000
+ add %010000 ; cos(x) = sin(x + pi/2)
+ ; fallthrough
BattleAnim_Sine: ; ce734 (33:6734)
; a = d * sin(a * pi/32)
- 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:
- ld e, a
- ld a, d
- ld d, 0
- ld hl, BattleAnimSineWave
- 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
+ calc_sine_wave BattleAnimSineWave
BattleAnim_Sine_e: ; ce765 (33:6765)
ld a, e
@@ -4195,5 +4161,5 @@ BattleAnim_AbsCosinePrecise: ; ce778
; ce77f
BattleAnimSineWave: ; ce77f
- sine_wave 32
+ sine_table 32
; ce7bf