SSBM Decomp
Loading...
Searching...
No Matches
m2c_macros.h
Go to the documentation of this file.
1
8#ifndef M2C_MACROS_H
9#define M2C_MACROS_H
10
11#include <platform.h>
12
13/* Unknown types */
14typedef s32 M2C_UNK;
15typedef s8 M2C_UNK8;
16typedef s16 M2C_UNK16;
17typedef s32 M2C_UNK32;
18typedef s64 M2C_UNK64;
19
20/* Unknown field access, like `*(type_ptr) &expr->unk_offset` */
21#define M2C_FIELD(expr, type_ptr, offset) \
22 (*(type_ptr) ((s8*) (expr) + (offset)))
23
24/* Bitwise (reinterpret) cast */
25#define M2C_BITWISE(type, expr) ((type) (expr))
26
27/* Unaligned reads */
28#define M2C_LWL(expr) (expr)
29#define M2C_FIRST3BYTES(expr) (expr)
30#define M2C_UNALIGNED32(expr) (expr)
31
32/* Unhandled instructions */
33#define M2C_ERROR(desc) (0)
34#define M2C_TRAP_IF(cond) (0)
35#define M2C_BREAK() (0)
36#define M2C_SYNC() (0)
37
38/* Carry bit from partially-implemented instructions */
39#define M2C_CARRY 0
40
41/* Memcpy patterns */
42#define M2C_MEMCPY_ALIGNED memcpy
43#define M2C_MEMCPY_UNALIGNED memcpy
44
45#endif
s8 M2C_UNK8
Definition m2c_macros.h:15
s64 M2C_UNK64
Definition m2c_macros.h:18
s32 M2C_UNK32
Definition m2c_macros.h:17
s16 M2C_UNK16
Definition m2c_macros.h:16
s32 M2C_UNK
Definition m2c_macros.h:14
signed char s8
A signed 8-bit integer.
Definition platform.h:8
signed long long s64
A signed 64-bit integer.
Definition platform.h:17
signed short s16
A signed 16-bit integer.
Definition platform.h:11
signed long s32
A signed 32-bit integer.
Definition platform.h:14