1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/gamedata/sdktools.games/engine.csgo.txt Sun May 27 16:08:03 2012 -0400
1.3 @@ -0,0 +1,316 @@
1.4 +/**
1.5 + * Do not edit this file. Any changes will be overwritten by the gamedata
1.6 + * updater or by upgrading your SourceMod install.
1.7 + *
1.8 + * To override data in this file, create a subdirectory named "custom" and
1.9 + * place your own gamedata file(s) inside of it. Such files will be parsed
1.10 + * after SM's own.
1.11 + *
1.12 + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod)
1.13 + */
1.14 +
1.15 +"Games"
1.16 +{
1.17 + /* Sounds */
1.18 + "#default"
1.19 + {
1.20 + "Keys"
1.21 + {
1.22 + "SlapSoundCount" "3"
1.23 + "SlapSound1" "player/damage1.wav"
1.24 + "SlapSound2" "player/damage2.wav"
1.25 + "SlapSound2" "player/damage3.wav"
1.26 + }
1.27 + }
1.28 +
1.29 + /* General Temp Entities */
1.30 + "#default"
1.31 + {
1.32 + "Offsets"
1.33 + {
1.34 + /* Offset into CBaseTempEntity constructor */
1.35 + "s_pTempEntities"
1.36 + {
1.37 + "windows" "19"
1.38 + }
1.39 + "GetTEName"
1.40 + {
1.41 + "windows" "4"
1.42 + "linux" "4"
1.43 + "mac" "4"
1.44 + }
1.45 + "GetTENext"
1.46 + {
1.47 + "windows" "8"
1.48 + "linux" "8"
1.49 + "mac" "8"
1.50 + }
1.51 + "TE_GetServerClass"
1.52 + {
1.53 + "windows" "0"
1.54 + "linux" "0"
1.55 + "mac" "0"
1.56 + }
1.57 + }
1.58 +
1.59 + "Signatures"
1.60 + {
1.61 + "CBaseTempEntity"
1.62 + {
1.63 + "library" "server"
1.64 + "windows" "\x55\x8B\xEC\x8B\xC1\x8B\x4D\x08\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x2A\x8B"
1.65 + }
1.66 + "s_pTempEntities"
1.67 + {
1.68 + "library" "server"
1.69 + "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE"
1.70 + "mac" "@_ZN15CBaseTempEntity15s_pTempEntitiesE"
1.71 + }
1.72 + }
1.73 + }
1.74 +
1.75 + /* CGlobalEntityList */
1.76 + "#default"
1.77 + {
1.78 + "Signatures"
1.79 + {
1.80 + /* Functions in CGlobalEntityList */
1.81 + "FindEntityByClassname"
1.82 + {
1.83 + "library" "server"
1.84 + "windows" "\x55\x8B\xEC\x53\x56\x8B\xF1\x8B\x4D\x08\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x83\xF8\xFF\x75\x2A\xB8\xFF\x1F\x00\x00\x8D\x04\x40\x8B\x74\xC6\x2A\xEB"
1.85 + "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
1.86 + "mac" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
1.87 + }
1.88 + }
1.89 + }
1.90 +
1.91 + /* General GameRules */
1.92 + "#default"
1.93 + {
1.94 + "Offsets"
1.95 + {
1.96 + /* Offset into CreateGameRulesObject */
1.97 + "g_pGameRules"
1.98 + {
1.99 + "windows" "2"
1.100 + }
1.101 + }
1.102 +
1.103 + "Signatures"
1.104 + {
1.105 + /* This signature sometimes has multiple matches, but this
1.106 + * does not matter as g_pGameRules is involved in all of them.
1.107 + * The same g_pGameRules offset applies to each match.
1.108 + *
1.109 + * Sometimes this block of bytes is at the beginning of the static
1.110 + * CreateGameRulesObject function and sometimes it is in the middle
1.111 + * of an entirely different function. This depends on the game.
1.112 + */
1.113 + "CreateGameRulesObject"
1.114 + {
1.115 + "library" "server"
1.116 + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2"
1.117 + }
1.118 + "g_pGameRules"
1.119 + {
1.120 + "library" "server"
1.121 + "linux" "@g_pGameRules"
1.122 + "mac" "@g_pGameRules"
1.123 + }
1.124 + }
1.125 + }
1.126 +
1.127 + /* IServer interface pointer */
1.128 + "#default"
1.129 + {
1.130 + "Keys"
1.131 + {
1.132 + /* Signature for the beginning of IVEngineServer::CreateFakeClient.
1.133 + *
1.134 + * The engine binary is not actually scanned in order to look for
1.135 + * this. SourceHook is used to used to determine the address of the
1.136 + * function and this signature is used to verify that it contains
1.137 + * the expected code. A pointer to sv (IServer interface) is used
1.138 + * here.
1.139 + */
1.140 + "CreateFakeClient_Windows" "\x55\x8B\xEC\x8B\x2A\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0\x75"
1.141 + }
1.142 +
1.143 + "Offsets"
1.144 + {
1.145 + /* Offset into IVEngineServer::CreateFakeClient */
1.146 + "sv"
1.147 + {
1.148 + "windows" "8"
1.149 + }
1.150 + }
1.151 +
1.152 + "Signatures"
1.153 + {
1.154 + /* CBaseServer object for IServer interface */
1.155 + "sv"
1.156 + {
1.157 + "library" "engine"
1.158 + "linux" "@sv"
1.159 + "mac" "@sv"
1.160 + }
1.161 + }
1.162 + }
1.163 +
1.164 + /* EntityFactoryDictionary function */
1.165 + "#default"
1.166 + {
1.167 + "Signatures"
1.168 + {
1.169 + "EntityFactory"
1.170 + {
1.171 + "library" "server"
1.172 + "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"
1.173 + "linux" "@_Z23EntityFactoryDictionaryv"
1.174 + "mac" "@_Z23EntityFactoryDictionaryv"
1.175 + }
1.176 + }
1.177 + }
1.178 +
1.179 + /* CBaseEntityOutput::FireOutput */
1.180 + "#default"
1.181 + {
1.182 + "Signatures"
1.183 + {
1.184 + "FireOutput"
1.185 + {
1.186 + "library" "server"
1.187 + "windows" "\x55\x8B\xEC\x81\x2A\x2A\x2A\x2A\x2A\x53\x56\x8B\x71\x2A\x57"
1.188 + "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
1.189 + "mac" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
1.190 + }
1.191 + }
1.192 + }
1.193 +
1.194 + /* SetUserInfo data */
1.195 + "#default"
1.196 + {
1.197 + "Offsets"
1.198 + {
1.199 + /**
1.200 + * CBaseClient::SetUserCVar(char const*,char const*);
1.201 + * Linux offset straight from VTable dump.
1.202 + * Windows offset is crazy. Found the windows SetName function using string "(%d)%-.*s" (aD_S in IDA)
1.203 + * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1)
1.204 + */
1.205 + "SetUserCvar"
1.206 + {
1.207 + /* Not 100% sure on this, why would windows change and not linux - TEST ME */
1.208 + "windows" "17"
1.209 + "linux" "64"
1.210 + "mac" "64"
1.211 + }
1.212 + /**
1.213 + * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
1.214 + * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end.
1.215 + * Linux: mov byte ptr [esi+0B0h], 0
1.216 + * Win: mov byte ptr [esi+0B0h], 0
1.217 + *
1.218 + * L4D2: This has been moved into CBaseClient::UpdateUserSettings(), rest of the details are still relevant.
1.219 + */
1.220 + "InfoChanged"
1.221 + {
1.222 + "windows" "168"
1.223 + "linux" "168"
1.224 + "mac" "168"
1.225 + }
1.226 + }
1.227 + }
1.228 +
1.229 + "csgo"
1.230 + {
1.231 + "Offsets"
1.232 + {
1.233 + "GiveNamedItem"
1.234 + {
1.235 + "windows" "435"
1.236 + "linux" "436"
1.237 + "mac" "436"
1.238 + }
1.239 + "RemovePlayerItem"
1.240 + {
1.241 + "windows" "285"
1.242 + "linux" "286"
1.243 + "mac" "286"
1.244 + }
1.245 + "Weapon_GetSlot"
1.246 + {
1.247 + "windows" "283"
1.248 + "linux" "284"
1.249 + "mac" "284"
1.250 + }
1.251 + "Ignite"
1.252 + {
1.253 + "windows" "219"
1.254 + "linux" "220"
1.255 + "mac" "220"
1.256 + }
1.257 + "Extinguish"
1.258 + {
1.259 + "windows" "222"
1.260 + "linux" "223"
1.261 + "mac" "223"
1.262 + }
1.263 + "Teleport"
1.264 + {
1.265 + "windows" "111"
1.266 + "linux" "112"
1.267 + "mac" "112"
1.268 + }
1.269 + "CommitSuicide"
1.270 + {
1.271 + "windows" "484"
1.272 + "linux" "484"
1.273 + "mac" "484"
1.274 + }
1.275 + "GetVelocity"
1.276 + {
1.277 + "windows" "136"
1.278 + "linux" "137"
1.279 + "mac" "137"
1.280 + }
1.281 + "EyeAngles"
1.282 + {
1.283 + "windows" "127"
1.284 + "linux" "128"
1.285 + "mac" "128"
1.286 + }
1.287 + "AcceptInput"
1.288 + {
1.289 + "windows" "39"
1.290 + "linux" "40"
1.291 + "mac" "40"
1.292 + }
1.293 + "SetEntityModel"
1.294 + {
1.295 + "windows" "26"
1.296 + "linux" "27"
1.297 + "mac" "27"
1.298 + }
1.299 + "WeaponEquip"
1.300 + {
1.301 + "windows" "276"
1.302 + "linux" "277"
1.303 + "mac" "277"
1.304 + }
1.305 + "Activate"
1.306 + {
1.307 + "windows" "36"
1.308 + "linux" "37"
1.309 + "mac" "37"
1.310 + }
1.311 + "PlayerRunCmd"
1.312 + {
1.313 + "windows" "455"
1.314 + "linux" "456"
1.315 + "mac" "456"
1.316 + }
1.317 + }
1.318 + }
1.319 +}