/** * 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" { "csgo" { "Keys" { "GetWeaponPriceByteCheck" "E9" "GetWeaponPriceByteCheck_Linux" "E8" } "Offsets" { //Offset of szClassName in CCSWeaponInfo "WeaponName" { "windows" "6" "linux" "6" "mac" "6" } //Econ update doesnt check this now but for what we use it hopefully its fine. "WeaponPrice" { "windows" "2528" "linux" "2528" "mac" "2528" } //Offset into CheckRestartRound "CTTeamScoreOffset" { "windows" "98" "linux" "115" "mac" "150" } //Offset into CheckRestartRound "TTeamScoreOffset" { "windows" "125" "linux" "148" "mac" "185" } "ClanTagOffset" { "windows" "12" "linux" "29" "mac" "22" } //Offset into HandleCommand_Buy_Internal "CCSPlayerInventoryOffset" { "windows" "55" "linux" "97" "mac" "109" } "GetItemInLoadout" { "windows" "8" "linux" "9" "mac" "9" } "GetWeaponPriceFunc" { "windows" "105" "linux" "152" } //This is GetWeaponPriceFunc offset -1 (only used by GDC) "GetWeaponPriceFuncGDC" { "windows" "104" "linux" "151" } } "Signatures" { "RoundRespawn" { "library" "server" "windows" "\x55\x8B\xEC\x83\xEC\x0C\x53\x56\x8B\xF1\x8B\x0D\x2A\x2A\x2A\x2A\x57\x8B\x01" "linux" "\x55\x89\xE5\x57\x56\x53\x83\xEC\x4C\xA1\x2A\x2A\x2A\x2A\x8B\x5D\x08\x89\x04\x24" } "SwitchTeam" { "library" "server" "windows" "\x55\x8B\xEC\x83\xEC\x10\x53\x56\x8B\x75\x08\x57\x8B\xF9\x85\xF6\x0F\x88\x2A\x2A\x2A\x2A\x3B\x35" "linux" "\x55\x89\xE5\x83\xEC\x68\x89\x75\xF8\x8B\x75\x0C\x89\x5D\xF4\x8B\x5D\x08\x89\x7D\xFC\x89\x34\x24\xE8\x2A\x2A\x2A\x2A\x85\xC0" } "HandleCommand_Buy_Internal"//Wildcard first 6 bytes for getting address for weapon price. { "library" "server" "windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x81\xEC\x7C\x01\x00\x00\x53\x56\x57\x6A\x00" "linux" "\x2A\x2A\x2A\x2A\x2A\x2A\x0F\xB6\x55\x14\x89\x75\xF8\x8B\x75\x08" } "CSWeaponDrop"//Wildcard first 6 bytes for CS:S DM (kept for backcompat with old SM versions) { "library" "server" "windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x81\xEC\x2A\x2A\x2A\x2A\x53\x8B\x5D\x08\x56\x57\x6A\x00\x68" "linux" "\x2A\x2A\x2A\x2A\x2A\x2A\x56\x53\x81\xEC\x7C\x02\x00\x00\x8B\x5D\x0C\x8B\x75\x08\x85\xDB\x74\x2A\xC7\x44\x24\x2A\x2A\x2A\x2A\x00" } "CSWeaponDropBB" //Revert back to using CSWeaponDrop(weapon, bool, bool) { "library" "server" "windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x83\xE4\xF8\x83\xC4\x04\x55\x8B\x6B\x04\x89\x6C\x24\x04\x8B\xEC\x83\xEC\x34\x56" "linux" "\x2A\x2A\x2A\x2A\x2A\x2A\x83\xEC\x7C\x8B\x5D\x08\x0F\xB6\x7D\x14" } "TerminateRound" { "library" "server" "windows" "\x55\x8B\xEC\x83\xE4\xF8\x83\xEC\x2A\x53\x8B\xD9\xF3\x0F\x2A\x2A\x2A\x2A\x56\x57\x89\x2A\x2A\x2A\x83\xBB" "linux" "\x55\x89\xE5\x57\x56\x53\x81\xEC\xDC\x00\x00\x00\x8B\x75\x08\x8B\x86" } "GetTranslatedWeaponAlias" { "library" "server" "windows" "\x56\x57\x8B\xF9\x33\xF6\x66\x66\x0F\x1F\x84\x00\x00\x00\x00\x00\x8B\x0C\xF5\x2A\x2A\x2A\x2A\x8B\xD7\xE8\x2A\x2A\x2A\x2A\x85\xC0\x74\x2A\x46\x83\xFE\x19" "linux" "\x55\x89\xE5\x56\x53\x31\xDB\x83\xEC\x10\x8B\x75\x08\xEB\x2A\x90\x83\xC3\x01\x83\xFB\x19" } "GetWeaponInfo" { "library" "server" "windows" "\x55\x8B\xEC\x83\xEC\x08\x33\xC0\x85\xC9" "linux" "\x55\x89\xE5\x56\x53\x31\xDB\x83\xEC\x10\x8B\x55\x08\x85\xD2" } //In CS:GO this is actually CCSGameRules::CheckRestartRound(void) but to keep same gamedata as cs:s. "CheckWinLimit" { "library" "server" "windows" "\x55\x8B\xEC\x83\xE4\xF8\x83\xEC\x2A\x53\x56\x57\x8B\xF9\x8B\x0D\x2A\x2A\x2A\x2A\x81\xF9" "linux" "\x55\x89\xE5\x56\x53\x83\xEC\x70\xA1\x2A\x2A\x2A\x2A\x8B\x35\x2A\x2A\x2A\x2A\x8B" } "AliasToWeaponID" { "library" "server" "windows" "\x57\x8B\xF9\x85\xFF\x75\x2A\x33\xC0\x5F\xC3\x56\x33\xF6\x66\x90\x6A\x5F" "linux" "\x55\x31\xC0\x89\xE5\x56\x53\x83\xEC\x10\x8B\x75\x08\x85\xF6\x74\x2A\x31\xDB\xEB\x2A\x8D" } "WeaponIDToAlias" { "library" "server" "windows" "\x33\xC0\x39\x0C\xC5\x2A\x2A\x2A\x2A\x74\x2A\x40\x83\xF8\x3E\x72\x2A\x33\xC0\xC3\x6A\x5F" "linux" "\x55\x89\xE5\x83\xEC\x18\x8B\x55\x08\x39\x15\x2A\x2A\x2A\x2A\x74" } "SetClanTag" { "library" "server" "windows" "\x55\x8B\xEC\x8B\x55\x08\x85\xD2\x74\x2A\x8D\x81\x5C\x29\x00\x00" "linux" "\x55\x89\xE5\x83\xEC\x18\x8B\x45\x0C\x85\xC0\x74\x2A\x89\x44\x24\x04\x8B\x45\x08\xC7\x44\x24\x08\x10\x00\x00\x00" } // Since it's not possible to make a unique signature for CCSWeaponInfo::GetWeaponInfo, this is instead a signature to a // function that calls it. The offset from the signature to the CCSWeaponInfo func offset is the GetWeaponPriceFunc offset. "GetWeaponPrice" { "library" "server" "windows" "\x55\x8B\xEC\x8B\xD1\x8B\x4D\x08\x85\xC9\x75\x2A\x83\xC8\xFF" "linux" "\x55\x89\xE5\x83\xEC\x18\x89\x5D\xF8\x8B\x5D\x10\x89\x75\xFC\x8B\x4D\x08" } "SetModelFromClass" { "library" "server" "windows" "\x53\x56\x57\x8B\xF9\x8B\x87\x00\x03\x00\x00" "linux" "\x55\x89\xE5\x83\xEC\x28\x89\x5D\xF4\x8B\x5D\x08\x89\x75\xF8\x89\x7D\xFC\x89\x1C\x24\xE8\x2A\x2A\x2A\x2A\x83\xF8\x02" } } } "csgo" { "Keys" { "AssistsBase" "m_iFrags" } "Offsets" { "Assists" { "windows" "4" "linux" "4" "mac" "4" } } } "csgo" { "Keys" { "CScoreBase" "m_bIsHoldingLookAtWeapon" } "Offsets" { "CScore" { "windows" "75" "linux" "75" "mac" "75" } } } "csgo" { "Keys" { "MVPsBase" "m_bIsHoldingLookAtWeapon" } "Offsets" { "MVPs" { "windows" "15" "linux" "15" "mac" "15" } } } }