Added engine support for Insurgency (bug 5951, r=asherkin).
This commit is contained in:
parent
24c623c2fa
commit
e0746e1ab8
@ -74,10 +74,10 @@ class SM:
|
|||||||
self.possibleSdks['eye'] = {'sdk': 'HL2SDK-EYE', 'ext': '2.eye', 'def': '5',
|
self.possibleSdks['eye'] = {'sdk': 'HL2SDK-EYE', 'ext': '2.eye', 'def': '5',
|
||||||
'name': 'EYE', 'platform': ['windows'],
|
'name': 'EYE', 'platform': ['windows'],
|
||||||
'dir': 'hl2sdk-eye'}
|
'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'],
|
'name': 'CSGO', 'platform': ['windows', 'linux', 'darwin'],
|
||||||
'dir': 'hl2sdk-csgo'}
|
'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'],
|
'name': 'DOTA', 'platform': ['windows'],
|
||||||
'dir': 'hl2sdk-dota'}
|
'dir': 'hl2sdk-dota'}
|
||||||
self.possibleSdks['portal2'] = {'sdk': 'HL2SDKPORTAL2','ext': '2.portal2', 'def': '15',
|
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',
|
self.possibleSdks['blade'] = {'sdk': 'HL2SDKBLADE', 'ext': '2.blade', 'def': '16',
|
||||||
'name': 'BLADE', 'platform': ['windows', 'linux'],
|
'name': 'BLADE', 'platform': ['windows', 'linux'],
|
||||||
'dir': 'hl2sdk-blade'}
|
'dir': 'hl2sdk-blade'}
|
||||||
|
self.possibleSdks['insurgency'] = {'sdk': 'HL2SDKINSURGENCY', 'ext': '2.insurgency', 'def': '17',
|
||||||
|
'name': 'INSURGENCY', 'platform': ['windows', 'linux', 'darwin'],
|
||||||
|
'dir': 'hl2sdk-insurgency'}
|
||||||
|
|
||||||
self.sdkInfo = { }
|
self.sdkInfo = { }
|
||||||
|
|
||||||
@ -336,9 +339,9 @@ class SM:
|
|||||||
libs = []
|
libs = []
|
||||||
if sdk in ['css', 'hl2dm', 'dods', 'tf2', 'l4d2']:
|
if sdk in ['css', 'hl2dm', 'dods', 'tf2', 'l4d2']:
|
||||||
libs = ['tier1_i486.a', 'mathlib_i486.a', 'libvstdlib_srv.so', 'libtier0_srv.so']
|
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']
|
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')
|
libs.append('interfaces_i486.a')
|
||||||
elif sdk == 'sdk2013':
|
elif sdk == 'sdk2013':
|
||||||
libs = ['tier1.a', 'mathlib.a', 'libvstdlib_srv.so', 'libtier0_srv.so']
|
libs = ['tier1.a', 'mathlib.a', 'libvstdlib_srv.so', 'libtier0_srv.so']
|
||||||
@ -360,7 +363,7 @@ class SM:
|
|||||||
staticLibs = os.path.join(sdkPath, 'lib', 'mac')
|
staticLibs = os.path.join(sdkPath, 'lib', 'mac')
|
||||||
libs = ['tier1_i486.a', 'mathlib_i486.a', 'libvstdlib.dylib', 'libtier0.dylib']
|
libs = ['tier1_i486.a', 'mathlib_i486.a', 'libvstdlib.dylib', 'libtier0.dylib']
|
||||||
workFolder = os.path.join(AMBuild.outputFolder, job.workFolder)
|
workFolder = os.path.join(AMBuild.outputFolder, job.workFolder)
|
||||||
if sdk == 'csgo':
|
if sdk in ['insurgency', 'csgo']:
|
||||||
libs.append('interfaces_i486.a')
|
libs.append('interfaces_i486.a')
|
||||||
for lib in libs:
|
for lib in libs:
|
||||||
link = os.path.join(workFolder, lib)
|
link = os.path.join(workFolder, lib)
|
||||||
@ -371,7 +374,7 @@ class SM:
|
|||||||
job.AddCommand(SymlinkCommand(link, target))
|
job.AddCommand(SymlinkCommand(link, target))
|
||||||
elif AMBuild.target['platform'] == 'windows':
|
elif AMBuild.target['platform'] == 'windows':
|
||||||
libs = ['tier0', 'tier1', 'vstdlib', 'mathlib']
|
libs = ['tier0', 'tier1', 'vstdlib', 'mathlib']
|
||||||
if sdk in ['swarm', 'blade', 'csgo', 'dota']:
|
if sdk in ['swarm', 'blade', 'insurgency', 'csgo', 'dota']:
|
||||||
libs.append('interfaces')
|
libs.append('interfaces')
|
||||||
for lib in libs:
|
for lib in libs:
|
||||||
libPath = os.path.join(sdkPath, 'lib', 'public', lib) + '.lib'
|
libPath = os.path.join(sdkPath, 'lib', 'public', lib) + '.lib'
|
||||||
@ -385,7 +388,7 @@ class SM:
|
|||||||
else:
|
else:
|
||||||
builder.AddObjectFiles(['tier1_i486.a', 'mathlib_i486.a'])
|
builder.AddObjectFiles(['tier1_i486.a', 'mathlib_i486.a'])
|
||||||
|
|
||||||
if sdk in ['blade', 'csgo']:
|
if sdk in ['blade', 'insurgency', 'csgo']:
|
||||||
builder.AddObjectFiles(['interfaces_i486.a'])
|
builder.AddObjectFiles(['interfaces_i486.a'])
|
||||||
|
|
||||||
def DefaultHL2Compiler(self, path, sdk, noLink = False, oldMms = '-legacy'):
|
def DefaultHL2Compiler(self, path, sdk, noLink = False, oldMms = '-legacy'):
|
||||||
@ -424,7 +427,7 @@ class SM:
|
|||||||
compiler['CDEFINES'].remove('_snprintf=snprintf')
|
compiler['CDEFINES'].remove('_snprintf=snprintf')
|
||||||
compiler['CDEFINES'].remove('_vsnprintf=vsnprintf')
|
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':
|
if AMBuild.target['platform'] == 'windows':
|
||||||
compiler['CDEFINES'].extend(['COMPILER_MSVC', 'COMPILER_MSVC32'])
|
compiler['CDEFINES'].extend(['COMPILER_MSVC', 'COMPILER_MSVC32'])
|
||||||
else:
|
else:
|
||||||
@ -459,7 +462,7 @@ class SM:
|
|||||||
if sdk in ['css', 'hl2dm', 'dods', 'tf2', 'sdk2013', 'l4d2']:
|
if sdk in ['css', 'hl2dm', 'dods', 'tf2', 'sdk2013', 'l4d2']:
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['libtier0_srv.so']
|
compiler['POSTLINKFLAGS'][0:0] = ['libtier0_srv.so']
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['libvstdlib_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] = ['libtier0.so']
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['libvstdlib.so']
|
compiler['POSTLINKFLAGS'][0:0] = ['libvstdlib.so']
|
||||||
else:
|
else:
|
||||||
|
@ -381,7 +381,7 @@ public:
|
|||||||
FnChangeCallback_t GetChangeCallback( int slot ) const { return m_pParent->m_fnChangeCallbacks[ slot ]; }
|
FnChangeCallback_t GetChangeCallback( int slot ) const { return m_pParent->m_fnChangeCallbacks[ slot ]; }
|
||||||
|
|
||||||
// Retrieve value
|
// Retrieve value
|
||||||
#if SOURCE_ENGINE == SE_CSGO
|
#if SOURCE_ENGINE >= SE_INSURGENCY
|
||||||
virtual float GetFloat( void ) const;
|
virtual float GetFloat( void ) const;
|
||||||
virtual int GetInt( void ) const;
|
virtual int GetInt( void ) const;
|
||||||
#else
|
#else
|
||||||
|
@ -235,6 +235,8 @@ static const char *get_source_engine_name()
|
|||||||
return "portal2";
|
return "portal2";
|
||||||
#elif SOURCE_ENGINE == SE_BLADE
|
#elif SOURCE_ENGINE == SE_BLADE
|
||||||
return "blade";
|
return "blade";
|
||||||
|
#elif SOURCE_ENGINE == SE_INSURGENCY
|
||||||
|
return "insurgency";
|
||||||
#elif SOURCE_ENGINE == SE_CSGO
|
#elif SOURCE_ENGINE == SE_CSGO
|
||||||
return "csgo";
|
return "csgo";
|
||||||
#elif SOURCE_ENGINE == SE_DOTA
|
#elif SOURCE_ENGINE == SE_DOTA
|
||||||
@ -252,6 +254,7 @@ static bool symbols_are_hidden()
|
|||||||
|| (SOURCE_ENGINE == SE_LEFT4DEAD) \
|
|| (SOURCE_ENGINE == SE_LEFT4DEAD) \
|
||||||
|| (SOURCE_ENGINE == SE_NUCLEARDAWN) \
|
|| (SOURCE_ENGINE == SE_NUCLEARDAWN) \
|
||||||
|| (SOURCE_ENGINE == SE_LEFT4DEAD2) \
|
|| (SOURCE_ENGINE == SE_LEFT4DEAD2) \
|
||||||
|
|| (SOURCE_ENGINE == SE_INSURGENCY) \
|
||||||
|| (SOURCE_ENGINE == SE_BLADE) \
|
|| (SOURCE_ENGINE == SE_BLADE) \
|
||||||
|| (SOURCE_ENGINE == SE_CSGO) \
|
|| (SOURCE_ENGINE == SE_CSGO) \
|
||||||
|| (SOURCE_ENGINE == SE_DOTA)
|
|| (SOURCE_ENGINE == SE_DOTA)
|
||||||
@ -369,6 +372,8 @@ void do_global_plugin_loads()
|
|||||||
#define GAMEFIX "2.portal2"
|
#define GAMEFIX "2.portal2"
|
||||||
#elif SOURCE_ENGINE == SE_BLADE
|
#elif SOURCE_ENGINE == SE_BLADE
|
||||||
#define GAMEFIX "2.blade"
|
#define GAMEFIX "2.blade"
|
||||||
|
#elif SOURCE_ENGINE == SE_INSURGENCY
|
||||||
|
#define GAMEFIX "2.insurgency"
|
||||||
#elif SOURCE_ENGINE == SE_CSGO
|
#elif SOURCE_ENGINE == SE_CSGO
|
||||||
#define GAMEFIX "2.csgo"
|
#define GAMEFIX "2.csgo"
|
||||||
#elif SOURCE_ENGINE == SE_DOTA
|
#elif SOURCE_ENGINE == SE_DOTA
|
||||||
|
@ -78,7 +78,7 @@ CTakeDamageInfoHack::CTakeDamageInfoHack( CBaseEntity *pInflictor, CBaseEntity *
|
|||||||
m_flRadius = 0.0f;
|
m_flRadius = 0.0f;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if SOURCE_ENGINE == SE_CSGO
|
#if SOURCE_ENGINE == SE_INSURGENCY || SOURCE_ENGINE == SE_CSGO
|
||||||
m_iDamagedOtherPlayers = 0;
|
m_iDamagedOtherPlayers = 0;
|
||||||
m_iObjectsPenetrated = 0;
|
m_iObjectsPenetrated = 0;
|
||||||
m_uiBulletID = 0;
|
m_uiBulletID = 0;
|
||||||
|
@ -138,6 +138,7 @@ static cell_t PrepSDKCall_SetSignature(IPluginContext *pContext, const cell_t *p
|
|||||||
|| SOURCE_ENGINE == SE_LEFT4DEAD2 \
|
|| SOURCE_ENGINE == SE_LEFT4DEAD2 \
|
||||||
|| SOURCE_ENGINE == SE_NUCLEARDAWN \
|
|| SOURCE_ENGINE == SE_NUCLEARDAWN \
|
||||||
|| SOURCE_ENGINE == SE_BLADE \
|
|| SOURCE_ENGINE == SE_BLADE \
|
||||||
|
|| SOURCE_ENGINE == SE_INSURGENCY \
|
||||||
|| SOURCE_ENGINE == SE_CSGO
|
|| SOURCE_ENGINE == SE_CSGO
|
||||||
s_call_addr = memutils->ResolveSymbol(handle, &sig[1]);
|
s_call_addr = memutils->ResolveSymbol(handle, &sig[1]);
|
||||||
#else
|
#else
|
||||||
|
@ -85,6 +85,7 @@
|
|||||||
#define FILENAME_1_6_ND "sourcemod.2.nd" PLATFORM_EXT
|
#define FILENAME_1_6_ND "sourcemod.2.nd" PLATFORM_EXT
|
||||||
#define FILENAME_1_6_DOTA "sourcemod.2.dota" 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_BLADE "sourcemod.2.blade" PLATFORM_EXT
|
||||||
|
#define FILENAME_1_6_INSURGENCY "sourcemod.2.insurgency" PLATFORM_EXT
|
||||||
|
|
||||||
HINSTANCE g_hCore = NULL;
|
HINSTANCE g_hCore = NULL;
|
||||||
bool load_attempted = false;
|
bool load_attempted = false;
|
||||||
@ -340,6 +341,11 @@ DLL_EXPORT METAMOD_PLUGIN *CreateInterface_MMS(const MetamodVersionInfo *mvi, co
|
|||||||
filename = FILENAME_1_6_BLADE;
|
filename = FILENAME_1_6_BLADE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case SOURCE_ENGINE_INSURGENCY:
|
||||||
|
{
|
||||||
|
filename = FILENAME_1_6_INSURGENCY;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -86,6 +86,7 @@ enum EngineVersion
|
|||||||
Engine_NuclearDawn, /**< Nuclear Dawn */
|
Engine_NuclearDawn, /**< Nuclear Dawn */
|
||||||
Engine_SDK2013, /**< Source SDK 2013 */
|
Engine_SDK2013, /**< Source SDK 2013 */
|
||||||
Engine_Blade, /**< Blade Symphony */
|
Engine_Blade, /**< Blade Symphony */
|
||||||
|
Engine_Insurgency, /**< Insurgency (2013 Retail version)*/
|
||||||
};
|
};
|
||||||
|
|
||||||
#define INVALID_ENT_REFERENCE 0xFFFFFFFF
|
#define INVALID_ENT_REFERENCE 0xFFFFFFFF
|
||||||
|
Loading…
Reference in New Issue
Block a user