1
0
mirror of https://github.com/alliedmodders/metamod-source.git synced 2025-02-26 19:54:14 +01:00

Merge with changes from master.

This commit is contained in:
Scott Ehlert 2017-11-04 09:28:59 -05:00
commit a6e265e407
6 changed files with 23 additions and 6 deletions

View File

@ -53,11 +53,12 @@ PossibleSDKs = {
'swarm': SDK('HL2SDK-SWARM', '2.swarm', '16', 'ALIENSWARM', WinOnly, 'swarm'), 'swarm': SDK('HL2SDK-SWARM', '2.swarm', '16', 'ALIENSWARM', WinOnly, 'swarm'),
'bgt': SDK('HL2SDK-BGT', '2.bgt', '4', 'BLOODYGOODTIME', WinOnly, 'bgt'), 'bgt': SDK('HL2SDK-BGT', '2.bgt', '4', 'BLOODYGOODTIME', WinOnly, 'bgt'),
'eye': SDK('HL2SDK-EYE', '2.eye', '5', 'EYE', WinOnly, 'eye'), 'eye': SDK('HL2SDK-EYE', '2.eye', '5', 'EYE', WinOnly, 'eye'),
'csgo': SDK('HL2SDKCSGO', '2.csgo', '20', 'CSGO', CSGO, 'csgo'), 'csgo': SDK('HL2SDKCSGO', '2.csgo', '21', 'CSGO', CSGO, 'csgo'),
'dota': SDK('HL2SDKDOTA', '2.dota', '21', 'DOTA', Source2, 'dota'), 'dota': SDK('HL2SDKDOTA', '2.dota', '22', 'DOTA', Source2, 'dota'),
'portal2': SDK('HL2SDKPORTAL2', '2.portal2', '17', 'PORTAL2', [], 'portal2'), 'portal2': SDK('HL2SDKPORTAL2', '2.portal2', '17', 'PORTAL2', [], 'portal2'),
'blade': SDK('HL2SDKBLADE', '2.blade', '18', 'BLADE', WinLinux, 'blade'), 'blade': SDK('HL2SDKBLADE', '2.blade', '18', 'BLADE', WinLinux, 'blade'),
'insurgency': SDK('HL2SDKINSURGENCY', '2.insurgency', '19', 'INSURGENCY', WinLinuxMac, 'insurgency'), 'insurgency': SDK('HL2SDKINSURGENCY', '2.insurgency', '19', 'INSURGENCY', WinLinuxMac, 'insurgency'),
'doi': SDK('HL2SDKDOI', '2.doi', '20', 'DOI', WinLinuxMac, 'doi'),
'contagion': SDK('HL2SDKCONTAGION', '2.contagion', '14', 'CONTAGION', WinOnly, 'contagion'), 'contagion': SDK('HL2SDKCONTAGION', '2.contagion', '14', 'CONTAGION', WinOnly, 'contagion'),
'bms': SDK('HL2SDKBMS', '2.bms', '10', 'BMS', WinLinux, 'bms'), 'bms': SDK('HL2SDKBMS', '2.bms', '10', 'BMS', WinLinux, 'bms'),
} }
@ -437,7 +438,7 @@ class MMSConfig(object):
else: else:
compiler.postlink += [compiler.Dep(os.path.join(lib_folder, 'tier1_i486.a'))] compiler.postlink += [compiler.Dep(os.path.join(lib_folder, 'tier1_i486.a'))]
if sdk.name in ['blade', 'insurgency', 'csgo', 'dota']: if sdk.name in ['blade', 'insurgency', 'doi', 'csgo', 'dota']:
if arch == 'x64': if arch == 'x64':
compiler.postlink += [compiler.Dep(os.path.join(lib_folder, 'interfaces.a'))] compiler.postlink += [compiler.Dep(os.path.join(lib_folder, 'interfaces.a'))]
else: else:
@ -448,11 +449,11 @@ class MMSConfig(object):
dynamic_libs = [] dynamic_libs = []
if builder.target.platform == 'linux': if builder.target.platform == 'linux':
compiler.linkflags[0:0] = ['-lm'] compiler.linkflags[0:0] = ['-lm']
if sdk.name in ['css', 'hl2dm', 'dods', 'tf2', 'sdk2013', 'bms', 'nucleardawn', 'l4d2', 'insurgency']: if sdk.name in ['css', 'hl2dm', 'dods', 'tf2', 'sdk2013', 'bms', 'nucleardawn', 'l4d2', 'insurgency', 'doi']:
dynamic_libs = ['libtier0_srv.so', 'libvstdlib_srv.so'] dynamic_libs = ['libtier0_srv.so', 'libvstdlib_srv.so']
elif arch == 'x64' and sdk.name == 'csgo': elif arch == 'x64' and sdk.name == 'csgo':
dynamic_libs = ['libtier0_client.so', 'libvstdlib_client.so'] dynamic_libs = ['libtier0_client.so', 'libvstdlib_client.so']
elif sdk.name in ['l4d', 'blade', 'insurgency', 'csgo', 'dota']: elif sdk.name in ['l4d', 'blade', 'insurgency', 'doi', 'csgo', 'dota']:
dynamic_libs = ['libtier0.so', 'libvstdlib.so'] dynamic_libs = ['libtier0.so', 'libvstdlib.so']
else: else:
dynamic_libs = ['tier0_i486.so', 'vstdlib_i486.so'] dynamic_libs = ['tier0_i486.so', 'vstdlib_i486.so']
@ -461,7 +462,7 @@ class MMSConfig(object):
dynamic_libs = ['libtier0.dylib', 'libvstdlib.dylib'] dynamic_libs = ['libtier0.dylib', 'libvstdlib.dylib']
elif builder.target.platform == 'windows': elif builder.target.platform == 'windows':
libs = ['tier0', 'tier1', 'vstdlib'] libs = ['tier0', 'tier1', 'vstdlib']
if sdk.name in ['swarm', 'blade', 'insurgency', 'csgo', 'dota']: if sdk.name in ['swarm', 'blade', 'insurgency', 'doi', 'csgo', 'dota']:
libs.append('interfaces') libs.append('interfaces')
for lib in libs: for lib in libs:
if arch == 'x86': if arch == 'x86':

View File

@ -59,6 +59,7 @@
#define SOURCE_ENGINE_INSURGENCY 21 /**< Insurgency */ #define SOURCE_ENGINE_INSURGENCY 21 /**< Insurgency */
#define SOURCE_ENGINE_CONTAGION 22 /**< Contagion */ #define SOURCE_ENGINE_CONTAGION 22 /**< Contagion */
#define SOURCE_ENGINE_BMS 23 /**< Black Mesa Multiplayer */ #define SOURCE_ENGINE_BMS 23 /**< Black Mesa Multiplayer */
#define SOURCE_ENGINE_DOI 24 /**< Day of Infamy */
#define METAMOD_PLAPI_VERSION 16 /**< Version of this header file */ #define METAMOD_PLAPI_VERSION 16 /**< Version of this header file */
#define METAMOD_PLAPI_NAME "ISmmPlugin" /**< Name of the plugin interface */ #define METAMOD_PLAPI_NAME "ISmmPlugin" /**< Name of the plugin interface */

View File

@ -530,6 +530,8 @@ int BaseProvider::DetermineSourceEngine()
return SOURCE_ENGINE_BLADE; return SOURCE_ENGINE_BLADE;
#elif SOURCE_ENGINE == SE_INSURGENCY #elif SOURCE_ENGINE == SE_INSURGENCY
return SOURCE_ENGINE_INSURGENCY; return SOURCE_ENGINE_INSURGENCY;
#elif SOURCE_ENGINE == SE_DOI
return SOURCE_ENGINE_DOI;
#elif SOURCE_ENGINE == SE_CSGO #elif SOURCE_ENGINE == SE_CSGO
return SOURCE_ENGINE_CSGO; return SOURCE_ENGINE_CSGO;
#elif SOURCE_ENGINE == SE_DOTA #elif SOURCE_ENGINE == SE_DOTA
@ -654,6 +656,8 @@ const char *BaseProvider::GetEngineDescription() const
return "Blade Symphony (2013)"; return "Blade Symphony (2013)";
#elif SOURCE_ENGINE == SE_INSURGENCY #elif SOURCE_ENGINE == SE_INSURGENCY
return "Insurgency (2013)"; return "Insurgency (2013)";
#elif SOURCE_ENGINE == SE_DOI
return "Day of Infamy (2016)";
#elif SOURCE_ENGINE == SE_CSGO #elif SOURCE_ENGINE == SE_CSGO
return "Counter-Strike: Global Offensive (2012)"; return "Counter-Strike: Global Offensive (2012)";
#elif SOURCE_ENGINE == SE_DOTA #elif SOURCE_ENGINE == SE_DOTA

View File

@ -90,6 +90,7 @@ static const char *backend_names[] =
"2.insurgency", "2.insurgency",
"2.contagion", "2.contagion",
"2.bms", "2.bms",
"2.doi",
}; };
#if defined _WIN32 #if defined _WIN32
@ -307,6 +308,14 @@ mm_DetermineBackend(QueryValveInterface engineFactory, QueryValveInterface serve
if (engineFactory("IEngineSoundServer004", NULL) != NULL) if (engineFactory("IEngineSoundServer004", NULL) != NULL)
{ {
void *lib = (void *)serverFactory;
void *addr;
if (strcmp(game_name, "doi") == 0
|| (addr = mm_FindPattern(lib, "doi_gamerules_data", sizeof("doi_gamerules_data") - 1)))
{
return MMBackend_DOI;
}
return MMBackend_Insurgency; return MMBackend_Insurgency;
} }

View File

@ -102,6 +102,7 @@ enum MetamodBackend
MMBackend_Insurgency, MMBackend_Insurgency,
MMBackend_Contagion, MMBackend_Contagion,
MMBackend_BMS, MMBackend_BMS,
MMBackend_DOI,
MMBackend_UNKNOWN MMBackend_UNKNOWN
}; };

View File

@ -135,6 +135,7 @@ public:
&& mm_backend != MMBackend_Portal2 && mm_backend != MMBackend_Portal2
&& mm_backend != MMBackend_Blade && mm_backend != MMBackend_Blade
&& mm_backend != MMBackend_Insurgency && mm_backend != MMBackend_Insurgency
&& mm_backend != MMBackend_DOI
&& mm_backend != MMBackend_CSGO && mm_backend != MMBackend_CSGO
&& mm_backend != MMBackend_DOTA) && mm_backend != MMBackend_DOTA)
{ {