Added gamedata for Insurgency (bug 5951, r=asherkin).
Added gamedata for Insurgency (
bug 5951, r=asherkin).
1.1 --- a/gamedata/core.games/common.games.txt Sun Oct 13 14:16:08 2013 -0400
1.2 +++ b/gamedata/core.games/common.games.txt Sun Oct 13 14:16:12 2013 -0400
1.3 @@ -95,6 +95,7 @@
1.4 "engine" "left4dead2"
1.5 "engine" "alienswarm"
1.6 "engine" "blade"
1.7 + "engine" "insurgency"
1.8 "engine" "csgo"
1.9 "engine" "dota"
1.10 }
1.11 @@ -131,7 +132,7 @@
1.12 "game" "cstrike"
1.13 "game" "dod"
1.14 "game" "sourceforts"
1.15 - "game" "insurgency"
1.16 + "game" "$Insurgency" // mod
1.17 "game" "tf"
1.18 "game" "pvkii"
1.19 "game" "diprip"
1.20 @@ -209,7 +210,7 @@
1.21 "game" "obsidian"
1.22 "game" "zombie_master"
1.23 "game" "bg2"
1.24 - "game" "insurgency"
1.25 + "game" "$Insurgency" // mod
1.26 "game" "cspromod"
1.27 "game" "pvkii"
1.28 "game" "zps"
1.29 @@ -256,7 +257,8 @@
1.30 "GameExtension" "game.tf2"
1.31 }
1.32 }
1.33 - "insurgency"
1.34 +
1.35 + "$Insurgency" // mod
1.36 {
1.37 "Keys"
1.38 {
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/gamedata/core.games/engine.insurgency.txt Sun Oct 13 14:16:12 2013 -0400
2.3 @@ -0,0 +1,48 @@
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 + "Offsets"
2.21 + {
2.22 + /* Offset into LevelShutdown */
2.23 + "gEntList"
2.24 + {
2.25 + "windows" "11"
2.26 + }
2.27 +
2.28 + "EntInfo"
2.29 + {
2.30 + "windows" "4"
2.31 + "linux" "4"
2.32 + "mac" "4"
2.33 + }
2.34 + }
2.35 +
2.36 + "Signatures"
2.37 + {
2.38 + "LevelShutdown"
2.39 + {
2.40 + "library" "server"
2.41 + "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8"
2.42 + }
2.43 + "gEntList"
2.44 + {
2.45 + "library" "server"
2.46 + "linux" "@gEntList"
2.47 + "mac" "@gEntList"
2.48 + }
2.49 + }
2.50 + }
2.51 +}
3.1 --- a/gamedata/core.games/master.games.txt Sun Oct 13 14:16:08 2013 -0400
3.2 +++ b/gamedata/core.games/master.games.txt Sun Oct 13 14:16:12 2013 -0400
3.3 @@ -79,6 +79,11 @@
3.4 {
3.5 "engine" "blade"
3.6 }
3.7 +
3.8 + "engine.insurgency.txt"
3.9 + {
3.10 + "engine" "insurgency"
3.11 + }
3.12
3.13 "blacklist.plugins.txt"
3.14 {
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/gamedata/sdkhooks.games/engine.insurgency.txt Sun Oct 13 14:16:12 2013 -0400
4.3 @@ -0,0 +1,154 @@
4.4 +"Games"
4.5 +{
4.6 + "#default"
4.7 + {
4.8 + "Offsets"
4.9 + {
4.10 + "EndTouch"
4.11 + {
4.12 + "windows" "103"
4.13 + "linux" "104"
4.14 + "mac" "104"
4.15 + }
4.16 + "FireBullets"
4.17 + {
4.18 + "windows" "116"
4.19 + "linux" "117"
4.20 + "mac" "117"
4.21 + }
4.22 + "GetMaxHealth"
4.23 + {
4.24 + "windows" "120"
4.25 + "linux" "121"
4.26 + "mac" "121"
4.27 + }
4.28 + "GroundEntChanged"
4.29 + {
4.30 + "windows" "175"
4.31 + "linux" "175"
4.32 + "mac" "175"
4.33 + }
4.34 + "OnTakeDamage"
4.35 + {
4.36 + "windows" "65"
4.37 + "linux" "66"
4.38 + "mac" "66"
4.39 + }
4.40 + "PreThink"
4.41 + {
4.42 + "windows" "356"
4.43 + "linux" "357"
4.44 + "mac" "357"
4.45 + }
4.46 + "PostThink"
4.47 + {
4.48 + "windows" "357"
4.49 + "linux" "358"
4.50 + "mac" "358"
4.51 + }
4.52 + "Reload"
4.53 + {
4.54 + "windows" "280"
4.55 + "linux" "281"
4.56 + "mac" "281"
4.57 + }
4.58 + "SetTransmit"
4.59 + {
4.60 + "windows" "20"
4.61 + "linux" "21"
4.62 + "mac" "21"
4.63 + }
4.64 + "ShouldCollide"
4.65 + {
4.66 + "windows" "16"
4.67 + "linux" "17"
4.68 + "mac" "17"
4.69 + }
4.70 + "Spawn"
4.71 + {
4.72 + "windows" "22"
4.73 + "linux" "23"
4.74 + "mac" "23"
4.75 + }
4.76 + "StartTouch"
4.77 + {
4.78 + "windows" "101"
4.79 + "linux" "102"
4.80 + "mac" "102"
4.81 + }
4.82 + "Think"
4.83 + {
4.84 + "windows" "49"
4.85 + "linux" "50"
4.86 + "mac" "50"
4.87 + }
4.88 + "Touch"
4.89 + {
4.90 + "windows" "102"
4.91 + "linux" "103"
4.92 + "mac" "103"
4.93 + }
4.94 + "TraceAttack"
4.95 + {
4.96 + "windows" "63"
4.97 + "linux" "64"
4.98 + "mac" "64"
4.99 + }
4.100 + "Use"
4.101 + {
4.102 + "windows" "100"
4.103 + "linux" "101"
4.104 + "mac" "101"
4.105 + }
4.106 + "VPhysicsUpdate"
4.107 + {
4.108 + "windows" "153"
4.109 + "linux" "154"
4.110 + "mac" "154"
4.111 + }
4.112 + "Weapon_CanSwitchTo"
4.113 + {
4.114 + "windows" "281"
4.115 + "linux" "282"
4.116 + "mac" "282"
4.117 + }
4.118 + "Weapon_CanUse"
4.119 + {
4.120 + "windows" "275"
4.121 + "linux" "276"
4.122 + "mac" "276"
4.123 + }
4.124 + "Weapon_Drop"
4.125 + {
4.126 + "windows" "278"
4.127 + "linux" "279"
4.128 + "mac" "279"
4.129 + }
4.130 + "Weapon_Equip"
4.131 + {
4.132 + "windows" "276"
4.133 + "linux" "277"
4.134 + "mac" "277"
4.135 + }
4.136 + "Weapon_Switch"
4.137 + {
4.138 + "windows" "279"
4.139 + "linux" "280"
4.140 + "mac" "280"
4.141 + }
4.142 + }
4.143 + }
4.144 +
4.145 + "#default"
4.146 + {
4.147 + "Offsets"
4.148 + {
4.149 + "EntityListeners"
4.150 + {
4.151 + "windows" "196644"
4.152 + "linux" "196644"
4.153 + "mac" "196644"
4.154 + }
4.155 + }
4.156 + }
4.157 +}
4.158 \ No newline at end of file
5.1 --- a/gamedata/sdkhooks.games/master.games.txt Sun Oct 13 14:16:08 2013 -0400
5.2 +++ b/gamedata/sdkhooks.games/master.games.txt Sun Oct 13 14:16:12 2013 -0400
5.3 @@ -56,6 +56,11 @@
5.4 "engine" "blade"
5.5 }
5.6
5.7 + "engine.insurgency.txt"
5.8 + {
5.9 + "engine" "insurgency"
5.10 + }
5.11 +
5.12 /*
5.13 Not Yet
5.14
5.15 @@ -67,7 +72,7 @@
5.16
5.17 "game.insurgency.txt"
5.18 {
5.19 - "game" "insurgency"
5.20 + "game" "$Insurgency"
5.21 }
5.22
5.23 "game.pvkii.txt"
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/gamedata/sdktools.games/engine.insurgency.txt Sun Oct 13 14:16:12 2013 -0400
6.3 @@ -0,0 +1,324 @@
6.4 +/**
6.5 + * Do not edit this file. Any changes will be overwritten by the gamedata
6.6 + * updater or by upgrading your SourceMod install.
6.7 + *
6.8 + * To override data in this file, create a subdirectory named "custom" and
6.9 + * place your own gamedata file(s) inside of it. Such files will be parsed
6.10 + * after SM's own.
6.11 + *
6.12 + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod)
6.13 + */
6.14 +
6.15 +"Games"
6.16 +{
6.17 + /* Sounds */
6.18 + "#default"
6.19 + {
6.20 + "Keys"
6.21 + {
6.22 + "SlapSoundCount" "7"
6.23 + "SlapSound1" "player/pl_pain1.wav"
6.24 + "SlapSound2" "player/pl_pain2.wav"
6.25 + "SlapSound3" "player/pl_pain3.wav"
6.26 + "SlapSound4" "player/pl_pain4.wav"
6.27 + "SlapSound5" "player/pl_pain5.wav"
6.28 + "SlapSound6" "player/pl_pain6.wav"
6.29 + "SlapSound7" "player/pl_pain7.wav"
6.30 + }
6.31 + }
6.32 +
6.33 + /* General Temp Entities */
6.34 + "#default"
6.35 + {
6.36 + "Offsets"
6.37 + {
6.38 + /* Offset into CBaseTempEntity constructor */
6.39 + "s_pTempEntities"
6.40 + {
6.41 + "windows" "19"
6.42 + }
6.43 + "GetTEName"
6.44 + {
6.45 + "windows" "4"
6.46 + "linux" "4"
6.47 + "mac" "4"
6.48 + }
6.49 + "GetTENext"
6.50 + {
6.51 + "windows" "8"
6.52 + "linux" "8"
6.53 + "mac" "8"
6.54 + }
6.55 + "TE_GetServerClass"
6.56 + {
6.57 + "windows" "0"
6.58 + "linux" "0"
6.59 + "mac" "0"
6.60 + }
6.61 + }
6.62 +
6.63 + "Signatures"
6.64 + {
6.65 + "CBaseTempEntity"
6.66 + {
6.67 + "library" "server"
6.68 + "windows" "\x55\x8B\xEC\x8B\xC1\x8B\x4D\x08\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x2A\x8B"
6.69 + }
6.70 + "s_pTempEntities"
6.71 + {
6.72 + "library" "server"
6.73 + "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE"
6.74 + "mac" "@_ZN15CBaseTempEntity15s_pTempEntitiesE"
6.75 + }
6.76 + }
6.77 + }
6.78 +
6.79 + /* CGlobalEntityList */
6.80 + "#default"
6.81 + {
6.82 + "Signatures"
6.83 + {
6.84 + /* Functions in CGlobalEntityList */
6.85 + "FindEntityByClassname"
6.86 + {
6.87 + "library" "server"
6.88 + "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"
6.89 + "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
6.90 + "mac" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
6.91 + }
6.92 + }
6.93 + }
6.94 +
6.95 + /* General GameRules */
6.96 + "#default"
6.97 + {
6.98 + "Keys"
6.99 + {
6.100 + "GameRulesProxy" "CINSRulesProxy"
6.101 + }
6.102 +
6.103 + "Offsets"
6.104 + {
6.105 + /* Offset into CreateGameRulesObject */
6.106 + "g_pGameRules"
6.107 + {
6.108 + "windows" "2"
6.109 + }
6.110 + }
6.111 +
6.112 + "Signatures"
6.113 + {
6.114 + /* This signature sometimes has multiple matches, but this
6.115 + * does not matter as g_pGameRules is involved in all of them.
6.116 + * The same g_pGameRules offset applies to each match.
6.117 + *
6.118 + * Sometimes this block of bytes is at the beginning of the static
6.119 + * CreateGameRulesObject function and sometimes it is in the middle
6.120 + * of an entirely different function. This depends on the game.
6.121 + */
6.122 + "CreateGameRulesObject"
6.123 + {
6.124 + "library" "server"
6.125 + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2"
6.126 + }
6.127 + "g_pGameRules"
6.128 + {
6.129 + "library" "server"
6.130 + "linux" "@g_pGameRules"
6.131 + "mac" "@g_pGameRules"
6.132 + }
6.133 + }
6.134 + }
6.135 +
6.136 + /* IServer interface pointer */
6.137 + "#default"
6.138 + {
6.139 + "Keys"
6.140 + {
6.141 + /* Signature for the beginning of IVEngineServer::CreateFakeClient.
6.142 + *
6.143 + * The engine binary is not actually scanned in order to look for
6.144 + * this. SourceHook is used to used to determine the address of the
6.145 + * function and this signature is used to verify that it contains
6.146 + * the expected code. A pointer to sv (IServer interface) is used
6.147 + * here.
6.148 + */
6.149 + "CreateFakeClient_Windows" "\x55\x8B\xEC\x8B\x2A\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0\x75"
6.150 + }
6.151 +
6.152 + "Offsets"
6.153 + {
6.154 + /* Offset into IVEngineServer::CreateFakeClient */
6.155 + "sv"
6.156 + {
6.157 + "windows" "8"
6.158 + }
6.159 + }
6.160 +
6.161 + "Signatures"
6.162 + {
6.163 + /* CBaseServer object for IServer interface */
6.164 + "sv"
6.165 + {
6.166 + "library" "engine"
6.167 + "linux" "@sv"
6.168 + "mac" "@sv"
6.169 + }
6.170 + }
6.171 + }
6.172 +
6.173 + /* EntityFactoryDictionary function */
6.174 + "#default"
6.175 + {
6.176 + "Signatures"
6.177 + {
6.178 + "EntityFactory"
6.179 + {
6.180 + "library" "server"
6.181 + "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"
6.182 + "linux" "@_Z23EntityFactoryDictionaryv"
6.183 + "mac" "@_Z23EntityFactoryDictionaryv"
6.184 + }
6.185 + }
6.186 + }
6.187 +
6.188 + /* CBaseEntityOutput::FireOutput */
6.189 + "#default"
6.190 + {
6.191 + "Signatures"
6.192 + {
6.193 + "FireOutput"
6.194 + {
6.195 + "library" "server"
6.196 + "windows" "\x55\x8B\xEC\x81\x2A\x2A\x2A\x2A\x2A\x53\x56\x8B\x71\x2A\x57"
6.197 + "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
6.198 + "mac" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
6.199 + }
6.200 + }
6.201 + }
6.202 +
6.203 + /* SetUserInfo data */
6.204 + "#default"
6.205 + {
6.206 + "Offsets"
6.207 + {
6.208 + /**
6.209 + * CBaseClient::SetUserCVar(char const*,char const*);
6.210 + * Linux offset straight from VTable dump.
6.211 + * Windows offset is crazy. Found the windows SetName function using string "(%d)%-.*s" (aD_S in IDA)
6.212 + * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1)
6.213 + */
6.214 + "SetUserCvar"
6.215 + {
6.216 + "windows" "20"
6.217 + "linux" "67"
6.218 + "mac" "67"
6.219 + }
6.220 + /**
6.221 + * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
6.222 + * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end.
6.223 + * Linux: mov byte ptr [esi+0B0h], 0
6.224 + * Win: mov byte ptr [esi+0B0h], 0
6.225 + *
6.226 + * L4D2: This has been moved into CBaseClient::UpdateUserSettings(), rest of the details are still relevant.
6.227 + */
6.228 + "InfoChanged"
6.229 + {
6.230 + "windows" "168"
6.231 + "linux" "168"
6.232 + "mac" "168"
6.233 + }
6.234 + }
6.235 + }
6.236 +
6.237 + "#default"
6.238 + {
6.239 + "Offsets"
6.240 + {
6.241 + "GiveNamedItem"
6.242 + {
6.243 + "windows" "435"
6.244 + "linux" "436"
6.245 + "mac" "436"
6.246 + }
6.247 + "RemovePlayerItem"
6.248 + {
6.249 + "windows" "285"
6.250 + "linux" "286"
6.251 + "mac" "286"
6.252 + }
6.253 + "Weapon_GetSlot"
6.254 + {
6.255 + "windows" "283"
6.256 + "linux" "284"
6.257 + "mac" "284"
6.258 + }
6.259 + "Ignite"
6.260 + {
6.261 + "windows" "219"
6.262 + "linux" "220"
6.263 + "mac" "220"
6.264 + }
6.265 + "Extinguish"
6.266 + {
6.267 + "windows" "222"
6.268 + "linux" "223"
6.269 + "mac" "223"
6.270 + }
6.271 + "Teleport"
6.272 + {
6.273 + "windows" "112"
6.274 + "linux" "113"
6.275 + "mac" "113"
6.276 + }
6.277 + "CommitSuicide"
6.278 + {
6.279 + "windows" "483"
6.280 + "linux" "483"
6.281 + "mac" "483"
6.282 + }
6.283 + "GetVelocity"
6.284 + {
6.285 + "windows" "137"
6.286 + "linux" "138"
6.287 + "mac" "138"
6.288 + }
6.289 + "EyeAngles"
6.290 + {
6.291 + "windows" "128"
6.292 + "linux" "129"
6.293 + "mac" "129"
6.294 + }
6.295 + "AcceptInput"
6.296 + {
6.297 + "windows" "38"
6.298 + "linux" "39"
6.299 + "mac" "39"
6.300 + }
6.301 + "SetEntityModel"
6.302 + {
6.303 + "windows" "24"
6.304 + "linux" "25"
6.305 + "mac" "25"
6.306 + }
6.307 + "WeaponEquip"
6.308 + {
6.309 + "windows" "276"
6.310 + "linux" "277"
6.311 + "mac" "277"
6.312 + }
6.313 + "Activate"
6.314 + {
6.315 + "windows" "34"
6.316 + "linux" "35"
6.317 + "mac" "35"
6.318 + }
6.319 + "PlayerRunCmd"
6.320 + {
6.321 + "windows" "454"
6.322 + "linux" "455"
6.323 + "mac" "455"
6.324 + }
6.325 + }
6.326 + }
6.327 +}
7.1 --- a/gamedata/sdktools.games/master.games.txt Sun Oct 13 14:16:08 2013 -0400
7.2 +++ b/gamedata/sdktools.games/master.games.txt Sun Oct 13 14:16:12 2013 -0400
7.3 @@ -80,6 +80,11 @@
7.4 "engine" "blade"
7.5 }
7.6
7.7 + "engine.insurgency.txt"
7.8 + {
7.9 + "engine" "insurgency"
7.10 + }
7.11 +
7.12 "game.tf.txt"
7.13 {
7.14 "game" "tf"
7.15 @@ -112,7 +117,7 @@
7.16
7.17 "game.insurgency.txt"
7.18 {
7.19 - "game" "insurgency"
7.20 + "game" "$Insurgency"
7.21 }
7.22
7.23 "game.pvkii.txt"