Gamedata changes for CS:S as separate build (bug 5370).
authorNicholas Hastings <skamonkey@gmail.com>
Mon Aug 20 21:54:22 2012 -0400 (2012-08-20)
changeset 3614d67b465a1e8d
parent 3613 b0740093756d
child 3615 24c0dcaf2b4a
Gamedata changes for CS:S as separate build (bug 5370).
gamedata/core.games/common.games.txt
gamedata/core.games/engine.css.txt
gamedata/core.games/engine.ep2valve.txt
gamedata/core.games/master.games.txt
gamedata/sdktools.games/engine.css.txt
gamedata/sdktools.games/engine.ep2valve.txt
gamedata/sdktools.games/master.games.txt
     1.1 --- a/gamedata/core.games/common.games.txt	Mon Aug 20 21:53:59 2012 -0400
     1.2 +++ b/gamedata/core.games/common.games.txt	Mon Aug 20 21:54:22 2012 -0400
     1.3 @@ -90,6 +90,7 @@
     1.4  			"engine"			"bloodygoodtime"
     1.5  			"engine"			"eye"
     1.6  			"engine"			"orangebox_valve"
     1.7 +			"engine"			"css"
     1.8  			"engine"			"left4dead"
     1.9  			"engine"			"left4dead2"
    1.10  			"engine"			"alienswarm"
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/gamedata/core.games/engine.css.txt	Mon Aug 20 21:54:22 2012 -0400
     2.3 @@ -0,0 +1,57 @@
     2.4 +/**
     2.5 + * Do not edit this file.  Any changes will be overwritten by the gamedata
     2.6 + * updater or by upgrading your SourceMod install.
     2.7 + *
     2.8 + * To override data in this file, create a subdirectory named "custom" and
     2.9 + * place your own gamedata file(s) inside of it.  Such files will be parsed
    2.10 + * after SM's own.
    2.11 + *
    2.12 + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod)
    2.13 + */
    2.14 +
    2.15 +"Games"
    2.16 +{
    2.17 +	/* CGlobalEntityList */
    2.18 +	"#default"
    2.19 +	{
    2.20 +		"#supported"
    2.21 +		{
    2.22 +			"game"		"dod"
    2.23 +			"game"		"tf"
    2.24 +			"game"		"cstrike"
    2.25 +			"game"		"garrysmod"
    2.26 +			"game"		"hl2mp"
    2.27 +		}
    2.28 +		
    2.29 +		"Offsets"
    2.30 +		{
    2.31 +			/* Offset into LevelShutdown */
    2.32 +			"gEntList"
    2.33 +			{
    2.34 +				"windows"	"11"
    2.35 +			}
    2.36 +
    2.37 +			"EntInfo"
    2.38 +			{
    2.39 +				"windows"	"4"	
    2.40 +				"linux"		"4"
    2.41 +				"mac"		"4"
    2.42 +			}
    2.43 +		}
    2.44 +		
    2.45 +		"Signatures"
    2.46 +		{
    2.47 +			"LevelShutdown"
    2.48 +			{
    2.49 +				"library"	"server"
    2.50 +				"windows"	"\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8"
    2.51 +			}
    2.52 +			"gEntList"
    2.53 +			{
    2.54 +				"library"	"server"
    2.55 +				"linux"		"@gEntList"
    2.56 +				"mac"		"@gEntList"
    2.57 +			}
    2.58 +		}
    2.59 +	}
    2.60 +}
     3.1 --- a/gamedata/core.games/engine.ep2valve.txt	Mon Aug 20 21:53:59 2012 -0400
     3.2 +++ b/gamedata/core.games/engine.ep2valve.txt	Mon Aug 20 21:54:22 2012 -0400
     3.3 @@ -18,7 +18,6 @@
     3.4  		{
     3.5  			"game"		"dod"
     3.6  			"game"		"tf"
     3.7 -			"game"		"cstrike"
     3.8  			"game"		"garrysmod"
     3.9  			"game"		"hl2mp"
    3.10  		}
     4.1 --- a/gamedata/core.games/master.games.txt	Mon Aug 20 21:53:59 2012 -0400
     4.2 +++ b/gamedata/core.games/master.games.txt	Mon Aug 20 21:54:22 2012 -0400
     4.3 @@ -40,6 +40,11 @@
     4.4  		"engine"	"orangebox_valve"
     4.5  	}
     4.6  	
     4.7 +	"engine.css.txt"
     4.8 +	{
     4.9 +		"engine"	"css"
    4.10 +	}
    4.11 +	
    4.12  	"engine.ep1.txt"
    4.13  	{
    4.14  		"engine"	"original"
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/gamedata/sdktools.games/engine.css.txt	Mon Aug 20 21:54:22 2012 -0400
     5.3 @@ -0,0 +1,210 @@
     5.4 +/**
     5.5 + * Do not edit this file.  Any changes will be overwritten by the gamedata
     5.6 + * updater or by upgrading your SourceMod install.
     5.7 + *
     5.8 + * To override data in this file, create a subdirectory named "custom" and
     5.9 + * place your own gamedata file(s) inside of it.  Such files will be parsed
    5.10 + * after SM's own.
    5.11 + *
    5.12 + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod)
    5.13 + */
    5.14 +
    5.15 +"Games"
    5.16 +{
    5.17 +	/* General Temp Entities */
    5.18 +	"#default"
    5.19 +	{
    5.20 +		"Offsets"
    5.21 +		{
    5.22 +			/* Offset into CBaseTempEntity constructor */
    5.23 +			"s_pTempEntities"
    5.24 +			{
    5.25 +				"windows"	"19"
    5.26 +			}
    5.27 +			"GetTEName"
    5.28 +			{
    5.29 +				"windows"	"4"
    5.30 +				"linux"		"4"
    5.31 +				"mac"		"4"
    5.32 +			}
    5.33 +			"GetTENext"
    5.34 +			{
    5.35 +				"windows"	"8"
    5.36 +				"linux"		"8"
    5.37 +				"mac"		"8"
    5.38 +			}
    5.39 +			"TE_GetServerClass"
    5.40 +			{
    5.41 +				"windows"	"0"
    5.42 +				"linux"		"0"
    5.43 +				"mac"		"0"
    5.44 +			}
    5.45 +		}
    5.46 +
    5.47 +		"Signatures"
    5.48 +		{
    5.49 +			"CBaseTempEntity"
    5.50 +			{
    5.51 +				"library"	"server"
    5.52 +				"windows"	"\x55\x8B\xEC\x8B\xC1\x8B\x4D\x2A\xC7\x00\x2A\x2A\x2A\x2A\x89\x48"
    5.53 +			}
    5.54 +			"s_pTempEntities"
    5.55 +			{
    5.56 +				"library"	"server"
    5.57 +				"linux"		"@_ZN15CBaseTempEntity15s_pTempEntitiesE"
    5.58 +				"mac"		"@_ZN15CBaseTempEntity15s_pTempEntitiesE"
    5.59 +			}
    5.60 +		}
    5.61 +	}
    5.62 +	
    5.63 +	/* CGlobalEntityList */
    5.64 +	"#default"
    5.65 +	{
    5.66 +		"Signatures"
    5.67 +		{
    5.68 +			/* Functions in CGlobalEntityList */
    5.69 +			"FindEntityByClassname"
    5.70 +			{
    5.71 +				"library"	"server"
    5.72 +				"windows"	"\x55\x8B\xEC\x53\x56\x8B\xF1\x8B\x4D\x2A\x85\xC9\x57\x74\x2A\x8B\x01\x8B\x50\x2A\xFF\xD2\x8B\x00\x25\x2A\x2A\x2A\x2A\x83\xC0\x2A\xC1\xE0\x04\x8B\x3C\x30\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5D\x2A\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x15\x2A\x2A\x2A\x2A\x83\xC4\x2A\xEB\x2A\x39"
    5.73 +				"linux"		"@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
    5.74 +				"mac"		"@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
    5.75 +			}
    5.76 +		}
    5.77 +	}
    5.78 +
    5.79 +	/* General GameRules */
    5.80 +	"#default"
    5.81 +	{
    5.82 +		"Offsets"
    5.83 +		{
    5.84 +			/* Offset into CreateGameRulesObject */
    5.85 +			"g_pGameRules"
    5.86 +			{
    5.87 +				"windows"	"2"
    5.88 +			}
    5.89 +		}
    5.90 +		
    5.91 +		"Signatures"
    5.92 +		{
    5.93 +			/* This signature sometimes has multiple matches, but this
    5.94 +			 * does not matter as g_pGameRules is involved in all of them.
    5.95 +			 * The same g_pGameRules offset applies to each match.
    5.96 +			 *
    5.97 +			 * Sometimes this block of bytes is at the beginning of the static
    5.98 +			 * CreateGameRulesObject function and sometimes it is in the middle
    5.99 +			 * of an entirely different function. This depends on the game.
   5.100 +			 */
   5.101 +			"CreateGameRulesObject"
   5.102 +			{
   5.103 +				"library"	"server"
   5.104 +				"windows"	"\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2"
   5.105 +			}
   5.106 +			"g_pGameRules"
   5.107 +			{
   5.108 +				"library"	"server"
   5.109 +				"linux"		"@g_pGameRules"
   5.110 +				"mac"		"@g_pGameRules"
   5.111 +			}
   5.112 +		}
   5.113 +	}
   5.114 +
   5.115 +	/* IServer interface pointer */
   5.116 +	"#default"
   5.117 +	{
   5.118 +		"Keys"
   5.119 +		{
   5.120 +			/* Signature for the beginning of IVEngineServer::CreateFakeClient.
   5.121 +			 *
   5.122 +			 * The engine binary is not actually scanned in order to look for
   5.123 +			 * this. SourceHook is used to used to determine the address of the
   5.124 +			 * function and this signature is used to verify that it contains
   5.125 +			 * the expected code. A pointer to sv (IServer interface) is used
   5.126 +			 * here.
   5.127 +			 */
   5.128 +			"CreateFakeClient_Windows"	"\x55\x8B\xEC\x8B\x45\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0"
   5.129 +		}
   5.130 +		
   5.131 +		"Offsets"
   5.132 +		{
   5.133 +			/* Offset into IVEngineServer::CreateFakeClient */
   5.134 +			"sv"
   5.135 +			{
   5.136 +				"windows"	"8"
   5.137 +			}
   5.138 +		}
   5.139 +
   5.140 +		"Signatures"
   5.141 +		{
   5.142 +			/* CBaseServer object for IServer interface */
   5.143 +			"sv"
   5.144 +			{
   5.145 +				"library"	"engine"
   5.146 +				"linux"		"@sv"
   5.147 +				"mac"		"@sv"
   5.148 +			}
   5.149 +		}
   5.150 +	}
   5.151 +	
   5.152 +	/* EntityFactoryDictionary function */
   5.153 +	"#default"
   5.154 +	{
   5.155 +		"Signatures"
   5.156 +		{
   5.157 +			"EntityFactory"
   5.158 +			{
   5.159 +				"library"	"server"
   5.160 +				"windows"	"\xB8\x01\x00\x00\x00\x84\x2A\x2A\x2A\x2A\x2A\x75\x1D\x09\x2A\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x68\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\xB8\x2A\x2A\x2A\x2A\xC3"
   5.161 +				"linux"		"@_Z23EntityFactoryDictionaryv"
   5.162 +				"mac"		"@_Z23EntityFactoryDictionaryv"
   5.163 +			}
   5.164 +		}
   5.165 +	}
   5.166 +
   5.167 +	/* CBaseEntityOutput::FireOutput */
   5.168 +	"#default"
   5.169 +	{
   5.170 +		"Signatures"
   5.171 +		{
   5.172 +			"FireOutput"
   5.173 +			{
   5.174 +				"library"	"server"
   5.175 +				"windows"	"\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\x53\x56\x8B\x71\x2A\x85\xF6"
   5.176 +				"linux"		"@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
   5.177 +				"mac"		"@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
   5.178 +			}
   5.179 +		}
   5.180 +	}
   5.181 +	
   5.182 +	/* SetUserInfo data */
   5.183 +	"#default"
   5.184 +	{
   5.185 +		"Offsets"
   5.186 +		{
   5.187 +			/**
   5.188 +			 * CBaseClient::SetUserCVar(char  const*,char  const*);
   5.189 +			 * Linux offset straight from VTable dump.
   5.190 +			 * Windows offset is crazy. Found the windows SetName function using string "(%d)%-0.*s"
   5.191 +			 * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1)
   5.192 +			 */
   5.193 +			"SetUserCvar"
   5.194 +			{
   5.195 +				"windows"	"18"
   5.196 +				"linux"		"58"
   5.197 +				"mac"		"58"
   5.198 +			}
   5.199 +			/**
   5.200 +			 * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
   5.201 +			 * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end.
   5.202 +			 * Linux: 	mov     byte ptr [esi+98h], 0
   5.203 +			 * Win:	mov     byte ptr [esi+0A4h], 0
   5.204 +			 */
   5.205 +			"InfoChanged"
   5.206 +			{
   5.207 +				"windows"	"140"
   5.208 +				"linux"		"140"
   5.209 +				"mac"		"140"
   5.210 +			}
   5.211 +		}
   5.212 +	}
   5.213 +}
     6.1 --- a/gamedata/sdktools.games/engine.ep2valve.txt	Mon Aug 20 21:53:59 2012 -0400
     6.2 +++ b/gamedata/sdktools.games/engine.ep2valve.txt	Mon Aug 20 21:54:22 2012 -0400
     6.3 @@ -19,7 +19,6 @@
     6.4  			"game"		"dod"
     6.5  			"game"		"tf"
     6.6  			"game"		"hl2mp"
     6.7 -			"game"		"cstrike"
     6.8  			"game"		"garrysmod"
     6.9  		}
    6.10  
    6.11 @@ -74,7 +73,6 @@
    6.12  			"game"		"dod"
    6.13  			"game"		"tf"
    6.14  			"game"		"hl2mp"
    6.15 -			"game"		"cstrike"
    6.16  			"game"		"garrysmod"
    6.17  		}
    6.18  		
    6.19 @@ -98,7 +96,6 @@
    6.20  		{
    6.21  			"game"		"dod"
    6.22  			"game"		"tf"
    6.23 -			"game"		"cstrike"
    6.24  			"game"		"garrysmod"
    6.25  			"game"		"hl2mp"
    6.26  		}
    6.27 @@ -196,7 +193,6 @@
    6.28  			"game"		"dod"
    6.29  			"game"		"tf"
    6.30  			"game"		"hl2mp"
    6.31 -			"game"		"cstrike"
    6.32  			"game"		"garrysmod"
    6.33  		}
    6.34  		"Signatures"
    6.35 @@ -220,7 +216,6 @@
    6.36  			"game"		"tf"
    6.37  			"game"		"garrysmod"
    6.38  			"game"		"hl2mp"
    6.39 -			"game"		"cstrike"
    6.40  		}
    6.41  		
    6.42  		"Offsets"
     7.1 --- a/gamedata/sdktools.games/master.games.txt	Mon Aug 20 21:53:59 2012 -0400
     7.2 +++ b/gamedata/sdktools.games/master.games.txt	Mon Aug 20 21:54:22 2012 -0400
     7.3 @@ -40,6 +40,11 @@
     7.4  		"engine"	"orangebox_valve"
     7.5  	}
     7.6  	
     7.7 +	"engine.css.txt"
     7.8 +	{
     7.9 +		"engine"	"css"
    7.10 +	}
    7.11 +	
    7.12  	"engine.ep1.txt"
    7.13  	{
    7.14  		"engine"	"original"