diff --git a/AMBuildScript b/AMBuildScript index 7a1c3997..815f6e84 100644 --- a/AMBuildScript +++ b/AMBuildScript @@ -74,10 +74,10 @@ class SM: self.possibleSdks['eye'] = {'sdk': 'HL2SDK-EYE', 'ext': '2.eye', 'def': '5', 'name': 'EYE', 'platform': ['windows'], 'dir': 'hl2sdk-eye'} - self.possibleSdks['csgo'] = {'sdk': 'HL2SDKCSGO', 'ext': '2.csgo', 'def': '17', + self.possibleSdks['csgo'] = {'sdk': 'HL2SDKCSGO', 'ext': '2.csgo', 'def': '18', 'name': 'CSGO', 'platform': ['windows', 'linux', 'darwin'], 'dir': 'hl2sdk-csgo'} - self.possibleSdks['dota'] = {'sdk': 'HL2SDKDOTA', 'ext': '2.dota', 'def': '18', + self.possibleSdks['dota'] = {'sdk': 'HL2SDKDOTA', 'ext': '2.dota', 'def': '19', 'name': 'DOTA', 'platform': ['windows'], 'dir': 'hl2sdk-dota'} self.possibleSdks['portal2'] = {'sdk': 'HL2SDKPORTAL2','ext': '2.portal2', 'def': '15', @@ -86,6 +86,9 @@ class SM: self.possibleSdks['blade'] = {'sdk': 'HL2SDKBLADE', 'ext': '2.blade', 'def': '16', 'name': 'BLADE', 'platform': ['windows', 'linux'], 'dir': 'hl2sdk-blade'} + self.possibleSdks['insurgency'] = {'sdk': 'HL2SDKINSURGENCY', 'ext': '2.insurgency', 'def': '17', + 'name': 'INSURGENCY', 'platform': ['windows', 'linux', 'darwin'], + 'dir': 'hl2sdk-insurgency'} self.sdkInfo = { } @@ -336,9 +339,9 @@ class SM: libs = [] if sdk in ['css', 'hl2dm', 'dods', 'tf2', 'l4d2']: libs = ['tier1_i486.a', 'mathlib_i486.a', 'libvstdlib_srv.so', 'libtier0_srv.so'] - elif sdk in ['l4d', 'nd', 'blade', 'csgo']: + elif sdk in ['l4d', 'nd', 'blade', 'insurgency', 'csgo']: libs = ['tier1_i486.a', 'mathlib_i486.a', 'libvstdlib.so', 'libtier0.so'] - if sdk in ['blade', 'csgo']: + if sdk in ['blade', 'insurgency', 'csgo']: libs.append('interfaces_i486.a') elif sdk == 'sdk2013': libs = ['tier1.a', 'mathlib.a', 'libvstdlib_srv.so', 'libtier0_srv.so'] @@ -360,7 +363,7 @@ class SM: staticLibs = os.path.join(sdkPath, 'lib', 'mac') libs = ['tier1_i486.a', 'mathlib_i486.a', 'libvstdlib.dylib', 'libtier0.dylib'] workFolder = os.path.join(AMBuild.outputFolder, job.workFolder) - if sdk == 'csgo': + if sdk in ['insurgency', 'csgo']: libs.append('interfaces_i486.a') for lib in libs: link = os.path.join(workFolder, lib) @@ -371,7 +374,7 @@ class SM: job.AddCommand(SymlinkCommand(link, target)) elif AMBuild.target['platform'] == 'windows': libs = ['tier0', 'tier1', 'vstdlib', 'mathlib'] - if sdk in ['swarm', 'blade', 'csgo', 'dota']: + if sdk in ['swarm', 'blade', 'insurgency', 'csgo', 'dota']: libs.append('interfaces') for lib in libs: libPath = os.path.join(sdkPath, 'lib', 'public', lib) + '.lib' @@ -385,7 +388,7 @@ class SM: else: builder.AddObjectFiles(['tier1_i486.a', 'mathlib_i486.a']) - if sdk in ['blade', 'csgo']: + if sdk in ['blade', 'insurgency', 'csgo']: builder.AddObjectFiles(['interfaces_i486.a']) def DefaultHL2Compiler(self, path, sdk, noLink = False, oldMms = '-legacy'): @@ -424,7 +427,7 @@ class SM: compiler['CDEFINES'].remove('_snprintf=snprintf') compiler['CDEFINES'].remove('_vsnprintf=vsnprintf') - if sdk in ['swarm', 'blade', 'csgo', 'dota']: + if sdk in ['swarm', 'blade', 'insurgency', 'csgo', 'dota']: if AMBuild.target['platform'] == 'windows': compiler['CDEFINES'].extend(['COMPILER_MSVC', 'COMPILER_MSVC32']) else: @@ -459,7 +462,7 @@ class SM: if sdk in ['css', 'hl2dm', 'dods', 'tf2', 'sdk2013', 'l4d2']: compiler['POSTLINKFLAGS'][0:0] = ['libtier0_srv.so'] compiler['POSTLINKFLAGS'][0:0] = ['libvstdlib_srv.so'] - elif sdk in ['l4d', 'nd', 'blade', 'csgo']: + elif sdk in ['l4d', 'nd', 'blade', 'insurgency', 'csgo']: compiler['POSTLINKFLAGS'][0:0] = ['libtier0.so'] compiler['POSTLINKFLAGS'][0:0] = ['libvstdlib.so'] else: diff --git a/core/convar_sm_swarm.h b/core/convar_sm_swarm.h index 7b3de178..ab0653d6 100644 --- a/core/convar_sm_swarm.h +++ b/core/convar_sm_swarm.h @@ -381,7 +381,7 @@ public: FnChangeCallback_t GetChangeCallback( int slot ) const { return m_pParent->m_fnChangeCallbacks[ slot ]; } // Retrieve value -#if SOURCE_ENGINE == SE_CSGO +#if SOURCE_ENGINE >= SE_INSURGENCY virtual float GetFloat( void ) const; virtual int GetInt( void ) const; #else diff --git a/core/logic_bridge.cpp b/core/logic_bridge.cpp index 4a83cd95..7f50a57b 100644 --- a/core/logic_bridge.cpp +++ b/core/logic_bridge.cpp @@ -235,6 +235,8 @@ static const char *get_source_engine_name() return "portal2"; #elif SOURCE_ENGINE == SE_BLADE return "blade"; +#elif SOURCE_ENGINE == SE_INSURGENCY + return "insurgency"; #elif SOURCE_ENGINE == SE_CSGO return "csgo"; #elif SOURCE_ENGINE == SE_DOTA @@ -252,6 +254,7 @@ static bool symbols_are_hidden() || (SOURCE_ENGINE == SE_LEFT4DEAD) \ || (SOURCE_ENGINE == SE_NUCLEARDAWN) \ || (SOURCE_ENGINE == SE_LEFT4DEAD2) \ + || (SOURCE_ENGINE == SE_INSURGENCY) \ || (SOURCE_ENGINE == SE_BLADE) \ || (SOURCE_ENGINE == SE_CSGO) \ || (SOURCE_ENGINE == SE_DOTA) @@ -369,6 +372,8 @@ void do_global_plugin_loads() #define GAMEFIX "2.portal2" #elif SOURCE_ENGINE == SE_BLADE #define GAMEFIX "2.blade" +#elif SOURCE_ENGINE == SE_INSURGENCY +#define GAMEFIX "2.insurgency" #elif SOURCE_ENGINE == SE_CSGO #define GAMEFIX "2.csgo" #elif SOURCE_ENGINE == SE_DOTA diff --git a/extensions/sdkhooks/takedamageinfohack.cpp b/extensions/sdkhooks/takedamageinfohack.cpp index 042f50e6..eb555d21 100644 --- a/extensions/sdkhooks/takedamageinfohack.cpp +++ b/extensions/sdkhooks/takedamageinfohack.cpp @@ -78,7 +78,7 @@ CTakeDamageInfoHack::CTakeDamageInfoHack( CBaseEntity *pInflictor, CBaseEntity * m_flRadius = 0.0f; #endif -#if SOURCE_ENGINE == SE_CSGO +#if SOURCE_ENGINE == SE_INSURGENCY || SOURCE_ENGINE == SE_CSGO m_iDamagedOtherPlayers = 0; m_iObjectsPenetrated = 0; m_uiBulletID = 0; diff --git a/extensions/sdktools/vcaller.cpp b/extensions/sdktools/vcaller.cpp index 7133485c..962e45b8 100644 --- a/extensions/sdktools/vcaller.cpp +++ b/extensions/sdktools/vcaller.cpp @@ -138,6 +138,7 @@ static cell_t PrepSDKCall_SetSignature(IPluginContext *pContext, const cell_t *p || SOURCE_ENGINE == SE_LEFT4DEAD2 \ || SOURCE_ENGINE == SE_NUCLEARDAWN \ || SOURCE_ENGINE == SE_BLADE \ + || SOURCE_ENGINE == SE_INSURGENCY \ || SOURCE_ENGINE == SE_CSGO s_call_addr = memutils->ResolveSymbol(handle, &sig[1]); #else diff --git a/loader/loader.cpp b/loader/loader.cpp index e64b18a0..ec60b3ba 100644 --- a/loader/loader.cpp +++ b/loader/loader.cpp @@ -85,6 +85,7 @@ #define FILENAME_1_6_ND "sourcemod.2.nd" PLATFORM_EXT #define FILENAME_1_6_DOTA "sourcemod.2.dota" PLATFORM_EXT #define FILENAME_1_6_BLADE "sourcemod.2.blade" PLATFORM_EXT +#define FILENAME_1_6_INSURGENCY "sourcemod.2.insurgency" PLATFORM_EXT HINSTANCE g_hCore = NULL; bool load_attempted = false; @@ -340,6 +341,11 @@ DLL_EXPORT METAMOD_PLUGIN *CreateInterface_MMS(const MetamodVersionInfo *mvi, co filename = FILENAME_1_6_BLADE; break; } + case SOURCE_ENGINE_INSURGENCY: + { + filename = FILENAME_1_6_INSURGENCY; + break; + } default: { return NULL; diff --git a/plugins/include/halflife.inc b/plugins/include/halflife.inc index b5ec324d..057d30c9 100644 --- a/plugins/include/halflife.inc +++ b/plugins/include/halflife.inc @@ -86,6 +86,7 @@ enum EngineVersion Engine_NuclearDawn, /**< Nuclear Dawn */ Engine_SDK2013, /**< Source SDK 2013 */ Engine_Blade, /**< Blade Symphony */ + Engine_Insurgency, /**< Insurgency (2013 Retail version)*/ }; #define INVALID_ENT_REFERENCE 0xFFFFFFFF