Added engine support for Blade Symphony (bug 5949, r=asherkin).
1.1 --- a/AMBuildScript Sun Oct 13 14:14:51 2013 -0400
1.2 +++ b/AMBuildScript Sun Oct 13 14:15:29 2013 -0400
1.3 @@ -74,15 +74,18 @@
1.4 self.possibleSdks['eye'] = {'sdk': 'HL2SDK-EYE', 'ext': '2.eye', 'def': '5',
1.5 'name': 'EYE', 'platform': ['windows'],
1.6 'dir': 'hl2sdk-eye'}
1.7 - self.possibleSdks['csgo'] = {'sdk': 'HL2SDKCSGO', 'ext': '2.csgo', 'def': '16',
1.8 + self.possibleSdks['csgo'] = {'sdk': 'HL2SDKCSGO', 'ext': '2.csgo', 'def': '17',
1.9 'name': 'CSGO', 'platform': ['windows', 'linux', 'darwin'],
1.10 'dir': 'hl2sdk-csgo'}
1.11 - self.possibleSdks['dota'] = {'sdk': 'HL2SDKDOTA', 'ext': '2.dota', 'def': '17',
1.12 + self.possibleSdks['dota'] = {'sdk': 'HL2SDKDOTA', 'ext': '2.dota', 'def': '18',
1.13 'name': 'DOTA', 'platform': ['windows'],
1.14 'dir': 'hl2sdk-dota'}
1.15 self.possibleSdks['portal2'] = {'sdk': 'HL2SDKPORTAL2','ext': '2.portal2', 'def': '15',
1.16 'name': 'PORTAL2', 'platform': [],
1.17 'dir': 'hl2sdk-portal2'}
1.18 + self.possibleSdks['blade'] = {'sdk': 'HL2SDKBLADE', 'ext': '2.blade', 'def': '16',
1.19 + 'name': 'BLADE', 'platform': ['windows', 'linux'],
1.20 + 'dir': 'hl2sdk-blade'}
1.21
1.22 self.sdkInfo = { }
1.23
1.24 @@ -333,9 +336,9 @@
1.25 libs = []
1.26 if sdk in ['css', 'hl2dm', 'dods', 'tf2', 'l4d2']:
1.27 libs = ['tier1_i486.a', 'mathlib_i486.a', 'libvstdlib_srv.so', 'libtier0_srv.so']
1.28 - elif sdk in ['l4d', 'nd', 'csgo']:
1.29 + elif sdk in ['l4d', 'nd', 'blade', 'csgo']:
1.30 libs = ['tier1_i486.a', 'mathlib_i486.a', 'libvstdlib.so', 'libtier0.so']
1.31 - if sdk == 'csgo':
1.32 + if sdk in ['blade', 'csgo']:
1.33 libs.append('interfaces_i486.a')
1.34 elif sdk == 'sdk2013':
1.35 libs = ['tier1.a', 'mathlib.a', 'libvstdlib_srv.so', 'libtier0_srv.so']
1.36 @@ -368,7 +371,7 @@
1.37 job.AddCommand(SymlinkCommand(link, target))
1.38 elif AMBuild.target['platform'] == 'windows':
1.39 libs = ['tier0', 'tier1', 'vstdlib', 'mathlib']
1.40 - if sdk in ['swarm', 'csgo', 'dota']:
1.41 + if sdk in ['swarm', 'blade', 'csgo', 'dota']:
1.42 libs.append('interfaces')
1.43 for lib in libs:
1.44 libPath = os.path.join(sdkPath, 'lib', 'public', lib) + '.lib'
1.45 @@ -382,7 +385,7 @@
1.46 else:
1.47 builder.AddObjectFiles(['tier1_i486.a', 'mathlib_i486.a'])
1.48
1.49 - if sdk == 'csgo':
1.50 + if sdk in ['blade', 'csgo']:
1.51 builder.AddObjectFiles(['interfaces_i486.a'])
1.52
1.53 def DefaultHL2Compiler(self, path, sdk, noLink = False, oldMms = '-legacy'):
1.54 @@ -421,7 +424,7 @@
1.55 compiler['CDEFINES'].remove('_snprintf=snprintf')
1.56 compiler['CDEFINES'].remove('_vsnprintf=vsnprintf')
1.57
1.58 - if sdk in ['swarm','csgo','dota']:
1.59 + if sdk in ['swarm', 'blade', 'csgo', 'dota']:
1.60 if AMBuild.target['platform'] == 'windows':
1.61 compiler['CDEFINES'].extend(['COMPILER_MSVC', 'COMPILER_MSVC32'])
1.62 else:
1.63 @@ -456,7 +459,7 @@
1.64 if sdk in ['css', 'hl2dm', 'dods', 'tf2', 'sdk2013', 'l4d2']:
1.65 compiler['POSTLINKFLAGS'][0:0] = ['libtier0_srv.so']
1.66 compiler['POSTLINKFLAGS'][0:0] = ['libvstdlib_srv.so']
1.67 - elif sdk in ['l4d', 'nd', 'csgo']:
1.68 + elif sdk in ['l4d', 'nd', 'blade', 'csgo']:
1.69 compiler['POSTLINKFLAGS'][0:0] = ['libtier0.so']
1.70 compiler['POSTLINKFLAGS'][0:0] = ['libvstdlib.so']
1.71 else:
2.1 --- a/core/logic_bridge.cpp Sun Oct 13 14:14:51 2013 -0400
2.2 +++ b/core/logic_bridge.cpp Sun Oct 13 14:15:29 2013 -0400
2.3 @@ -233,6 +233,8 @@
2.4 return "alienswarm";
2.5 #elif SOURCE_ENGINE == SE_PORTAL2
2.6 return "portal2";
2.7 +#elif SOURCE_ENGINE == SE_BLADE
2.8 + return "blade";
2.9 #elif SOURCE_ENGINE == SE_CSGO
2.10 return "csgo";
2.11 #elif SOURCE_ENGINE == SE_DOTA
2.12 @@ -250,6 +252,7 @@
2.13 || (SOURCE_ENGINE == SE_LEFT4DEAD) \
2.14 || (SOURCE_ENGINE == SE_NUCLEARDAWN) \
2.15 || (SOURCE_ENGINE == SE_LEFT4DEAD2) \
2.16 + || (SOURCE_ENGINE == SE_BLADE) \
2.17 || (SOURCE_ENGINE == SE_CSGO) \
2.18 || (SOURCE_ENGINE == SE_DOTA)
2.19 return true;
2.20 @@ -364,6 +367,8 @@
2.21 #define GAMEFIX "2.darkm"
2.22 #elif SOURCE_ENGINE == SE_PORTAL2
2.23 #define GAMEFIX "2.portal2"
2.24 +#elif SOURCE_ENGINE == SE_BLADE
2.25 +#define GAMEFIX "2.blade"
2.26 #elif SOURCE_ENGINE == SE_CSGO
2.27 #define GAMEFIX "2.csgo"
2.28 #elif SOURCE_ENGINE == SE_DOTA
3.1 --- a/extensions/sdktools/vcaller.cpp Sun Oct 13 14:14:51 2013 -0400
3.2 +++ b/extensions/sdktools/vcaller.cpp Sun Oct 13 14:15:29 2013 -0400
3.3 @@ -137,6 +137,7 @@
3.4 || SOURCE_ENGINE == SE_LEFT4DEAD \
3.5 || SOURCE_ENGINE == SE_LEFT4DEAD2 \
3.6 || SOURCE_ENGINE == SE_NUCLEARDAWN \
3.7 + || SOURCE_ENGINE == SE_BLADE \
3.8 || SOURCE_ENGINE == SE_CSGO
3.9 s_call_addr = memutils->ResolveSymbol(handle, &sig[1]);
3.10 #else
4.1 --- a/loader/loader.cpp Sun Oct 13 14:14:51 2013 -0400
4.2 +++ b/loader/loader.cpp Sun Oct 13 14:15:29 2013 -0400
4.3 @@ -84,6 +84,7 @@
4.4 #define FILENAME_1_6_TF2 "sourcemod.2.tf2" PLATFORM_EXT
4.5 #define FILENAME_1_6_ND "sourcemod.2.nd" PLATFORM_EXT
4.6 #define FILENAME_1_6_DOTA "sourcemod.2.dota" PLATFORM_EXT
4.7 +#define FILENAME_1_6_BLADE "sourcemod.2.blade" PLATFORM_EXT
4.8
4.9 HINSTANCE g_hCore = NULL;
4.10 bool load_attempted = false;
4.11 @@ -334,6 +335,11 @@
4.12 filename = FILENAME_1_6_DOTA;
4.13 break;
4.14 }
4.15 + case SOURCE_ENGINE_BLADE:
4.16 + {
4.17 + filename = FILENAME_1_6_BLADE;
4.18 + break;
4.19 + }
4.20 default:
4.21 {
4.22 return NULL;
5.1 --- a/plugins/include/halflife.inc Sun Oct 13 14:14:51 2013 -0400
5.2 +++ b/plugins/include/halflife.inc Sun Oct 13 14:15:29 2013 -0400
5.3 @@ -85,6 +85,7 @@
5.4 Engine_TF2, /**< Team Fortress 2 */
5.5 Engine_NuclearDawn, /**< Nuclear Dawn */
5.6 Engine_SDK2013, /**< Source SDK 2013 */
5.7 + Engine_Blade, /**< Blade Symphony */
5.8 };
5.9
5.10 #define INVALID_ENT_REFERENCE 0xFFFFFFFF