1.1 --- a/gamedata/sdktools.games.ep2.txt Mon Dec 03 03:24:33 2007 +0000
1.2 +++ b/gamedata/sdktools.games.ep2.txt Mon Dec 03 22:55:23 2007 +0000
1.3 @@ -25,13 +25,22 @@
1.4 }
1.5 }
1.6 }
1.7 -
1.8 +
1.9 /* General Temp Entities */
1.10 "#default"
1.11 {
1.12 "#supported"
1.13 {
1.14 - "game" "tf"
1.15 + "game" "cstrike"
1.16 + "game" "dod"
1.17 + "game" "hl2mp"
1.18 + "game" "ship"
1.19 + "game" "!Dystopia"
1.20 + "game" "!Insurgency"
1.21 + "game" "!Pirates, Vikings and Knights II"
1.22 + "game" "!SourceForts v1.9.2"
1.23 + "game" "FortressForever"
1.24 + "game" "empires"
1.25 }
1.26
1.27 "Offsets"
1.28 @@ -53,8 +62,8 @@
1.29 }
1.30 "TE_GetServerClass"
1.31 {
1.32 - "windows" "0"
1.33 - "linux" "0"
1.34 + "windows" "1"
1.35 + "linux" "1"
1.36 }
1.37 }
1.38
1.39 @@ -73,37 +82,71 @@
1.40 }
1.41 }
1.42
1.43 - /* Create Entity Signatures */
1.44 + /* General GameRules */
1.45 "#default"
1.46 {
1.47 "#supported"
1.48 {
1.49 - "game" "tf"
1.50 + "game" "cstrike"
1.51 + "game" "dod"
1.52 + "game" "garrysmod"
1.53 + "game" "hl2mp"
1.54 + "game" "ship"
1.55 + "game" "!Dystopia"
1.56 + "game" "!Insurgency"
1.57 + "game" "!Pirates, Vikings and Knights II"
1.58 + "game" "!SourceForts v1.9.2"
1.59 + "game" "FortressForever"
1.60 + "game" "empires"
1.61 }
1.62 -
1.63 +
1.64 + "Offsets"
1.65 + {
1.66 + /* Offset into CreateGameRulesObject */
1.67 + "g_pGameRules"
1.68 + {
1.69 + "windows" "2"
1.70 + }
1.71 + }
1.72 +
1.73 "Signatures"
1.74 {
1.75 - "DispatchSpawn"
1.76 + /* This signature sometimes has multiple matches, but this
1.77 + * does not matter as g_pGameRules is involved in all of them.
1.78 + * The same g_pGameRules offset applies to each match.
1.79 + *
1.80 + * Sometimes this block of bytes is at the beginning of the static
1.81 + * CreateGameRulesObject function and sometimes it is in the middle
1.82 + * of an entirely different function. This depends on the game.
1.83 + */
1.84 + "CreateGameRulesObject"
1.85 {
1.86 "library" "server"
1.87 - "linux" "@_Z13DispatchSpawnP11CBaseEntity"
1.88 - "windows" "\x53\x55\x56\x8B\x74\x24\x10\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x64\x8B\xCB"
1.89 + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x6A\x01\xFF\x50"
1.90 }
1.91 - "CreateEntityByName"
1.92 + "g_pGameRules"
1.93 {
1.94 "library" "server"
1.95 - "linux" "@_Z18CreateEntityByNamePKci"
1.96 - "windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2"
1.97 + "linux" "@g_pGameRules"
1.98 }
1.99 }
1.100 }
1.101 -
1.102 +
1.103 /* CGlobalEntityList */
1.104 "#default"
1.105 {
1.106 "#supported"
1.107 {
1.108 - "game" "tf"
1.109 + "game" "cstrike"
1.110 + "game" "dod"
1.111 + "game" "garrysmod"
1.112 + "game" "hl2mp"
1.113 + "game" "ship"
1.114 + "game" "!Insurgency"
1.115 + "game" "!Pirates, Vikings and Knights II"
1.116 + "game" "!SourceForts v1.9.2"
1.117 + "game" "FortressForever"
1.118 + "game" "empires"
1.119 }
1.120
1.121 "Offsets"
1.122 @@ -132,61 +175,795 @@
1.123 "FindEntityByClassname"
1.124 {
1.125 "library" "server"
1.126 - "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x85\xC9\x57\x74\x19\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\x83\xC0\x01\xC1\xE0\x04\x8B\x3C\x30\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x39\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\xEB\x03"
1.127 + "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x2A\x85\xC9\x57\x74\x2A\x8B\x01\xFF\x50\x2A\x8B\x08\x81\xE1\x2A\x2A\x2A\x2A\x83\xC1\x2A\xC1\xE1\x2A\x8B\x3C\x31\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x2A\x8B\x2D\x2A\x2A\x2A\x2A\x8D\x9B\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x2A\x39"
1.128 "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
1.129 }
1.130 }
1.131 }
1.132
1.133 - /* General GameRules */
1.134 + /* Create Entity Signatures */
1.135 "#default"
1.136 {
1.137 "#supported"
1.138 {
1.139 - "game" "tf"
1.140 + "game" "cstrike"
1.141 + "game" "dod"
1.142 + "game" "hl2mp"
1.143 + "game" "!Insurgency"
1.144 + "game" "!Pirates, Vikings and Knights II"
1.145 + "game" "FortressForever"
1.146 + "game" "empires"
1.147 + }
1.148 +
1.149 + "Signatures"
1.150 + {
1.151 + "DispatchSpawn"
1.152 + {
1.153 + "library" "server"
1.154 + "linux" "@_Z13DispatchSpawnP11CBaseEntity"
1.155 + "windows" "\x53\x55\x56\x8B\x74\x24\x10\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\xCB\xFF\x50\x60"
1.156 + }
1.157 + "CreateEntityByName"
1.158 + {
1.159 + "library" "server"
1.160 + "linux" "@_Z18CreateEntityByNamePKci"
1.161 + "windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x25\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x56\xFF\x50\x54\x85\xC0"
1.162 + }
1.163 }
1.164 -
1.165 + }
1.166 +
1.167 + /* Create Entity Signatures */
1.168 + "!SourceForts v1.9.2"
1.169 + {
1.170 + "Signatures"
1.171 + {
1.172 + "DispatchSpawn"
1.173 + {
1.174 + "library" "server"
1.175 + "linux" "@_Z13DispatchSpawnP11CBaseEntity"
1.176 + "windows" "\x53\x56\x8B\x74\x24\x0C\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\xCB\xFF\x50\x14\x8B\x16\x8B\xCE"
1.177 + }
1.178 + "CreateEntityByName"
1.179 + {
1.180 + "library" "server"
1.181 + "linux" "@_Z18CreateEntityByNamePKci"
1.182 + "windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x25\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x56\xFF\x50\x54\x85\xC0"
1.183 + }
1.184 + }
1.185 + }
1.186 +
1.187 + /* Create Entity Signatures */
1.188 + "ship"
1.189 + {
1.190 + "Signatures"
1.191 + {
1.192 + "DispatchSpawn"
1.193 + {
1.194 + "library" "server"
1.195 + "linux" "@_Z13DispatchSpawnP11CBaseEntity"
1.196 + "windows" "\x53\x56\x8B\x74\x24\x0C\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\xCB\xFF\x50\x60\x8B\0x16"
1.197 + }
1.198 + "CreateEntityByName"
1.199 + {
1.200 + "library" "server"
1.201 + "linux" "@_Z18CreateEntityByNamePKci"
1.202 + "windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x25\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x56\xFF\x50\x54\x85\xC0"
1.203 + }
1.204 + }
1.205 + }
1.206 +
1.207 + /* Counter-Strike: Source */
1.208 + "cstrike"
1.209 + {
1.210 + "Keys"
1.211 + {
1.212 + "SlapSoundCount" "3"
1.213 + "SlapSound1" "player/damage1.wav"
1.214 + "SlapSound2" "player/damage2.wav"
1.215 + "SlapSound3" "player/damage3.wav"
1.216 + }
1.217 +
1.218 "Offsets"
1.219 {
1.220 - /* Offset into CreateGameRulesObject */
1.221 - "g_pGameRules"
1.222 + "GiveNamedItem"
1.223 + {
1.224 + "windows" "329"
1.225 + "linux" "330"
1.226 + }
1.227 + "RemovePlayerItem"
1.228 + {
1.229 + "windows" "226"
1.230 + "linux" "227"
1.231 + }
1.232 + "Weapon_GetSlot"
1.233 + {
1.234 + "windows" "224"
1.235 + "linux" "225"
1.236 + }
1.237 + "Ignite"
1.238 + {
1.239 + "windows" "188"
1.240 + "linux" "189"
1.241 + }
1.242 + "Extinguish"
1.243 + {
1.244 + "windows" "189"
1.245 + "linux" "190"
1.246 + }
1.247 + "Teleport"
1.248 + {
1.249 + "windows" "98"
1.250 + "linux" "99"
1.251 + }
1.252 + "CommitSuicide"
1.253 + {
1.254 + "windows" "357"
1.255 + "linux" "358"
1.256 + }
1.257 + "GetVelocity"
1.258 + {
1.259 + "windows" "126"
1.260 + "linux" "127"
1.261 + }
1.262 + "EyeAngles"
1.263 + {
1.264 + "windows" "118"
1.265 + "linux" "119"
1.266 + }
1.267 + "AcceptInput"
1.268 + {
1.269 + "windows" "35"
1.270 + "linux" "36"
1.271 + }
1.272 + "DispatchKeyValue"
1.273 + {
1.274 + "windows" "31"
1.275 + "linux" "30"
1.276 + }
1.277 + "DispatchKeyValueFloat"
1.278 + {
1.279 + "windows" "30"
1.280 + "linux" "31"
1.281 + }
1.282 + "DispatchKeyValueVector"
1.283 + {
1.284 + "windows" "29"
1.285 + "linux" "32"
1.286 + }
1.287 + "SetEntityModel"
1.288 {
1.289 - "windows" "2"
1.290 + "windows" "25"
1.291 + "linux" "26"
1.292 + }
1.293 + }
1.294 + }
1.295 +
1.296 + /* Day of Defeat */
1.297 + "dod"
1.298 + {
1.299 + "Offsets"
1.300 + {
1.301 + "GiveNamedItem"
1.302 + {
1.303 + "windows" "328"
1.304 + "linux" "330"
1.305 + }
1.306 + "RemovePlayerItem"
1.307 + {
1.308 + "windows" "226"
1.309 + "linux" "227"
1.310 + }
1.311 + "Weapon_GetSlot"
1.312 + {
1.313 + "windows" "224"
1.314 + "linux" "225"
1.315 + }
1.316 + "Ignite"
1.317 + {
1.318 + "windows" "188"
1.319 + "linux" "189"
1.320 + }
1.321 + "Extinguish"
1.322 + {
1.323 + "windows" "189"
1.324 + "linux" "190"
1.325 + }
1.326 + "Teleport"
1.327 + {
1.328 + "windows" "98"
1.329 + "linux" "99"
1.330 + }
1.331 + "CommitSuicide"
1.332 + {
1.333 + "windows" "356"
1.334 + "linux" "357"
1.335 + }
1.336 + "GetVelocity"
1.337 + {
1.338 + "windows" "126"
1.339 + "linux" "127"
1.340 + }
1.341 + "EyeAngles"
1.342 + {
1.343 + "windows" "118"
1.344 + "linux" "119"
1.345 + }
1.346 + "AcceptInput"
1.347 + {
1.348 + "windows" "35"
1.349 + "linux" "36"
1.350 + }
1.351 + "DispatchKeyValue"
1.352 + {
1.353 + "windows" "31"
1.354 + "linux" "30"
1.355 + }
1.356 + "DispatchKeyValueFloat"
1.357 + {
1.358 + "windows" "30"
1.359 + "linux" "31"
1.360 + }
1.361 + "DispatchKeyValueVector"
1.362 + {
1.363 + "windows" "29"
1.364 + "linux" "32"
1.365 + }
1.366 + "SetEntityModel"
1.367 + {
1.368 + "windows" "25"
1.369 + "linux" "26"
1.370 }
1.371 }
1.372 -
1.373 + }
1.374 +
1.375 + /* Half-Life 2: Deathmatch */
1.376 + "hl2mp"
1.377 + {
1.378 + "Offsets"
1.379 + {
1.380 + "GiveNamedItem"
1.381 + {
1.382 + "windows" "328"
1.383 + "linux" "329"
1.384 + }
1.385 + "RemovePlayerItem"
1.386 + {
1.387 + "windows" "226"
1.388 + "linux" "227"
1.389 + }
1.390 + "Weapon_GetSlot"
1.391 + {
1.392 + "windows" "224"
1.393 + "linux" "225"
1.394 + }
1.395 + "Ignite"
1.396 + {
1.397 + "windows" "188"
1.398 + "linux" "189"
1.399 + }
1.400 + "Extinguish"
1.401 + {
1.402 + "windows" "189"
1.403 + "linux" "190"
1.404 + }
1.405 + "Teleport"
1.406 + {
1.407 + "windows" "98"
1.408 + "linux" "99"
1.409 + }
1.410 + "CommitSuicide"
1.411 + {
1.412 + "windows" "356"
1.413 + "linux" "357"
1.414 + }
1.415 + "GetVelocity"
1.416 + {
1.417 + "windows" "126"
1.418 + "linux" "127"
1.419 + }
1.420 + "EyeAngles"
1.421 + {
1.422 + "windows" "118"
1.423 + "linux" "119"
1.424 + }
1.425 + "AcceptInput"
1.426 + {
1.427 + "windows" "35"
1.428 + "linux" "36"
1.429 + }
1.430 + "DispatchKeyValue"
1.431 + {
1.432 + "windows" "31"
1.433 + "linux" "30"
1.434 + }
1.435 + "DispatchKeyValueFloat"
1.436 + {
1.437 + "windows" "30"
1.438 + "linux" "31"
1.439 + }
1.440 + "DispatchKeyValueVector"
1.441 + {
1.442 + "windows" "29"
1.443 + "linux" "32"
1.444 + }
1.445 + "SetEntityModel"
1.446 + {
1.447 + "windows" "25"
1.448 + "linux" "26"
1.449 + }
1.450 + }
1.451 + }
1.452 +
1.453 + /* The Ship */
1.454 + "ship"
1.455 + {
1.456 + "Offsets"
1.457 + {
1.458 + /* CBasePlayer */
1.459 + "GiveNamedItem"
1.460 + {
1.461 + "windows" "316"
1.462 + "linux" "317"
1.463 + }
1.464 + "RemovePlayerItem"
1.465 + {
1.466 + "windows" "220"
1.467 + "linux" "221"
1.468 + }
1.469 + "Weapon_GetSlot"
1.470 + {
1.471 + "windows" "218"
1.472 + "linux" "219"
1.473 + }
1.474 + "Ignite"
1.475 + {
1.476 + "windows" "180"
1.477 + "linux" "181"
1.478 + }
1.479 + "Extinguish"
1.480 + {
1.481 + "windows" "181"
1.482 + "linux" "182"
1.483 + }
1.484 + "Teleport"
1.485 + {
1.486 + "windows" "100"
1.487 + "linux" "101"
1.488 + }
1.489 + "CommitSuicide"
1.490 + {
1.491 + "windows" "343"
1.492 + "linux" "344"
1.493 + }
1.494 + "GetVelocity"
1.495 + {
1.496 + "windows" "124"
1.497 + "linux" "125"
1.498 + }
1.499 + "EyeAngles"
1.500 + {
1.501 + "windows" "116"
1.502 + "linux" "117"
1.503 + }
1.504 + "DispatchKeyValue"
1.505 + {
1.506 + "windows" "35"
1.507 + "linux" "34"
1.508 + }
1.509 + "DispatchKeyValueFloat"
1.510 + {
1.511 + "windows" "34"
1.512 + "linux" "35"
1.513 + }
1.514 + "DispatchKeyValueVector"
1.515 + {
1.516 + "windows" "33"
1.517 + "linux" "36"
1.518 + }
1.519 + "AcceptInput"
1.520 + {
1.521 + "windows" "39"
1.522 + "linux" "40"
1.523 + }
1.524 + "SetEntityModel"
1.525 + {
1.526 + "windows" "30"
1.527 + "linux" "31"
1.528 + }
1.529 +
1.530 + /* Temp Entities */
1.531 + "TE_GetServerClass"
1.532 + {
1.533 + "windows" "0"
1.534 + "linux" "0"
1.535 + }
1.536 + }
1.537 + }
1.538 +
1.539 + /* Dsytopia */
1.540 + "!Dystopia"
1.541 + {
1.542 +
1.543 + "Offsets"
1.544 + {
1.545 + /* CBasePlayer */
1.546 + "GiveNamedItem"
1.547 + {
1.548 + "windows" "331"
1.549 + "linux" "332"
1.550 + }
1.551 + "RemovePlayerItem"
1.552 + {
1.553 + "windows" "229"
1.554 + "linux" "230"
1.555 + }
1.556 + "Weapon_GetSlot"
1.557 + {
1.558 + "windows" "227"
1.559 + "linux" "228"
1.560 + }
1.561 + "Ignite"
1.562 + {
1.563 + "windows" "191"
1.564 + "linux" "192"
1.565 + }
1.566 + "Extinguish"
1.567 + {
1.568 + "windows" "192"
1.569 + "linux" "193"
1.570 + }
1.571 + "Teleport"
1.572 + {
1.573 + "windows" "100"
1.574 + "linux" "101"
1.575 + }
1.576 + "CommitSuicide"
1.577 + {
1.578 + "windows" "360"
1.579 + "linux" "361"
1.580 + }
1.581 + "GetVelocity"
1.582 + {
1.583 + "windows" "128"
1.584 + "linux" "129"
1.585 + }
1.586 + "EyeAngles"
1.587 + {
1.588 + "windows" "120"
1.589 + "linux" "121"
1.590 + }
1.591 + "AcceptInput"
1.592 + {
1.593 + "windows" "35"
1.594 + "linux" "36"
1.595 + }
1.596 + "DispatchKeyValue"
1.597 + {
1.598 + "windows" "31"
1.599 + "linux" "30"
1.600 + }
1.601 + "DispatchKeyValueFloat"
1.602 + {
1.603 + "windows" "30"
1.604 + "linux" "31"
1.605 + }
1.606 + "DispatchKeyValueVector"
1.607 + {
1.608 + "windows" "29"
1.609 + "linux" "32"
1.610 + }
1.611 + "SetEntityModel"
1.612 + {
1.613 + "windows" "25"
1.614 + "linux" "26"
1.615 + }
1.616 +
1.617 + /* Offset into CBaseTempEntity constructor.
1.618 + * On Windows Dsytopia is heavily inlined; we use the function
1.619 + * surrounding "aCouldnTFindTem" in IDA instead.
1.620 + */
1.621 + "s_pTempEntities"
1.622 + {
1.623 + "windows" "70"
1.624 + }
1.625 + }
1.626 +
1.627 "Signatures"
1.628 {
1.629 - /* This signature sometimes has multiple matches, but this
1.630 - * does not matter as g_pGameRules is involved in all of them.
1.631 - * The same g_pGameRules offset applies to each match.
1.632 + /* On Windows Dsytopia is heavily inlined; we use the function
1.633 + * surrounding "aCouldnTFindTem" in IDA instead.
1.634 + */
1.635 + "CBaseTempEntity"
1.636 + {
1.637 + "library" "server"
1.638 + "windows" "\x81\xEC\x84\x00\x00\x00\x56\x8B\xF1\x8B\x46\x6C\x57\x8D\x7E\x6C\x8D\x4C\x24\x08\x83\xC8\x20\x51\x89\x44\x24\x0C\xE8\x2A\x2A\x2A"
1.639 + }
1.640 +
1.641 + /* Dystopia always has to be different, doesn't it
1.642 *
1.643 - * Sometimes this block of bytes is at the beginning of the static
1.644 - * CreateGameRulesObject function and sometimes it is in the middle
1.645 - * of an entirely different function. This depends on the game.
1.646 + * This is very similar to the general signature, except that
1.647 + * it does "mov edx, [eax+2Ch]" before making a call rather than
1.648 + * doing "call dword ptr [eax+2Ch]"
1.649 */
1.650 "CreateGameRulesObject"
1.651 {
1.652 "library" "server"
1.653 "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2"
1.654 }
1.655 - "g_pGameRules"
1.656 + }
1.657 + }
1.658 +
1.659 + /* Insurgency Generic */
1.660 + "!Insurgency"
1.661 + {
1.662 + "Offsets"
1.663 + {
1.664 + /* CBasePlayer */
1.665 + "Ignite"
1.666 + {
1.667 + "windows" "174"
1.668 + "linux" "175"
1.669 + }
1.670 + "Extinguish"
1.671 + {
1.672 + "windows" "175"
1.673 + "linux" "176"
1.674 + }
1.675 + "Teleport"
1.676 + {
1.677 + "windows" "90"
1.678 + "linux" "91"
1.679 + }
1.680 + "GetVelocity"
1.681 + {
1.682 + "windows" "115"
1.683 + "linux" "116"
1.684 + }
1.685 + "EyeAngles"
1.686 + {
1.687 + "windows" "107"
1.688 + "linux" "108"
1.689 + }
1.690 + "AcceptInput"
1.691 + {
1.692 + "windows" "34"
1.693 + "linux" "35"
1.694 + }
1.695 + "s_pTempEntities"
1.696 {
1.697 - "library" "server"
1.698 - "linux" "@g_pGameRules"
1.699 + "linux" "28"
1.700 + }
1.701 + "DispatchKeyValue"
1.702 + {
1.703 + "windows" "30"
1.704 + "linux" "29"
1.705 + }
1.706 + "DispatchKeyValueFloat"
1.707 + {
1.708 + "windows" "29"
1.709 + "linux" "30"
1.710 + }
1.711 + "DispatchKeyValueVector"
1.712 + {
1.713 + "windows" "28"
1.714 + "linux" "31"
1.715 + }
1.716 + "SetEntityModel"
1.717 + {
1.718 + "windows" "24"
1.719 + "linux" "25"
1.720 + }
1.721 + }
1.722 + }
1.723 +
1.724 + /* Insurgency 1.1a Patch for Linux */
1.725 + "!Insurgency"
1.726 + {
1.727 + "CRC"
1.728 + {
1.729 + "server"
1.730 + {
1.731 + "linux" "6D0E55DC"
1.732 + }
1.733 + }
1.734 +
1.735 + "Offsets"
1.736 + {
1.737 + "s_pTempEntities"
1.738 + {
1.739 + "linux" "29"
1.740 }
1.741 }
1.742 }
1.743
1.744 - /* Team Fortress 2 Offsets */
1.745 - "tf"
1.746 + /* Pirates, Vikings and Knights II */
1.747 + "!Pirates, Vikings and Knights II"
1.748 + {
1.749 + "Offsets"
1.750 + {
1.751 + /* CBasePlayer */
1.752 + "GiveNamedItem"
1.753 + {
1.754 + "windows" "328"
1.755 + "linux" "329"
1.756 + }
1.757 + "RemovePlayerItem"
1.758 + {
1.759 + "windows" "226"
1.760 + "linux" "227"
1.761 + }
1.762 + "Weapon_GetSlot"
1.763 + {
1.764 + "windows" "224"
1.765 + "linux" "225"
1.766 + }
1.767 + "Ignite"
1.768 + {
1.769 + "windows" "188"
1.770 + "linux" "189"
1.771 + }
1.772 + "Extinguish"
1.773 + {
1.774 + "windows" "189"
1.775 + "linux" "190"
1.776 + }
1.777 + "Teleport"
1.778 + {
1.779 + "windows" "98"
1.780 + "linux" "99"
1.781 + }
1.782 + "CommitSuicide"
1.783 + {
1.784 + "windows" "356"
1.785 + "linux" "357"
1.786 + }
1.787 + "GetVelocity"
1.788 + {
1.789 + "windows" "126"
1.790 + "linux" "127"
1.791 + }
1.792 + "EyeAngles"
1.793 + {
1.794 + "windows" "118"
1.795 + "linux" "119"
1.796 + }
1.797 + "AcceptInput"
1.798 + {
1.799 + "windows" "35"
1.800 + "linux" "36"
1.801 + }
1.802 + "DispatchKeyValue"
1.803 + {
1.804 + "windows" "31"
1.805 + "linux" "30"
1.806 + }
1.807 + "DispatchKeyValueFloat"
1.808 + {
1.809 + "windows" "30"
1.810 + "linux" "31"
1.811 + }
1.812 + "DispatchKeyValueVector"
1.813 + {
1.814 + "windows" "29"
1.815 + "linux" "32"
1.816 + }
1.817 + "SetEntityModel"
1.818 + {
1.819 + "windows" "25"
1.820 + "linux" "26"
1.821 + }
1.822 +
1.823 + /* Temp Entities */
1.824 + "s_pTempEntities"
1.825 + {
1.826 + "linux" "29"
1.827 + }
1.828 + }
1.829 + }
1.830 +
1.831 + /* SourceForts 1.9.2 */
1.832 + "!SourceForts v1.9.2"
1.833 {
1.834 "Offsets"
1.835 {
1.836 + /* CBasePlayer */
1.837 + "GiveNamedItem"
1.838 + {
1.839 + "windows" "294"
1.840 + "linux" "295"
1.841 + }
1.842 + "RemovePlayerItem"
1.843 + {
1.844 + "windows" "207"
1.845 + "linux" "208"
1.846 + }
1.847 + "Weapon_GetSlot"
1.848 + {
1.849 + "windows" "205"
1.850 + "linux" "206"
1.851 + }
1.852 + "Ignite"
1.853 + {
1.854 + "windows" "170"
1.855 + "linux" "171"
1.856 + }
1.857 + "Extinguish"
1.858 + {
1.859 + "windows" "171"
1.860 + "linux" "172"
1.861 + }
1.862 + "Teleport"
1.863 + {
1.864 + "windows" "90"
1.865 + "linux" "91"
1.866 + }
1.867 + "GetVelocity"
1.868 + {
1.869 + "windows" "114"
1.870 + "linux" "115"
1.871 + }
1.872 + "EyeAngles"
1.873 + {
1.874 + "windows" "106"
1.875 + "linux" "107"
1.876 + }
1.877 + "DispatchKeyValue"
1.878 + {
1.879 + "windows" "30"
1.880 + "linux" "29"
1.881 + }
1.882 + "DispatchKeyValueFloat"
1.883 + {
1.884 + "windows" "29"
1.885 + "linux" "30"
1.886 + }
1.887 + "DispatchKeyValueVector"
1.888 + {
1.889 + "windows" "28"
1.890 + "linux" "31"
1.891 + }
1.892 + "AcceptInput"
1.893 + {
1.894 + "windows" "34"
1.895 + "linux" "35"
1.896 + }
1.897 + "SetEntityModel"
1.898 + {
1.899 + "windows" "25"
1.900 + "linux" "26"
1.901 + }
1.902 +
1.903 + /* Temp Entities */
1.904 + "s_pTempEntities"
1.905 + {
1.906 + "linux" "29"
1.907 + }
1.908 + "TE_GetServerClass"
1.909 + {
1.910 + "windows" "0"
1.911 + "linux" "0"
1.912 + }
1.913 + }
1.914 + }
1.915 +
1.916 + /* Fortress Forever */
1.917 + "FortressForever"
1.918 + {
1.919 + "Signatures"
1.920 + {
1.921 + "CreateGameRulesObject"
1.922 + {
1.923 + "library" "server"
1.924 + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x3B\xCB\x74\x07\x8B\x01\x6A\x01\xFF\x50"
1.925 + }
1.926 + }
1.927 +
1.928 + "Offsets"
1.929 + {
1.930 "GiveNamedItem"
1.931 {
1.932 - "windows" "348"
1.933 - "linux" "349"
1.934 + "windows" "338"
1.935 + "linux" "339"
1.936 }
1.937 "RemovePlayerItem"
1.938 {
1.939 @@ -200,59 +977,213 @@
1.940 }
1.941 "Ignite"
1.942 {
1.943 - "windows" "191"
1.944 - "linux" "192"
1.945 + "windows" "198"
1.946 + "linux" "199"
1.947 }
1.948 "Extinguish"
1.949 {
1.950 - "windows" "195"
1.951 - "linux" "196"
1.952 + "windows" "199"
1.953 + "linux" "200"
1.954 }
1.955 "Teleport"
1.956 {
1.957 - "windows" "99"
1.958 - "linux" "100"
1.959 + "windows" "104"
1.960 + "linux" "105"
1.961 }
1.962 "CommitSuicide"
1.963 {
1.964 - "windows" "384"
1.965 - "linux" "384"
1.966 + "windows" "366"
1.967 + "linux" "367"
1.968 }
1.969 "GetVelocity"
1.970 {
1.971 + "windows" "136"
1.972 + "linux" "137"
1.973 + }
1.974 + "EyeAngles"
1.975 + {
1.976 "windows" "128"
1.977 "linux" "129"
1.978 }
1.979 - "EyeAngles"
1.980 + "AcceptInput"
1.981 {
1.982 - "windows" "120"
1.983 - "linux" "121"
1.984 + "windows" "39"
1.985 + "linux" "40"
1.986 }
1.987 "DispatchKeyValue"
1.988 {
1.989 - "windows" "29"
1.990 - "linux" "28"
1.991 + "windows" "35"
1.992 + "linux" "34"
1.993 }
1.994 "DispatchKeyValueFloat"
1.995 {
1.996 - "windows" "28"
1.997 - "linux" "29"
1.998 - }
1.999 - "DispatchKeyValueVector"
1.1000 - {
1.1001 - "windows" "27"
1.1002 - "linux" "30"
1.1003 - }
1.1004 - "SetEntityModel"
1.1005 - {
1.1006 - "windows" "23"
1.1007 - "linux" "24"
1.1008 - }
1.1009 - "AcceptInput"
1.1010 - {
1.1011 "windows" "34"
1.1012 "linux" "35"
1.1013 }
1.1014 + "DispatchKeyValueVector"
1.1015 + {
1.1016 + "windows" "33"
1.1017 + "linux" "36"
1.1018 + }
1.1019 + "SetEntityModel"
1.1020 + {
1.1021 + "windows" "27"
1.1022 + "linux" "28"
1.1023 + }
1.1024 + }
1.1025 + }
1.1026 +
1.1027 + /* Garry's Mod 10 - Windows only */
1.1028 + "garrysmod"
1.1029 + {
1.1030 + "Offsets"
1.1031 + {
1.1032 + "GiveNamedItem"
1.1033 + {
1.1034 + "windows" "366"
1.1035 + }
1.1036 + "RemovePlayerItem"
1.1037 + {
1.1038 + "windows" "264"
1.1039 + }
1.1040 + "Weapon_GetSlot"
1.1041 + {
1.1042 + "windows" "262"
1.1043 + }
1.1044 + "Ignite"
1.1045 + {
1.1046 + "windows" "220"
1.1047 + }
1.1048 + "Extinguish"
1.1049 + {
1.1050 + "windows" "221"
1.1051 + }
1.1052 + "Teleport"
1.1053 + {
1.1054 + "windows" "99"
1.1055 + }
1.1056 + "CommitSuicide"
1.1057 + {
1.1058 + "windows" "394"
1.1059 + }
1.1060 + "GetVelocity"
1.1061 + {
1.1062 + "windows" "127"
1.1063 + }
1.1064 + "EyeAngles"
1.1065 + {
1.1066 + "windows" "119"
1.1067 + }
1.1068 + "AcceptInput"
1.1069 + {
1.1070 + "windows" "35"
1.1071 + }
1.1072 + "DispatchKeyValue"
1.1073 + {
1.1074 + "windows" "31"
1.1075 + }
1.1076 + "DispatchKeyValueFloat"
1.1077 + {
1.1078 + "windows" "30"
1.1079 + }
1.1080 + "DispatchKeyValueVector"
1.1081 + {
1.1082 + "windows" "29"
1.1083 + }
1.1084 + }
1.1085 + }
1.1086 +
1.1087 + /* Empires 2 */
1.1088 + "empires"
1.1089 + {
1.1090 +
1.1091 + "Offsets"
1.1092 + {
1.1093 + "GiveNamedItem"
1.1094 + {
1.1095 + "windows" "332"
1.1096 + "linux" "333"
1.1097 + }
1.1098 + "RemovePlayerItem"
1.1099 + {
1.1100 + "windows" "230"
1.1101 + "linux" "231"
1.1102 + }
1.1103 + "Weapon_GetSlot"
1.1104 + {
1.1105 + "windows" "228"
1.1106 + "linux" "229"
1.1107 + }
1.1108 + "Ignite"
1.1109 + {
1.1110 + "windows" "192"
1.1111 + "linux" "193"
1.1112 + }
1.1113 + "Extinguish"
1.1114 + {
1.1115 + "windows" "193"
1.1116 + "linux" "194"
1.1117 + }
1.1118 + "Teleport"
1.1119 + {
1.1120 + "windows" "102"
1.1121 + "linux" "103"
1.1122 + }
1.1123 + "CommitSuicide"
1.1124 + {
1.1125 + "windows" "360"
1.1126 + "linux" "361"
1.1127 + }
1.1128 + "GetVelocity"
1.1129 + {
1.1130 + "windows" "130"
1.1131 + "linux" "131"
1.1132 + }
1.1133 + "EyeAngles"
1.1134 + {
1.1135 + "windows" "122"
1.1136 + "linux" "123"
1.1137 + }
1.1138 + "AcceptInput"
1.1139 + {
1.1140 + "windows" "36"
1.1141 + "linux" "37"
1.1142 + }
1.1143 + "DispatchKeyValue"
1.1144 + {
1.1145 + "windows" "31"
1.1146 + "linux" "30"
1.1147 + }
1.1148 + "DispatchKeyValueFloat"
1.1149 + {
1.1150 + "windows" "30"
1.1151 + "linux" "31"
1.1152 + }
1.1153 + "DispatchKeyValueVector"
1.1154 + {
1.1155 + "windows" "29"
1.1156 + "linux" "32"
1.1157 + }
1.1158 + "SetEntityModel"
1.1159 + {
1.1160 + "windows" "25"
1.1161 + "linux" "26"
1.1162 + }
1.1163 +
1.1164 + /* Offset into LevelShutdown for CGlobalEntList */
1.1165 + "gEntList"
1.1166 + {
1.1167 + "windows" "64"
1.1168 + }
1.1169 + }
1.1170 +
1.1171 + "Signatures"
1.1172 + {
1.1173 + "LevelShutdown"
1.1174 + {
1.1175 + "library" "server"
1.1176 + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2B\x56\xE8\x2A\x2A\x2A\x2A\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x8B\xF1\x74\x0E"
1.1177 + }
1.1178 }
1.1179 }
1.1180 }