6#if !defined(__RADTYPESH__) && !defined(__RADRR_COREH__)
10#if !defined(__RADRES__)
65 #define RADDEFFUNC extern "C"
66 #define RADDEFSTART extern "C" {
68 #define RADDEFAULT( val ) =val
73 #define RADDEFAULT( val )
78#define RR_STRINGIZE( L ) #L
79#define RR_DO_MACRO( M, X ) M(X)
80#define RR_STRINGIZE_DELAY( X ) RR_DO_MACRO( RR_STRINGIZE, X )
82#define RR_STRING_JOIN(arg1, arg2) RR_STRING_JOIN_DELAY(arg1, arg2)
83#define RR_STRING_JOIN_DELAY(arg1, arg2) RR_STRING_JOIN_IMMEDIATE(arg1, arg2)
84#define RR_STRING_JOIN_IMMEDIATE(arg1, arg2) arg1 ## arg2
87#define RR_PLATFORM_PATH_STR( plat, file ) RR_STRINGIZE_DELAY( RR_STRING_JOIN( plat, file ) )
93#ifdef __RAD_NDA_PLATFORM__
96 #include RR_PLATFORM_PATH_STR( __RAD_NDA_PLATFORM__, _egttypes.h )
101 #define __RADANDROID__ 1
102 #define __RADDETECTED__ __RADANDROID__
107 #define __RADDETECTED__ __RADQNX__
110 #if defined(_Windows) || defined(WIN32) || defined(__WINDOWS__) || defined(_WIN32) || defined(_WIN64) || defined(WINAPI_FAMILY)
117 #include <winapifamily.h>
118 #define RAD_WINAPI_IS_APP (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP))
119 #if RAD_WINAPI_IS_APP
120 #define __RADWINRTAPI__
121 #define __RADWINRT__ 13
122 #define __RADDETECTED__ __RADWINRT__
125 #define RAD_WINAPI_IS_APP 0
131 #define __RADDETECTED__ __RADNT__
135 #if defined(__APPLE__)
136 #include "TargetConditionals.h"
137 #if defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR
138 #define __RADIPHONE__ 15
139 #define __RADIPHONESIM__ 16
140 #define __RADDETECTED__ __RADIPHONESIM__
141 #elif defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
142 #define __RADIPHONE__ 15
143 #define __RADDETECTED__ __RADIPHONE__
145 #define __RADMAC__ 17
146 #define __RADDETECTED__ __RADMAC__
149 #if defined(TARGET_OS_IOS) && TARGET_OS_IOS
150 #define __RADIOS__ 18
152 #if defined(TARGET_OS_TVOS) && TARGET_OS_TVOS
153 #define __RADTVOS__ 19
155 #if defined(TARGET_OS_WATCHOS) && TARGET_OS_WATCHOS
156 #define __RADWATCHOS__ 20
160 #if defined(__EMSCRIPTEN__)
161 #define __RADEMSCRIPTEN__ 22
162 #define __RADDETECTED__ __RADEMSCRIPTEN__
166 #if defined(__linux__) && !defined(ANDROID)
167 #define __RADLINUX__ 3
168 #define __RADDETECTED__ __RADLINUX__
171 #if !defined( __RADDETECTED__) && !defined( USING_EGT )
173 #define __RADUNKNOWN__ 99
174 #define __RADDETECTED__ __RADUNKNOWN__
180#if !defined(__RADDETECTED__)
181 #error "radtypes.h did not detect your platform."
189#if defined(__arm__) || defined( _M_ARM )
191 #define __RADDETECTEDPROC__ __RADARM__
192 #define __RADLITTLEENDIAN__
193 #if defined(__ARM_NEON__) || defined(__ARM_NEON)
196 #if !defined(__RADSOFTFP__) && !defined( __ARM_PCS_VFP )
197 #define __RADSOFTFP__
200#if defined(__i386) || defined( __i386__ ) || defined( _M_IX86 ) || defined( _X86_ )
202 #if !defined __RADIPHONESIM__
206 #define __RADDETECTEDPROC__ __RADX86__
207 #define __RADLITTLEENDIAN__
209#if defined(_x86_64) || defined( __x86_64__ ) || defined( _M_X64 ) || defined( _M_AMD64 )
212 #if !defined __RADIPHONESIM__
215 #define __RADDETECTEDPROC__ __RADX64__
216 #define __RADLITTLEENDIAN__
218#if defined(__powerpc) || defined( _M_PPC )
220 #define __RADALTIVEC__
221 #define __RADDETECTEDPROC__ __RADPPC__
222 #define __RADBIGENDIAN__
224#if defined( __aarch64__ ) || defined( __arm64__ ) || defined( _M_ARM64 )
226 #define __RADARM64__ 6
227 #define __RADDETECTEDPROC__ __RADARM64__
228 #define __RADLITTLEENDIAN__
231#if defined(__EMSCRIPTEN__)
232 #define __RADDETECTEDPROC__
233 #define __RADLITTLEENDIAN__
236#if !defined(__RADDETECTEDPROC__)
237 #error "egttypes.h did not detect your processor type."
240#if defined(__ppc64__) || defined(__aarch64__) || defined(_M_X64) || defined(__x86_64__) || defined(__x86_64) || defined( __arm64__ ) || defined( _M_ARM64 )
242 #define __RAD64REGS__
253#if ( defined(__RADINSTATICLIB__) || defined(__RADNOEXPORTS__ ) || ( defined(__RADNOEXEEXPORTS__) && ( !defined(__RADINDLL__) ) && ( !defined(__RADINSTATICLIB__) ) ) )
256 #define RADEXPFUNC RADDEFFUNC
259 #if defined(__RADINDLL__)
260 #define RADEXPFUNC RADDEFFUNC RADDLLEXPORTDLL
262 #define RADEXPFUNC RADDEFFUNC RADDLLIMPORTDLL
266#if defined(__RADANDROID__)
267 #define RADRESTRICT __restrict
268 #define RADSTRUCT struct __attribute__((__packed__))
272 #define RADDLLEXPORTDLL __attribute__((visibility("default")))
273 #define RADDLLIMPORTDLL
276#if defined(__RADQNX__)
277 #define RADRESTRICT __restrict
278 #define RADSTRUCT struct __attribute__((__packed__))
281 #define RADEXPLINK RADLINK
282 #define RADDLLEXPORTDLL
283 #define RADDLLIMPORTDLL
286#if defined(__RADLINUX__) || defined(__RADUNKNOWN__)
287 #define RADRESTRICT __restrict
288 #define RADSTRUCT struct __attribute__((__packed__))
290 #if defined(__RADX86__) && !defined(__RADX64__)
291 #define RADLINK __attribute__((cdecl))
292 #define RADEXPLINK __attribute__((cdecl))
299 #define RADDLLEXPORTDLL __attribute__((visibility("default")))
300 #define RADDLLIMPORTDLL
303#if defined(__RADNT__)
306 #define RADRESTRICT __restrict
310 #define __RADNOVARARGMACROS__
312 #define RADSTRUCT struct
314 #define RADLINK __stdcall
315 #define RADEXPLINK __stdcall
317 #define RADDLLEXPORTDLL __declspec(dllexport)
320 #define RADDLLIMPORTDLL
323 #define RADDLLIMPORTDLL __declspec(dllimport)
327#if defined(__RADWINRT__)
329 #if defined(__RADARM__)
332 #define RADRESTRICT __restrict
333 #define RADSTRUCT struct
335 #define RADLINK __stdcall
336 #define RADEXPLINK __stdcall
337 #define RADDLLEXPORTDLL __declspec(dllexport)
338 #define RADDLLIMPORTDLL __declspec(dllimport)
341#if defined(__RADIPHONE__)
342 #define __RADMACAPI__
343 #define RADRESTRICT __restrict
344 #define RADSTRUCT struct __attribute__((__packed__))
348 #define RADDLLEXPORTDLL
349 #define RADDLLIMPORTDLL
352#if defined(__RADMAC__)
354 #define __RADMACAPI__
355 #define RADRESTRICT __restrict
356 #define RADSTRUCT struct __attribute__((__packed__))
362 #define RADDLLEXPORTDLL __attribute__((visibility("default")))
363 #define RADDLLIMPORTDLL
365 #ifdef TARGET_API_MAC_CARBON
366 #if TARGET_API_MAC_CARBON
367 #ifndef __RADCARBON__
368 #define __RADCARBON__
374#if defined(__RADEMSCRIPTEN__)
375 #include <emscripten.h>
376 #define RADRESTRICT __restrict
377 #define RADSTRUCT struct __attribute__((__packed__))
380 #define RADEXPLINK EMSCRIPTEN_KEEPALIVE
381 #define RADDLLEXPORTDLL
382 #define RADDLLIMPORTDLL
386 #error RADLINK was not defined.
390 #define RADINLINE __inline
392 #define RADINLINE inline
401 #define RR_NUMBERNAME(name) RR_STRING_JOIN(name,__COUNTER__)
403 #define RR_NUMBERNAME(name) RR_STRING_JOIN(name,__LINE__)
409#ifndef RR_COMPILER_ASSERT
410 #if defined(__clang__)
411 #define RR_COMPILER_ASSERT_UNUSED __attribute__((unused))
413 #define RR_COMPILER_ASSERT_UNUSED
416 #define RR_COMPILER_ASSERT(exp) typedef char RR_NUMBERNAME(_dummy_array) [ (exp) ? 1 : -1 ] RR_COMPILER_ASSERT_UNUSED
423#define RAD_S8 signed char
424#define RAD_U8 unsigned char
425#define RAD_U16 unsigned short
426#define RAD_S16 signed short
428#if defined(__RAD64__)
429 #define RAD_U32 unsigned int
430 #define RAD_S32 signed int
433 #if ( defined(_MSC_VER) && _MSC_VER >= 1300 && defined(_Wp64) && _Wp64 )
434 #define RAD_SINTa __w64 signed __int64
435 #define RAD_UINTa __w64 unsigned __int64
438 #define RAD_UINTa unsigned long long
439 #define RAD_SINTa signed long long
443#if defined(__RAD32__) && !defined(__RAD64__)
444 #define RAD_U32 unsigned int
445 #define RAD_S32 signed int
447 #if ( ( defined(_MSC_VER) && (_MSC_VER >= 1300 ) ) && ( defined(_Wp64) && ( _Wp64 ) ) )
448 #define RAD_SINTa __w64 signed long
449 #define RAD_UINTa __w64 unsigned long
453 #define RAD_SINTa signed long
454 #define RAD_UINTa unsigned long
456 #define RAD_SINTa signed int
457 #define RAD_UINTa unsigned int
463#define RAD_F64 double
466 #define RAD_U64 unsigned __int64
467 #define RAD_S64 signed __int64
469 #define RAD_U64 unsigned long long
470 #define RAD_S64 signed long long
477#if !defined(RADNOTYPEDEFS)
529 #ifndef SINTa_DEFINED
530 #define SINTa_DEFINED
534 #ifndef UINTa_DEFINED
535 #define UINTa_DEFINED
539 #ifndef RRBOOL_DEFINED
540 #define RRBOOL_DEFINED
545#elif !defined(RADNOTYPEDEFINES)
597 #ifndef SINTa_DEFINED
598 #define SINTa_DEFINED
599 #define SINTa RAD_SINTa
602 #ifndef UINTa_DEFINED
603 #define UINTa_DEFINED
604 #define UINTa RAD_UINTa
607 #ifndef RRBOOL_DEFINED
608 #define RRBOOL_DEFINED
#define RAD_F64
Definition egttypes.h:458
RAD_S16 S16
Definition egttypes.h:486
RAD_SINTa SINTa
Definition egttypes.h:526
#define RAD_F32
Definition egttypes.h:457
RAD_S8 S8
Definition egttypes.h:476
#define RAD_U32
Definition egttypes.h:439
RAD_U32 U32
Definition egttypes.h:501
RAD_U8 U8
Definition egttypes.h:481
RAD_UINTa UINTa
Definition egttypes.h:531
#define RAD_UINTa
Definition egttypes.h:452
S32 rrbool
Definition egttypes.h:536
S32 RRBOOL
Definition egttypes.h:537
#define RAD_S16
Definition egttypes.h:421
#define RAD_S64
Definition egttypes.h:465
RAD_U64 U64
Definition egttypes.h:511
#define RAD_U16
Definition egttypes.h:420
#define RAD_S32
Definition egttypes.h:440
#define RAD_U8
Definition egttypes.h:419
#define RAD_S8
Definition egttypes.h:418
RAD_F64 F64
Definition egttypes.h:521
#define RAD_U64
Definition egttypes.h:464
RAD_F32 F32
Definition egttypes.h:516
RAD_S64 S64
Definition egttypes.h:506
RAD_S32 S32
Definition egttypes.h:496
RAD_U16 U16
Definition egttypes.h:491
#define RAD_SINTa
Definition egttypes.h:451