| author | Asher Baker <asherkin@gmail.com> |
| Wed Aug 22 23:23:31 2012 +0100 (2012-08-22) | |
| changeset 3623 | 3fd87cb487f8 |
| parent 3614 | d67b465a1e8d |
| child 3625 | cde554b8c957 |
| permissions | -rw-r--r-- |
| skamonkey@3614 | 1 |
/** |
| skamonkey@3614 | 2 |
* Do not edit this file. Any changes will be overwritten by the gamedata |
| skamonkey@3614 | 3 |
* updater or by upgrading your SourceMod install. |
| skamonkey@3614 | 4 |
* |
| skamonkey@3614 | 5 |
* To override data in this file, create a subdirectory named "custom" and |
| skamonkey@3614 | 6 |
* place your own gamedata file(s) inside of it. Such files will be parsed |
| skamonkey@3614 | 7 |
* after SM's own. |
| skamonkey@3614 | 8 |
* |
| skamonkey@3614 | 9 |
* For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) |
| skamonkey@3614 | 10 |
*/ |
| skamonkey@3614 | 11 |
|
| skamonkey@3614 | 12 |
"Games" |
| skamonkey@3614 | 13 |
{
|
| skamonkey@3614 | 14 |
/* General Temp Entities */ |
| skamonkey@3614 | 15 |
"#default" |
| skamonkey@3614 | 16 |
{
|
| skamonkey@3614 | 17 |
"Offsets" |
| skamonkey@3614 | 18 |
{
|
| skamonkey@3614 | 19 |
/* Offset into CBaseTempEntity constructor */ |
| skamonkey@3614 | 20 |
"s_pTempEntities" |
| skamonkey@3614 | 21 |
{
|
| skamonkey@3614 | 22 |
"windows" "19" |
| skamonkey@3614 | 23 |
} |
| skamonkey@3614 | 24 |
"GetTEName" |
| skamonkey@3614 | 25 |
{
|
| skamonkey@3614 | 26 |
"windows" "4" |
| skamonkey@3614 | 27 |
"linux" "4" |
| skamonkey@3614 | 28 |
"mac" "4" |
| skamonkey@3614 | 29 |
} |
| skamonkey@3614 | 30 |
"GetTENext" |
| skamonkey@3614 | 31 |
{
|
| skamonkey@3614 | 32 |
"windows" "8" |
| skamonkey@3614 | 33 |
"linux" "8" |
| skamonkey@3614 | 34 |
"mac" "8" |
| skamonkey@3614 | 35 |
} |
| skamonkey@3614 | 36 |
"TE_GetServerClass" |
| skamonkey@3614 | 37 |
{
|
| skamonkey@3614 | 38 |
"windows" "0" |
| skamonkey@3614 | 39 |
"linux" "0" |
| skamonkey@3614 | 40 |
"mac" "0" |
| skamonkey@3614 | 41 |
} |
| skamonkey@3614 | 42 |
} |
| skamonkey@3614 | 43 |
|
| skamonkey@3614 | 44 |
"Signatures" |
| skamonkey@3614 | 45 |
{
|
| skamonkey@3614 | 46 |
"CBaseTempEntity" |
| skamonkey@3614 | 47 |
{
|
| skamonkey@3614 | 48 |
"library" "server" |
| skamonkey@3614 | 49 |
"windows" "\x55\x8B\xEC\x8B\xC1\x8B\x4D\x2A\xC7\x00\x2A\x2A\x2A\x2A\x89\x48" |
| skamonkey@3614 | 50 |
} |
| skamonkey@3614 | 51 |
"s_pTempEntities" |
| skamonkey@3614 | 52 |
{
|
| skamonkey@3614 | 53 |
"library" "server" |
| skamonkey@3614 | 54 |
"linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" |
| skamonkey@3614 | 55 |
"mac" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" |
| skamonkey@3614 | 56 |
} |
| skamonkey@3614 | 57 |
} |
| skamonkey@3614 | 58 |
} |
| skamonkey@3614 | 59 |
|
| skamonkey@3614 | 60 |
/* CGlobalEntityList */ |
| skamonkey@3614 | 61 |
"#default" |
| skamonkey@3614 | 62 |
{
|
| skamonkey@3614 | 63 |
"Signatures" |
| skamonkey@3614 | 64 |
{
|
| skamonkey@3614 | 65 |
/* Functions in CGlobalEntityList */ |
| skamonkey@3614 | 66 |
"FindEntityByClassname" |
| skamonkey@3614 | 67 |
{
|
| skamonkey@3614 | 68 |
"library" "server" |
| skamonkey@3614 | 69 |
"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" |
| skamonkey@3614 | 70 |
"linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" |
| skamonkey@3614 | 71 |
"mac" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" |
| skamonkey@3614 | 72 |
} |
| skamonkey@3614 | 73 |
} |
| skamonkey@3614 | 74 |
} |
| skamonkey@3614 | 75 |
|
| skamonkey@3614 | 76 |
/* General GameRules */ |
| skamonkey@3614 | 77 |
"#default" |
| skamonkey@3614 | 78 |
{
|
| skamonkey@3614 | 79 |
"Offsets" |
| skamonkey@3614 | 80 |
{
|
| skamonkey@3614 | 81 |
/* Offset into CreateGameRulesObject */ |
| skamonkey@3614 | 82 |
"g_pGameRules" |
| skamonkey@3614 | 83 |
{
|
| skamonkey@3614 | 84 |
"windows" "2" |
| skamonkey@3614 | 85 |
} |
| skamonkey@3614 | 86 |
} |
| skamonkey@3614 | 87 |
|
| skamonkey@3614 | 88 |
"Signatures" |
| skamonkey@3614 | 89 |
{
|
| skamonkey@3614 | 90 |
/* This signature sometimes has multiple matches, but this |
| skamonkey@3614 | 91 |
* does not matter as g_pGameRules is involved in all of them. |
| skamonkey@3614 | 92 |
* The same g_pGameRules offset applies to each match. |
| skamonkey@3614 | 93 |
* |
| skamonkey@3614 | 94 |
* Sometimes this block of bytes is at the beginning of the static |
| skamonkey@3614 | 95 |
* CreateGameRulesObject function and sometimes it is in the middle |
| skamonkey@3614 | 96 |
* of an entirely different function. This depends on the game. |
| skamonkey@3614 | 97 |
*/ |
| skamonkey@3614 | 98 |
"CreateGameRulesObject" |
| skamonkey@3614 | 99 |
{
|
| skamonkey@3614 | 100 |
"library" "server" |
| skamonkey@3614 | 101 |
"windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2" |
| skamonkey@3614 | 102 |
} |
| skamonkey@3614 | 103 |
"g_pGameRules" |
| skamonkey@3614 | 104 |
{
|
| skamonkey@3614 | 105 |
"library" "server" |
| skamonkey@3614 | 106 |
"linux" "@g_pGameRules" |
| skamonkey@3614 | 107 |
"mac" "@g_pGameRules" |
| skamonkey@3614 | 108 |
} |
| skamonkey@3614 | 109 |
} |
| skamonkey@3614 | 110 |
} |
| skamonkey@3614 | 111 |
|
| skamonkey@3614 | 112 |
/* IServer interface pointer */ |
| skamonkey@3614 | 113 |
"#default" |
| skamonkey@3614 | 114 |
{
|
| skamonkey@3614 | 115 |
"Keys" |
| skamonkey@3614 | 116 |
{
|
| skamonkey@3614 | 117 |
/* Signature for the beginning of IVEngineServer::CreateFakeClient. |
| skamonkey@3614 | 118 |
* |
| skamonkey@3614 | 119 |
* The engine binary is not actually scanned in order to look for |
| skamonkey@3614 | 120 |
* this. SourceHook is used to used to determine the address of the |
| skamonkey@3614 | 121 |
* function and this signature is used to verify that it contains |
| skamonkey@3614 | 122 |
* the expected code. A pointer to sv (IServer interface) is used |
| skamonkey@3614 | 123 |
* here. |
| skamonkey@3614 | 124 |
*/ |
| skamonkey@3614 | 125 |
"CreateFakeClient_Windows" "\x55\x8B\xEC\x8B\x45\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0" |
| skamonkey@3614 | 126 |
} |
| skamonkey@3614 | 127 |
|
| skamonkey@3614 | 128 |
"Offsets" |
| skamonkey@3614 | 129 |
{
|
| skamonkey@3614 | 130 |
/* Offset into IVEngineServer::CreateFakeClient */ |
| skamonkey@3614 | 131 |
"sv" |
| skamonkey@3614 | 132 |
{
|
| skamonkey@3614 | 133 |
"windows" "8" |
| skamonkey@3614 | 134 |
} |
| skamonkey@3614 | 135 |
} |
| skamonkey@3614 | 136 |
|
| skamonkey@3614 | 137 |
"Signatures" |
| skamonkey@3614 | 138 |
{
|
| skamonkey@3614 | 139 |
/* CBaseServer object for IServer interface */ |
| skamonkey@3614 | 140 |
"sv" |
| skamonkey@3614 | 141 |
{
|
| skamonkey@3614 | 142 |
"library" "engine" |
| skamonkey@3614 | 143 |
"linux" "@sv" |
| skamonkey@3614 | 144 |
"mac" "@sv" |
| skamonkey@3614 | 145 |
} |
| skamonkey@3614 | 146 |
} |
| skamonkey@3614 | 147 |
} |
| skamonkey@3614 | 148 |
|
| skamonkey@3614 | 149 |
/* EntityFactoryDictionary function */ |
| skamonkey@3614 | 150 |
"#default" |
| skamonkey@3614 | 151 |
{
|
| skamonkey@3614 | 152 |
"Signatures" |
| skamonkey@3614 | 153 |
{
|
| skamonkey@3614 | 154 |
"EntityFactory" |
| skamonkey@3614 | 155 |
{
|
| skamonkey@3614 | 156 |
"library" "server" |
| skamonkey@3614 | 157 |
"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" |
| skamonkey@3614 | 158 |
"linux" "@_Z23EntityFactoryDictionaryv" |
| skamonkey@3614 | 159 |
"mac" "@_Z23EntityFactoryDictionaryv" |
| skamonkey@3614 | 160 |
} |
| skamonkey@3614 | 161 |
} |
| skamonkey@3614 | 162 |
} |
| skamonkey@3614 | 163 |
|
| skamonkey@3614 | 164 |
/* CBaseEntityOutput::FireOutput */ |
| skamonkey@3614 | 165 |
"#default" |
| skamonkey@3614 | 166 |
{
|
| skamonkey@3614 | 167 |
"Signatures" |
| skamonkey@3614 | 168 |
{
|
| skamonkey@3614 | 169 |
"FireOutput" |
| skamonkey@3614 | 170 |
{
|
| skamonkey@3614 | 171 |
"library" "server" |
| skamonkey@3614 | 172 |
"windows" "\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\x53\x56\x8B\x71\x2A\x85\xF6" |
| skamonkey@3614 | 173 |
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" |
| skamonkey@3614 | 174 |
"mac" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" |
| skamonkey@3614 | 175 |
} |
| skamonkey@3614 | 176 |
} |
| skamonkey@3614 | 177 |
} |
| skamonkey@3614 | 178 |
|
| skamonkey@3614 | 179 |
/* SetUserInfo data */ |
| skamonkey@3614 | 180 |
"#default" |
| skamonkey@3614 | 181 |
{
|
| skamonkey@3614 | 182 |
"Offsets" |
| skamonkey@3614 | 183 |
{
|
| skamonkey@3614 | 184 |
/** |
| skamonkey@3614 | 185 |
* CBaseClient::SetUserCVar(char const*,char const*); |
| skamonkey@3614 | 186 |
* Linux offset straight from VTable dump. |
| skamonkey@3614 | 187 |
* Windows offset is crazy. Found the windows SetName function using string "(%d)%-0.*s" |
| skamonkey@3614 | 188 |
* Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1) |
| skamonkey@3614 | 189 |
*/ |
| skamonkey@3614 | 190 |
"SetUserCvar" |
| skamonkey@3614 | 191 |
{
|
| skamonkey@3614 | 192 |
"windows" "18" |
| skamonkey@3614 | 193 |
"linux" "58" |
| skamonkey@3614 | 194 |
"mac" "58" |
| skamonkey@3614 | 195 |
} |
| skamonkey@3614 | 196 |
/** |
| skamonkey@3614 | 197 |
* Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made. |
| skamonkey@3614 | 198 |
* Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end. |
| skamonkey@3614 | 199 |
* Linux: mov byte ptr [esi+98h], 0 |
| skamonkey@3614 | 200 |
* Win: mov byte ptr [esi+0A4h], 0 |
| skamonkey@3614 | 201 |
*/ |
| skamonkey@3614 | 202 |
"InfoChanged" |
| skamonkey@3614 | 203 |
{
|
| skamonkey@3614 | 204 |
"windows" "140" |
| skamonkey@3614 | 205 |
"linux" "140" |
| skamonkey@3614 | 206 |
"mac" "140" |
| skamonkey@3614 | 207 |
} |
| skamonkey@3614 | 208 |
} |
| skamonkey@3614 | 209 |
} |
| skamonkey@3614 | 210 |
} |