porting voxscape to gba
[gbajam22] / tools / lutgen.c
index 70d7641..1dbb47a 100644 (file)
@@ -1,6 +1,9 @@
 #include <stdio.h>
 #include <math.h>
 
+#define SINLUT_SIZE            256
+#define SINLUT_SCALE   32767.0
+
 int main(void)
 {
        int i;
@@ -8,9 +11,10 @@ int main(void)
        puts("\t.data");
        puts("\t.globl sinlut");
        puts("sinlut:");
-       for(i=0; i<256; i++) {
-               float x = sin((float)i / 128.0f * M_PI);
-               printf("\t.short %d\n", (int)(x * 256.0f));
+       for(i=0; i<SINLUT_SIZE; i++) {
+               float t = (float)i / SINLUT_SIZE;
+               float theta = t * (M_PI * 2);
+               printf("\t.short %d\n", (int)(sin(theta) * SINLUT_SCALE));
        }
        return 0;
 }