Update TF2 & CSS gamedata (#2269)

* Gamedata update + Merge css back into orangebox

* update tf2 gamedata

* fix incorrect gamedata key

---------

Co-authored-by: Kenzzer <kenzzer@users.noreply.github.com>
This commit is contained in:
Benoist 2025-02-20 02:02:24 +01:00 committed by GitHub
parent 2382453d50
commit 5d468dd2c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 268 additions and 319 deletions

View File

@ -1,53 +0,0 @@
/**
* 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"
{
/* CGlobalEntityList */
"#default"
{
"Offsets"
{
/* Offset into LevelShutdown */
"gEntList"
{
"windows" "11"
}
"EntInfo"
{
"windows" "4"
"linux" "4"
"mac" "4"
}
}
"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"
"mac" "@gEntList"
}
}
"Keys"
{
"UseInvalidUniverseInSteam2IDs" "1"
}
}
}

View File

@ -55,11 +55,6 @@
"engine" "bms"
}
"engine.css.txt"
{
"engine" "css"
}
"engine.ep1.txt"
{
"engine" "original"

View File

@ -1,6 +1,6 @@
"Games"
{
// tf, hl2mp, and dods are in the same file for legacy reasons
// tf, hl2mp, dods, css
"tf"
{
"Offsets"
@ -474,4 +474,186 @@
}
}
}
"cstrike"
{
"Offsets"
{
"EntityListeners"
{
"windows" "131108"
"windows64" "262200"
"linux" "131108"
"linux64" "262200"
}
"Blocked"
{
"windows" "104"
"windows64" "104"
"linux" "105"
"linux64" "105"
}
"EndTouch"
{
"windows" "102"
"windows64" "102"
"linux" "103"
"linux64" "103"
}
"FireBullets"
{
"windows" "114"
"windows64" "114"
"linux" "115"
"linux64" "115"
}
"GetMaxHealth"
{
"windows" "119"
"windows64" "119"
"linux" "120"
"linux64" "120"
}
"GroundEntChanged"
{
"windows" "180"
"windows64" "180"
"linux" "182"
"linux64" "182"
}
"OnTakeDamage"
{
"windows" "64"
"windows64" "64"
"linux" "65"
"linux64" "65"
}
"OnTakeDamage_Alive"
{
"windows" "278"
"windows64" "278"
"linux" "279"
"linux64" "279"
}
"PreThink"
{
"windows" "338"
"windows64" "338"
"linux" "339"
"linux64" "339"
}
"PostThink"
{
"windows" "339"
"windows64" "339"
"linux" "340"
"linux64" "340"
}
"Reload"
{
"windows" "276"
"windows64" "276"
"linux" "277"
"linux64" "277"
}
"SetTransmit"
{
"windows" "22"
"windows64" "22"
"linux" "23"
"linux64" "23"
}
"ShouldCollide"
{
"windows" "17"
"windows64" "17"
"linux" "16"
"linux64" "16"
}
"Spawn"
{
"windows" "29"
"windows64" "29"
"linux" "30"
"linux64" "30"
}
"StartTouch"
{
"windows" "100"
"windows64" "100"
"linux" "101"
"linux64" "101"
}
"Think"
{
"windows" "49"
"windows64" "49"
"linux" "50"
"linux64" "50"
}
"Touch"
{
"windows" "101"
"windows64" "101"
"linux" "102"
"linux64" "102"
}
"TraceAttack"
{
"windows" "62"
"windows64" "62"
"linux" "63"
"linux64" "63"
}
"Use"
{
"windows" "99"
"windows64" "99"
"linux" "100"
"linux64" "100"
}
"VPhysicsUpdate"
{
"windows" "160"
"windows64" "160"
"linux" "161"
"linux64" "161"
}
"Weapon_CanSwitchTo"
{
"windows" "272"
"windows64" "272"
"linux" "273"
"linux64" "273"
}
"Weapon_CanUse"
{
"windows" "266"
"windows64" "266"
"linux" "267"
"linux64" "267"
}
"Weapon_Drop"
{
"windows" "269"
"windows64" "269"
"linux" "270"
"linux64" "270"
}
"Weapon_Equip"
{
"windows" "267"
"windows64" "267"
"linux" "268"
"linux64" "268"
}
"Weapon_Switch"
{
"windows" "270"
"windows64" "270"
"linux" "271"
"linux64" "271"
}
}
}
}

View File

@ -1,153 +0,0 @@
"Games"
{
"#default"
{
"Offsets"
{
"Blocked"
{
"windows" "102"
"linux" "103"
"mac" "103"
}
"EndTouch"
{
"windows" "100"
"linux" "101"
"mac" "101"
}
"FireBullets"
{
"windows" "112"
"linux" "113"
"mac" "113"
}
"GetMaxHealth"
{
"windows" "117"
"linux" "118"
"mac" "118"
}
"GroundEntChanged"
{
"windows" "177"
"linux" "179"
"mac" "179"
}
"OnTakeDamage"
{
"windows" "62"
"linux" "63"
"mac" "63"
}
"OnTakeDamage_Alive"
{
"windows" "272"
"linux" "273"
"mac" "273"
}
"PreThink"
{
"windows" "332"
"linux" "333"
"mac" "333"
}
"PostThink"
{
"windows" "333"
"linux" "334"
"mac" "334"
}
"Reload"
{
"windows" "270"
"linux" "271"
"mac" "271"
}
"SetTransmit"
{
"windows" "20"
"linux" "21"
"mac" "21"
}
"ShouldCollide"
{
"windows" "16"
"linux" "17"
"mac" "17"
}
"Spawn"
{
"windows" "22"
"linux" "23"
"mac" "23"
}
"StartTouch"
{
"windows" "98"
"linux" "99"
"mac" "99"
}
"Think"
{
"windows" "47"
"linux" "48"
"mac" "48"
}
"Touch"
{
"windows" "99"
"linux" "100"
"mac" "100"
}
"TraceAttack"
{
"windows" "60"
"linux" "61"
"mac" "61"
}
"Use"
{
"windows" "97"
"linux" "98"
"mac" "98"
}
"VPhysicsUpdate"
{
"windows" "157"
"linux" "158"
"mac" "158"
}
"Weapon_CanSwitchTo"
{
"windows" "266"
"linux" "267"
"mac" "267"
}
"Weapon_CanUse"
{
"windows" "260"
"linux" "261"
"mac" "261"
}
"Weapon_Drop"
{
"windows" "263"
"linux" "264"
"mac" "264"
}
"Weapon_Equip"
{
"windows" "261"
"linux" "262"
"mac" "262"
}
"Weapon_Switch"
{
"windows" "264"
"linux" "265"
"mac" "265"
}
}
}
}

View File

@ -156,11 +156,6 @@
"game" "ag2"
}
"game.cstrike.txt"
{
"game" "cstrike"
}
"game.nmrih.txt"
{
"game" "nmrih"

View File

@ -81,12 +81,6 @@
/* CBaseEntityOutput::FireOutput */
"#default"
{
"#supported"
{
"game" "dod"
"game" "tf"
"game" "hl2mp"
}
"Signatures"
{
"FireOutput"
@ -104,13 +98,6 @@
/* SetUserInfo data */
"#default"
{
"#supported"
{
"game" "dod"
"game" "tf"
"game" "hl2mp"
}
"Offsets"
{
/**

View File

@ -29,107 +29,123 @@
{
"SetOwnerEntity"
{
"windows" "17"
"linux" "18"
"mac" "18"
"windows" "18"
"windows64" "18"
"linux" "19"
"linux64" "19"
}
"GiveNamedItem"
{
"windows" "401"
"linux" "402"
"mac" "402"
"windows" "408"
"windows64" "408"
"linux" "409"
"linux64" "409"
}
"RemovePlayerItem"
{
"windows" "270"
"linux" "271"
"mac" "271"
"windows" "276"
"windows64" "276"
"linux" "277"
"linux64" "277"
}
"Weapon_GetSlot"
{
"windows" "268"
"linux" "269"
"mac" "269"
"windows" "274"
"windows" "274"
"linux" "275"
"linux64" "275"
}
"Ignite"
{
"windows" "209"
"linux" "210"
"mac" "210"
"windows" "215"
"windows64" "215"
"linux" "216"
"linux64" "216"
}
"Extinguish"
{
"windows" "213"
"linux" "214"
"mac" "214"
"windows" "219"
"windows64" "219"
"linux" "220"
"linux64" "220"
}
"Teleport"
{
"windows" "108"
"linux" "109"
"mac" "109"
"windows" "110"
"windows64" "110"
"linux" "111"
"linux64" "111"
}
"CommitSuicide"
{
"windows" "440"
"linux" "440"
"mac" "440"
"windows" "447"
"windows64" "447"
"linux" "447"
"linux64" "447"
}
"GetVelocity"
{
"windows" "140"
"linux" "141"
"mac" "141"
"windows" "143"
"windows64" "143"
"linux" "144"
"linux64" "144"
}
"EyeAngles"
{
"windows" "131"
"linux" "132"
"mac" "132"
"windows" "134"
"windows64" "134"
"linux" "135"
"linux64" "135"
}
"AcceptInput"
{
"windows" "36"
"linux" "37"
"mac" "37"
"windows" "38"
"windows64" "38"
"linux" "39"
"linux64" "39"
}
"SetEntityModel"
{
"windows" "24"
"linux" "25"
"mac" "25"
"windows" "26"
"windows64" "26"
"linux" "27"
"linux64" "27"
}
"WeaponEquip"
{
"windows" "261"
"linux" "262"
"mac" "262"
"windows" "267"
"windows64" "267"
"linux" "268"
"linux64" "268"
}
"Activate"
{
"windows" "33"
"linux" "34"
"mac" "34"
"windows" "35"
"windows64" "35"
"linux" "36"
"linux64" "36"
}
"PlayerRunCmd"
{
"windows" "419"
"linux" "420"
"mac" "420"
"windows" "426"
"windows64" "426"
"linux" "427"
"linux64" "427"
}
"GiveAmmo"
{
"windows" "252"
"linux" "253"
"mac" "253"
"windows" "258"
"windows64" "258"
"linux" "259"
"linux64" "259"
}
"GetAttachment"
{
"windows" "205"
"linux" "206"
"mac" "206"
"windows" "211"
"windows64" "211"
"linux" "212"
"linux64" "212"
}
}
}
}
}

View File

@ -50,11 +50,6 @@
"engine" "sdk2013"
}
"engine.css.txt"
{
"engine" "css"
}
"engine.ep1.txt"
{
"engine" "original"

View File

@ -57,93 +57,78 @@
"library" "server"
"windows" "\x55\x8B\xEC\x51\x89\x2A\x2A\x8B\x2A\x2A\x8B\x10\x8B"
"linux" "@_ZN9CCSPlayer12RoundRespawnEv"
"mac" "@_ZN9CCSPlayer12RoundRespawnEv"
}
"SwitchTeam"
{
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x89\x4D\x2A\x8B\x45\x2A\x50\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\x85\xC0\x74"
"linux" "@_ZN9CCSPlayer10SwitchTeamEi"
"mac" "@_ZN9CCSPlayer10SwitchTeamEi"
}
"HandleCommand_Buy_Internal"
{
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x89\x4D\x2A\x6A\x00\x8B\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x0F\xB6\xC0\x85\xC0\x74"
"linux" "@_ZN9CCSPlayer26HandleCommand_Buy_InternalEPKc"
"mac" "@_ZN9CCSPlayer26HandleCommand_Buy_InternalEPKc"
}
"GetWeaponPrice"
{
"library" "server"
"windows" "\x8B\x81\x04\x09\x00\x00\xC3"
"linux" "@_ZNK13CCSWeaponInfo14GetWeaponPriceEv"
"mac" "@_ZNK13CCSWeaponInfo14GetWeaponPriceEv"
}
"CSWeaponDrop"//Wildcard first 6 bytes for CS:S DM
{
"library" "server"
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x01\x00\x00\x89\x4D\xFC\xC6\x45\x2A\x2A\x8B\x4D\x2A\xE8\x2A\x2A\x2A\x2A\x0F\xB6\xC0"
"linux" "@_ZN9CCSPlayer12CSWeaponDropEP17CBaseCombatWeaponbb"
"mac" "@_ZN9CCSPlayer12CSWeaponDropEP17CBaseCombatWeaponbb"
}
"TerminateRound"
{
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x8B\x45\x0C\x53\x56\x57\x33\xF6"
"linux" "@_ZN12CCSGameRules14TerminateRoundEfi"
"mac" "@_ZN12CCSGameRules14TerminateRoundEfi"
}
"GetTranslatedWeaponAlias"
{
"library" "server"
"windows" "\x55\x8B\xEC\x56\x57\x8B\x7D\x2A\x33\xF6\x8D\x9B\x00\x00\x00\x00\x57\xFF\x34\xF5\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x08\x85\xC0\x74\x2A\x46\x83\xFE\x1A\x72\x2A\x8B\xC7\x5F\x5E\x5D\xC3"
"linux" "@_Z24GetTranslatedWeaponAliasPKc"
"mac" "@_Z24GetTranslatedWeaponAliasPKc"
}
"GetWeaponInfo"
{
"library" "server"
"windows" "\x55\x8B\xEC\x8B\x4D\x08\x85\xC9\x75\x2A\x33\xC0\x5D\xC3\x83\x2A\x2A\x7C\x2A\x69\xC9"
"linux" "@_Z13GetWeaponInfo10CSWeaponID"
"mac" "@_Z13GetWeaponInfo10CSWeaponID"
}
"SetClanTag"
{
"library" "server"
"windows" "\x55\x8B\xEC\x51\x89\x2A\x2A\x83\x2A\x2A\x2A\x74\x2A\x6A\x2A\x8B\x2A\x2A\x50"
"linux" "@_ZN9CCSPlayer10SetClanTagEPKc"
"mac" "@_ZN9CCSPlayer10SetClanTagEPKc"
}
"AliasToWeaponID"
{
"library" "server"
"windows" "\x55\x8B\xEC\x56\x57\x8B\x7D\x08\x85\xFF\x74\x2A\x33\xF6\x8B\xFF"
"linux" "@_Z15AliasToWeaponIDPKc"
"mac" "@_Z15AliasToWeaponIDPKc"
}
"WeaponIDToAlias"
{
"library" "server"
"windows" "\x55\x8B\xEC\x8B\x4D\x08\x33\xC0\xEB\x2A\x8D\x9B\x00\x00\x00\x00\x39\x0C\xC5\x2A\x2A\x2A\x2A\x74\x2A\x40\x83\xF8\x26\x72\x2A\x33\xC0\x5D"
"linux" "@_Z15WeaponIDToAliasi"
"mac" "@_Z15WeaponIDToAliasi"
}
//For mac we use think since CheckWinLimit dosnt exist on mac.
"CheckWinLimit"
{
"library" "server"
"windows" "\xA1\x2A\x2A\x2A\x2A\x56\x8B\xF1\x8B\x48\x30\x85\xC9\x74\x2A\x0F"
"linux" "@_ZN12CCSGameRules13CheckWinLimitEv"
"mac" "@_ZN12CCSGameRules5ThinkEv"
}
"SetModelFromClass"
{
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x34\x89\x4D\xFC\x8B\x4D\xFC\xE8\x2A\x2A\x2A\x2A\x83\xF8\x02"
"linux" "@_ZN9CCSPlayer17SetModelFromClassEv"
"mac" "@_ZN9CCSPlayer17SetModelFromClassEv"
}
}
}

View File

@ -31,37 +31,37 @@
/* String : "reveal_disguised_victim_on_hit", follow the xref, RemoveDisguise is the subroutine that's called if the return value of CALL_ATTRIB_HOOK_INT( iRevealDisguisedSpyOnHit, reveal_disguised_victim_on_hit ); was true */
"library" "server"
"windows" "\x55\x8B\xEC\x51\x56\x8B\xF1\x57\xF7\x86\xD0\x00\x00\x00\x00\x00\x02\x00"
"windows64" "\x48\x89\x5C\x24\x10\x48\x89\x74\x24\x18\x57\x48\x83\xEC\x20\x48\x8B\xD9\xBA\x03\x00\x00\x00"
"windows" "\x55\x8B\xEC\x81\xEC\x10\x01\x00\x00\x53\x56\x57\x8B\x7D\x0C\x8B\xF1"
"windows64" "\x4D\x85\xC0\x0F\x84\x2A\x2A\x2A\x2A\x48\x8B\xC4\x55\x53"
"linux" "@_ZN15CTFPlayerShared14RemoveDisguiseEv"
"linux64" "@_ZN15CTFPlayerShared14RemoveDisguiseEv"
}
"Disguise"
{
/* CTFPlayerShared::Disguise */
/* String : "disguise", follow the xref to function that involves a lot of other commands "uncloak", "taunt", "despawn"... CTFPlayerShared::Disguise is the only subroutine that is called with the return value of RandomInt */
/* String : "mod_disguise_consumes_cloak" */
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x24\x56\x57\x8B\xF9\x8B\x8F\x8C\x01\x00\x00"
"windows64" "\x40\x53\x55\x56\x57\x41\x54\x48\x81\xEC\x90\x00\x00\x00"
"windows64" "\x40\x53\x55\x56\x57\x41\x54\x48\x81\xEC\x80\x00\x00\x00"
"linux" "@_ZN15CTFPlayerShared8DisguiseEiiP9CTFPlayerb"
"linux64" "@_ZN15CTFPlayerShared8DisguiseEiiP9CTFPlayerb"
}
"Regenerate"
{
/* CTFPlayer::Regenerate */
/* String : "item_meter_resupply_denied" -> guessing game on which one, should be the one with "player_regenerate"*/
/* String : "item_meter_resupply_denied" -> subroutine with string "player_regenerate"*/
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x5C\x53\x56\x57\x8B\xF9\x8B\x07"
"windows64" "\x48\x8B\xC4\x88\x50\x10\x48\x81\xEC\xE8\x00\x00\x00"
"windows" "\x55\x8B\xEC\x83\xEC\x44\x53\x56\x57\x8B\xF9"
"windows64" "\x48\x8B\xC4\x88\x50\x10\x48\x81\xEC\xD8\x00\x00\x00"
"linux" "@_ZN9CTFPlayer10RegenerateEb"
"linux64" "@_ZN9CTFPlayer10RegenerateEb"
}
"AddCondition"
{
/* CTFPlayerShared::AddCond */
/* String: "mult_medigun_overheal_decay" -> most bottom function, its called twice in the same "cube" of function*/
/* String: "#TF_HALLOWEEN_MERASMUS_YOU_ARE_BOMB" -> walk back the graph, right before there should two subroutines call (CTFPlayerShared::AddCond) with 0x20 & 0x35 as parameter */
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x08\x56\x8B\xF1\x8B\x8E\x2A\x2A\x2A\x2A\x85\xC9\x0F\x84\x2A\x2A\x2A\x2A\x8B\x01\x8B"
"windows" "\x55\x8B\xEC\x83\xEC\x08\x56\x8B\xF1\x8B\x8E\x8C\x01\x00\x00\x85\xC9"
"windows64" "\x48\x89\x5C\x24\x18\x48\x89\x7C\x24\x20\x41\x56\x48\x83\xEC\x40"
"linux" "@_ZN15CTFPlayerShared7AddCondE7ETFCondfP11CBaseEntity"
"linux64" "@_ZN15CTFPlayerShared7AddCondE7ETFCondfP11CBaseEntity"
@ -72,7 +72,7 @@
/* String: "damage_prevented" */
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x08\x53\x8B\x5D\x08\x56\x53"
"windows64" "\x40\x53\x57\x41\x56\x48\x83\xEC\x20"
"windows64" "\x40\x53\x57\x41\x56\x48\x83\xEC\x20\x45\x0F\xB6\xF0"
"linux" "@_ZN15CTFPlayerShared10RemoveCondE7ETFCondb"
"linux64" "@_ZN15CTFPlayerShared10RemoveCondE7ETFCondb"
}
@ -81,7 +81,7 @@
/* CTFPlayer::SetPowerplayEnabled */
/* String: "scenes/player/pyro/low/1485.vcd" -> Main fuction -> That main function again.*/
"library" "server"
"windows" "\x55\x8B\xEC\x51\x80\x7D\x08\x00\x56\x57"
"windows" "\x55\x8B\xEC\x80\x7D\x08\x00\x56\x57\x8B\xF9"
"windows64" "\x48\x89\x5C\x24\x08\x57\x48\x83\xEC\x20\x48\x8D\x99\x60\x28\x00\x00"
"linux" "@_ZN9CTFPlayer19SetPowerplayEnabledEb"
"linux64" "@_ZN9CTFPlayer19SetPowerplayEnabledEb"
@ -89,9 +89,9 @@
"SetInWaitingForPlayers"
{
/* CTeamplayRoundBasedRules::SetInWaitingForPlayers */
/* String: "teamplay_restart_round" -> first call on the most bottom "cube" of function */
/* Locate "mp_waitingforplayers_time" convar. It's used in the only subroutine with no strings */
"library" "server"
"windows" "\x55\x8B\xEC\x51\x56\x8B\xF1\xE8\x2A\x2A\x2A\x2A\x84\xC0\x0F\x85\x2A\x2A\x2A\x2A"
"windows" "\x55\x8B\xEC\x56\x8B\xF1\xE8\x2A\x2A\x2A\x2A\x84\xC0\x0F\x85\x2A\x2A\x2A\x2A"
"windows64" "\x48\x89\x5C\x24\x08\x57\x48\x83\xEC\x20\x0F\xB6\xFA\x48\x8B\xD9\xE8\x2A\x2A\x2A\x2A\x84\xC0\x0F\x85\x2A\x2A\x2A\x2A"
"linux" "@_ZN24CTeamplayRoundBasedRules22SetInWaitingForPlayersEb"
"linux64" "@_ZN24CTeamplayRoundBasedRules22SetInWaitingForPlayersEb"
@ -109,7 +109,7 @@
"MakeBleed"
{
/* CTFPlayerShared::MakeBleed */
/* String: "spell_batball_red" follow the xref to the function that also has "spell_batball_blue", in graph view, pick the node that validates the dynamic cast, MakeBleed is the only subroutine called in that node.*/
/* String: "InputBleedPlayer"/"BleedPlayer" follow to the input subroutine (CTFPlayer::InputBleedPlayer), MakeBleed is the last called subroutine.*/
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x10\x53\x8B\xD9\x89\x5D\xF8\x8B\x8B\x8C\x01\x00\x00"
"windows64" "\x40\x56\x41\x55\x41\x57"
@ -121,8 +121,8 @@
/* DuelMiniGame_IsInDuel */
/* String: "CTFPlayer::ForceChangeTeam( %d ) - invalid team index.\n", follow the xref, go back to the top of the subroutine, DuelMiniGame_IsInDuel is the subroutine that is called with 3 arguments and a constant value of 1.*/
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x08\x81\x65\x2A\x2A\x2A\x2A\x2A\x8D\x45\xF8\x8B\x4D\x08\xC6\x45\xFF\x00\x81\x65\x2A\x2A\x2A\x2A\x2A\x50\xC7\x45\x2A\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x84\xC0\x75\x04"
"windows64" "\x48\x83\xEC\x28\x81\x64\x24\x3C\xFF\xFF\x0F\xFF"
"windows" "\x55\x8B\xEC\x83\xEC\x10\x81\x65\xF4\xFF\xFF\x0F\xFF\x8D\x45\xF0\x8B\x4D\x08\xC6\x45\xF7\x00\x81\x65\xF4\x00\x00\xF0\xFF\x50\xC7\x45\xF0\x00\x00\x00\x00\xE8\x2A\x2A\x2A\x2A\x84\xC0\x0F\x84\x2A\x2A\x2A\x2A\x8D\x45\xF0\x57\x50\xE8\x2A\x2A\x2A\x2A\x8B\xF8\x83\xC4\x04\x85\xFF\x0F\x84\x2A\x2A\x2A\x2A\x81\x65\xFC\xFF\xFF\x0F\xFF\x8B\x0D\x2A\x2A\x2A\x2A\x53\xC6\x45\xFF\x00\xBB\x01\x00\x00\x00\x81\x65\xFC\x00\x00\xF0\xFF\xC7\x45\xF8\x00\x00\x00\x00\x39\x59\x14\x0F\x8C\x2A\x2A\x2A\x2A\x56\x8D\xA4\x24\x00\x00\x00\x00\x53\xE8\x2A\x2A\x2A\x2A\x8B\xF0\x83\xC4\x04\x85\xF6\x74\x2A\x8B\x16\x8B\xCE\x8B\x92\x48\x01\x00\x00\xFF\xD2\x84\xC0\x74\x2A\x3B\x75\x08\x74\x2A\x8D\x45\xF8\x8B\xCE\x50\xE8\x2A\x2A\x2A\x2A\x84\xC0\x74\x2A\x8B\x4D\xF8\x8B\x45\xFC\x3B\x0F\x75\x2A\x3B\x47\x04\x74\x2A\x3B\x4F\x08\x75\x2A\x3B\x47\x0C\x74\x2A\xA1\x2A\x2A\x2A\x2A\x43\x3B\x58\x14\x7E\x2A\x5E\x5B\x5F\x8B\xE5\x5D\xC3\x8B\x5D\x0C"
"windows64" "\x48\x89\x5C\x24\x18\x55\x41\x56\x41\x57\x48\x83\xEC\x30\x81\x64\x24\x24\xFF\xFF\x0F\xFF"
"linux" "@_Z21DuelMiniGame_IsInDuelP9CTFPlayer"
"linux64" "@_Z21DuelMiniGame_IsInDuelP9CTFPlayer"
}