sgdk
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1
10#ifndef _TYPES_H_
11#define _TYPES_H_
12
17#ifndef FALSE
18#define FALSE 0
19#endif
24#ifndef TRUE
25#define TRUE 1
26#endif
31#ifndef NULL
32#define NULL 0
33#endif
34
35#ifndef MIN_U8
36#define MIN_U8 0x00
37#endif
38#ifndef MAX_U8
39#define MAX_U8 0xFF
40#endif
41#ifndef MIN_S8
42#define MIN_S8 -0x80
43#endif
44#ifndef MAX_S8
45#define MAX_S8 0x7F
46#endif
47
48#ifndef MIN_U16
49#define MIN_U16 0x0000
50#endif
51#ifndef MAX_U16
52#define MAX_U16 0xFFFF
53#endif
54#ifndef MIN_S16
55#define MIN_S16 -0x8000
56#endif
57#ifndef MAX_S16
58#define MAX_S16 0x7FFF
59#endif
60
61#ifndef MIN_U32
62#define MIN_U32 0x0000
63#endif
64#ifndef MAX_U32
65#define MAX_U32 0xFFFFFFFF
66#endif
67#ifndef MIN_S32
68#define MIN_S32 -0x80000000
69#endif
70#ifndef MAX_S32
71#define MAX_S32 0x7FFFFFFF
72#endif
73
74
79typedef char s8;
84typedef short s16;
89typedef long s32;
90
95typedef unsigned char u8;
100typedef unsigned short u16;
105typedef unsigned long u32;
106
112#ifndef __cplusplus
113typedef u8 bool;
114#endif
115
120typedef volatile s8 vs8;
125typedef volatile s16 vs16;
130typedef volatile s32 vs32;
131
136typedef volatile u8 vu8;
141typedef volatile u16 vu16;
146typedef volatile u32 vu32;
147
153typedef vu8 vbool;
154
160typedef s16 p16;
161
162
163#if !defined(uint8_t) && !defined(__int8_t_defined)
164#define uint8_t u8
165#define int8_t s8
166#endif
167#if !defined(uint16_t) && !defined(__int16_t_defined)
168#define uint16_t u16
169#define int16_t s16
170#endif
171#if !defined(uint32_t) && !defined(__int32_t_defined)
172#define uint32_t u32
173#define int32_t s32
174#endif
175
176
181typedef s16 fix16;
186typedef s32 fix32;
191typedef s16 f16;
196typedef s32 f32;
197
212typedef s16 ff16;
217typedef s32 ff32;
218
223typedef vs16 vfix16;
228typedef vs32 vfix32;
233typedef vs16 vf16;
238typedef vs32 vf32;
239
240
241#define FASTCALL
242
256typedef struct
257{
258 s16 x;
259 s16 y;
260 u16 w;
261 u16 h;
262} Box;
263
275typedef struct
276{
277 s16 x;
278 s16 y;
279 u16 ray;
280} Circle;
281
282
283typedef void VoidCallback(void);
284
285
286u8 getZeroU8(void);
287u16 getZeroU16(void);
288u32 getZeroU32(void);
289
299u8 rol8(u8 value, u16 number);
309u16 rol16(u16 value, u16 number);
319u32 rol32(u32 value, u16 number);
329u8 ror8(u8 value, u16 number);
339u16 ror16(u16 value, u16 number);
349u32 ror32(u32 value, u16 number);
350
351
352#endif // _TYPES_H_
Simple Box structure.
Definition types.h:257
Simple Circle structure.
Definition types.h:276
u8 rol8(u8 value, u16 number)
ROL instruction for byte (8 bit) value.
Definition types.c:19
s16 ff16
Definition types.h:212
volatile s8 vs8
Definition types.h:120
s16 f16
Definition types.h:191
s32 fastfix32
Definition types.h:207
volatile s32 vs32
Definition types.h:130
s16 fastfix16
Definition types.h:202
u16 rol16(u16 value, u16 number)
ROL instruction for short (16 bit) value.
Definition types.c:24
volatile u16 vu16
Definition types.h:141
unsigned long u32
Definition types.h:105
s32 f32
Definition types.h:196
vs32 vf32
Definition types.h:238
volatile u32 vu32
Definition types.h:146
vs16 vf16
Definition types.h:233
s32 fix32
Definition types.h:186
vs16 vfix16
Definition types.h:223
char s8
Definition types.h:79
u32 ror32(u32 value, u16 number)
ROR instruction for long (32 bit) value.
Definition types.c:44
unsigned short u16
Definition types.h:100
s32 ff32
Definition types.h:217
vs32 vfix32
Definition types.h:228
vu8 vbool
Definition types.h:153
volatile s16 vs16
Definition types.h:125
unsigned char u8
Definition types.h:95
volatile u8 vu8
Definition types.h:136
u8 ror8(u8 value, u16 number)
ROR instruction for byte (8 bit) value.
Definition types.c:34
long s32
Definition types.h:89
short s16
Definition types.h:84
s16 fix16
Definition types.h:181
u8 bool
Definition types.h:113
u32 rol32(u32 value, u16 number)
ROL instruction for long (32 bit) value.
Definition types.c:29
u16 ror16(u16 value, u16 number)
ROR instruction for short (16 bit) value.
Definition types.c:39
s16 p16
Definition types.h:160