shithub: pokecrystal

Download patch

ref: ddc88bed4bab836b04ae11f0404baa03d001d3df
parent: 2a2b5d7f23fc4b0beda9ae9ab084d145c7690953
author: yenatch <[email protected]>
date: Mon May 5 11:58:43 EDT 2014

Use a macro for sine waves.

So far they're identical, but amplitude could change.

--- a/macros.asm
+++ b/macros.asm
@@ -191,3 +191,14 @@
 ENDM
 
 
+sine_wave: MACRO
+; \1: amplitude
+
+x = 0
+	rept $20
+	; Round up.
+	dw (sin(x) + (sin(x) & $ff)) >> 8
+x = x + \1 * $40000
+	endr
+ENDM
+
--- a/main.asm
+++ b/main.asm
@@ -7722,11 +7722,7 @@
 SineWave: ; 850b
 ; A $20-word table representing a sine wave.
 ; 90 degrees is index $10 at a base amplitude of $100.
-x	set 0
-	rept $20
-	dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
-x	set x + $100 * $40000
-	endr
+	sine_wave $100
 ; 854b
 
 
@@ -52516,12 +52512,7 @@
 ; 49b6e (12:5b6e)
 
 Unknown_49b6e: ; 49b6e
-; Yet another sine wave.
-x	set 0
-	rept $20
-	dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
-x	set x + $100 * $40000
-	endr
+	sine_wave $100
 ; 49bae
 
 Function49bae: ; 49bae
@@ -75538,12 +75529,7 @@
 ; 8c728 (23:4728)
 
 Unknown_8c728: ; 8c728
-; Another sine wave?
-x	set 0
-	rept $20
-	dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
-x	set x + $100 * $40000
-	endr
+	sine_wave $100
 ; 8c768
 
 ; no known jump sources
@@ -79367,12 +79353,7 @@
 ; 8e75d
 
 Unknown_8e75d: ; 8e75d
-; A sine wave.
-x	set 0
-	rept $20
-	dw (sin(x) + (sin(x) & $ff)) >> 8 ; round up
-x	set x + $100 * $40000
-	endr
+	sine_wave $100
 
 
 Function8e79d: ; 8e79d