Mario Kart 64
Loading...
Searching...
No Matches
macros.h File Reference

Go to the source code of this file.

Macros

#define GLOBAL_ASM(...)
 
#define ARRAY_COUNT(arr)   (s32)(sizeof(arr) / sizeof(arr[0]))
 
#define GLUE(a, b)   a ## b
 
#define GLUE2(a, b)   GLUE(a, b)
 
#define UNUSED
 
#define NORETURN
 
#define STATIC_ASSERT(cond, msg)   typedef char GLUE2(static_assertion_failed, __LINE__)[(cond) ? 1 : -1]
 
#define ALIGNED8
 
#define ALIGNED16
 
#define FTOFIX(f)   ((s32)((f) * 65536.0))
 
#define ITOFIX(i)   ((s32)((i) << 16))
 
#define FIXTOF(x)   ((double)((x) / 65536.0))
 
#define FIXTOI(x)   ((s32)((x) >> 16))
 
#define toFixedInt(f)   (FTOFIX(f) >> 16)
 
#define toFrac(f)   (FTOFIX(f) & 0xFFFF)
 
#define toFixedPointMatrix(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16)
 
#define VIRTUAL_TO_PHYSICAL(addr)   ((uintptr_t)(addr) & 0x1FFFFFFF)
 
#define PHYSICAL_TO_VIRTUAL(addr)   ((uintptr_t)(addr) | 0x80000000)
 
#define VIRTUAL_TO_PHYSICAL2(addr)   ((u8 *)(addr) - 0x80000000U)
 
#define ALIGN16(val)   (((val) + 0xF) & ~0xF)
 
#define GET_PACKED_END(dl)   (((u8*) dl) + sizeof(dl) - sizeof(dl[0]) - 0x07000000)
 

Macro Definition Documentation

◆ ALIGN16

#define ALIGN16 ( val)    (((val) + 0xF) & ~0xF)

◆ ALIGNED16

#define ALIGNED16

◆ ALIGNED8

#define ALIGNED8

◆ ARRAY_COUNT

#define ARRAY_COUNT ( arr)    (s32)(sizeof(arr) / sizeof(arr[0]))

◆ FIXTOF

#define FIXTOF ( x)    ((double)((x) / 65536.0))

◆ FIXTOI

#define FIXTOI ( x)    ((s32)((x) >> 16))

◆ FTOFIX

#define FTOFIX ( f)    ((s32)((f) * 65536.0))

◆ GET_PACKED_END

#define GET_PACKED_END ( dl)    (((u8*) dl) + sizeof(dl) - sizeof(dl[0]) - 0x07000000)

(u8*) dl : Cast array down to u8's

◆ GLOBAL_ASM

#define GLOBAL_ASM ( ...)

◆ GLUE

#define GLUE ( a,
b )   a ## b

◆ GLUE2

#define GLUE2 ( a,
b )   GLUE(a, b)

◆ ITOFIX

#define ITOFIX ( i)    ((s32)((i) << 16))

◆ NORETURN

#define NORETURN

◆ PHYSICAL_TO_VIRTUAL

#define PHYSICAL_TO_VIRTUAL ( addr)    ((uintptr_t)(addr) | 0x80000000)

◆ STATIC_ASSERT

#define STATIC_ASSERT ( cond,
msg )   typedef char GLUE2(static_assertion_failed, __LINE__)[(cond) ? 1 : -1]

◆ toFixedInt

#define toFixedInt ( f)    (FTOFIX(f) >> 16)

◆ toFixedPointMatrix

#define toFixedPointMatrix ( x1,
x2,
x3,
x4,
x5,
x6,
x7,
x8,
x9,
x10,
x11,
x12,
x13,
x14,
x15,
x16 )
Value:
{{((toFixedInt(x1)) << 16) | toFixedInt(x2), ((toFixedInt(x3)) << 16) | toFixedInt(x4), (toFixedInt(x5) << 16) | toFixedInt(x6), (toFixedInt(x7) << 16) | toFixedInt(x8)}, \
{((toFixedInt(x9)) << 16) | toFixedInt(x10), ((toFixedInt(x11)) << 16) | toFixedInt(x12), (toFixedInt(x13) << 16) | toFixedInt(x14), (toFixedInt(x15) << 16) | toFixedInt(x16)}, \
{((toFrac(x1)) << 16) | toFrac(x2), ((toFrac(x3)) << 16) | toFrac(x4), (toFrac(x5) << 16) | toFrac(x6), (toFrac(x7) << 16) | toFrac(x8)}, \
{((toFrac(x9)) << 16) | toFrac(x10), ((toFrac(x11)) << 16) | toFrac(x12), (toFrac(x13) << 16) | toFrac(x14), (toFrac(x15) << 16) | toFrac(x16)}}
s16 gCourseMaxZ
Definition code_800029B0.c:93
#define toFixedInt(f)
Definition macros.h:62
#define toFrac(f)
Definition macros.h:63

◆ toFrac

#define toFrac ( f)    (FTOFIX(f) & 0xFFFF)

◆ UNUSED

#define UNUSED

◆ VIRTUAL_TO_PHYSICAL

#define VIRTUAL_TO_PHYSICAL ( addr)    ((uintptr_t)(addr) & 0x1FFFFFFF)

◆ VIRTUAL_TO_PHYSICAL2

#define VIRTUAL_TO_PHYSICAL2 ( addr)    ((u8 *)(addr) - 0x80000000U)