Added engine support for Blade Symphony (bug 5949, r=asherkin).
authorNicholas Hastings <skamonkey@gmail.com>
Sun Oct 13 14:15:29 2013 -0400 (2013-10-13)
changeset 41420a4da1ca54c9
parent 4141 8ff66ae5ffcc
child 4143 38064139ed37
Added engine support for Blade Symphony (bug 5949, r=asherkin).
AMBuildScript
core/logic_bridge.cpp
extensions/sdktools/vcaller.cpp
loader/loader.cpp
plugins/include/halflife.inc
     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