// This file is automatically generated. DO NOT MODIFY DIRECTLY! // To rebuild the forceinclude files, modify the templates in rage/base/src/forceinclude/templates/ // and then run rage/base/src/forceinclude/templates/makeheaders.bat #ifndef _RSG_FORCE_INCLUDE_ #define _RSG_FORCE_INCLUDE_ #pragma once #ifdef __cplusplus #define BEGIN_NS_RAGE namespace rage { #define END_NS_RAGE } #else #define BEGIN_NS_RAGE #define END_NS_RAGE #endif #define RAGE_RELEASE 378 #define RAGE_RELEASE_STRING "378" #define RAGE_MAJOR_VERSION 1 #define RAGE_MINOR_VERSION 15 #ifdef __GNUG__ #define NULL __null #else #define NULL 0 #endif #define UNUSED_PARAM(x) // So we can tell it's the new build system and not the VC6-based one. #define BUILD_SYSTEM_VERSION 0x0200 // For compatibility with old code #define IS_CONSOLE __CONSOLE #ifndef __SPUFRAG #define __SPUFRAG 0 #endif // Ensure that the correct compiler version is being used // 2008 ? #if _MSC_VER == 1500 # if _MSC_FULL_VER != 150030729 || _MSC_BUILD != 01 # error "When compiling with Visual Studio 2008, service pack 1 is required" # endif // 2010 ? #elif _MSC_VER == 1600 # if _MSC_FULL_VER != 160040219 || _MSC_BUILD != 01 # error "When compiling with Visual Studio 2010, service pack 1 is required" # endif #endif #define I64FMT "I64" #define LI64FMT L"I64" #ifdef _M_X64 #define SIZETFMT "I" #define PTRDIFFTFMT "I" #else #define SIZETFMT "" #define PTRDIFFTFMT "" #endif // Networking #define RSG_NP 0 #define RSG_XBL 0 #define RSG_GAMESPY 1 // Basic types BEGIN_NS_RAGE typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; typedef unsigned __int64 u64; typedef struct __declspec(intrin_type) __declspec(align(16)) __u128 { float m128_f32[4]; } __u128; typedef __u128 u128; typedef signed char s8; typedef signed short s16; typedef signed int s32; typedef signed __int64 s64; typedef float f32; #if defined(_M_X64) typedef u64 uptr; #else #error "x64 tools not installed on this machine!" #endif END_NS_RAGE #define GTA_REPLAY_RAGE // Platform definitions #define __BE 0 #define __CONSOLE 0 #define __PS3 0 #define __PPU 0 #define __SPU 0 #define __WIN32 1 #define __OSX 0 #define __POSIX 0 #define __XENON 0 #define __PSP2 0 #define __CAFE 0 #define __LINUX 0 #define __WIN32PC 1 #define __PAGING 1 #define __GAMETOOL 0 #define __RESOURCECOMPILER 0 #define RSG_BE 0 #define RSG_PS3 0 #define RSG_PPU 0 #define RSG_SPU 0 #define RSG_WIN32 1 #define RSG_XENON 0 #define RSG_PC 1 #define RSG_DURANGO 0 #define RSG_ORBIS 0 #define RSG_WINRT 0 #define RSG_XDK 0 #define RSG_GDK 0 #define RSG_LINUX 0 #define RSG_IOS 0 #define RSG_ANDROID 0 #define RSG_WINPHONE 0 #define RSG_MOBILE (RSG_IOS | RSG_ANDROID | RSG_WINPHONE) #define RSG_NX 0 #define RSG_P 0 #define RSG_GGP 0 #define RSG_OSX 0 #define RSG_SCE 0 #define RSG_XBOX 0 #define RSG_PROSPERO 0 #define RSG_SCARLETT 0 #define RSG_CPU_PPC 0 #define RSG_CPU_SPU 0 #define RSG_CPU_INTEL 1 #define RSG_CPU_X86 0 #define RSG_CPU_X64 1 #define CONSOLE_ONLY(...) #define PS3_ONLY(...) #define PPU_ONLY(...) #define SPU_ONLY(...) #define WIN32_ONLY(...) __VA_ARGS__ #define XENON_ONLY(...) #define PSP2_ONLY(...) #define CAFE_ONLY(...) #define LINUX_ONLY(...) #define WIN32PC_ONLY(...) __VA_ARGS__ #define ORBIS_ONLY(...) #define PROSPERO_ONLY(...) #define NP_ONLY(...) #define SCE_ONLY(...) #define DURANGO_ONLY(...) #define WINRT_ONLY(...) #define SCARLETT_ONLY(...) #define XBL_ONLY(...) #define XDK_ONLY(...) #define GDK_ONLY(...) #define XBOX_ONLY(...) #define ALIGNAS(x) __declspec(align(x)) #define BEGIN_ALIGNED(x) __declspec(align(x)) #define ALIGNED(x) #define DEPRECATED __declspec(deprecated) #define RESTRICT #define MAY_ALIAS #pragma warning(disable: 4127) #pragma warning(disable: 4200) #pragma warning(disable: 4291) #pragma warning(disable: 4324) // structure was padded due to __declspec(align) #pragma warning(disable: 4512) #pragma warning(disable: 4530) #pragma warning(disable: 4505) #pragma warning(disable: 4710) #pragma warning(error: 4062) #pragma warning(error: 4263) #pragma warning(error: 4265) #pragma warning(error: 4302) #pragma warning(error: 4668) #define _CRT_SECURE_NO_DEPRECATE #define _SCL_SECURE_NO_WARNINGS #define __builtin_trap() __debugbreak() #define PRAGMA_OPTIMIZE_OFF() __pragma(optimize("", off)) // PRAGMA-OPTIMIZE-ALLOW // Build type definitions #define __DEV 0 #define __OPTIMIZED 1 #define __BANK 0 #define __ASSERT 0 #define __FINAL 0 #define __MASTER 0 #define __EDITOR 0 #define __TOOL 0 #define __EXPORTER 0 #define __PROFILE 0 #define __PACKEDDEBUG 1 #define __SKIPDEBUGAUTH 1 #define __USEDEBUGAUDIO 0 #define DEBUGAUDIO_ONLY(...) #define DEBUGUNPACKED_ONLY(...) #define RSG_DEV __DEV #define RSG_BANK __BANK #define RSG_ASSERT __ASSERT #define RSG_TOOL __TOOL #define RSG_RSC __RESOURCECOMPILER #define RSG_FINAL __FINAL #define RSG_LAUNCHER 0 #define GTA_SCRIPT_LEGACY_PLATFORM_VERSION 0 // Decode build system macros set above. #if __DEV # define DEV_ONLY(...) __VA_ARGS__ #else # define DEV_ONLY(...) #endif #if __BANK # define BANK_ONLY(...) __VA_ARGS__ #else # define BANK_ONLY(...) #endif #if __PPU || __PSP2 # define Likely(x) __builtin_expect(!!(x),1) # define Unlikely(x) __builtin_expect(!!(x),0) #else # define Likely(x) (x) # define Unlikely(x) (x) #endif #ifdef __GNUG__ # define PRINTF_LIKE_N(a) __attribute__((format (printf, (a), (a)+1))) #else # define PRINTF_LIKE_N(a) #endif #if __DEV # define OPTIMISATIONS_OFF() PRAGMA_OPTIMIZE_OFF() // PRAGMA-OPTIMIZE-ALLOW #else # define OPTIMISATIONS_OFF() #endif #if __DEV && __XENON # define __forceinline inline #endif #if __ASSERT # define RAGE_MINIMAL_ASSERTS (__XENON && __OPTIMIZED) # if RAGE_MINIMAL_ASSERTS # ifdef __SNC__ # pragma diag_suppress 178 # pragma diag_suppress 552 # pragma diag_suppress 828 # elif defined(_MSC_VER) # pragma warning(disable: 4100) # pragma warning(disable: 4101) # pragma warning(disable: 4189) # endif # define Assertf(x,fmt,...) Assert(x) # define Verifyf(x,fmt,...) AssertVerify(x) # else # define Assertf(x,fmt,...) (void)(Likely(x) || ::rage::diagAssertHelper(__FILE__,__LINE__,"%s: " fmt,#x,##__VA_ARGS__) || (__debugbreak(),0)) # define Verifyf(x,fmt,...) (Likely(x) || ((::rage::diagAssertHelper(__FILE__,__LINE__,"%s: " fmt,#x,##__VA_ARGS__) || (__debugbreak(),0)),false)) # endif # define Assert(x) (void)(Likely(x) || ::rage::diagAssertHelper2(__FILE__,__LINE__,#x) || (__debugbreak(),0)) # define FatalAssert(x) do{if(Unlikely(!(x))){Quitf(0,__FILE__"(%d): %s",__LINE__,#x);}}while(0) # define FatalAssertf(x,fmt,...) do{if(Unlikely(!(x))){Errorf(__FILE__"(%d): %s",__LINE__,#x);Quitf(0,fmt,##__VA_ARGS__);}}while(0) # define AssertVerify(x) (Likely(x) || ((::rage::diagAssertHelper2(__FILE__,__LINE__,#x) || (__debugbreak(),0)),false)) # define ASSERT_ONLY(...) __VA_ARGS__ # define AssertMsg(x,msg) Assertf(x,"%s",msg) # define FatalAssertMsg(x,msg) FatalAssertf(x,"%s",msg) # if __TOOL || !__OPTIMIZED || __WIN32PC # define FastAssert(x) Assert(x) # else # define FastAssert(x) (Likely(x) || (__debugbreak(),0)) # endif BEGIN_NS_RAGE extern int diagAssertHelper(const char*,int,const char*,...) #ifdef __ORBIS__ PRINTF_LIKE_N(3) #endif ; extern int diagAssertHelper2(const char*,int,const char*); extern int DebugAssertFailed(void); END_NS_RAGE # define DebugAssert(x) (void)(Likely(x) || ::rage::DebugAssertFailed()) # if RSG_ORBIS // Enable Sony's asserts in GNM # define SCE_GNM_DEBUG # endif #else // !__ASSERT # define ASSERT_ONLY(...) # define Assert(x) # define Assertf(x,fmt,...) # define FastAssert(x) # define FatalAssert(x) # define FatalAssertf(x,fmt,...) # define FatalAssertMsg(x,msg) # define AssertMsg(x,msg) # define AssertVerify(x) (x) # define Verifyf(x,fmt,...) (x) # define DebugAssert(x) #endif #define AlignedAssert(x,a) Assert(((::rage::uptr)(x) & ((a)-1)) == 0) #define AlignedAssertf(x,a,fmt,...) Assertf(((::rage::uptr)(x) & ((a)-1)) == 0,fmt,##__VA_ARGS__) #define Assert16(x) AlignedAssert(x,16) #define Assert128(x) AlignedAssert(x,128) #define MacroJoin( X, Y ) MacroDoJoin(X, Y) #define MacroDoJoin( X, Y ) MacroDoJoin2(X, Y) #define MacroDoJoin2( X, Y ) X##Y #define CompileTimeAssert(e) typedef char MacroJoin(MacroJoin(__COMPILETIME_ASSERT, __LINE__), __)[(e)?1:-1] #define AlignedCompileTimeAssert(x,a) CompileTimeAssert(((::rage::uptr)(x) & ((a)-1)) == 0) #define CompileTimeAssert16(x) AlignedCompileTimeAssert(x,16) #define CompileTimeAssert128(x) AlignedCompileTimeAssert(x,128) #if __EDITOR # define EDITOR_ONLY(...) __VA_ARGS__ #else # define EDITOR_ONLY(...) #endif #if __TOOL # define TOOL_ONLY(...) __VA_ARGS__ # define NOTTOOL_ONLY(...) #else # define TOOL_ONLY(...) # define NOTTOOL_ONLY(...) __VA_ARGS__ #endif #if __EXPORTER # define EXPORTER_ONLY(...) __VA_ARGS__ #else # define EXPORTER_ONLY(...) #endif #if __PAGING # define PAGING_ONLY(...) __VA_ARGS__ #else # define PAGING_ONLY(...) #endif #if __FINAL # define NOTFINAL_ONLY(...) #else # define NOTFINAL_ONLY(...) __VA_ARGS__ #endif #if __ASSERT # define AssertType(type,ptr) Assert(SafeCast(type,ptr) && #type) #else # define AssertType(type,ptr) #endif #ifdef __cplusplus template __forceinline const L& Assign(L& left,const R right) { left = static_cast(right); FastAssert(left == right); return left; } template struct CTASHelper { CompileTimeAssert(actualSize == expectedSize); }; #endif #define BitfieldAssign(x,y) do { (x)=(y); FastAssert(unsigned(x) == unsigned(y)); } while (0) #define __LTCG (__XENON && 0) #if RSG_ORBIS #define ATTR_UNUSED __attribute__((unused)) #else #define ATTR_UNUSED #endif #if defined(__LP64__) || defined(_M_X64) # define __64BIT 1 # define CompileTimeAssertSize(s,if32,if64) ATTR_UNUSED static CTASHelper MacroJoin(MacroJoin(s,__LINE__),Helper) # define OffsetOf(s,m) ((size_t)((::rage::s64)&(((s*)0)->m))) #else # define __64BIT 0 # if __PPU # define OffsetOf(s,m) ((size_t)&(((s*)1)->m)-1) # define CompileTimeAssertSize(s,if32,if64) static __attribute__((unused)) CTASHelper MacroJoin(MacroJoin(s,__LINE__),Helper) # else # define OffsetOf(s,m) ((size_t)&(((s*)0)->m)) # define CompileTimeAssertSize(s,if32,if64) static CTASHelper MacroJoin(MacroJoin(s,__LINE__),Helper) # endif // __PPU #endif #if defined(__SNC__) && __SN_VER__ < 43001 # define ATTR_COLD __attribute__((cold)) // same as =Xsaverestorefuncs=1 for this function # define ATTR_HOT __attribute__((hot)) // inlinesrf and also likely virtual target # define ATTR_INLINESRF __attribute__((inlinesrf)) // same as =Xsaverestorefuncs=0 for this function #else # define ATTR_COLD # define ATTR_HOT # define ATTR_INLINESRF #endif #if __64BIT && !__PROFILE && !__FINAL && defined(__cplusplus) inline int ptrdiff_t_to_int(long long v) { if (v != int(v)) __debugbreak(); return int(v); } #elif __64BIT # define ptrdiff_t_to_int(x) ((int)(x)) #else # define ptrdiff_t_to_int(x) (x) #endif #define istrlen(x) ((int)strlen(x)) #define ustrlen(x) ((unsigned)strlen(x)) BEGIN_NS_RAGE #if __DEV typedef u8 dev_u8; typedef s8 dev_s8; typedef u16 dev_u16; typedef s16 dev_s16; typedef u32 dev_u32; typedef s32 dev_s32; typedef u64 dev_u64; typedef s64 dev_s64; typedef float dev_float; # ifdef __cplusplus typedef bool dev_bool; # endif // __cplusplus #else // __DEV typedef const u8 dev_u8; typedef const s8 dev_s8; typedef const u16 dev_u16; typedef const s16 dev_s16; typedef const u32 dev_u32; typedef const s32 dev_s32; typedef const u64 dev_u64; typedef const s64 dev_s64; typedef const float dev_float; # ifdef __cplusplus typedef const bool dev_bool; # endif // __cplusplus #endif // __DEV #if __BANK typedef u8 bank_u8; typedef s8 bank_s8; typedef u16 bank_u16; typedef s16 bank_s16; typedef u32 bank_u32; typedef s32 bank_s32; typedef u64 bank_u64; typedef s64 bank_s64; typedef float bank_float; # ifdef __cplusplus typedef bool bank_bool; # endif // __cplusplus #else // __BANK typedef const u8 bank_u8; typedef const s8 bank_s8; typedef const u16 bank_u16; typedef const s16 bank_s16; typedef const u32 bank_u32; typedef const s32 bank_s32; typedef const u64 bank_u64; typedef const s64 bank_s64; typedef const float bank_float; # ifdef __cplusplus typedef const bool bank_bool; # endif // __cplusplus #endif // __BANK END_NS_RAGE #define __FINAL_LOGGING 0 #define __NO_OUTPUT (__FINAL && !__FINAL_LOGGING) #define RSG_OUTPUT (!__NO_OUTPUT) #if __NO_OUTPUT #define OUTPUT_ONLY(...) #if !RSG_PC #define Quitf(...) __debugbreak() #else extern void QuitNoOutput(int errorCode); #define Quitf(errorCode,...) do { (void)(__VA_ARGS__); QuitNoOutput(errorCode); } while(0) #endif // !RSG_PC #define Printf(...) do { } while (0) #define Displayf(...) do { } while (0) #define Warningf(...) do { } while (0) #define Errorf(...) do { } while (0) #define Debugf1(...) do { } while (0) #define Debugf2(...) do { } while (0) #define Debugf3(...) do { } while (0) #else #define OUTPUT_ONLY(...) __VA_ARGS__ #ifdef __cplusplus extern void Printf(const char *fmt,...) PRINTF_LIKE_N(1); extern void Displayf(const char *fmt,...) PRINTF_LIKE_N(1); extern void Warningf(const char *fmt,...) PRINTF_LIKE_N(1); extern void Errorf(const char *fmt,...) PRINTF_LIKE_N(1); extern void Quitf(const char *fmt,...) PRINTF_LIKE_N(1); extern void Quitf(int errorCode,const char *fmt,...) PRINTF_LIKE_N(2); extern void Debugf1(int level,const char *fmt,...) PRINTF_LIKE_N(2); extern void Debugf2(int level,const char *fmt,...) PRINTF_LIKE_N(2); extern void Debugf3(int level,const char *fmt,...) PRINTF_LIKE_N(2); #endif #endif // __NO_OUTPUT #define HACK_GTA4 1 #define HACK_MC4 0 #define HACK_RDR2 0 #define HACK_MP3 0 #define HACK_JIMMY 0 #define HACK_BULLY2 0 #define HACK_MC5 0 #define HACK_RDR3 0 #define GTA_VERSION 501 #define RDR_VERSION 0 #ifdef USING_RAGE using namespace rage; #endif // USING_RAGE #endif //_RSG_FORCE_INCLUDE_