1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#include "ultra64.h" #include "sintable.inc.c" /** * @param angle binang * @return sin(angle)*0x7FFF */ s16 sins(u16 angle) { s16 value; angle >>= 4; if (angle & 0x400) { value = sintable[0x3FF - (angle & 0x3FF)]; } else { value = sintable[angle & 0x3FF]; } if (angle & 0x800) { return -value; } else { return value; } }