Gamedata changes for CS:S as separate build (bug 5370).
Gamedata changes for CS:S as separate build (
bug 5370).
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"