sgdk
types.h
Go to the documentation of this file.
00001 
00010 #ifndef _TYPES_H_
00011 #define _TYPES_H_
00012 
00017 #ifndef FALSE
00018 #define FALSE   0
00019 #endif
00020 
00024 #ifndef TRUE
00025 #define TRUE    1
00026 #endif
00027 
00031 #ifndef NULL
00032 #define NULL    0
00033 #endif
00034 
00035 #ifndef MIN_U8
00036 #define MIN_U8  0x00
00037 #endif
00038 #ifndef MAX_U8
00039 #define MAX_U8  0xFF
00040 #endif
00041 #ifndef MIN_S8
00042 #define MIN_S8  -0x80
00043 #endif
00044 #ifndef MAX_S8
00045 #define MAX_S8  0x7F
00046 #endif
00047 
00048 #ifndef MIN_U16
00049 #define MIN_U16 0x0000
00050 #endif
00051 #ifndef MAX_U16
00052 #define MAX_U16 0xFFFF
00053 #endif
00054 #ifndef MIN_S16
00055 #define MIN_S16 -0x8000
00056 #endif
00057 #ifndef MAX_S16
00058 #define MAX_S16 0x7FFF
00059 #endif
00060 
00061 #ifndef MIN_U32
00062 #define MIN_U32 0x0000
00063 #endif
00064 #ifndef MAX_U32
00065 #define MAX_U32 0xFFFFFFFF
00066 #endif
00067 #ifndef MIN_S32
00068 #define MIN_S32 -0x80000000
00069 #endif
00070 #ifndef MAX_S32
00071 #define MAX_S32 0x7FFFFFFF
00072 #endif
00073 
00074 
00079 typedef char s8;
00084 typedef short s16;
00089 typedef long s32;
00090 
00095 typedef unsigned char u8;
00100 typedef unsigned short u16;
00105 typedef unsigned long u32;
00106 
00107 #if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 202300L))
00108 
00114 typedef u8 bool;
00119 #ifndef false
00120 #define false   FALSE
00121 #endif
00122 
00126 #ifndef true
00127 #define true    TRUE
00128 #endif
00129 
00130 #endif
00131 
00136 typedef volatile s8 vs8;
00141 typedef volatile s16 vs16;
00146 typedef volatile s32 vs32;
00147 
00152 typedef volatile u8 vu8;
00157 typedef volatile u16 vu16;
00162 typedef volatile u32 vu32;
00163 
00169 typedef vu8 vbool;
00170 
00176 typedef s16 p16;
00177 
00178 
00179 #if !defined(uint8_t) && !defined(__int8_t_defined)
00180 #define uint8_t     u8
00181 #define int8_t      s8
00182 #endif
00183 #if !defined(uint16_t) && !defined(__int16_t_defined)
00184 #define uint16_t    u16
00185 #define int16_t     s16
00186 #endif
00187 #if !defined(uint32_t) && !defined(__int32_t_defined)
00188 #define uint32_t    u32
00189 #define int32_t     s32
00190 #endif
00191 #if !defined(size_t)
00192 #define size_t      u32
00193 #endif
00194 #if !defined(ptrdiff_t)
00195 #define ptrdiff_t   u32
00196 #endif
00197 
00198 
00203 typedef s16 fix16;
00208 typedef s32 fix32;
00213 typedef s16 f16;
00218 typedef s32 f32;
00219 
00224 typedef s16 fastfix16;
00229 typedef s32 fastfix32;
00234 typedef s16 ff16;
00239 typedef s32 ff32;
00240 
00245 typedef vs16 vfix16;
00250 typedef vs32 vfix32;
00255 typedef vs16 vf16;
00260 typedef vs32 vf32;
00261 
00262 
00263 #define FASTCALL
00264 
00278 typedef struct
00279 {
00280     s16 x;
00281     s16 y;
00282     u16 w;
00283     u16 h;
00284 } Box;
00285 
00297 typedef struct
00298 {
00299     s16 x;
00300     s16 y;
00301     u16 ray;
00302 } Circle;
00303 
00304 
00305 typedef void VoidCallback(void);
00306 
00307 
00308 u8  getZeroU8(void);
00309 u16 getZeroU16(void);
00310 u32 getZeroU32(void);
00311 
00321 u8  rol8(u8 value, u16 number);
00331 u16 rol16(u16 value, u16 number);
00341 u32 rol32(u32 value, u16 number);
00351 u8  ror8(u8 value, u16 number);
00361 u16 ror16(u16 value, u16 number);
00371 u32 ror32(u32 value, u16 number);
00372 
00373 
00374 #endif // _TYPES_H_
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines