Added fixed-point types used by 3D engine.
This commit is contained in:
parent
68f8400636
commit
256a3336c4
|
@ -74,6 +74,34 @@ typedef u8 uint8;
|
||||||
typedef u16 uint16;
|
typedef u16 uint16;
|
||||||
typedef u32 uint32;
|
typedef u32 uint32;
|
||||||
|
|
||||||
|
/*---------- GPU3D fixed-points types -----------*/
|
||||||
|
|
||||||
|
typedef s32 f32;
|
||||||
|
#define inttof32(n) ((n) << 12)
|
||||||
|
#define f32toint(n) ((n) >> 12)
|
||||||
|
#define floattof32(n) ((int32)((n) * (1 << 12)))
|
||||||
|
#define f32tofloat(n) (((float)(n)) / (float)(1<<12))
|
||||||
|
|
||||||
|
typedef s16 t16;
|
||||||
|
#define f32tot16(n) ((t16)(n >> 8))
|
||||||
|
#define inttot16(n) ((n) << 4)
|
||||||
|
#define t16toint(n) ((n) >> 4)
|
||||||
|
#define floattot16(n) ((t16)((n) * (1 << 4)))
|
||||||
|
|
||||||
|
typedef s16 v16;
|
||||||
|
#define inttov16(n) ((n) << 12)
|
||||||
|
#define f32tov16(n) (n)
|
||||||
|
#define v16toint(n) ((n) >> 12)
|
||||||
|
#define floattov16(n) ((v16)((n) * (1 << 12)))
|
||||||
|
|
||||||
|
typedef s16 v10;
|
||||||
|
#define inttov10(n) ((n) << 9)
|
||||||
|
#define f32tov10(n) ((v10)(n >> 3))
|
||||||
|
#define v10toint(n) ((n) >> 9)
|
||||||
|
#define floattov10(n) ((v10)((n) * (1 << 9)))
|
||||||
|
|
||||||
|
/*----------------------*/
|
||||||
|
|
||||||
typedef int BOOL;
|
typedef int BOOL;
|
||||||
|
|
||||||
#ifndef TRUE
|
#ifndef TRUE
|
||||||
|
|
Loading…
Reference in New Issue