shithub: pokecrystal

Download patch

ref: 45373ec601e5af5bc2be7a72b8556e4311efdc05
parent: f258ff8a417ba44a3cc0679c59f1a278ea108ed2
author: Rangi <[email protected]>
date: Fri Feb 2 17:45:42 EST 2018

sine_wave macro parameterizes table size, not frequency ("amplitude" was an incorrect comment)

--- a/engine/battle/battle_transition.asm
+++ b/engine/battle/battle_transition.asm
@@ -789,7 +789,7 @@
 ; 8c728 (23:4728)
 
 .sinewave ; 8c728
-	sine_wave $100
+	sine_wave 32
 ; 8c768
 
 StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768)
--- a/engine/battle_anims/functions.asm
+++ b/engine/battle_anims/functions.asm
@@ -4157,5 +4157,5 @@
 
 ; ce77f
 BattleAnimSineWave: ; ce77f
-	sine_wave $100
+	sine_wave 32
 ; ce7bf
--- a/engine/events/celebi.asm
+++ b/engine/events/celebi.asm
@@ -281,7 +281,7 @@
 ; 49b6e (12:5b6e)
 
 .sinewave ; 49b6e
-	sine_wave $100
+	sine_wave 32
 ; 49bae
 
 GetCelebiSpriteTile: ; 49bae
--- a/engine/routines/sine.asm
+++ b/engine/routines/sine.asm
@@ -45,4 +45,4 @@
 .sinewave ; 850b
 ; A $20-word table representing a sine wave.
 ; 90 degrees is index $10 at a base amplitude of $100.
-	sine_wave $100
+	sine_wave 32
--- a/engine/sprites.asm
+++ b/engine/sprites.asm
@@ -620,7 +620,7 @@
 ; 8e75d
 
 .sinewave ; 8e75d
-	sine_wave $100
+	sine_wave 32
 
 
 AnimateEndOfExpBar: ; 8e79d
--- a/macros/data.asm
+++ b/macros/data.asm
@@ -31,29 +31,29 @@
 ENDM
 
 dn: MACRO ; nybbles
-	rept _NARG / 2
+rept _NARG / 2
 	db ((\1) << 4) | (\2)
 	shift
 	shift
-	endr
+endr
 ENDM
 
 dc: MACRO ; "crumbs"
-	rept _NARG / 4
+rept _NARG / 4
 	db ((\1) << 6) | ((\2) << 4) | ((\3) << 2) | (\4)
 	shift
 	shift
 	shift
 	shift
-	endr
+endr
 ENDM
 
 dx: MACRO
 x = 8 * ((\1) - 1)
-	rept \1
+rept \1
 	db ((\2) >> x) & $ff
 x = x + -8
-	endr
+endr
 ENDM
 
 dt: MACRO ; three-byte (big-endian)
@@ -69,17 +69,17 @@
 ENDM
 
 dba: MACRO ; dbw bank, address
-	rept _NARG
+rept _NARG
 	dbw BANK(\1), \1
 	shift
-	endr
+endr
 ENDM
 
 dab: MACRO ; dwb address, bank
-	rept _NARG
+rept _NARG
 	dwb \1, BANK(\1)
 	shift
-	endr
+endr
 ENDM
 
 dba_pic: MACRO ; dbw bank, address
@@ -112,19 +112,17 @@
 
 
 sine_wave: MACRO
-; \1: amplitude
 x = 0
-	rept $20
-	; Round up.
-	dw (sin(x) + (sin(x) & $ff)) >> 8
-x = x + (\1) * $40000
-	endr
+rept \1
+	dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
+x = x + (32768.0 / \1) ; a circle has 65536.0 "degrees"
+endr
 ENDM
 
 
 bcd: MACRO
-	rept _NARG
+rept _NARG
 	dn ((\1) % 100) / 10, (\1) % 10
 	shift
-	endr
+endr
 ENDM