51#ifndef OPENSNES_MATH_H
52#define OPENSNES_MATH_H
86#define FIX(x) ((fixed)(s16)((u16)(x) << 8))
100#define UNFIX(x) ((s16)((x) >> 8))
112#define UNFIX_ROUND(x) ((s16)(((s32)(x) + 128) >> 8))
119#define FIX_FRAC(x) ((u8)((x) & 0xFF))
132#define FIX_MAKE(i, f) ((fixed)(((i) << 8) | (f)))
static u16 b
Definition main.c:156
static u16 a
Definition main.c:156
signed short s16
16-bit signed integer (-32768 to 32767)
Definition types.h:50
unsigned short u16
16-bit unsigned integer (0 to 65535)
Definition types.h:53
unsigned char u8
8-bit unsigned integer (0 to 255)
Definition types.h:47
fixed fixCos(u8 angle)
Get cosine value for angle.
fixed fixClamp(fixed x, fixed min, fixed max)
Clamp value to range.
fixed fixSqrt(fixed x)
Square root in 8.8 fixed-point.
u16 div16(u16 dividend, u16 divisor)
Safe 16-bit division.
u8 easeOutQuad(u8 t)
Ease-out quadratic: 1 - (1-t)² curve, output [0, 255].
u16 sqrt16(u16 n)
Integer square root.
fixed fixAbs(fixed x)
Absolute value of fixed-point.
fixed fixMul(fixed a, fixed b)
Multiply two fixed-point values.
fixed fixSin(u8 angle)
Get sine value for angle.
u8 atan2_8(s16 dy, s16 dx)
8-bit two-argument arctangent
s16 fixed
8.8 signed fixed-point type
Definition math.h:69
fixed fixDiv(fixed a, fixed b)
Divide two fixed-point values.
u16 mod16(u16 dividend, u16 divisor)
Get remainder of division.
fixed fixLerp(fixed a, fixed b, u16 t)
Linear interpolation.
u16 mul16(u16 a, u16 b)
Safe 16-bit multiplication.
u8 easeInQuad(u8 t)
Ease-in quadratic: t² curve, output [0, 255].
static u16 angle
Mode 7 ground: 9-tile prefab track (original art).
Definition main.c:46