SGDK
A free and open development kit for the Sega Mega Drive
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1
9
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 U8_MIN
36#define U8_MIN ((u8) 0x00)
37#endif
38#ifndef U8_MAX
39#define U8_MAX ((u8) 0xFF)
40#endif
41#ifndef S8_MIN
42#define S8_MIN ((s8) (-0x80))
43#endif
44#ifndef S8_MAX
45#define S8_MAX ((s8) 0x7F)
46#endif
47
48#ifndef U16_MIN
49#define U16_MIN ((u16) 0x0000)
50#endif
51#ifndef U16_MAX
52#define U16_MAX ((u16) 0xFFFF)
53#endif
54#ifndef S16_MIN
55#define S16_MIN ((s16) (-0x8000))
56#endif
57#ifndef S16_MAX
58#define S16_MAX ((s16) 0x7FFF)
59#endif
60
61#ifndef U32_MIN
62#define U32_MIN ((u32) 0x00000000)
63#endif
64#ifndef U32_MAX
65#define U32_MAX ((u32) 0xFFFFFFFF)
66#endif
67#ifndef S32_MIN
68#define S32_MIN ((s32) (-0x80000000))
69#endif
70#ifndef S32_MAX
71#define S32_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
111 typedef unsigned long size_t;
112
113
114#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 202300L))
115
121typedef u8 bool;
126#ifndef false
127#define false FALSE
128#endif
133#ifndef true
134#define true TRUE
135#endif
136
137#endif
138
143typedef volatile s8 vs8;
148typedef volatile s16 vs16;
153typedef volatile s32 vs32;
154
159typedef volatile u8 vu8;
164typedef volatile u16 vu16;
169typedef volatile u32 vu32;
170
176typedef vu8 vbool;
177
183typedef s16 p16;
184
185
186#if !defined(uint8_t) && !defined(__int8_t_defined)
187#define uint8_t u8
188#define int8_t s8
189#endif
190#if !defined(uint16_t) && !defined(__int16_t_defined)
191#define uint16_t u16
192#define int16_t s16
193#endif
194#if !defined(uint32_t) && !defined(__int32_t_defined)
195#define uint32_t u32
196#define int32_t s32
197#endif
198#if !defined(size_t)
199#define size_t u32
200#endif
201#if !defined(ptrdiff_t)
202#define ptrdiff_t u32
203#endif
204
205
210typedef s16 fix16;
215typedef s32 fix32;
220typedef s16 f16;
225typedef s32 f32;
226
241typedef s16 ff16;
246typedef s32 ff32;
247
252typedef vs16 vfix16;
257typedef vs32 vfix32;
262typedef vs16 vf16;
267typedef vs32 vf32;
268
269
270#define FASTCALL
271
285typedef struct
286{
287 s16 x;
288 s16 y;
289 u16 w;
290 u16 h;
291} Box;
292
304typedef struct
305{
306 s16 x;
307 s16 y;
308 u16 ray;
309} Circle;
310
311
312typedef void VoidCallback(void);
313
314
315u8 getZeroU8(void);
316u16 getZeroU16(void);
317u32 getZeroU32(void);
318
319
320#endif // _TYPES_H_
Simple Box structure.
Definition types.h:286
Simple Circle structure.
Definition types.h:305
s16 fix16
Definition types.h:210
s32 fastfix32
Definition types.h:236
s16 f16
Definition types.h:220
volatile s8 vs8
Definition types.h:143
volatile u8 vu8
Definition types.h:159
unsigned long u32
Definition types.h:105
short s16
Definition types.h:84
char s8
Definition types.h:79
#define size_t
Definition types.h:199
s32 ff32
Definition types.h:246
long s32
Definition types.h:89
vs32 vf32
Definition types.h:267
volatile u16 vu16
Definition types.h:164
s16 fastfix16
Definition types.h:231
volatile s32 vs32
Definition types.h:153
vs32 vfix32
Definition types.h:257
volatile s16 vs16
Definition types.h:148
u8 bool
Definition types.h:121
vu8 vbool
Definition types.h:176
unsigned short u16
Definition types.h:100
volatile u32 vu32
Definition types.h:169
s32 f32
Definition types.h:225
s16 p16
Definition types.h:183
s32 fix32
Definition types.h:215
unsigned char u8
Definition types.h:95
vs16 vf16
Definition types.h:262
vs16 vfix16
Definition types.h:252
s16 ff16
Definition types.h:241