From a4295d1e937598c23b38a908303fd00045e7bde2 Mon Sep 17 00:00:00 2001 From: Fyren Date: Tue, 7 Apr 2009 09:59:21 -0700 Subject: [PATCH] Add a warning to not edit SM's gamedata files; switched to UNIX line endings (bug 3728, r=dvander) --- gamedata/core.games/common.games.txt | 377 +++++----- gamedata/core.games/master.games.txt | 23 +- gamedata/sdktools.games/engine.darkm.txt | 655 +++++++++-------- gamedata/sdktools.games/engine.ep1.txt | 613 ++++++++-------- gamedata/sdktools.games/engine.ep2.txt | 559 +++++++------- gamedata/sdktools.games/engine.l4d.txt | 729 ++++++++++--------- gamedata/sdktools.games/game.aoc.txt | 191 ++--- gamedata/sdktools.games/game.cstrike.txt | 205 +++--- gamedata/sdktools.games/game.dod.txt | 191 ++--- gamedata/sdktools.games/game.dystopia.txt | 259 +++---- gamedata/sdktools.games/game.empires.txt | 221 +++--- gamedata/sdktools.games/game.ff.txt | 237 +++--- gamedata/sdktools.games/game.garrysmod.txt | 141 ++-- gamedata/sdktools.games/game.hidden.txt | 211 +++--- gamedata/sdktools.games/game.hl2mp.txt | 189 ++--- gamedata/sdktools.games/game.insurgency.txt | 161 ++-- gamedata/sdktools.games/game.obsidian.txt | 191 ++--- gamedata/sdktools.games/game.pvkii.txt | 191 ++--- gamedata/sdktools.games/game.ship.txt | 237 +++--- gamedata/sdktools.games/game.sourceforts.txt | 191 ++--- gamedata/sdktools.games/game.synergy.txt | 191 ++--- gamedata/sdktools.games/game.tf.txt | 189 ++--- gamedata/sdktools.games/game.zm.txt | 281 +++---- gamedata/sdktools.games/game.zpanic.txt | 251 ++++--- gamedata/sdktools.games/master.games.txt | 245 ++++--- gamedata/sm-cstrike.games.txt | 51 +- gamedata/sm-tf2.games.txt | 117 +-- 27 files changed, 3697 insertions(+), 3400 deletions(-) diff --git a/gamedata/core.games/common.games.txt b/gamedata/core.games/common.games.txt index 05657594..7192f02f 100644 --- a/gamedata/core.games/common.games.txt +++ b/gamedata/core.games/common.games.txt @@ -1,183 +1,194 @@ -"Games" -{ - "#default" - { - "Offsets" - { - "m_lifeState" - { - "class" "CBasePlayer" - "prop" "m_lifeState" - } - } - } - - /* Send properties and datamaps used by stocks in entity_prop_stocks.inc */ - "#default" - { - "Keys" - { - "m_fFlags" "m_fFlags" - "m_MoveType" "m_MoveType" - "m_nRenderMode" "m_nRenderMode" - "m_nRenderFX" "m_nRenderFX" - "m_clrRender" "m_clrRender" - "m_flGravity" "m_flGravity" - "m_iHealth" "m_iHealth" - "m_nButtons" "m_nButtons" - } - } - - /* Original engine specifics */ - "#default" - { - "#supported" - { - "engine" "original" - } - - "Offsets" - { - "GetDataDescMap" - { - "windows" "13" - "linux" "14" - } - } - } - - /* Dark Messiah engine specifics */ - "#default" - { - "#supported" - { - "engine" "darkmessiah" - } - - "Keys" - { - "m_iHealth" "m_fHealth" - "HintTextPreByte" "yes" - "ChatSayText" "yes" - } - - "Offsets" - { - "GetDataDescMap" - { - "windows" "12" - } - } - } - - /* OB/L4D engine specifics */ - "#default" - { - "#supported" - { - "engine" "orangebox" - "engine" "left4dead" - } - - "Offsets" - { - "GetDataDescMap" - { - "windows" "11" - "linux" "12" - } - } - } - - /* The Ship is completely different */ - "ship" - { - "Offsets" - { - "GetDataDescMap" - { - "windows" "18" - "linux" "19" - } - } - } - - /* Which games support ShowMenu? */ - "#default" - { - "#supported" - { - "game" "cstrike" - "game" "dod" - "game" "sourceforts" - "game" "insurgency" - "game" "tf" - "game" "pvkii" - "game" "diprip" - "game" "synergy" - "game" "FortressForever" - "game" "left4dead" - "game" "obsidian" - "game" "ageofchivalry" - } - - "Keys" - { - "HudRadioMenuMsg" "ShowMenu" - } - } - - /* Which games need a radio menu timeout? */ - "#default" - { - "#supported" - { - "game" "tf" - "game" "synergy" - "game" "dod" - "game" "ageofchivalry" - } - - "Keys" - { - "RadioMenuTimeout" "4" - } - } - - /** - * Which games support HudMsg? - */ - "#default" - { - "#supported" - { - "game" "hl2mp" - "game" "sourceforts" - "game" "tf" - "game" "ageofchivalry" - "game" "obsidian" - } - - "Keys" - { - "HudTextMsg" "HudMsg" - } - } - - "cstrike" - { - "Keys" - { - "HintTextPreByte" "yes" - "GameExtension" "game.cstrike" - } - } - - "tf" - { - "Keys" - { - "GameExtension" "game.tf2" - } - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + "#default" + { + "Offsets" + { + "m_lifeState" + { + "class" "CBasePlayer" + "prop" "m_lifeState" + } + } + } + + /* Send properties and datamaps used by stocks in entity_prop_stocks.inc */ + "#default" + { + "Keys" + { + "m_fFlags" "m_fFlags" + "m_MoveType" "m_MoveType" + "m_nRenderMode" "m_nRenderMode" + "m_nRenderFX" "m_nRenderFX" + "m_clrRender" "m_clrRender" + "m_flGravity" "m_flGravity" + "m_iHealth" "m_iHealth" + "m_nButtons" "m_nButtons" + } + } + + /* Original engine specifics */ + "#default" + { + "#supported" + { + "engine" "original" + } + + "Offsets" + { + "GetDataDescMap" + { + "windows" "13" + "linux" "14" + } + } + } + + /* Dark Messiah engine specifics */ + "#default" + { + "#supported" + { + "engine" "darkmessiah" + } + + "Keys" + { + "m_iHealth" "m_fHealth" + "HintTextPreByte" "yes" + "ChatSayText" "yes" + } + + "Offsets" + { + "GetDataDescMap" + { + "windows" "12" + } + } + } + + /* OB/L4D engine specifics */ + "#default" + { + "#supported" + { + "engine" "orangebox" + "engine" "left4dead" + } + + "Offsets" + { + "GetDataDescMap" + { + "windows" "11" + "linux" "12" + } + } + } + + /* The Ship is completely different */ + "ship" + { + "Offsets" + { + "GetDataDescMap" + { + "windows" "18" + "linux" "19" + } + } + } + + /* Which games support ShowMenu? */ + "#default" + { + "#supported" + { + "game" "cstrike" + "game" "dod" + "game" "sourceforts" + "game" "insurgency" + "game" "tf" + "game" "pvkii" + "game" "diprip" + "game" "synergy" + "game" "FortressForever" + "game" "left4dead" + "game" "obsidian" + "game" "ageofchivalry" + } + + "Keys" + { + "HudRadioMenuMsg" "ShowMenu" + } + } + + /* Which games need a radio menu timeout? */ + "#default" + { + "#supported" + { + "game" "tf" + "game" "synergy" + "game" "dod" + "game" "ageofchivalry" + } + + "Keys" + { + "RadioMenuTimeout" "4" + } + } + + /** + * Which games support HudMsg? + */ + "#default" + { + "#supported" + { + "game" "hl2mp" + "game" "sourceforts" + "game" "tf" + "game" "ageofchivalry" + "game" "obsidian" + } + + "Keys" + { + "HudTextMsg" "HudMsg" + } + } + + "cstrike" + { + "Keys" + { + "HintTextPreByte" "yes" + "GameExtension" "game.cstrike" + } + } + + "tf" + { + "Keys" + { + "GameExtension" "game.tf2" + } + } +} diff --git a/gamedata/core.games/master.games.txt b/gamedata/core.games/master.games.txt index 71869f35..370491dd 100644 --- a/gamedata/core.games/master.games.txt +++ b/gamedata/core.games/master.games.txt @@ -1,6 +1,17 @@ -"Game Master" -{ - "common.games.txt" - { - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Game Master" +{ + "common.games.txt" + { + } +} diff --git a/gamedata/sdktools.games/engine.darkm.txt b/gamedata/sdktools.games/engine.darkm.txt index 55939625..fae2c01b 100644 --- a/gamedata/sdktools.games/engine.darkm.txt +++ b/gamedata/sdktools.games/engine.darkm.txt @@ -1,322 +1,333 @@ -"Games" -{ - /* Sounds */ - "#default" - { - "Keys" - { - "SlapSoundCount" "3" - "SlapSound1" "default/player/sword_on_flesh_std01.wav" - "SlapSound2" "default/player/sword_on_flesh_std05.wav" - "SlapSound3" "default/player/bone_breaking03.wav" - } - } - - /* Properties */ - "#default" - { - "Offsets" - { - "m_iHealth" - { - "class" "CBasePlayer" - "prop" "m_fHealth" - } - } - } - - /* General Temp Entities */ - "#default" - { - "#supported" - { - "game" "!Might and Magic Multiplayer" - } - - "Offsets" - { - /* Offset into CBaseTempEntity constructor */ - "s_pTempEntities" - { - "windows" "17" - } - "GetTEName" - { - "windows" "4" - } - "GetTENext" - { - "windows" "8" - } - "TE_GetServerClass" - { - "windows" "0" - } - } - - "Signatures" - { - "CBaseTempEntity" - { - "library" "server" - "windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00" - } - } - } - - /* Create Entity Signatures */ - "#default" - { - "#supported" - { - "game" "!Might and Magic Multiplayer" - } - - "Signatures" - { - "DispatchSpawn" - { - "library" "server" - "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\x16" - } - "CreateEntityByName" - { - "library" "server" - "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\x2A\x85\xC0" - } - } - } - - /* CGlobalEntityList */ - "#default" - { - "#supported" - { - "game" "!Might and Magic Multiplayer" - } - - "Offsets" - { - /* Offset into LevelShutdown */ - "gEntList" - { - "windows" "11" - } - } - - "Signatures" - { - "LevelShutdown" - { - "library" "server" - "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8" - } - - /* Functions in CGlobalEntityList */ - "FindEntityByClassname" - { - "library" "server" - "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x85\xC9\x57\x74\x18\x8B\x01\xFF\x50\x08\x8B\x08\x81\xE1\xFF\x0F\x00\x00\x83\xC1\x01\xC1\xE1\x04\x8B\x3C\x31\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x3A\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\x8D" - } - } - } - - /* General GameRules */ - "#default" - { - "#supported" - { - "game" "!Might and Magic Multiplayer" - } - - "Offsets" - { - /* Offset into CreateGameRulesObject */ - "g_pGameRules" - { - "windows" "2" - } - } - - "Signatures" - { - /* This signature sometimes has multiple matches, but this - * does not matter as g_pGameRules is involved in all of them. - * The same g_pGameRules offset applies to each match. - * - * Sometimes this block of bytes is at the beginning of the static - * CreateGameRulesObject function and sometimes it is in the middle - * of an entirely different function. This depends on the game. - */ - "CreateGameRulesObject" - { - "library" "server" - "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x6A\x01\xFF\x50" - } - } - } - - /* IServer interface pointer */ - "#default" - { - "Keys" - { - /* Signature for the beginning of IVEngineServer::CreateFakeClient. - * - * The engine binary is not actually scanned in order to look for - * this. SourceHook is used to used to determine the address of the - * function and this signature is used to verify that it contains - * the expected code. A pointer to sv (IServer interface) is used - * here. - */ - "CreateFakeClient_Windows" "\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8" - } - - "Offsets" - { - /* Offset into IVEngineServer::CreateFakeClient */ - "sv" - { - "windows" "6" - } - } - } - - /* EntityFactoryDictionary function */ - "#default" - { - "Signatures" - { - "EntityFactory" - { - "library" "server" - "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" - } - } - } - - /* CBaseEntityOutput::FireOutput */ - "#default" - { - "#supported" - { - "game" "!Might and Magic Multiplayer" - } - "Signatures" - { - "FireOutput" - { - "library" "server" - "windows" "\x83\xEC\x1C\x53\x55\x56\x8B\x71\x14" - "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" - } - } - "Offsets" - { - "FireOutputBackup" - { - "windows" "6" - } - } - } - - /* SetUserInfo data */ - "#default" - { - "Offsets" - { - /** - * CBaseClient::SetUserCVar(char const*,char const*); - * Linux offset straight from VTable dump. - * Windows offset is crazy. Found the windows 'SetName' function using string "(%d)%-0.*s" - * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1) - */ - "SetUserCvar" - { - "windows" "17" - } - - "UpdateUserSettings" - { - "windows" "7" - } - } - } - - /* Dark Messiah */ - "!Might and Magic Multiplayer" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "309" - } - "RemovePlayerItem" - { - "windows" "210" - } - "Weapon_GetSlot" - { - "windows" "208" - } - "Ignite" - { - "windows" "172" - } - "Extinguish" - { - "windows" "173" - } - "Teleport" - { - "windows" "92" - } - "GetVelocity" - { - "windows" "115" - } - "EyeAngles" - { - "windows" "107" - } - "AcceptInput" - { - "windows" "34" - } - "DispatchKeyValue" - { - "windows" "30" - } - "DispatchKeyValueFloat" - { - "windows" "29" - } - "DispatchKeyValueVector" - { - "windows" "28" - } - "SetEntityModel" - { - "windows" "25" - } - "WeaponEquip" - { - "windows" "202" - } - "Activate" - { - "windows" "32" - } - } - - "Signatures" - { - "CommitSuicide" - { - "library" "server" - "windows" "\x83\xEC\x44\x56\x8B\xF1\x8B\x8E\x2A\x00\x00\x00\x85\xC9" - } - } - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Sounds */ + "#default" + { + "Keys" + { + "SlapSoundCount" "3" + "SlapSound1" "default/player/sword_on_flesh_std01.wav" + "SlapSound2" "default/player/sword_on_flesh_std05.wav" + "SlapSound3" "default/player/bone_breaking03.wav" + } + } + + /* Properties */ + "#default" + { + "Offsets" + { + "m_iHealth" + { + "class" "CBasePlayer" + "prop" "m_fHealth" + } + } + } + + /* General Temp Entities */ + "#default" + { + "#supported" + { + "game" "!Might and Magic Multiplayer" + } + + "Offsets" + { + /* Offset into CBaseTempEntity constructor */ + "s_pTempEntities" + { + "windows" "17" + } + "GetTEName" + { + "windows" "4" + } + "GetTENext" + { + "windows" "8" + } + "TE_GetServerClass" + { + "windows" "0" + } + } + + "Signatures" + { + "CBaseTempEntity" + { + "library" "server" + "windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00" + } + } + } + + /* Create Entity Signatures */ + "#default" + { + "#supported" + { + "game" "!Might and Magic Multiplayer" + } + + "Signatures" + { + "DispatchSpawn" + { + "library" "server" + "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\x16" + } + "CreateEntityByName" + { + "library" "server" + "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\x2A\x85\xC0" + } + } + } + + /* CGlobalEntityList */ + "#default" + { + "#supported" + { + "game" "!Might and Magic Multiplayer" + } + + "Offsets" + { + /* Offset into LevelShutdown */ + "gEntList" + { + "windows" "11" + } + } + + "Signatures" + { + "LevelShutdown" + { + "library" "server" + "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8" + } + + /* Functions in CGlobalEntityList */ + "FindEntityByClassname" + { + "library" "server" + "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x85\xC9\x57\x74\x18\x8B\x01\xFF\x50\x08\x8B\x08\x81\xE1\xFF\x0F\x00\x00\x83\xC1\x01\xC1\xE1\x04\x8B\x3C\x31\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x3A\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\x8D" + } + } + } + + /* General GameRules */ + "#default" + { + "#supported" + { + "game" "!Might and Magic Multiplayer" + } + + "Offsets" + { + /* Offset into CreateGameRulesObject */ + "g_pGameRules" + { + "windows" "2" + } + } + + "Signatures" + { + /* This signature sometimes has multiple matches, but this + * does not matter as g_pGameRules is involved in all of them. + * The same g_pGameRules offset applies to each match. + * + * Sometimes this block of bytes is at the beginning of the static + * CreateGameRulesObject function and sometimes it is in the middle + * of an entirely different function. This depends on the game. + */ + "CreateGameRulesObject" + { + "library" "server" + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x6A\x01\xFF\x50" + } + } + } + + /* IServer interface pointer */ + "#default" + { + "Keys" + { + /* Signature for the beginning of IVEngineServer::CreateFakeClient. + * + * The engine binary is not actually scanned in order to look for + * this. SourceHook is used to used to determine the address of the + * function and this signature is used to verify that it contains + * the expected code. A pointer to sv (IServer interface) is used + * here. + */ + "CreateFakeClient_Windows" "\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8" + } + + "Offsets" + { + /* Offset into IVEngineServer::CreateFakeClient */ + "sv" + { + "windows" "6" + } + } + } + + /* EntityFactoryDictionary function */ + "#default" + { + "Signatures" + { + "EntityFactory" + { + "library" "server" + "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" + } + } + } + + /* CBaseEntityOutput::FireOutput */ + "#default" + { + "#supported" + { + "game" "!Might and Magic Multiplayer" + } + "Signatures" + { + "FireOutput" + { + "library" "server" + "windows" "\x83\xEC\x1C\x53\x55\x56\x8B\x71\x14" + "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" + } + } + "Offsets" + { + "FireOutputBackup" + { + "windows" "6" + } + } + } + + /* SetUserInfo data */ + "#default" + { + "Offsets" + { + /** + * CBaseClient::SetUserCVar(char const*,char const*); + * Linux offset straight from VTable dump. + * Windows offset is crazy. Found the windows 'SetName' function using string "(%d)%-0.*s" + * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1) + */ + "SetUserCvar" + { + "windows" "17" + } + + "UpdateUserSettings" + { + "windows" "7" + } + } + } + + /* Dark Messiah */ + "!Might and Magic Multiplayer" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "309" + } + "RemovePlayerItem" + { + "windows" "210" + } + "Weapon_GetSlot" + { + "windows" "208" + } + "Ignite" + { + "windows" "172" + } + "Extinguish" + { + "windows" "173" + } + "Teleport" + { + "windows" "92" + } + "GetVelocity" + { + "windows" "115" + } + "EyeAngles" + { + "windows" "107" + } + "AcceptInput" + { + "windows" "34" + } + "DispatchKeyValue" + { + "windows" "30" + } + "DispatchKeyValueFloat" + { + "windows" "29" + } + "DispatchKeyValueVector" + { + "windows" "28" + } + "SetEntityModel" + { + "windows" "25" + } + "WeaponEquip" + { + "windows" "202" + } + "Activate" + { + "windows" "32" + } + } + + "Signatures" + { + "CommitSuicide" + { + "library" "server" + "windows" "\x83\xEC\x44\x56\x8B\xF1\x8B\x8E\x2A\x00\x00\x00\x85\xC9" + } + } + } +} diff --git a/gamedata/sdktools.games/engine.ep1.txt b/gamedata/sdktools.games/engine.ep1.txt index 43fd1999..c2a2f435 100644 --- a/gamedata/sdktools.games/engine.ep1.txt +++ b/gamedata/sdktools.games/engine.ep1.txt @@ -1,301 +1,312 @@ -"Games" -{ - /* General Temp Entities */ - "#default" - { - "#supported" - { - "game" "cstrike" - "game" "hl2mp" - "game" "ship" - "game" "!Dystopia" - "game" "insurgency" - "game" "pvkii" - "game" "sourceforts" - "game" "FortressForever" - "game" "empires" - "game" "synergy" - "game" "hidden" - "game" "zombie_master" - } - - "Offsets" - { - /* Offset into CBaseTempEntity constructor */ - "s_pTempEntities" - { - "windows" "17" - } - "GetTEName" - { - "windows" "4" - "linux" "4" - } - "GetTENext" - { - "windows" "8" - "linux" "8" - } - "TE_GetServerClass" - { - "windows" "1" - "linux" "1" - } - } - - "Signatures" - { - "CBaseTempEntity" - { - "library" "server" - "windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00" - } - "s_pTempEntities" - { - "library" "server" - "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" - } - } - } - - /* General GameRules */ - "#default" - { - "#supported" - { - "game" "cstrike" - "game" "garrysmod" - "game" "hl2mp" - "game" "ship" - "game" "!Dystopia" - "game" "insurgency" - "game" "pvkii" - "game" "sourceforts" - "game" "FortressForever" - "game" "empires" - "game" "synergy" - "game" "hidden" - } - - "Offsets" - { - /* Offset into CreateGameRulesObject */ - "g_pGameRules" - { - "windows" "2" - } - } - - "Signatures" - { - /* This signature sometimes has multiple matches, but this - * does not matter as g_pGameRules is involved in all of them. - * The same g_pGameRules offset applies to each match. - * - * Sometimes this block of bytes is at the beginning of the static - * CreateGameRulesObject function and sometimes it is in the middle - * of an entirely different function. This depends on the game. - */ - "CreateGameRulesObject" - { - "library" "server" - "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x6A\x01\xFF\x50" - } - "g_pGameRules" - { - "library" "server" - "linux" "@g_pGameRules" - } - } - } - - /* CGlobalEntityList */ - "#default" - { - "#supported" - { - "game" "cstrike" - "game" "garrysmod" - "game" "hl2mp" - "game" "ship" - "game" "insurgency" - "game" "pvkii" - "game" "sourceforts" - "game" "FortressForever" - "game" "empires" - "game" "synergy" - "game" "hidden" - "game" "zombie_master" - } - - "Offsets" - { - /* Offset into LevelShutdown */ - "gEntList" - { - "windows" "11" - } - } - - "Signatures" - { - "LevelShutdown" - { - "library" "server" - "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8" - } - "gEntList" - { - "library" "server" - "linux" "@gEntList" - } - - /* Functions in CGlobalEntityList */ - "FindEntityByClassname" - { - "library" "server" - "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" - "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" - } - } - } - - /* Create Entity Signatures */ - "#default" - { - "#supported" - { - "game" "cstrike" - "game" "hl2mp" - "game" "insurgency" - "game" "pvkii" - "game" "sourceforts" - "game" "empires" - "game" "synergy" - "game" "hidden" - "game" "FortressForever" - } - - "Signatures" - { - "DispatchSpawn" - { - "library" "server" - "linux" "@_Z13DispatchSpawnP11CBaseEntity" - "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" - } - "CreateEntityByName" - { - "library" "server" - "linux" "@_Z18CreateEntityByNamePKci" - "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" - } - } - } - - /* IServer interface pointer */ - "#default" - { - "Keys" - { - /* Signature for the beginning of IVEngineServer::CreateFakeClient. - * - * The engine binary is not actually scanned in order to look for - * this. SourceHook is used to used to determine the address of the - * function and this signature is used to verify that it contains - * the expected code. A pointer to sv (IServer interface) is used - * here. - */ - "CreateFakeClient_Windows" "\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8" - } - - "Offsets" - { - /* Offset into IVEngineServer::CreateFakeClient */ - "sv" - { - "windows" "6" - } - } - - "Signatures" - { - /* CBaseServer object for IServer interface */ - "sv" - { - "library" "engine" - "linux" "@sv" - } - } - } - - /* EntityFactoryDictionary function */ - "#default" - { - "Signatures" - { - "EntityFactory" - { - "library" "server" - "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" - "linux" "@_Z23EntityFactoryDictionaryv" - } - } - } - /* CBaseEntityOutput::FireOutput */ - "#default" - { - "#supported" - { - "game" "cstrike" - "game" "hl2mp" - } - "Signatures" - { - "FireOutput" - { - "library" "server" - "windows" "\x81\xEC\x1C\x03\x00\x00\x53\x55\x56\x8B\x71\x14" - "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" - } - } - "Offsets" - { - "FireOutputBackup" - { - "windows" "6" - "linux" "6" - } - } - } - - /* SetUserInfo data */ - "#default" - { - "Offsets" - { - /** - * CBaseClient::SetUserCVar(char const*,char const*); - * Linux offset straight from VTable dump. - * Windows offset is crazy. Found the windows 'SetName' function using string "(%d)%-0.*s" - * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1) - */ - "SetUserCvar" - { - "windows" "17" - "linux" "53" - } - /** - * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made. - * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end. - * Linux: mov byte ptr [esi+98h], 0 - * Win: mov byte ptr [esi+0A4h], 0 - */ - "InfoChanged" - { - "windows" "164" - "linux" "152" - } - } - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* General Temp Entities */ + "#default" + { + "#supported" + { + "game" "cstrike" + "game" "hl2mp" + "game" "ship" + "game" "!Dystopia" + "game" "insurgency" + "game" "pvkii" + "game" "sourceforts" + "game" "FortressForever" + "game" "empires" + "game" "synergy" + "game" "hidden" + "game" "zombie_master" + } + + "Offsets" + { + /* Offset into CBaseTempEntity constructor */ + "s_pTempEntities" + { + "windows" "17" + } + "GetTEName" + { + "windows" "4" + "linux" "4" + } + "GetTENext" + { + "windows" "8" + "linux" "8" + } + "TE_GetServerClass" + { + "windows" "1" + "linux" "1" + } + } + + "Signatures" + { + "CBaseTempEntity" + { + "library" "server" + "windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00" + } + "s_pTempEntities" + { + "library" "server" + "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" + } + } + } + + /* General GameRules */ + "#default" + { + "#supported" + { + "game" "cstrike" + "game" "garrysmod" + "game" "hl2mp" + "game" "ship" + "game" "!Dystopia" + "game" "insurgency" + "game" "pvkii" + "game" "sourceforts" + "game" "FortressForever" + "game" "empires" + "game" "synergy" + "game" "hidden" + } + + "Offsets" + { + /* Offset into CreateGameRulesObject */ + "g_pGameRules" + { + "windows" "2" + } + } + + "Signatures" + { + /* This signature sometimes has multiple matches, but this + * does not matter as g_pGameRules is involved in all of them. + * The same g_pGameRules offset applies to each match. + * + * Sometimes this block of bytes is at the beginning of the static + * CreateGameRulesObject function and sometimes it is in the middle + * of an entirely different function. This depends on the game. + */ + "CreateGameRulesObject" + { + "library" "server" + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x6A\x01\xFF\x50" + } + "g_pGameRules" + { + "library" "server" + "linux" "@g_pGameRules" + } + } + } + + /* CGlobalEntityList */ + "#default" + { + "#supported" + { + "game" "cstrike" + "game" "garrysmod" + "game" "hl2mp" + "game" "ship" + "game" "insurgency" + "game" "pvkii" + "game" "sourceforts" + "game" "FortressForever" + "game" "empires" + "game" "synergy" + "game" "hidden" + "game" "zombie_master" + } + + "Offsets" + { + /* Offset into LevelShutdown */ + "gEntList" + { + "windows" "11" + } + } + + "Signatures" + { + "LevelShutdown" + { + "library" "server" + "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8" + } + "gEntList" + { + "library" "server" + "linux" "@gEntList" + } + + /* Functions in CGlobalEntityList */ + "FindEntityByClassname" + { + "library" "server" + "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" + "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" + } + } + } + + /* Create Entity Signatures */ + "#default" + { + "#supported" + { + "game" "cstrike" + "game" "hl2mp" + "game" "insurgency" + "game" "pvkii" + "game" "sourceforts" + "game" "empires" + "game" "synergy" + "game" "hidden" + "game" "FortressForever" + } + + "Signatures" + { + "DispatchSpawn" + { + "library" "server" + "linux" "@_Z13DispatchSpawnP11CBaseEntity" + "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" + } + "CreateEntityByName" + { + "library" "server" + "linux" "@_Z18CreateEntityByNamePKci" + "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" + } + } + } + + /* IServer interface pointer */ + "#default" + { + "Keys" + { + /* Signature for the beginning of IVEngineServer::CreateFakeClient. + * + * The engine binary is not actually scanned in order to look for + * this. SourceHook is used to used to determine the address of the + * function and this signature is used to verify that it contains + * the expected code. A pointer to sv (IServer interface) is used + * here. + */ + "CreateFakeClient_Windows" "\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8" + } + + "Offsets" + { + /* Offset into IVEngineServer::CreateFakeClient */ + "sv" + { + "windows" "6" + } + } + + "Signatures" + { + /* CBaseServer object for IServer interface */ + "sv" + { + "library" "engine" + "linux" "@sv" + } + } + } + + /* EntityFactoryDictionary function */ + "#default" + { + "Signatures" + { + "EntityFactory" + { + "library" "server" + "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" + "linux" "@_Z23EntityFactoryDictionaryv" + } + } + } + /* CBaseEntityOutput::FireOutput */ + "#default" + { + "#supported" + { + "game" "cstrike" + "game" "hl2mp" + } + "Signatures" + { + "FireOutput" + { + "library" "server" + "windows" "\x81\xEC\x1C\x03\x00\x00\x53\x55\x56\x8B\x71\x14" + "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" + } + } + "Offsets" + { + "FireOutputBackup" + { + "windows" "6" + "linux" "6" + } + } + } + + /* SetUserInfo data */ + "#default" + { + "Offsets" + { + /** + * CBaseClient::SetUserCVar(char const*,char const*); + * Linux offset straight from VTable dump. + * Windows offset is crazy. Found the windows 'SetName' function using string "(%d)%-0.*s" + * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1) + */ + "SetUserCvar" + { + "windows" "17" + "linux" "53" + } + /** + * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made. + * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end. + * Linux: mov byte ptr [esi+98h], 0 + * Win: mov byte ptr [esi+0A4h], 0 + */ + "InfoChanged" + { + "windows" "164" + "linux" "152" + } + } + } +} diff --git a/gamedata/sdktools.games/engine.ep2.txt b/gamedata/sdktools.games/engine.ep2.txt index d2e0c5f5..c40722bc 100644 --- a/gamedata/sdktools.games/engine.ep2.txt +++ b/gamedata/sdktools.games/engine.ep2.txt @@ -1,274 +1,285 @@ -"Games" -{ - /* General Temp Entities */ - "#default" - { - "#supported" - { - "game" "dod" - "game" "tf" - "game" "ageofchivalry" - "game" "ZPS" - } - - "Offsets" - { - /* Offset into CBaseTempEntity constructor */ - "s_pTempEntities" - { - "windows" "17" - } - "GetTEName" - { - "windows" "4" - "linux" "4" - } - "GetTENext" - { - "windows" "8" - "linux" "8" - } - "TE_GetServerClass" - { - "windows" "0" - "linux" "0" - } - } - - "Signatures" - { - "CBaseTempEntity" - { - "library" "server" - "windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00" - } - "s_pTempEntities" - { - "library" "server" - "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" - } - } - } - - /* Create Entity Signatures */ - "#default" - { - "#supported" - { - "game" "dod" - "game" "tf" - "game" "ageofchivalry" - "game" "ZPS" - } - - "Signatures" - { - "DispatchSpawn" - { - "library" "server" - "linux" "@_Z13DispatchSpawnP11CBaseEntity" - "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" - } - "CreateEntityByName" - { - "library" "server" - "linux" "@_Z18CreateEntityByNamePKci" - "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" - } - } - } - - /* CGlobalEntityList */ - "#default" - { - "#supported" - { - "game" "dod" - "game" "tf" - "game" "ageofchivalry" - "game" "ZPS" - } - - "Offsets" - { - /* Offset into LevelShutdown */ - "gEntList" - { - "windows" "11" - } - } - - "Signatures" - { - "LevelShutdown" - { - "library" "server" - "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8" - } - "gEntList" - { - "library" "server" - "linux" "@gEntList" - } - - /* Functions in CGlobalEntityList */ - "FindEntityByClassname" - { - "library" "server" - "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" - "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" - } - } - } - - /* General GameRules */ - "#default" - { - "#supported" - { - "game" "dod" - "game" "tf" - "game" "ageofchivalry" - "game" "ZPS" - } - - "Offsets" - { - /* Offset into CreateGameRulesObject */ - "g_pGameRules" - { - "windows" "2" - } - } - - "Signatures" - { - /* This signature sometimes has multiple matches, but this - * does not matter as g_pGameRules is involved in all of them. - * The same g_pGameRules offset applies to each match. - * - * Sometimes this block of bytes is at the beginning of the static - * CreateGameRulesObject function and sometimes it is in the middle - * of an entirely different function. This depends on the game. - */ - "CreateGameRulesObject" - { - "library" "server" - "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2" - } - "g_pGameRules" - { - "library" "server" - "linux" "@g_pGameRules" - } - } - } - - /* IServer interface pointer */ - "#default" - { - "Keys" - { - /* Signature for the beginning of IVEngineServer::CreateFakeClient. - * - * The engine binary is not actually scanned in order to look for - * this. SourceHook is used to used to determine the address of the - * function and this signature is used to verify that it contains - * the expected code. A pointer to sv (IServer interface) is used - * here. - */ - "CreateFakeClient_Windows" "\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8" - } - - "Offsets" - { - /* Offset into IVEngineServer::CreateFakeClient */ - "sv" - { - "windows" "6" - } - } - - "Signatures" - { - /* CBaseServer object for IServer interface */ - "sv" - { - "library" "engine" - "linux" "@sv" - } - } - } - - /* EntityFactoryDictionary function */ - "#default" - { - "Signatures" - { - "EntityFactory" - { - "library" "server" - "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" - "linux" "@_Z23EntityFactoryDictionaryv" - } - } - } - - /* CBaseEntityOutput::FireOutput */ - "#default" - { - "#supported" - { - "game" "dod" - "game" "tf" - "game" "ageofchivalry" - } - "Signatures" - { - "FireOutput" - { - "library" "server" - "windows" "\x81\xEC\x1C\x01\x00\x00\x53\x55\x56\x8B\x71\x14\x85\xF6" - "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" - } - } - "Offsets" - { - "FireOutputBackup" - { - "windows" "6" - "linux" "10" - } - } - } - - /* SetUserInfo data */ - "#default" - { - "Offsets" - { - /** - * CBaseClient::SetUserCVar(char const*,char const*); - * Linux offset straight from VTable dump. - * Windows offset is crazy. Found the windows 'SetName' function using string "(%d)%-0.*s" - * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1) - */ - "SetUserCvar" - { - "windows" "17" - "linux" "55" - } - /** - * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made. - * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end. - * Linux: mov byte ptr [esi+98h], 0 - * Win: mov byte ptr [esi+0A4h], 0 - */ - "InfoChanged" - { - "windows" "140" - "linux" "140" - } - } - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* General Temp Entities */ + "#default" + { + "#supported" + { + "game" "dod" + "game" "tf" + "game" "ageofchivalry" + "game" "ZPS" + } + + "Offsets" + { + /* Offset into CBaseTempEntity constructor */ + "s_pTempEntities" + { + "windows" "17" + } + "GetTEName" + { + "windows" "4" + "linux" "4" + } + "GetTENext" + { + "windows" "8" + "linux" "8" + } + "TE_GetServerClass" + { + "windows" "0" + "linux" "0" + } + } + + "Signatures" + { + "CBaseTempEntity" + { + "library" "server" + "windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00" + } + "s_pTempEntities" + { + "library" "server" + "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" + } + } + } + + /* Create Entity Signatures */ + "#default" + { + "#supported" + { + "game" "dod" + "game" "tf" + "game" "ageofchivalry" + "game" "ZPS" + } + + "Signatures" + { + "DispatchSpawn" + { + "library" "server" + "linux" "@_Z13DispatchSpawnP11CBaseEntity" + "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" + } + "CreateEntityByName" + { + "library" "server" + "linux" "@_Z18CreateEntityByNamePKci" + "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" + } + } + } + + /* CGlobalEntityList */ + "#default" + { + "#supported" + { + "game" "dod" + "game" "tf" + "game" "ageofchivalry" + "game" "ZPS" + } + + "Offsets" + { + /* Offset into LevelShutdown */ + "gEntList" + { + "windows" "11" + } + } + + "Signatures" + { + "LevelShutdown" + { + "library" "server" + "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8" + } + "gEntList" + { + "library" "server" + "linux" "@gEntList" + } + + /* Functions in CGlobalEntityList */ + "FindEntityByClassname" + { + "library" "server" + "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" + "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" + } + } + } + + /* General GameRules */ + "#default" + { + "#supported" + { + "game" "dod" + "game" "tf" + "game" "ageofchivalry" + "game" "ZPS" + } + + "Offsets" + { + /* Offset into CreateGameRulesObject */ + "g_pGameRules" + { + "windows" "2" + } + } + + "Signatures" + { + /* This signature sometimes has multiple matches, but this + * does not matter as g_pGameRules is involved in all of them. + * The same g_pGameRules offset applies to each match. + * + * Sometimes this block of bytes is at the beginning of the static + * CreateGameRulesObject function and sometimes it is in the middle + * of an entirely different function. This depends on the game. + */ + "CreateGameRulesObject" + { + "library" "server" + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2" + } + "g_pGameRules" + { + "library" "server" + "linux" "@g_pGameRules" + } + } + } + + /* IServer interface pointer */ + "#default" + { + "Keys" + { + /* Signature for the beginning of IVEngineServer::CreateFakeClient. + * + * The engine binary is not actually scanned in order to look for + * this. SourceHook is used to used to determine the address of the + * function and this signature is used to verify that it contains + * the expected code. A pointer to sv (IServer interface) is used + * here. + */ + "CreateFakeClient_Windows" "\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8" + } + + "Offsets" + { + /* Offset into IVEngineServer::CreateFakeClient */ + "sv" + { + "windows" "6" + } + } + + "Signatures" + { + /* CBaseServer object for IServer interface */ + "sv" + { + "library" "engine" + "linux" "@sv" + } + } + } + + /* EntityFactoryDictionary function */ + "#default" + { + "Signatures" + { + "EntityFactory" + { + "library" "server" + "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" + "linux" "@_Z23EntityFactoryDictionaryv" + } + } + } + + /* CBaseEntityOutput::FireOutput */ + "#default" + { + "#supported" + { + "game" "dod" + "game" "tf" + "game" "ageofchivalry" + } + "Signatures" + { + "FireOutput" + { + "library" "server" + "windows" "\x81\xEC\x1C\x01\x00\x00\x53\x55\x56\x8B\x71\x14\x85\xF6" + "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" + } + } + "Offsets" + { + "FireOutputBackup" + { + "windows" "6" + "linux" "10" + } + } + } + + /* SetUserInfo data */ + "#default" + { + "Offsets" + { + /** + * CBaseClient::SetUserCVar(char const*,char const*); + * Linux offset straight from VTable dump. + * Windows offset is crazy. Found the windows 'SetName' function using string "(%d)%-0.*s" + * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1) + */ + "SetUserCvar" + { + "windows" "17" + "linux" "55" + } + /** + * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made. + * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end. + * Linux: mov byte ptr [esi+98h], 0 + * Win: mov byte ptr [esi+0A4h], 0 + */ + "InfoChanged" + { + "windows" "140" + "linux" "140" + } + } + } +} diff --git a/gamedata/sdktools.games/engine.l4d.txt b/gamedata/sdktools.games/engine.l4d.txt index 1f723871..d8fc3dfa 100644 --- a/gamedata/sdktools.games/engine.l4d.txt +++ b/gamedata/sdktools.games/engine.l4d.txt @@ -1,359 +1,370 @@ -"Games" -{ - /* Sounds */ - "#default" - { - "Keys" - { - "SlapSoundCount" "2" - "SlapSound1" "player/damage1.wav" - "SlapSound2" "player/damage2.wav" - } - } - - /* General Temp Entities */ - "#default" - { - "#supported" - { - "game" "left4dead" - } - - "Offsets" - { - /* Offset into CBaseTempEntity constructor */ - "s_pTempEntities" - { - "windows" "17" - } - "GetTEName" - { - "windows" "4" - "linux" "4" - } - "GetTENext" - { - "windows" "8" - "linux" "8" - } - "TE_GetServerClass" - { - "windows" "0" - "linux" "0" - } - } - - "Signatures" - { - "CBaseTempEntity" - { - "library" "server" - "windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00" - } - "s_pTempEntities" - { - "library" "server" - "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" - } - } - } - - /* Create Entity Signatures */ - "#default" - { - "#supported" - { - "game" "left4dead" - } - - "Signatures" - { - "DispatchSpawn" - { - "library" "server" - "linux" "@_Z13DispatchSpawnP11CBaseEntity" - "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" - } - "CreateEntityByName" - { - "library" "server" - "linux" "@_Z18CreateEntityByNamePKcib" - "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" - } - } - } - - /* CGlobalEntityList */ - "#default" - { - "#supported" - { - "game" "left4dead" - } - - "Offsets" - { - /* Offset into LevelShutdown */ - "gEntList" - { - "windows" "11" - } - } - - "Signatures" - { - "LevelShutdown" - { - "library" "server" - "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8" - } - "gEntList" - { - "library" "server" - "linux" "@gEntList" - } - - /* Functions in CGlobalEntityList */ - "FindEntityByClassname" - { - "library" "server" - "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" - "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" - } - } - } - - /* General GameRules */ - "#default" - { - "#supported" - { - "game" "left4dead" - } - - "Offsets" - { - /* Offset into CreateGameRulesObject */ - "g_pGameRules" - { - "windows" "2" - } - } - - "Signatures" - { - /* This signature sometimes has multiple matches, but this - * does not matter as g_pGameRules is involved in all of them. - * The same g_pGameRules offset applies to each match. - * - * Sometimes this block of bytes is at the beginning of the static - * CreateGameRulesObject function and sometimes it is in the middle - * of an entirely different function. This depends on the game. - */ - "CreateGameRulesObject" - { - "library" "server" - "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2" - } - "g_pGameRules" - { - "library" "server" - "linux" "@g_pGameRules" - } - } - } - - /* IServer interface pointer */ - "#default" - { - "Keys" - { - /* Signature for the beginning of IVEngineServer::CreateFakeClient. - * - * The engine binary is not actually scanned in order to look for - * this. SourceHook is used to used to determine the address of the - * function and this signature is used to verify that it contains - * the expected code. A pointer to sv (IServer interface) is used - * here. - */ - "CreateFakeClient_Windows" "\x55\x8B\xEC\x83\xEC\x08\x89\x4D\xF8\x8B\x45\x08\x50\xB9\x2A\x2A\x2A\x2A\xE8" - } - - "Offsets" - { - /* Offset into IVEngineServer::CreateFakeClient */ - "sv" - { - "windows" "14" - } - } - - "Signatures" - { - /* CBaseServer object for IServer interface */ - "sv" - { - "library" "engine" - "linux" "@sv" - } - } - } - - /* EntityFactoryDictionary function */ - "#default" - { - "Signatures" - { - "EntityFactory" - { - "library" "server" - "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" - "linux" "@_Z23EntityFactoryDictionaryv" - } - } - } - - /* CBaseEntityOutput::FireOutput */ - "#default" - { - "#supported" - { - "game" "left4dead" - } - "Signatures" - { - "FireOutput" - { - "library" "server" - "windows" "\x81\xEC\x1C\x01\x00\x00\x53\x55\x56\x8B\x71\x14\x85\xF6" - "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" - } - } - "Offsets" - { - "FireOutputBackup" - { - "windows" "6" - "linux" "10" - } - } - } - - /* SetUserInfo data */ - "#default" - { - "Offsets" - { - /** - * CBaseClient::SetUserCVar(char const*,char const*); - * Linux offset straight from VTable dump. - * Windows offset is crazy. Found the windows 'SetName' function using string "(%d)%-0.*s" - * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1) - */ - "SetUserCvar" - { - "windows" "17" - "linux" "62" - } - /** - * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made. - * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end. - * Linux: mov byte ptr [esi+0B0h], 0 - * Win: mov byte ptr [esi+0B0h], 0 - */ - "InfoChanged" - { - "windows" "176" - "linux" "176" - } - } - } - - /* Left 4 Dead */ - "left4dead" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "480" - "linux" "481" - } - "RemovePlayerItem" - { - "windows" "269" - "linux" "270" - } - "Weapon_GetSlot" - { - "windows" "267" - "linux" "268" - } - "Ignite" - { - "windows" "206" - "linux" "207" - } - "Extinguish" - { - "windows" "210" - "linux" "211" - } - "Teleport" - { - "windows" "105" - "linux" "106" - } - "CommitSuicide" - { - "windows" "449" - "linux" "449" - } - "GetVelocity" - { - "windows" "136" - "linux" "137" - } - "EyeAngles" - { - "windows" "127" - "linux" "128" - } - "AcceptInput" - { - "windows" "37" - "linux" "38" - } - "DispatchKeyValue" - { - "windows" "29" - "linux" "28" - } - "DispatchKeyValueFloat" - { - "windows" "28" - "linux" "29" - } - "DispatchKeyValueVector" - { - "windows" "27" - "linux" "30" - } - "SetEntityModel" - { - "windows" "23" - "linux" "24" - } - "WeaponEquip" - { - "windows" "260" - "linux" "261" - } - "Activate" - { - "windows" "31" - "linux" "32" - } - } - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Sounds */ + "#default" + { + "Keys" + { + "SlapSoundCount" "2" + "SlapSound1" "player/damage1.wav" + "SlapSound2" "player/damage2.wav" + } + } + + /* General Temp Entities */ + "#default" + { + "#supported" + { + "game" "left4dead" + } + + "Offsets" + { + /* Offset into CBaseTempEntity constructor */ + "s_pTempEntities" + { + "windows" "17" + } + "GetTEName" + { + "windows" "4" + "linux" "4" + } + "GetTENext" + { + "windows" "8" + "linux" "8" + } + "TE_GetServerClass" + { + "windows" "0" + "linux" "0" + } + } + + "Signatures" + { + "CBaseTempEntity" + { + "library" "server" + "windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00" + } + "s_pTempEntities" + { + "library" "server" + "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE" + } + } + } + + /* Create Entity Signatures */ + "#default" + { + "#supported" + { + "game" "left4dead" + } + + "Signatures" + { + "DispatchSpawn" + { + "library" "server" + "linux" "@_Z13DispatchSpawnP11CBaseEntity" + "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" + } + "CreateEntityByName" + { + "library" "server" + "linux" "@_Z18CreateEntityByNamePKcib" + "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" + } + } + } + + /* CGlobalEntityList */ + "#default" + { + "#supported" + { + "game" "left4dead" + } + + "Offsets" + { + /* Offset into LevelShutdown */ + "gEntList" + { + "windows" "11" + } + } + + "Signatures" + { + "LevelShutdown" + { + "library" "server" + "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8" + } + "gEntList" + { + "library" "server" + "linux" "@gEntList" + } + + /* Functions in CGlobalEntityList */ + "FindEntityByClassname" + { + "library" "server" + "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" + "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" + } + } + } + + /* General GameRules */ + "#default" + { + "#supported" + { + "game" "left4dead" + } + + "Offsets" + { + /* Offset into CreateGameRulesObject */ + "g_pGameRules" + { + "windows" "2" + } + } + + "Signatures" + { + /* This signature sometimes has multiple matches, but this + * does not matter as g_pGameRules is involved in all of them. + * The same g_pGameRules offset applies to each match. + * + * Sometimes this block of bytes is at the beginning of the static + * CreateGameRulesObject function and sometimes it is in the middle + * of an entirely different function. This depends on the game. + */ + "CreateGameRulesObject" + { + "library" "server" + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2" + } + "g_pGameRules" + { + "library" "server" + "linux" "@g_pGameRules" + } + } + } + + /* IServer interface pointer */ + "#default" + { + "Keys" + { + /* Signature for the beginning of IVEngineServer::CreateFakeClient. + * + * The engine binary is not actually scanned in order to look for + * this. SourceHook is used to used to determine the address of the + * function and this signature is used to verify that it contains + * the expected code. A pointer to sv (IServer interface) is used + * here. + */ + "CreateFakeClient_Windows" "\x55\x8B\xEC\x83\xEC\x08\x89\x4D\xF8\x8B\x45\x08\x50\xB9\x2A\x2A\x2A\x2A\xE8" + } + + "Offsets" + { + /* Offset into IVEngineServer::CreateFakeClient */ + "sv" + { + "windows" "14" + } + } + + "Signatures" + { + /* CBaseServer object for IServer interface */ + "sv" + { + "library" "engine" + "linux" "@sv" + } + } + } + + /* EntityFactoryDictionary function */ + "#default" + { + "Signatures" + { + "EntityFactory" + { + "library" "server" + "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" + "linux" "@_Z23EntityFactoryDictionaryv" + } + } + } + + /* CBaseEntityOutput::FireOutput */ + "#default" + { + "#supported" + { + "game" "left4dead" + } + "Signatures" + { + "FireOutput" + { + "library" "server" + "windows" "\x81\xEC\x1C\x01\x00\x00\x53\x55\x56\x8B\x71\x14\x85\xF6" + "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" + } + } + "Offsets" + { + "FireOutputBackup" + { + "windows" "6" + "linux" "10" + } + } + } + + /* SetUserInfo data */ + "#default" + { + "Offsets" + { + /** + * CBaseClient::SetUserCVar(char const*,char const*); + * Linux offset straight from VTable dump. + * Windows offset is crazy. Found the windows 'SetName' function using string "(%d)%-0.*s" + * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1) + */ + "SetUserCvar" + { + "windows" "17" + "linux" "62" + } + /** + * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made. + * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end. + * Linux: mov byte ptr [esi+0B0h], 0 + * Win: mov byte ptr [esi+0B0h], 0 + */ + "InfoChanged" + { + "windows" "176" + "linux" "176" + } + } + } + + /* Left 4 Dead */ + "left4dead" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "480" + "linux" "481" + } + "RemovePlayerItem" + { + "windows" "269" + "linux" "270" + } + "Weapon_GetSlot" + { + "windows" "267" + "linux" "268" + } + "Ignite" + { + "windows" "206" + "linux" "207" + } + "Extinguish" + { + "windows" "210" + "linux" "211" + } + "Teleport" + { + "windows" "105" + "linux" "106" + } + "CommitSuicide" + { + "windows" "449" + "linux" "449" + } + "GetVelocity" + { + "windows" "136" + "linux" "137" + } + "EyeAngles" + { + "windows" "127" + "linux" "128" + } + "AcceptInput" + { + "windows" "37" + "linux" "38" + } + "DispatchKeyValue" + { + "windows" "29" + "linux" "28" + } + "DispatchKeyValueFloat" + { + "windows" "28" + "linux" "29" + } + "DispatchKeyValueVector" + { + "windows" "27" + "linux" "30" + } + "SetEntityModel" + { + "windows" "23" + "linux" "24" + } + "WeaponEquip" + { + "windows" "260" + "linux" "261" + } + "Activate" + { + "windows" "31" + "linux" "32" + } + } + } +} diff --git a/gamedata/sdktools.games/game.aoc.txt b/gamedata/sdktools.games/game.aoc.txt index 18cd6067..a3668064 100644 --- a/gamedata/sdktools.games/game.aoc.txt +++ b/gamedata/sdktools.games/game.aoc.txt @@ -1,90 +1,101 @@ -"Games" -{ - /* Age of Chivalry */ - "ageofchivalry" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "351" - "linux" "352" - } - "RemovePlayerItem" - { - "windows" "239" - "linux" "240" - } - "Weapon_GetSlot" - { - "windows" "237" - "linux" "238" - } - "Ignite" - { - "windows" "194" - "linux" "195" - } - "Extinguish" - { - "windows" "198" - "linux" "199" - } - "Teleport" - { - "windows" "101" - "linux" "102" - } - "CommitSuicide" - { - "windows" "389" - "linux" "389" - } - "GetVelocity" - { - "windows" "130" - "linux" "131" - } - "EyeAngles" - { - "windows" "122" - "linux" "123" - } - "AcceptInput" - { - "windows" "34" - "linux" "35" - } - "DispatchKeyValue" - { - "windows" "29" - "linux" "28" - } - "DispatchKeyValueFloat" - { - "windows" "28" - "linux" "29" - } - "DispatchKeyValueVector" - { - "windows" "27" - "linux" "30" - } - "SetEntityModel" - { - "windows" "23" - "linux" "24" - } - "WeaponEquip" - { - "windows" "230" - "linux" "231" - } - "Activate" - { - "windows" "31" - "linux" "32" - } - } - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Age of Chivalry */ + "ageofchivalry" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "351" + "linux" "352" + } + "RemovePlayerItem" + { + "windows" "239" + "linux" "240" + } + "Weapon_GetSlot" + { + "windows" "237" + "linux" "238" + } + "Ignite" + { + "windows" "194" + "linux" "195" + } + "Extinguish" + { + "windows" "198" + "linux" "199" + } + "Teleport" + { + "windows" "101" + "linux" "102" + } + "CommitSuicide" + { + "windows" "389" + "linux" "389" + } + "GetVelocity" + { + "windows" "130" + "linux" "131" + } + "EyeAngles" + { + "windows" "122" + "linux" "123" + } + "AcceptInput" + { + "windows" "34" + "linux" "35" + } + "DispatchKeyValue" + { + "windows" "29" + "linux" "28" + } + "DispatchKeyValueFloat" + { + "windows" "28" + "linux" "29" + } + "DispatchKeyValueVector" + { + "windows" "27" + "linux" "30" + } + "SetEntityModel" + { + "windows" "23" + "linux" "24" + } + "WeaponEquip" + { + "windows" "230" + "linux" "231" + } + "Activate" + { + "windows" "31" + "linux" "32" + } + } + } +} diff --git a/gamedata/sdktools.games/game.cstrike.txt b/gamedata/sdktools.games/game.cstrike.txt index c2807a5d..d2f71aed 100644 --- a/gamedata/sdktools.games/game.cstrike.txt +++ b/gamedata/sdktools.games/game.cstrike.txt @@ -1,98 +1,109 @@ -"Games" -{ - /* Counter-Strike: Source */ - "cstrike" - { - "Keys" - { - "SlapSoundCount" "3" - "SlapSound1" "player/damage1.wav" - "SlapSound2" "player/damage2.wav" - "SlapSound3" "player/damage3.wav" - } - - "Offsets" - { - "GiveNamedItem" - { - "windows" "329" - "linux" "330" - } - "RemovePlayerItem" - { - "windows" "226" - "linux" "227" - } - "Weapon_GetSlot" - { - "windows" "224" - "linux" "225" - } - "Ignite" - { - "windows" "188" - "linux" "189" - } - "Extinguish" - { - "windows" "189" - "linux" "190" - } - "Teleport" - { - "windows" "98" - "linux" "99" - } - "CommitSuicide" - { - "windows" "357" - "linux" "358" - } - "GetVelocity" - { - "windows" "126" - "linux" "127" - } - "EyeAngles" - { - "windows" "118" - "linux" "119" - } - "AcceptInput" - { - "windows" "35" - "linux" "36" - } - "DispatchKeyValue" - { - "windows" "31" - "linux" "30" - } - "DispatchKeyValueFloat" - { - "windows" "30" - "linux" "31" - } - "DispatchKeyValueVector" - { - "windows" "29" - "linux" "32" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "WeaponEquip" - { - "windows" "217" - "linux" "218" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Counter-Strike: Source */ + "cstrike" + { + "Keys" + { + "SlapSoundCount" "3" + "SlapSound1" "player/damage1.wav" + "SlapSound2" "player/damage2.wav" + "SlapSound3" "player/damage3.wav" + } + + "Offsets" + { + "GiveNamedItem" + { + "windows" "329" + "linux" "330" + } + "RemovePlayerItem" + { + "windows" "226" + "linux" "227" + } + "Weapon_GetSlot" + { + "windows" "224" + "linux" "225" + } + "Ignite" + { + "windows" "188" + "linux" "189" + } + "Extinguish" + { + "windows" "189" + "linux" "190" + } + "Teleport" + { + "windows" "98" + "linux" "99" + } + "CommitSuicide" + { + "windows" "357" + "linux" "358" + } + "GetVelocity" + { + "windows" "126" + "linux" "127" + } + "EyeAngles" + { + "windows" "118" + "linux" "119" + } + "AcceptInput" + { + "windows" "35" + "linux" "36" + } + "DispatchKeyValue" + { + "windows" "31" + "linux" "30" + } + "DispatchKeyValueFloat" + { + "windows" "30" + "linux" "31" + } + "DispatchKeyValueVector" + { + "windows" "29" + "linux" "32" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "WeaponEquip" + { + "windows" "217" + "linux" "218" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.dod.txt b/gamedata/sdktools.games/game.dod.txt index a2076ead..247679e9 100644 --- a/gamedata/sdktools.games/game.dod.txt +++ b/gamedata/sdktools.games/game.dod.txt @@ -1,90 +1,101 @@ -"Games" -{ - /* Day of Defeat: Source */ - "dod" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "350" - "linux" "351" - } - "RemovePlayerItem" - { - "windows" "238" - "linux" "239" - } - "Weapon_GetSlot" - { - "windows" "236" - "linux" "237" - } - "Ignite" - { - "windows" "193" - "linux" "194" - } - "Extinguish" - { - "windows" "197" - "linux" "198" - } - "Teleport" - { - "windows" "100" - "linux" "101" - } - "CommitSuicide" - { - "windows" "390" - "linux" "390" - } - "GetVelocity" - { - "windows" "130" - "linux" "131" - } - "EyeAngles" - { - "windows" "122" - "linux" "123" - } - "AcceptInput" - { - "windows" "34" - "linux" "35" - } - "DispatchKeyValue" - { - "windows" "29" - "linux" "28" - } - "DispatchKeyValueFloat" - { - "windows" "28" - "linux" "29" - } - "DispatchKeyValueVector" - { - "windows" "27" - "linux" "30" - } - "SetEntityModel" - { - "windows" "23" - "linux" "24" - } - "WeaponEquip" - { - "windows" "229" - "linux" "230" - } - "Activate" - { - "windows" "31" - "linux" "32" - } - } - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Day of Defeat: Source */ + "dod" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "350" + "linux" "351" + } + "RemovePlayerItem" + { + "windows" "238" + "linux" "239" + } + "Weapon_GetSlot" + { + "windows" "236" + "linux" "237" + } + "Ignite" + { + "windows" "193" + "linux" "194" + } + "Extinguish" + { + "windows" "197" + "linux" "198" + } + "Teleport" + { + "windows" "100" + "linux" "101" + } + "CommitSuicide" + { + "windows" "390" + "linux" "390" + } + "GetVelocity" + { + "windows" "130" + "linux" "131" + } + "EyeAngles" + { + "windows" "122" + "linux" "123" + } + "AcceptInput" + { + "windows" "34" + "linux" "35" + } + "DispatchKeyValue" + { + "windows" "29" + "linux" "28" + } + "DispatchKeyValueFloat" + { + "windows" "28" + "linux" "29" + } + "DispatchKeyValueVector" + { + "windows" "27" + "linux" "30" + } + "SetEntityModel" + { + "windows" "23" + "linux" "24" + } + "WeaponEquip" + { + "windows" "229" + "linux" "230" + } + "Activate" + { + "windows" "31" + "linux" "32" + } + } + } +} diff --git a/gamedata/sdktools.games/game.dystopia.txt b/gamedata/sdktools.games/game.dystopia.txt index 65f6c371..12a6dc13 100644 --- a/gamedata/sdktools.games/game.dystopia.txt +++ b/gamedata/sdktools.games/game.dystopia.txt @@ -1,125 +1,136 @@ -"Games" -{ - /* Dsytopia */ - "!Dystopia" - { - - "Offsets" - { - /* CBasePlayer */ - "GiveNamedItem" - { - "windows" "331" - "linux" "332" - } - "RemovePlayerItem" - { - "windows" "229" - "linux" "230" - } - "Weapon_GetSlot" - { - "windows" "227" - "linux" "228" - } - "Ignite" - { - "windows" "191" - "linux" "192" - } - "Extinguish" - { - "windows" "192" - "linux" "193" - } - "Teleport" - { - "windows" "100" - "linux" "101" - } - "CommitSuicide" - { - "windows" "360" - "linux" "361" - } - "GetVelocity" - { - "windows" "128" - "linux" "129" - } - "EyeAngles" - { - "windows" "120" - "linux" "121" - } - "AcceptInput" - { - "windows" "35" - "linux" "36" - } - "DispatchKeyValue" - { - "windows" "31" - "linux" "30" - } - "DispatchKeyValueFloat" - { - "windows" "30" - "linux" "31" - } - "DispatchKeyValueVector" - { - "windows" "29" - "linux" "32" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "WeaponEquip" - { - "windows" "220" - "linux" "221" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - - /* Offset into CBaseTempEntity constructor. - * On Windows Dsytopia is heavily inlined; we use the function - * surrounding "aCouldnTFindTem" in IDA instead. - */ - "s_pTempEntities" - { - "windows" "70" - } - } - - "Signatures" - { - /* On Windows Dsytopia is heavily inlined; we use the function - * surrounding "aCouldnTFindTem" in IDA instead. - */ - "CBaseTempEntity" - { - "library" "server" - "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" - } - - /* Dystopia always has to be different, doesn't it - * - * This is very similar to the general signature, except that - * it does "mov edx, [eax+2Ch]" before making a call rather than - * doing "call dword ptr [eax+2Ch]" - */ - "CreateGameRulesObject" - { - "library" "server" - "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Dsytopia */ + "!Dystopia" + { + + "Offsets" + { + /* CBasePlayer */ + "GiveNamedItem" + { + "windows" "331" + "linux" "332" + } + "RemovePlayerItem" + { + "windows" "229" + "linux" "230" + } + "Weapon_GetSlot" + { + "windows" "227" + "linux" "228" + } + "Ignite" + { + "windows" "191" + "linux" "192" + } + "Extinguish" + { + "windows" "192" + "linux" "193" + } + "Teleport" + { + "windows" "100" + "linux" "101" + } + "CommitSuicide" + { + "windows" "360" + "linux" "361" + } + "GetVelocity" + { + "windows" "128" + "linux" "129" + } + "EyeAngles" + { + "windows" "120" + "linux" "121" + } + "AcceptInput" + { + "windows" "35" + "linux" "36" + } + "DispatchKeyValue" + { + "windows" "31" + "linux" "30" + } + "DispatchKeyValueFloat" + { + "windows" "30" + "linux" "31" + } + "DispatchKeyValueVector" + { + "windows" "29" + "linux" "32" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "WeaponEquip" + { + "windows" "220" + "linux" "221" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + + /* Offset into CBaseTempEntity constructor. + * On Windows Dsytopia is heavily inlined; we use the function + * surrounding "aCouldnTFindTem" in IDA instead. + */ + "s_pTempEntities" + { + "windows" "70" + } + } + + "Signatures" + { + /* On Windows Dsytopia is heavily inlined; we use the function + * surrounding "aCouldnTFindTem" in IDA instead. + */ + "CBaseTempEntity" + { + "library" "server" + "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" + } + + /* Dystopia always has to be different, doesn't it + * + * This is very similar to the general signature, except that + * it does "mov edx, [eax+2Ch]" before making a call rather than + * doing "call dword ptr [eax+2Ch]" + */ + "CreateGameRulesObject" + { + "library" "server" + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.empires.txt b/gamedata/sdktools.games/game.empires.txt index 2ee37fc5..4ae53cdf 100644 --- a/gamedata/sdktools.games/game.empires.txt +++ b/gamedata/sdktools.games/game.empires.txt @@ -1,106 +1,117 @@ -"Games" -{ - /* Empires 2 */ - "empires" - { - - "Offsets" - { - "GiveNamedItem" - { - "windows" "332" - "linux" "333" - } - "RemovePlayerItem" - { - "windows" "230" - "linux" "231" - } - "Weapon_GetSlot" - { - "windows" "228" - "linux" "229" - } - "Ignite" - { - "windows" "192" - "linux" "193" - } - "Extinguish" - { - "windows" "193" - "linux" "194" - } - "Teleport" - { - "windows" "102" - "linux" "103" - } - "CommitSuicide" - { - "windows" "360" - "linux" "361" - } - "GetVelocity" - { - "windows" "130" - "linux" "131" - } - "EyeAngles" - { - "windows" "122" - "linux" "123" - } - "AcceptInput" - { - "windows" "36" - "linux" "37" - } - "DispatchKeyValue" - { - "windows" "31" - "linux" "30" - } - "DispatchKeyValueFloat" - { - "windows" "30" - "linux" "31" - } - "DispatchKeyValueVector" - { - "windows" "29" - "linux" "32" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "WeaponEquip" - { - "windows" "221" - "linux" "222" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - - /* Offset into LevelShutdown for CGlobalEntList */ - "gEntList" - { - "windows" "64" - } - } - - "Signatures" - { - "LevelShutdown" - { - "library" "server" - "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" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Empires 2 */ + "empires" + { + + "Offsets" + { + "GiveNamedItem" + { + "windows" "332" + "linux" "333" + } + "RemovePlayerItem" + { + "windows" "230" + "linux" "231" + } + "Weapon_GetSlot" + { + "windows" "228" + "linux" "229" + } + "Ignite" + { + "windows" "192" + "linux" "193" + } + "Extinguish" + { + "windows" "193" + "linux" "194" + } + "Teleport" + { + "windows" "102" + "linux" "103" + } + "CommitSuicide" + { + "windows" "360" + "linux" "361" + } + "GetVelocity" + { + "windows" "130" + "linux" "131" + } + "EyeAngles" + { + "windows" "122" + "linux" "123" + } + "AcceptInput" + { + "windows" "36" + "linux" "37" + } + "DispatchKeyValue" + { + "windows" "31" + "linux" "30" + } + "DispatchKeyValueFloat" + { + "windows" "30" + "linux" "31" + } + "DispatchKeyValueVector" + { + "windows" "29" + "linux" "32" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "WeaponEquip" + { + "windows" "221" + "linux" "222" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + + /* Offset into LevelShutdown for CGlobalEntList */ + "gEntList" + { + "windows" "64" + } + } + + "Signatures" + { + "LevelShutdown" + { + "library" "server" + "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" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.ff.txt b/gamedata/sdktools.games/game.ff.txt index 73d010f7..656fffc1 100644 --- a/gamedata/sdktools.games/game.ff.txt +++ b/gamedata/sdktools.games/game.ff.txt @@ -1,114 +1,125 @@ -"Games" -{ - /* Fortress Forever */ - "FortressForever" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "338" - "linux" "339" - } - "RemovePlayerItem" - { - "windows" "236" - "linux" "237" - } - "Weapon_GetSlot" - { - "windows" "234" - "linux" "235" - } - "Ignite" - { - "windows" "198" - "linux" "199" - } - "Extinguish" - { - "windows" "199" - "linux" "200" - } - "Teleport" - { - "windows" "104" - "linux" "105" - } - "CommitSuicide" - { - "windows" "366" - "linux" "367" - } - "GetVelocity" - { - "windows" "136" - "linux" "137" - } - "EyeAngles" - { - "windows" "128" - "linux" "129" - } - "AcceptInput" - { - "windows" "39" - "linux" "40" - } - "DispatchKeyValue" - { - "windows" "35" - "linux" "34" - } - "DispatchKeyValueFloat" - { - "windows" "34" - "linux" "35" - } - "DispatchKeyValueVector" - { - "windows" "33" - "linux" "36" - } - "SetEntityModel" - { - "windows" "27" - "linux" "28" - } - "WeaponEquip" - { - "windows" "227" - "linux" "228" - } - "Activate" - { - "windows" "36" - "linux" "37" - } - } - - "Signatures" - { - "CreateGameRulesObject" - { - "library" "server" - "windows" "8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x09\x8B\x01\x8B\x50\x2C\x6A\x01" - } - "FindEntityByClassname" - { - "library" "server" - "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\x04\x00\x01\x00\x85\xFF\x74\x39\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\xEB\x03" - } - "DispatchSpawn" - { - "library" "server" - "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\x60\x8B\xCB" - } - "CreateEntityByName" - { - "library" "server" - "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" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Fortress Forever */ + "FortressForever" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "338" + "linux" "339" + } + "RemovePlayerItem" + { + "windows" "236" + "linux" "237" + } + "Weapon_GetSlot" + { + "windows" "234" + "linux" "235" + } + "Ignite" + { + "windows" "198" + "linux" "199" + } + "Extinguish" + { + "windows" "199" + "linux" "200" + } + "Teleport" + { + "windows" "104" + "linux" "105" + } + "CommitSuicide" + { + "windows" "366" + "linux" "367" + } + "GetVelocity" + { + "windows" "136" + "linux" "137" + } + "EyeAngles" + { + "windows" "128" + "linux" "129" + } + "AcceptInput" + { + "windows" "39" + "linux" "40" + } + "DispatchKeyValue" + { + "windows" "35" + "linux" "34" + } + "DispatchKeyValueFloat" + { + "windows" "34" + "linux" "35" + } + "DispatchKeyValueVector" + { + "windows" "33" + "linux" "36" + } + "SetEntityModel" + { + "windows" "27" + "linux" "28" + } + "WeaponEquip" + { + "windows" "227" + "linux" "228" + } + "Activate" + { + "windows" "36" + "linux" "37" + } + } + + "Signatures" + { + "CreateGameRulesObject" + { + "library" "server" + "windows" "8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x09\x8B\x01\x8B\x50\x2C\x6A\x01" + } + "FindEntityByClassname" + { + "library" "server" + "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\x04\x00\x01\x00\x85\xFF\x74\x39\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\xEB\x03" + } + "DispatchSpawn" + { + "library" "server" + "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\x60\x8B\xCB" + } + "CreateEntityByName" + { + "library" "server" + "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" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.garrysmod.txt b/gamedata/sdktools.games/game.garrysmod.txt index 90d8826c..9af0e743 100644 --- a/gamedata/sdktools.games/game.garrysmod.txt +++ b/gamedata/sdktools.games/game.garrysmod.txt @@ -1,66 +1,77 @@ -"Games" -{ - /* Garry's Mod 10 - Windows only - * This mod is not officially supported, and the definitions are - * for Garry's Mod pre-Orange Box. - * (credits: Damaged Soul) - */ - "garrysmod" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "366" - } - "RemovePlayerItem" - { - "windows" "264" - } - "Weapon_GetSlot" - { - "windows" "262" - } - "Ignite" - { - "windows" "220" - } - "Extinguish" - { - "windows" "221" - } - "Teleport" - { - "windows" "99" - } - "CommitSuicide" - { - "windows" "394" - } - "GetVelocity" - { - "windows" "127" - } - "EyeAngles" - { - "windows" "119" - } - "AcceptInput" - { - "windows" "35" - } - "DispatchKeyValue" - { - "windows" "31" - } - "DispatchKeyValueFloat" - { - "windows" "30" - } - "DispatchKeyValueVector" - { - "windows" "29" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Garry's Mod 10 - Windows only + * This mod is not officially supported, and the definitions are + * for Garry's Mod pre-Orange Box. + * (credits: Damaged Soul) + */ + "garrysmod" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "366" + } + "RemovePlayerItem" + { + "windows" "264" + } + "Weapon_GetSlot" + { + "windows" "262" + } + "Ignite" + { + "windows" "220" + } + "Extinguish" + { + "windows" "221" + } + "Teleport" + { + "windows" "99" + } + "CommitSuicide" + { + "windows" "394" + } + "GetVelocity" + { + "windows" "127" + } + "EyeAngles" + { + "windows" "119" + } + "AcceptInput" + { + "windows" "35" + } + "DispatchKeyValue" + { + "windows" "31" + } + "DispatchKeyValueFloat" + { + "windows" "30" + } + "DispatchKeyValueVector" + { + "windows" "29" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.hidden.txt b/gamedata/sdktools.games/game.hidden.txt index d78f1c2a..ccf73e33 100644 --- a/gamedata/sdktools.games/game.hidden.txt +++ b/gamedata/sdktools.games/game.hidden.txt @@ -1,101 +1,112 @@ -"Games" -{ - /* Hidden:Source Beta 4b */ - "hidden" - { - "Offsets" - { - /* CBasePlayer */ - "GiveNamedItem" - { - "windows" "348" - "linux" "349" - } - "RemovePlayerItem" - { - "windows" "207" - "linux" "208" - } - "Weapon_GetSlot" - { - "windows" "205" - "linux" "206" - } - "Ignite" - { - "windows" "170" - "linux" "171" - } - "Extinguish" - { - "windows" "171" - "linux" "172" - } - "Teleport" - { - "windows" "90" - "linux" "91" - } - "GetVelocity" - { - "windows" "114" - "linux" "115" - } - "EyeAngles" - { - "windows" "106" - "linux" "107" - } - "DispatchKeyValue" - { - "windows" "30" - "linux" "29" - } - "DispatchKeyValueFloat" - { - "windows" "29" - "linux" "30" - } - "DispatchKeyValueVector" - { - "windows" "28" - "linux" "31" - } - "AcceptInput" - { - "windows" "34" - "linux" "35" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - "TE_GetServerClass" - { - "windows" "0" - "linux" "0" - } - "WeaponEquip" - { - "windows" "198" - "linux" "199" - } - } - - "Signatures" - { - "DispatchSpawn" - { - "library" "server" - "linux" "@_Z13DispatchSpawnP11CBaseEntity" - "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" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Hidden:Source Beta 4b */ + "hidden" + { + "Offsets" + { + /* CBasePlayer */ + "GiveNamedItem" + { + "windows" "348" + "linux" "349" + } + "RemovePlayerItem" + { + "windows" "207" + "linux" "208" + } + "Weapon_GetSlot" + { + "windows" "205" + "linux" "206" + } + "Ignite" + { + "windows" "170" + "linux" "171" + } + "Extinguish" + { + "windows" "171" + "linux" "172" + } + "Teleport" + { + "windows" "90" + "linux" "91" + } + "GetVelocity" + { + "windows" "114" + "linux" "115" + } + "EyeAngles" + { + "windows" "106" + "linux" "107" + } + "DispatchKeyValue" + { + "windows" "30" + "linux" "29" + } + "DispatchKeyValueFloat" + { + "windows" "29" + "linux" "30" + } + "DispatchKeyValueVector" + { + "windows" "28" + "linux" "31" + } + "AcceptInput" + { + "windows" "34" + "linux" "35" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + "TE_GetServerClass" + { + "windows" "0" + "linux" "0" + } + "WeaponEquip" + { + "windows" "198" + "linux" "199" + } + } + + "Signatures" + { + "DispatchSpawn" + { + "library" "server" + "linux" "@_Z13DispatchSpawnP11CBaseEntity" + "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" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.hl2mp.txt b/gamedata/sdktools.games/game.hl2mp.txt index 243df4b0..4d58ca9c 100644 --- a/gamedata/sdktools.games/game.hl2mp.txt +++ b/gamedata/sdktools.games/game.hl2mp.txt @@ -1,90 +1,101 @@ -"Games" -{ - /* Half-Life 2: Deathmatch */ - "hl2mp" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "328" - "linux" "329" - } - "RemovePlayerItem" - { - "windows" "226" - "linux" "227" - } - "Weapon_GetSlot" - { - "windows" "224" - "linux" "225" - } - "Ignite" - { - "windows" "188" - "linux" "189" - } - "Extinguish" - { - "windows" "189" - "linux" "190" - } - "Teleport" - { - "windows" "98" - "linux" "99" - } - "CommitSuicide" - { - "windows" "356" - "linux" "357" - } - "GetVelocity" - { - "windows" "126" - "linux" "127" - } - "EyeAngles" - { - "windows" "118" - "linux" "119" - } - "AcceptInput" - { - "windows" "35" - "linux" "36" - } - "DispatchKeyValue" - { - "windows" "31" - "linux" "30" - } - "DispatchKeyValueFloat" - { - "windows" "30" - "linux" "31" - } - "DispatchKeyValueVector" - { - "windows" "29" - "linux" "32" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "WeaponEquip" - { - "windows" "217" - "linux" "218" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Half-Life 2: Deathmatch */ + "hl2mp" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "328" + "linux" "329" + } + "RemovePlayerItem" + { + "windows" "226" + "linux" "227" + } + "Weapon_GetSlot" + { + "windows" "224" + "linux" "225" + } + "Ignite" + { + "windows" "188" + "linux" "189" + } + "Extinguish" + { + "windows" "189" + "linux" "190" + } + "Teleport" + { + "windows" "98" + "linux" "99" + } + "CommitSuicide" + { + "windows" "356" + "linux" "357" + } + "GetVelocity" + { + "windows" "126" + "linux" "127" + } + "EyeAngles" + { + "windows" "118" + "linux" "119" + } + "AcceptInput" + { + "windows" "35" + "linux" "36" + } + "DispatchKeyValue" + { + "windows" "31" + "linux" "30" + } + "DispatchKeyValueFloat" + { + "windows" "30" + "linux" "31" + } + "DispatchKeyValueVector" + { + "windows" "29" + "linux" "32" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "WeaponEquip" + { + "windows" "217" + "linux" "218" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.insurgency.txt b/gamedata/sdktools.games/game.insurgency.txt index 78db2684..6a81ba9e 100644 --- a/gamedata/sdktools.games/game.insurgency.txt +++ b/gamedata/sdktools.games/game.insurgency.txt @@ -1,76 +1,87 @@ -"Games" -{ - /* Insurgency */ - "insurgency" - { - "Offsets" - { - /* CBasePlayer */ - "Ignite" - { - "windows" "174" - "linux" "175" - } - "Extinguish" - { - "windows" "175" - "linux" "176" - } - "Teleport" - { - "windows" "90" - "linux" "91" - } - "GetVelocity" - { - "windows" "115" - "linux" "116" - } - "EyeAngles" - { - "windows" "107" - "linux" "108" - } - "AcceptInput" - { - "windows" "34" - "linux" "35" - } - "DispatchKeyValue" - { - "windows" "30" - "linux" "29" - } - "DispatchKeyValueFloat" - { - "windows" "29" - "linux" "30" - } - "DispatchKeyValueVector" - { - "windows" "28" - "linux" "31" - } - "SetEntityModel" - { - "windows" "24" - "linux" "25" - } - "WeaponEquip" - { - "windows" "215" - "linux" "216" - } - "Activate" - { - "windows" "31" - "linux" "32" - } - "CommitSuicide" - { - "windows" "288" - "linux" "289" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Insurgency */ + "insurgency" + { + "Offsets" + { + /* CBasePlayer */ + "Ignite" + { + "windows" "174" + "linux" "175" + } + "Extinguish" + { + "windows" "175" + "linux" "176" + } + "Teleport" + { + "windows" "90" + "linux" "91" + } + "GetVelocity" + { + "windows" "115" + "linux" "116" + } + "EyeAngles" + { + "windows" "107" + "linux" "108" + } + "AcceptInput" + { + "windows" "34" + "linux" "35" + } + "DispatchKeyValue" + { + "windows" "30" + "linux" "29" + } + "DispatchKeyValueFloat" + { + "windows" "29" + "linux" "30" + } + "DispatchKeyValueVector" + { + "windows" "28" + "linux" "31" + } + "SetEntityModel" + { + "windows" "24" + "linux" "25" + } + "WeaponEquip" + { + "windows" "215" + "linux" "216" + } + "Activate" + { + "windows" "31" + "linux" "32" + } + "CommitSuicide" + { + "windows" "288" + "linux" "289" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.obsidian.txt b/gamedata/sdktools.games/game.obsidian.txt index b8e9b3fb..d1d3d204 100644 --- a/gamedata/sdktools.games/game.obsidian.txt +++ b/gamedata/sdktools.games/game.obsidian.txt @@ -1,90 +1,101 @@ -"Games" -{ - /* Obsidian Conflict 1.3 */ - "obsidian" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "350" - "linux" "351" - } - "RemovePlayerItem" - { - "windows" "237" - "linux" "238" - } - "Weapon_GetSlot" - { - "windows" "235" - "linux" "236" - } - "Ignite" - { - "windows" "190" - "linux" "191" - } - "Extinguish" - { - "windows" "194" - "linux" "195" - } - "Teleport" - { - "windows" "100" - "linux" "101" - } - "CommitSuicide" - { - "windows" "395" - "linux" "395" - } - "GetVelocity" - { - "windows" "127" - "linux" "128" - } - "EyeAngles" - { - "windows" "119" - "linux" "120" - } - "AcceptInput" - { - "windows" "34" - "linux" "35" - } - "DispatchKeyValue" - { - "windows" "29" - "linux" "28" - } - "DispatchKeyValueFloat" - { - "windows" "28" - "linux" "29" - } - "DispatchKeyValueVector" - { - "windows" "27" - "linux" "30" - } - "SetEntityModel" - { - "windows" "23" - "linux" "24" - } - "WeaponEquip" - { - "windows" "228" - "linux" "229" - } - "Activate" - { - "windows" "31" - "linux" "32" - } - } - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Obsidian Conflict 1.3 */ + "obsidian" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "350" + "linux" "351" + } + "RemovePlayerItem" + { + "windows" "237" + "linux" "238" + } + "Weapon_GetSlot" + { + "windows" "235" + "linux" "236" + } + "Ignite" + { + "windows" "190" + "linux" "191" + } + "Extinguish" + { + "windows" "194" + "linux" "195" + } + "Teleport" + { + "windows" "100" + "linux" "101" + } + "CommitSuicide" + { + "windows" "395" + "linux" "395" + } + "GetVelocity" + { + "windows" "127" + "linux" "128" + } + "EyeAngles" + { + "windows" "119" + "linux" "120" + } + "AcceptInput" + { + "windows" "34" + "linux" "35" + } + "DispatchKeyValue" + { + "windows" "29" + "linux" "28" + } + "DispatchKeyValueFloat" + { + "windows" "28" + "linux" "29" + } + "DispatchKeyValueVector" + { + "windows" "27" + "linux" "30" + } + "SetEntityModel" + { + "windows" "23" + "linux" "24" + } + "WeaponEquip" + { + "windows" "228" + "linux" "229" + } + "Activate" + { + "windows" "31" + "linux" "32" + } + } + } +} diff --git a/gamedata/sdktools.games/game.pvkii.txt b/gamedata/sdktools.games/game.pvkii.txt index d853afcb..b6d8eff1 100644 --- a/gamedata/sdktools.games/game.pvkii.txt +++ b/gamedata/sdktools.games/game.pvkii.txt @@ -1,91 +1,102 @@ -"Games" -{ - /* Pirates, Vikings and Knights II */ - "pvkii" - { - "Offsets" - { - /* CBasePlayer */ - "GiveNamedItem" - { - "windows" "328" - "linux" "329" - } - "RemovePlayerItem" - { - "windows" "226" - "linux" "227" - } - "Weapon_GetSlot" - { - "windows" "224" - "linux" "225" - } - "Ignite" - { - "windows" "188" - "linux" "189" - } - "Extinguish" - { - "windows" "189" - "linux" "190" - } - "Teleport" - { - "windows" "98" - "linux" "99" - } - "CommitSuicide" - { - "windows" "356" - "linux" "357" - } - "GetVelocity" - { - "windows" "126" - "linux" "127" - } - "EyeAngles" - { - "windows" "118" - "linux" "119" - } - "AcceptInput" - { - "windows" "35" - "linux" "36" - } - "DispatchKeyValue" - { - "windows" "31" - "linux" "30" - } - "DispatchKeyValueFloat" - { - "windows" "30" - "linux" "31" - } - "DispatchKeyValueVector" - { - "windows" "29" - "linux" "32" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "WeaponEquip" - { - "windows" "217" - "linux" "218" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Pirates, Vikings and Knights II */ + "pvkii" + { + "Offsets" + { + /* CBasePlayer */ + "GiveNamedItem" + { + "windows" "328" + "linux" "329" + } + "RemovePlayerItem" + { + "windows" "226" + "linux" "227" + } + "Weapon_GetSlot" + { + "windows" "224" + "linux" "225" + } + "Ignite" + { + "windows" "188" + "linux" "189" + } + "Extinguish" + { + "windows" "189" + "linux" "190" + } + "Teleport" + { + "windows" "98" + "linux" "99" + } + "CommitSuicide" + { + "windows" "356" + "linux" "357" + } + "GetVelocity" + { + "windows" "126" + "linux" "127" + } + "EyeAngles" + { + "windows" "118" + "linux" "119" + } + "AcceptInput" + { + "windows" "35" + "linux" "36" + } + "DispatchKeyValue" + { + "windows" "31" + "linux" "30" + } + "DispatchKeyValueFloat" + { + "windows" "30" + "linux" "31" + } + "DispatchKeyValueVector" + { + "windows" "29" + "linux" "32" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "WeaponEquip" + { + "windows" "217" + "linux" "218" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.ship.txt b/gamedata/sdktools.games/game.ship.txt index c538397e..02f1f8a4 100644 --- a/gamedata/sdktools.games/game.ship.txt +++ b/gamedata/sdktools.games/game.ship.txt @@ -1,114 +1,125 @@ -"Games" -{ - /* The Ship */ - "ship" - { - "Offsets" - { - /* CBasePlayer */ - "GiveNamedItem" - { - "windows" "316" - "linux" "317" - } - "RemovePlayerItem" - { - "windows" "220" - "linux" "221" - } - "Weapon_GetSlot" - { - "windows" "218" - "linux" "219" - } - "Ignite" - { - "windows" "180" - "linux" "181" - } - "Extinguish" - { - "windows" "181" - "linux" "182" - } - "Teleport" - { - "windows" "100" - "linux" "101" - } - "CommitSuicide" - { - "windows" "343" - "linux" "344" - } - "GetVelocity" - { - "windows" "124" - "linux" "125" - } - "EyeAngles" - { - "windows" "116" - "linux" "117" - } - "DispatchKeyValue" - { - "windows" "35" - "linux" "34" - } - "DispatchKeyValueFloat" - { - "windows" "34" - "linux" "35" - } - "DispatchKeyValueVector" - { - "windows" "33" - "linux" "36" - } - "AcceptInput" - { - "windows" "39" - "linux" "40" - } - "SetEntityModel" - { - "windows" "30" - "linux" "31" - } - "WeaponEquip" - { - "windows" "211" - "linux" "212" - } - "Activate" - { - "windows" "37" - "linux" "38" - } - - /* Temp Entities */ - "TE_GetServerClass" - { - "windows" "0" - "linux" "0" - } - } - - "Signatures" - { - "DispatchSpawn" - { - "library" "server" - "linux" "@_Z13DispatchSpawnP11CBaseEntity" - "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" - } - "CreateEntityByName" - { - "library" "server" - "linux" "@_Z18CreateEntityByNamePKci" - "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" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* The Ship */ + "ship" + { + "Offsets" + { + /* CBasePlayer */ + "GiveNamedItem" + { + "windows" "316" + "linux" "317" + } + "RemovePlayerItem" + { + "windows" "220" + "linux" "221" + } + "Weapon_GetSlot" + { + "windows" "218" + "linux" "219" + } + "Ignite" + { + "windows" "180" + "linux" "181" + } + "Extinguish" + { + "windows" "181" + "linux" "182" + } + "Teleport" + { + "windows" "100" + "linux" "101" + } + "CommitSuicide" + { + "windows" "343" + "linux" "344" + } + "GetVelocity" + { + "windows" "124" + "linux" "125" + } + "EyeAngles" + { + "windows" "116" + "linux" "117" + } + "DispatchKeyValue" + { + "windows" "35" + "linux" "34" + } + "DispatchKeyValueFloat" + { + "windows" "34" + "linux" "35" + } + "DispatchKeyValueVector" + { + "windows" "33" + "linux" "36" + } + "AcceptInput" + { + "windows" "39" + "linux" "40" + } + "SetEntityModel" + { + "windows" "30" + "linux" "31" + } + "WeaponEquip" + { + "windows" "211" + "linux" "212" + } + "Activate" + { + "windows" "37" + "linux" "38" + } + + /* Temp Entities */ + "TE_GetServerClass" + { + "windows" "0" + "linux" "0" + } + } + + "Signatures" + { + "DispatchSpawn" + { + "library" "server" + "linux" "@_Z13DispatchSpawnP11CBaseEntity" + "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" + } + "CreateEntityByName" + { + "library" "server" + "linux" "@_Z18CreateEntityByNamePKci" + "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" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.sourceforts.txt b/gamedata/sdktools.games/game.sourceforts.txt index 5f802aff..a10edbc2 100644 --- a/gamedata/sdktools.games/game.sourceforts.txt +++ b/gamedata/sdktools.games/game.sourceforts.txt @@ -1,91 +1,102 @@ -"Games" -{ - /* SourceForts */ - "SourceForts" - { - "Offsets" - { - /* CBasePlayer */ - "GiveNamedItem" - { - "windows" "328" - "linux" "329" - } - "RemovePlayerItem" - { - "windows" "226" - "linux" "227" - } - "Weapon_GetSlot" - { - "windows" "224" - "linux" "225" - } - "Ignite" - { - "windows" "188" - "linux" "189" - } - "Extinguish" - { - "windows" "189" - "linux" "190" - } - "Teleport" - { - "windows" "98" - "linux" "99" - } - "CommitSuicide" - { - "windows" "356" - "linux" "357" - } - "GetVelocity" - { - "windows" "126" - "linux" "127" - } - "EyeAngles" - { - "windows" "118" - "linux" "119" - } - "DispatchKeyValue" - { - "windows" "31" - "linux" "30" - } - "DispatchKeyValueFloat" - { - "windows" "30" - "linux" "31" - } - "DispatchKeyValueVector" - { - "windows" "29" - "linux" "32" - } - "AcceptInput" - { - "windows" "35" - "linux" "36" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "WeaponEquip" - { - "windows" "217" - "linux" "218" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* SourceForts */ + "SourceForts" + { + "Offsets" + { + /* CBasePlayer */ + "GiveNamedItem" + { + "windows" "328" + "linux" "329" + } + "RemovePlayerItem" + { + "windows" "226" + "linux" "227" + } + "Weapon_GetSlot" + { + "windows" "224" + "linux" "225" + } + "Ignite" + { + "windows" "188" + "linux" "189" + } + "Extinguish" + { + "windows" "189" + "linux" "190" + } + "Teleport" + { + "windows" "98" + "linux" "99" + } + "CommitSuicide" + { + "windows" "356" + "linux" "357" + } + "GetVelocity" + { + "windows" "126" + "linux" "127" + } + "EyeAngles" + { + "windows" "118" + "linux" "119" + } + "DispatchKeyValue" + { + "windows" "31" + "linux" "30" + } + "DispatchKeyValueFloat" + { + "windows" "30" + "linux" "31" + } + "DispatchKeyValueVector" + { + "windows" "29" + "linux" "32" + } + "AcceptInput" + { + "windows" "35" + "linux" "36" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "WeaponEquip" + { + "windows" "217" + "linux" "218" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.synergy.txt b/gamedata/sdktools.games/game.synergy.txt index a3f84048..bca85cf0 100644 --- a/gamedata/sdktools.games/game.synergy.txt +++ b/gamedata/sdktools.games/game.synergy.txt @@ -1,91 +1,102 @@ -"Games" -{ - /* Synergy Release 1 */ - "synergy" - { - "Offsets" - { - /* CBasePlayer */ - "GiveNamedItem" - { - "windows" "334" - "linux" "335" - } - "RemovePlayerItem" - { - "windows" "226" - "linux" "227" - } - "Weapon_GetSlot" - { - "windows" "224" - "linux" "225" - } - "Ignite" - { - "windows" "188" - "linux" "189" - } - "Extinguish" - { - "windows" "189" - "linux" "190" - } - "Teleport" - { - "windows" "98" - "linux" "99" - } - "CommitSuicide" - { - "windows" "362" - "linux" "363" - } - "GetVelocity" - { - "windows" "126" - "linux" "127" - } - "EyeAngles" - { - "windows" "118" - "linux" "119" - } - "DispatchKeyValue" - { - "windows" "31" - "linux" "30" - } - "DispatchKeyValueFloat" - { - "windows" "30" - "linux" "31" - } - "DispatchKeyValueVector" - { - "windows" "29" - "linux" "32" - } - "AcceptInput" - { - "windows" "35" - "linux" "36" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "WeaponEquip" - { - "windows" "217" - "linux" "218" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Synergy Release 1 */ + "synergy" + { + "Offsets" + { + /* CBasePlayer */ + "GiveNamedItem" + { + "windows" "334" + "linux" "335" + } + "RemovePlayerItem" + { + "windows" "226" + "linux" "227" + } + "Weapon_GetSlot" + { + "windows" "224" + "linux" "225" + } + "Ignite" + { + "windows" "188" + "linux" "189" + } + "Extinguish" + { + "windows" "189" + "linux" "190" + } + "Teleport" + { + "windows" "98" + "linux" "99" + } + "CommitSuicide" + { + "windows" "362" + "linux" "363" + } + "GetVelocity" + { + "windows" "126" + "linux" "127" + } + "EyeAngles" + { + "windows" "118" + "linux" "119" + } + "DispatchKeyValue" + { + "windows" "31" + "linux" "30" + } + "DispatchKeyValueFloat" + { + "windows" "30" + "linux" "31" + } + "DispatchKeyValueVector" + { + "windows" "29" + "linux" "32" + } + "AcceptInput" + { + "windows" "35" + "linux" "36" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "WeaponEquip" + { + "windows" "217" + "linux" "218" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.tf.txt b/gamedata/sdktools.games/game.tf.txt index 41e51c26..ae53bb3f 100644 --- a/gamedata/sdktools.games/game.tf.txt +++ b/gamedata/sdktools.games/game.tf.txt @@ -1,90 +1,101 @@ -"Games" -{ - /* Team Fortress 2 */ - "tf" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "406" - "linux" "410" - } - "RemovePlayerItem" - { - "windows" "238" - "linux" "239" - } - "Weapon_GetSlot" - { - "windows" "236" - "linux" "237" - } - "Ignite" - { - "windows" "193" - "linux" "194" - } - "Extinguish" - { - "windows" "197" - "linux" "198" - } - "Teleport" - { - "windows" "100" - "linux" "101" - } - "CommitSuicide" - { - "windows" "390" - "linux" "390" - } - "GetVelocity" - { - "windows" "130" - "linux" "131" - } - "EyeAngles" - { - "windows" "122" - "linux" "123" - } - "DispatchKeyValue" - { - "windows" "29" - "linux" "28" - } - "DispatchKeyValueFloat" - { - "windows" "28" - "linux" "29" - } - "DispatchKeyValueVector" - { - "windows" "27" - "linux" "30" - } - "SetEntityModel" - { - "windows" "23" - "linux" "24" - } - "AcceptInput" - { - "windows" "34" - "linux" "35" - } - "WeaponEquip" - { - "windows" "229" - "linux" "230" - } - "Activate" - { - "windows" "31" - "linux" "32" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Team Fortress 2 */ + "tf" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "406" + "linux" "410" + } + "RemovePlayerItem" + { + "windows" "238" + "linux" "239" + } + "Weapon_GetSlot" + { + "windows" "236" + "linux" "237" + } + "Ignite" + { + "windows" "193" + "linux" "194" + } + "Extinguish" + { + "windows" "197" + "linux" "198" + } + "Teleport" + { + "windows" "100" + "linux" "101" + } + "CommitSuicide" + { + "windows" "390" + "linux" "390" + } + "GetVelocity" + { + "windows" "130" + "linux" "131" + } + "EyeAngles" + { + "windows" "122" + "linux" "123" + } + "DispatchKeyValue" + { + "windows" "29" + "linux" "28" + } + "DispatchKeyValueFloat" + { + "windows" "28" + "linux" "29" + } + "DispatchKeyValueVector" + { + "windows" "27" + "linux" "30" + } + "SetEntityModel" + { + "windows" "23" + "linux" "24" + } + "AcceptInput" + { + "windows" "34" + "linux" "35" + } + "WeaponEquip" + { + "windows" "229" + "linux" "230" + } + "Activate" + { + "windows" "31" + "linux" "32" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.zm.txt b/gamedata/sdktools.games/game.zm.txt index a431c2ba..64efe71f 100644 --- a/gamedata/sdktools.games/game.zm.txt +++ b/gamedata/sdktools.games/game.zm.txt @@ -1,136 +1,147 @@ -"Games" -{ - /* Zombie Master 1.1.3 */ - "zombie_master" - { - "Offsets" - { - /* CBasePlayer */ - "GiveNamedItem" - { - "windows" "329" - "linux" "330" - } - "RemovePlayerItem" - { - "windows" "226" - "linux" "227" - } - "Weapon_GetSlot" - { - "windows" "224" - "linux" "225" - } - "Ignite" - { - "windows" "188" - "linux" "189" - } - "Extinguish" - { - "windows" "189" - "linux" "190" - } - "Teleport" - { - "windows" "98" - "linux" "99" - } - "CommitSuicide" - { - "windows" "357" - "linux" "358" - } - "GetVelocity" - { - "windows" "126" - "linux" "127" - } - "EyeAngles" - { - "windows" "118" - "linux" "119" - } - "DispatchKeyValue" - { - "windows" "31" - "linux" "30" - } - "DispatchKeyValueFloat" - { - "windows" "30" - "linux" "31" - } - "DispatchKeyValueVector" - { - "windows" "29" - "linux" "32" - } - "AcceptInput" - { - "windows" "35" - "linux" "36" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "s_pTempEntities" - { - "windows" "30" - } - "g_pGameRules" - { - "windows" "7" - } - "WeaponEquip" - { - "windows" "198" - "linux" "199" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - } - - "Signatures" - { - "CBaseTempEntity" - { - "library" "server" - "windows" "\x55\x8B\xEC\x51\x89\x4D\xFC\x8B\x45\xFC\xC7\x00\x2A\x2A\x2A\x2A\x8B\x4D\xFC\x8B\x55\x08\x89\x51\x04\x8B\x45\xFC\x8B\x0D\x2A\x2A" - } - "DispatchSpawn" - { - "library" "server" - "linux" "@_Z13DispatchSpawnP11CBaseEntity" - "windows" "\x55\x8B\xEC\x83\xEC\x20\x83\x7D\x08\x00\x0F\x84\x95\x01\x00\x00\xA1\x2A\x2A\x2A\x2A\x50\x8D\x4D\xF0\xE8\x2A\x2A\x2A\x2A\x8D\x4D" - } - "CreateEntityByName" - { - "library" "server" - "linux" "@_Z18CreateEntityByNamePKci" - "windows" "\x55\x8B\xEC\x83\xEC\x0C\x83\x7D\x0C\xFF\x74\x39\x8B\x45\x0C\x50\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x11\x8B\x0D\x2A\x2A\x2A\x2A\xFF\x52" - } - "FindEntityByClassname" - { - "library" "server" - "windows" "\x55\x8B\xEC\x83\xEC\x10\x89\x4D\xF4\x83\x7D\x08\x00\x74\x1C\x8B\x45\x08\x8B\x10\x8B\x4D\x08\xFF\x52\x08\x50\x8B\x4D\xF4\xE8\x2A\x2A\x2A\x2A\x8B\x40\x0C\x89\x45\x\xF0\xEB\x0B\x8B\x4D\xF4\xE8\x2A\x2A\x2A\x2A\x89\x45\xF0\x8B\x4D\xF0\x89\x4D\xFC\xEB\x09\x8B\x55\xFC\x8B\x42\x0C\x89\x45\xFC\x83\x7D\xFC\x00\x74\x38\x8B\x4D\xFC\x8B\x11\x89" - "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" - } - "CreateGameRulesObject" - { - "library" "server" - "windows" "\x55\x8B\xEC\x83\xEC\x10\xA1\x2A\x2A\x2A\x2A\x89\x45\xF4\x8B\x4D\xF4\x89\x4D\xF8\x83\x7D\xF8\x00" - } - "g_pGameRules" - { - "library" "server" - "linux" "@g_pGameRules" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Zombie Master 1.1.3 */ + "zombie_master" + { + "Offsets" + { + /* CBasePlayer */ + "GiveNamedItem" + { + "windows" "329" + "linux" "330" + } + "RemovePlayerItem" + { + "windows" "226" + "linux" "227" + } + "Weapon_GetSlot" + { + "windows" "224" + "linux" "225" + } + "Ignite" + { + "windows" "188" + "linux" "189" + } + "Extinguish" + { + "windows" "189" + "linux" "190" + } + "Teleport" + { + "windows" "98" + "linux" "99" + } + "CommitSuicide" + { + "windows" "357" + "linux" "358" + } + "GetVelocity" + { + "windows" "126" + "linux" "127" + } + "EyeAngles" + { + "windows" "118" + "linux" "119" + } + "DispatchKeyValue" + { + "windows" "31" + "linux" "30" + } + "DispatchKeyValueFloat" + { + "windows" "30" + "linux" "31" + } + "DispatchKeyValueVector" + { + "windows" "29" + "linux" "32" + } + "AcceptInput" + { + "windows" "35" + "linux" "36" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "s_pTempEntities" + { + "windows" "30" + } + "g_pGameRules" + { + "windows" "7" + } + "WeaponEquip" + { + "windows" "198" + "linux" "199" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + } + + "Signatures" + { + "CBaseTempEntity" + { + "library" "server" + "windows" "\x55\x8B\xEC\x51\x89\x4D\xFC\x8B\x45\xFC\xC7\x00\x2A\x2A\x2A\x2A\x8B\x4D\xFC\x8B\x55\x08\x89\x51\x04\x8B\x45\xFC\x8B\x0D\x2A\x2A" + } + "DispatchSpawn" + { + "library" "server" + "linux" "@_Z13DispatchSpawnP11CBaseEntity" + "windows" "\x55\x8B\xEC\x83\xEC\x20\x83\x7D\x08\x00\x0F\x84\x95\x01\x00\x00\xA1\x2A\x2A\x2A\x2A\x50\x8D\x4D\xF0\xE8\x2A\x2A\x2A\x2A\x8D\x4D" + } + "CreateEntityByName" + { + "library" "server" + "linux" "@_Z18CreateEntityByNamePKci" + "windows" "\x55\x8B\xEC\x83\xEC\x0C\x83\x7D\x0C\xFF\x74\x39\x8B\x45\x0C\x50\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x11\x8B\x0D\x2A\x2A\x2A\x2A\xFF\x52" + } + "FindEntityByClassname" + { + "library" "server" + "windows" "\x55\x8B\xEC\x83\xEC\x10\x89\x4D\xF4\x83\x7D\x08\x00\x74\x1C\x8B\x45\x08\x8B\x10\x8B\x4D\x08\xFF\x52\x08\x50\x8B\x4D\xF4\xE8\x2A\x2A\x2A\x2A\x8B\x40\x0C\x89\x45\x\xF0\xEB\x0B\x8B\x4D\xF4\xE8\x2A\x2A\x2A\x2A\x89\x45\xF0\x8B\x4D\xF0\x89\x4D\xFC\xEB\x09\x8B\x55\xFC\x8B\x42\x0C\x89\x45\xFC\x83\x7D\xFC\x00\x74\x38\x8B\x4D\xFC\x8B\x11\x89" + "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" + } + "CreateGameRulesObject" + { + "library" "server" + "windows" "\x55\x8B\xEC\x83\xEC\x10\xA1\x2A\x2A\x2A\x2A\x89\x45\xF4\x8B\x4D\xF4\x89\x4D\xF8\x83\x7D\xF8\x00" + } + "g_pGameRules" + { + "library" "server" + "linux" "@g_pGameRules" + } + } + } } \ No newline at end of file diff --git a/gamedata/sdktools.games/game.zpanic.txt b/gamedata/sdktools.games/game.zpanic.txt index 0e554bc4..fc977132 100644 --- a/gamedata/sdktools.games/game.zpanic.txt +++ b/gamedata/sdktools.games/game.zpanic.txt @@ -1,120 +1,131 @@ -"Games" -{ - /* Zombie Panic! Source 1.2b - * Note: This mod is not fully supported yet. - * The definitions below were supplied by a third party. - * (thanks "noob cannon lol") - */ - "ZPS" - { - "Offsets" - { - "GiveNamedItem" - { - "windows" "333" - "linux" "334" - } - "RemovePlayerItem" - { - "windows" "230" - "linux" "231" - } - "Weapon_GetSlot" - { - "windows" "226" - "linux" "227" - } - "Ignite" - { - "windows" "190" - "linux" "191" - } - "Extinguish" - { - "windows" "191" - "linux" "192" - } - "Teleport" - { - "windows" "100" - "linux" "101" - } - "CommitSuicide" - { - "windows" "361" - "linux" "362" - } - "GetVelocity" - { - "windows" "128" - "linux" "129" - } - "EyeAngles" - { - "windows" "120" - "linux" "121" - } - "AcceptInput" - { - "windows" "35" - "linux" "36" - } - "DispatchKeyValue" - { - "windows" "31" - "linux" "30" - } - "DispatchKeyValueFloat" - { - "windows" "30" - "linux" "31" - } - "DispatchKeyValueVector" - { - "windows" "29" - "linux" "32" - } - "SetEntityModel" - { - "windows" "25" - "linux" "26" - } - "WeaponEquip" - { - "windows" "219" - "linux" "220" - } - "Activate" - { - "windows" "32" - "linux" "33" - } - } - "Signatures" - { - "CreateGameRulesObject" - { - "library" "server" - "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2C\x6A\x01" - } - "FindEntityByClassname" - { - "library" "server" - "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x2A\x2A\x8B\x00\x25\xFF\x0F\x00\x00\x40\xC1\xC1\xE0\x04\x8B\x2A\x2A\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x2A\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x24\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x2A\x39" - "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" - } - "CreateEntityByName" - { - "library" "server" - "linux" "@_Z18CreateEntityByNamePKci" - "windows" "\x56\x8B\x74\x24\x2A\x57\x8B\x7C\x24\x2A\x83\xFE\xFF\x74\x2A\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x2A\x56\xFF\xD2" - } - "DispatchSpawn" - { - "library" "server" - "linux" "@_Z13DispatchSpawnP11CBaseEntity" - "windows" "\x53\x55\x56\x8B\x74\x24\x10\x2A\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x60\x8B\xCB" - } - } - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* Zombie Panic! Source 1.2b + * Note: This mod is not fully supported yet. + * The definitions below were supplied by a third party. + * (thanks "noob cannon lol") + */ + "ZPS" + { + "Offsets" + { + "GiveNamedItem" + { + "windows" "333" + "linux" "334" + } + "RemovePlayerItem" + { + "windows" "230" + "linux" "231" + } + "Weapon_GetSlot" + { + "windows" "226" + "linux" "227" + } + "Ignite" + { + "windows" "190" + "linux" "191" + } + "Extinguish" + { + "windows" "191" + "linux" "192" + } + "Teleport" + { + "windows" "100" + "linux" "101" + } + "CommitSuicide" + { + "windows" "361" + "linux" "362" + } + "GetVelocity" + { + "windows" "128" + "linux" "129" + } + "EyeAngles" + { + "windows" "120" + "linux" "121" + } + "AcceptInput" + { + "windows" "35" + "linux" "36" + } + "DispatchKeyValue" + { + "windows" "31" + "linux" "30" + } + "DispatchKeyValueFloat" + { + "windows" "30" + "linux" "31" + } + "DispatchKeyValueVector" + { + "windows" "29" + "linux" "32" + } + "SetEntityModel" + { + "windows" "25" + "linux" "26" + } + "WeaponEquip" + { + "windows" "219" + "linux" "220" + } + "Activate" + { + "windows" "32" + "linux" "33" + } + } + "Signatures" + { + "CreateGameRulesObject" + { + "library" "server" + "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2C\x6A\x01" + } + "FindEntityByClassname" + { + "library" "server" + "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x2A\x2A\x8B\x00\x25\xFF\x0F\x00\x00\x40\xC1\xC1\xE0\x04\x8B\x2A\x2A\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x2A\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x24\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x2A\x39" + "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc" + } + "CreateEntityByName" + { + "library" "server" + "linux" "@_Z18CreateEntityByNamePKci" + "windows" "\x56\x8B\x74\x24\x2A\x57\x8B\x7C\x24\x2A\x83\xFE\xFF\x74\x2A\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x2A\x56\xFF\xD2" + } + "DispatchSpawn" + { + "library" "server" + "linux" "@_Z13DispatchSpawnP11CBaseEntity" + "windows" "\x53\x55\x56\x8B\x74\x24\x10\x2A\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x60\x8B\xCB" + } + } + } +} diff --git a/gamedata/sdktools.games/master.games.txt b/gamedata/sdktools.games/master.games.txt index 38a0a4b6..0b2e4103 100644 --- a/gamedata/sdktools.games/master.games.txt +++ b/gamedata/sdktools.games/master.games.txt @@ -1,117 +1,128 @@ -"Game Master" -{ - "common.games.txt" - { - } - - "engine.l4d.txt" - { - "engine" "left4dead" - } - - "engine.ep2.txt" - { - "engine" "orangebox" - } - - "engine.ep1.txt" - { - "engine" "original" - } - - "engine.darkm.txt" - { - "engine" "darkmessiah" - } - - "game.tf.txt" - { - "game" "tf" - } - - "game.dod.txt" - { - "game" "dod" - } - - "game.cstrike.txt" - { - "game" "cstrike" - } - - "game.hl2mp.txt" - { - "game" "hl2mp" - } - - "game.ship.txt" - { - "game" "ship" - } - - "game.dystopia.txt" - { - "game" "!Dystopia" - } - - "game.insurgency.txt" - { - "game" "insurgency" - } - - "game.pvkii.txt" - { - "game" "pvkii" - } - - "game.ff.txt" - { - "game" "FortressForever" - } - - "game.garrysmod.txt" - { - "engine" "original" - "game" "garrysmod" - } - - "game.empires.txt" - { - "game" "empires" - } - - "game.sourceforts.txt" - { - "game" "sourceforts" - } - - "game.synergy.txt" - { - "game" "synergy" - } - - "game.hidden.txt" - { - "game" "hidden" - } - - "game.zm.txt" - { - "game" "zombie_master" - } - - "game.zpanic.txt" - { - "game" "ZPS" - } - - "game.obsidian.txt" - { - "game" "obsidian" - } - - "game.aoc.txt" - { - "game" "ageofchivalry" - } -} +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Game Master" +{ + "common.games.txt" + { + } + + "engine.l4d.txt" + { + "engine" "left4dead" + } + + "engine.ep2.txt" + { + "engine" "orangebox" + } + + "engine.ep1.txt" + { + "engine" "original" + } + + "engine.darkm.txt" + { + "engine" "darkmessiah" + } + + "game.tf.txt" + { + "game" "tf" + } + + "game.dod.txt" + { + "game" "dod" + } + + "game.cstrike.txt" + { + "game" "cstrike" + } + + "game.hl2mp.txt" + { + "game" "hl2mp" + } + + "game.ship.txt" + { + "game" "ship" + } + + "game.dystopia.txt" + { + "game" "!Dystopia" + } + + "game.insurgency.txt" + { + "game" "insurgency" + } + + "game.pvkii.txt" + { + "game" "pvkii" + } + + "game.ff.txt" + { + "game" "FortressForever" + } + + "game.garrysmod.txt" + { + "engine" "original" + "game" "garrysmod" + } + + "game.empires.txt" + { + "game" "empires" + } + + "game.sourceforts.txt" + { + "game" "sourceforts" + } + + "game.synergy.txt" + { + "game" "synergy" + } + + "game.hidden.txt" + { + "game" "hidden" + } + + "game.zm.txt" + { + "game" "zombie_master" + } + + "game.zpanic.txt" + { + "game" "ZPS" + } + + "game.obsidian.txt" + { + "game" "obsidian" + } + + "game.aoc.txt" + { + "game" "ageofchivalry" + } +} diff --git a/gamedata/sm-cstrike.games.txt b/gamedata/sm-cstrike.games.txt index 4712969d..1e5a9f51 100644 --- a/gamedata/sm-cstrike.games.txt +++ b/gamedata/sm-cstrike.games.txt @@ -1,21 +1,32 @@ -"Games" -{ - "cstrike" - { - "Signatures" - { - "RoundRespawn" - { - "library" "server" - "windows" "\x56\x8B\xF1\x8B\x06\xFF\x90\x2A\x04\x00\x00\x8B\x86\x2A\x0D\x00" - "linux" "@_ZN9CCSPlayer12RoundRespawnEv" - } - "SwitchTeam" - { - "library" "server" - "windows" "\x83\xEC\x10\x56\x57\x8B\x7C\x24\x1C\x57\x8B\xF1\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\x85\xC0\x0F\x84\xEA\x00\x00\x00\x83\xFF\x03\x74\x09\x83\xFF\x02\x0F\x85\xDC\x00\x00\x00\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x3B\xF8\x0F\x84\xDC\x00\x00\x00\x57\x8B\xCE\xC6\x86\x2A\x2A" - "linux" "@_ZN9CCSPlayer10SwitchTeamEi" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + "cstrike" + { + "Signatures" + { + "RoundRespawn" + { + "library" "server" + "windows" "\x56\x8B\xF1\x8B\x06\xFF\x90\x2A\x04\x00\x00\x8B\x86\x2A\x0D\x00" + "linux" "@_ZN9CCSPlayer12RoundRespawnEv" + } + "SwitchTeam" + { + "library" "server" + "windows" "\x83\xEC\x10\x56\x57\x8B\x7C\x24\x1C\x57\x8B\xF1\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\x85\xC0\x0F\x84\xEA\x00\x00\x00\x83\xFF\x03\x74\x09\x83\xFF\x02\x0F\x85\xDC\x00\x00\x00\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x3B\xF8\x0F\x84\xDC\x00\x00\x00\x57\x8B\xCE\xC6\x86\x2A\x2A" + "linux" "@_ZN9CCSPlayer10SwitchTeamEi" + } + } + } } \ No newline at end of file diff --git a/gamedata/sm-tf2.games.txt b/gamedata/sm-tf2.games.txt index fcd0bacb..9e79c172 100644 --- a/gamedata/sm-tf2.games.txt +++ b/gamedata/sm-tf2.games.txt @@ -1,54 +1,65 @@ -"Games" -{ - "tf" - { - "Signatures" - { - "Burn" - { - "library" "server" - "windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\x8B\x01\x8B\x90\x2A\x2A\x00\x00\xFF\xD2\x84\xC0" - "linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase" - } - "RemoveDisguise" - { - "library" "server" - "windows" "\x51\x56\x8B\xF1\x8B\x46\x2A\x57\x8D\x7E\x2A\x8D\x4C\x24\x08\x83\xE0\xF7" - "linux" "@_ZN15CTFPlayerShared14RemoveDisguiseEv" - } - "Disguise" - { - "library" "server" - "windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\xE8\x2A\x2A\x2A\x2A\x8B\x8E\x2A\x2A\x00\x00\x8B\x89\x2A\x2A\x00\x00" - "linux" "@_ZN15CTFPlayerShared8DisguiseEii" - } - "CalcCritical" - { - "library" "server" - "linux" "@_ZN13CTFWeaponBase26CalcIsAttackCriticalHelperEv" - "windows" "\x83\xEC\x08\x53\x56\x6A\x00" - } - "CalcCriticalMelee" - { - "library" "server" - "linux" "@_ZN18CTFWeaponBaseMelee26CalcIsAttackCriticalHelperEv" - "windows" "\x83\xEC\x08\x53\x57\x8B\xF9\xE8\x2A\x2A\x2A\x2A\x8B\xD8" - } - "CalcCriticalKnife" - { - "library" "server" - "linux" "@_ZN8CTFKnife26CalcIsAttackCriticalHelperEv" - "windows" "\x8B\x81\xF0\x13\x00\x00\x83\xF8\xFF\x74\x29\x8B\x15" - } - - } - "Offsets" - { - "ForceRespawn" - { - "windows" "281" - "linux" "282" - } - } - } +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + "tf" + { + "Signatures" + { + "Burn" + { + "library" "server" + "windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\x8B\x01\x8B\x90\x2A\x2A\x00\x00\xFF\xD2\x84\xC0" + "linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase" + } + "RemoveDisguise" + { + "library" "server" + "windows" "\x51\x56\x8B\xF1\x8B\x46\x2A\x57\x8D\x7E\x2A\x8D\x4C\x24\x08\x83\xE0\xF7" + "linux" "@_ZN15CTFPlayerShared14RemoveDisguiseEv" + } + "Disguise" + { + "library" "server" + "windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\xE8\x2A\x2A\x2A\x2A\x8B\x8E\x2A\x2A\x00\x00\x8B\x89\x2A\x2A\x00\x00" + "linux" "@_ZN15CTFPlayerShared8DisguiseEii" + } + "CalcCritical" + { + "library" "server" + "linux" "@_ZN13CTFWeaponBase26CalcIsAttackCriticalHelperEv" + "windows" "\x83\xEC\x08\x53\x56\x6A\x00" + } + "CalcCriticalMelee" + { + "library" "server" + "linux" "@_ZN18CTFWeaponBaseMelee26CalcIsAttackCriticalHelperEv" + "windows" "\x83\xEC\x08\x53\x57\x8B\xF9\xE8\x2A\x2A\x2A\x2A\x8B\xD8" + } + "CalcCriticalKnife" + { + "library" "server" + "linux" "@_ZN8CTFKnife26CalcIsAttackCriticalHelperEv" + "windows" "\x8B\x81\xF0\x13\x00\x00\x83\xF8\xFF\x74\x29\x8B\x15" + } + + } + "Offsets" + { + "ForceRespawn" + { + "windows" "281" + "linux" "282" + } + } + } } \ No newline at end of file