64bit gamedata fixes (#2141)

* save as of now

* save as of now

* progress

* hint towards comments

Please for the love of god, put comments for updating these in the future will be even more annoying.
i dont even know what LevelShutdown it wants.

* forgot

* fix

* fixes

* Update engine.ep2v.txt

* Update engine.ep2v.txt

* Update sm-tf2.games.txt

---------

Co-authored-by: Benoist <14257866+Kenzzer@users.noreply.github.com>
Co-authored-by: Nicholas Hastings <nshastings@gmail.com>
This commit is contained in:
Artvin 2024-05-05 18:13:39 +02:00 committed by GitHub
parent 343f64f6b7
commit 5a6b2c8ebf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 110 additions and 3 deletions

View File

@ -20,11 +20,13 @@
"gEntList" "gEntList"
{ {
"windows" "11" "windows" "11"
"windows64" "81"
} }
"EntInfo" "EntInfo"
{ {
"windows" "4" "windows" "4"
"windows64" "8"
"linux" "4" "linux" "4"
"linux64" "8" "linux64" "8"
} }
@ -34,8 +36,15 @@
{ {
"LevelShutdown" "LevelShutdown"
{ {
/* not confirmed to be : CServerGameDLL:: LevelShutdown */
/* This comment is for 64xBit */
/* if you know the exact level shutdown function, please comment.*/
/* String : "VDebugOverlay003" -> one call up.*/
/* it only needs to know when the server shuts down, not the absolute correct signature.*/
/* incase it needs the exact function, please notify.*/
"library" "server" "library" "server"
"windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8" "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8"
"windows64" "\x40\x53\x48\x83\xEC\x20\xE8\x2A\x2A\x2A\x2A\x48\x8B\x05\x1E\x04\x9E\x00"
} }
"gEntList" "gEntList"
{ {

View File

@ -5,159 +5,186 @@
{ {
"Offsets" "Offsets"
{ {
//This sucks, this comment HAS to stay, if you remove it, sourcemod WILl crash, why? Ask god.
"EntityListeners" "EntityListeners"
{ {
"windows" "131108" "windows" "131108"
"windows64" "262200"
"linux" "131108" "linux" "131108"
"linux64" "524432" "linux64" "262200"
} }
"CanBeAutobalanced" "CanBeAutobalanced"
{ {
"windows" "473" "windows" "473"
"windows64" "473"
"linux" "474" "linux" "474"
"linux64" "474" "linux64" "474"
} }
"EndTouch" "EndTouch"
{ {
"windows" "105" "windows" "105"
"windows64" "105"
"linux" "106" "linux" "106"
"linux64" "106" "linux64" "106"
} }
"FireBullets" "FireBullets"
{ {
"windows" "117" "windows" "117"
"windows64" "117"
"linux" "118" "linux" "118"
"linux64" "118" "linux64" "118"
} }
"GetMaxHealth" "GetMaxHealth"
{ {
"windows" "122" "windows" "122"
"windows64" "123"
"linux" "123" "linux" "123"
"linux64" "123" "linux64" "123"
} }
"GroundEntChanged" "GroundEntChanged"
{ {
"windows" "183" "windows" "183"
"windows64" "183"
"linux" "185" "linux" "185"
"linux64" "185" "linux64" "185"
} }
"OnTakeDamage" "OnTakeDamage"
{ {
"windows" "64" "windows" "64"
"windows64" "64"
"linux" "65" "linux" "65"
"linux64" "65" "linux64" "65"
} }
"OnTakeDamage_Alive" "OnTakeDamage_Alive"
{ {
"windows" "282" "windows" "282"
"windows64" "282"
"linux" "283" "linux" "283"
"linux64" "283" "linux64" "283"
} }
"PreThink" "PreThink"
{ {
"windows" "343" "windows" "343"
"windows64" "343"
"linux" "344" "linux" "344"
"linux64" "344" "linux64" "344"
} }
"PostThink" "PostThink"
{ {
"windows" "344" "windows" "344"
"windows64" "344"
"linux" "345" "linux" "345"
"linux64" "345" "linux64" "345"
} }
"Reload" "Reload"
{ {
"windows" "283" "windows" "283"
"windows64" "283"
"linux" "289" "linux" "289"
"linux64" "289" "linux64" "289"
} }
"SetTransmit" "SetTransmit"
{ {
"windows" "22" "windows" "22"
"windows64" "22"
"linux" "23" "linux" "23"
"linux64" "23" "linux64" "23"
} }
"ShouldCollide" "ShouldCollide"
{ {
"windows" "17" "windows" "17"
"windows64" "17"
"linux" "18" "linux" "18"
"linux64" "18" "linux64" "18"
} }
"Spawn" "Spawn"
{ {
"windows" "24" "windows" "24"
"windows64" "24"
"linux" "25" "linux" "25"
"linux64" "25" "linux64" "25"
} }
"StartTouch" "StartTouch"
{ {
"windows" "103" "windows" "103"
"windows64" "103"
"linux" "104" "linux" "104"
"linux64" "104" "linux64" "104"
} }
"Think" "Think"
{ {
"windows" "49" "windows" "49"
"windows64" "49"
"linux" "50" "linux" "50"
"linux64" "50" "linux64" "50"
} }
"Touch" "Touch"
{ {
"windows" "104" "windows" "104"
"windows64" "104"
"linux" "105" "linux" "105"
"linux64" "105" "linux64" "105"
} }
"TraceAttack" "TraceAttack"
{ {
"windows" "62" "windows" "62"
"windows64" "62"
"linux" "63" "linux" "63"
"linux64" "63" "linux64" "63"
} }
"Use" "Use"
{ {
"windows" "102" "windows" "102"
"windows64" "102"
"linux" "103" "linux" "103"
"linux64" "103" "linux64" "103"
} }
"VPhysicsUpdate" "VPhysicsUpdate"
{ {
"windows" "163" "windows" "163"
"windows64" "163"
"linux" "164" "linux" "164"
"linux64" "164" "linux64" "164"
} }
"Blocked" "Blocked"
{ {
"windows" "107" "windows" "107"
"windows64" "107"
"linux" "108" "linux" "108"
"linux64" "108" "linux64" "108"
} }
"Weapon_CanSwitchTo" "Weapon_CanSwitchTo"
{ {
"windows" "276" "windows" "276"
"windows64" "276"
"linux" "277" "linux" "277"
"linux64" "277" "linux64" "277"
} }
"Weapon_CanUse" "Weapon_CanUse"
{ {
"windows" "270" "windows" "270"
"windows64" "270"
"linux" "271" "linux" "271"
"linux64" "271" "linux64" "271"
} }
"Weapon_Drop" "Weapon_Drop"
{ {
"windows" "273" "windows" "273"
"windows64" "273"
"linux" "274" "linux" "274"
"linux64" "274" "linux64" "274"
} }
"Weapon_Equip" "Weapon_Equip"
{ {
"windows" "271" "windows" "271"
"windows64" "271"
"linux" "272" "linux" "272"
"linux64" "272" "linux64" "272"
} }
"Weapon_Switch" "Weapon_Switch"
{ {
"windows" "274" "windows" "274"
"windows64" "274"
"linux" "275" "linux" "275"
"linux64" "275" "linux64" "275"
} }

View File

@ -19,18 +19,21 @@
"GetTEName" "GetTEName"
{ {
"windows" "4" "windows" "4"
"windows64" "8"
"linux" "4" "linux" "4"
"linux64" "8" "linux64" "8"
} }
"GetTENext" "GetTENext"
{ {
"windows" "8" "windows" "8"
"windows64" "16"
"linux" "8" "linux" "8"
"linux64" "16" "linux64" "16"
} }
"TE_GetServerClass" "TE_GetServerClass"
{ {
"windows" "0" "windows" "0"
"windows64" "0"
"linux" "0" "linux" "0"
"linux64" "0" "linux64" "0"
} }
@ -59,6 +62,7 @@
"sv" "sv"
{ {
"windows" "7" "windows" "7"
"windows64" "7"
} }
} }
@ -87,8 +91,10 @@
{ {
"FireOutput" "FireOutput"
{ {
/* String: "(%0.2f) output: (%s,%s) -> (%s,%s)(%s)" */
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\x53\x8B\xC1" "windows" "\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\x53\x8B\xC1"
"windows64" "\x48\x8B\xC4\x48\x89\x50\x10\x48\x89\x48\x08\x41\x54"
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
"linux64" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" "linux64" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
} }
@ -116,6 +122,7 @@
"SetUserCvar" "SetUserCvar"
{ {
"windows" "18" "windows" "18"
"windows64" "18"
"linux" "58" "linux" "58"
"linux64" "58" "linux64" "58"
} }
@ -127,6 +134,7 @@
"SetClientName" "SetClientName"
{ {
"windows" "17" "windows" "17"
"windows64" "17"
"linux" "57" "linux" "57"
"linux64" "57" "linux64" "57"
} }
@ -139,6 +147,7 @@
"InfoChanged" "InfoChanged"
{ {
"windows" "140" "windows" "140"
"windows64" "140"
"linux" "140" "linux" "140"
"linux64" "160" "linux64" "160"
} }

View File

@ -19,102 +19,119 @@
"SetOwnerEntity" "SetOwnerEntity"
{ {
"windows" "18" "windows" "18"
"windows64" "18"
"linux" "19" "linux" "19"
"linux64" "19" "linux64" "19"
} }
"GiveNamedItem" "GiveNamedItem"
{ {
"windows" "412" "windows" "412"
"windows64" "412"
"linux" "413" "linux" "413"
"linux64" "413" "linux64" "413"
} }
"RemovePlayerItem" "RemovePlayerItem"
{ {
"windows" "280" "windows" "280"
"windows64" "280"
"linux" "281" "linux" "281"
"linux64" "281" "linux64" "281"
} }
"Weapon_GetSlot" "Weapon_GetSlot"
{ {
"windows" "278" "windows" "278"
"windows64" "278"
"linux" "279" "linux" "279"
"linux64" "279" "linux64" "279"
} }
"Ignite" "Ignite"
{ {
"windows" "219" "windows" "219"
"windows64" "219"
"linux" "220" "linux" "220"
"linux64" "220" "linux64" "220"
} }
"Extinguish" "Extinguish"
{ {
"windows" "223" "windows" "223"
"windows64" "223"
"linux" "224" "linux" "224"
"linux64" "224" "linux64" "224"
} }
"Teleport" "Teleport"
{ {
"windows" "113" "windows" "113"
"windows64" "113"
"linux" "114" "linux" "114"
"linux64" "114" "linux64" "114"
} }
"CommitSuicide" "CommitSuicide"
{ {
"windows" "453" "windows" "453"
"windows64" "453"
"linux" "453" "linux" "453"
"linux64" "453" "linux64" "453"
} }
"GetVelocity" "GetVelocity"
{ {
"windows" "146" "windows" "146"
"windows64" "146"
"linux" "147" "linux" "147"
"linux64" "147" "linux64" "147"
} }
"EyeAngles" "EyeAngles"
{ {
"windows" "137" "windows" "137"
"windows64" "137"
"linux" "138" "linux" "138"
"linux64" "138" "linux64" "138"
} }
"SetEntityModel" "SetEntityModel"
{ {
"windows" "26" "windows" "26"
"windows64" "26"
"linux" "27" "linux" "27"
"linux64" "27" "linux64" "27"
} }
"AcceptInput" "AcceptInput"
{ {
"windows" "38" "windows" "38"
"windows64" "38"
"linux" "39" "linux" "39"
"linux64" "39" "linux64" "39"
} }
"WeaponEquip" "WeaponEquip"
{ {
"windows" "271" "windows" "271"
"windows64" "271"
"linux" "272" "linux" "272"
"linux64" "272" "linux64" "272"
} }
"Activate" "Activate"
{ {
"windows" "35" "windows" "35"
"windows64" "35"
"linux" "36" "linux" "36"
"linux64" "36" "linux64" "36"
} }
"PlayerRunCmd" "PlayerRunCmd"
{ {
"windows" "430" "windows" "430"
"windows64" "430"
"linux" "431" "linux" "431"
"linux64" "431" "linux64" "431"
} }
"GiveAmmo" "GiveAmmo"
{ {
"windows" "262" "windows" "262"
"windows64" "262"
"linux" "263" "linux" "263"
"linux64" "263" "linux64" "263"
} }
"GetAttachment" "GetAttachment"
{ {
"windows" "215" "windows" "215"
"windows64" "215"
"linux" "216" "linux" "216"
"linux64" "216" "linux64" "216"
} }
@ -127,30 +144,34 @@
} }
} }
/* CBaseEntityOutput::FireOutput */
"#default" "#default"
{ {
"Signatures" "Signatures"
{ {
"FireOutput" "FireOutput"
{ {
/* CBaseEntityOutput::FireOutput */
/* String: "(%0.2f) output: (%s,%s) -> (%s,%s,%.1f)" */
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x81\xEC\x40\x01\x00\x00\x8B\xC1" "windows" "\x55\x8B\xEC\x81\xEC\x40\x01\x00\x00\x8B\xC1"
"windows64" "\x48\x8B\xC4\x48\x89\x50\x10\x48\x89\x48\x08\x41\x54"
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
"linux64" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" "linux64" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
} }
} }
} }
/* CBaseAnimating::LookupAttachment */
"#default" "#default"
{ {
"Signatures" "Signatures"
{ {
"LookupAttachment" "LookupAttachment"
{ {
/* CBaseAnimating::LookupAttachment */
/* String: "vehicle_driver_eyes", middle length top function, with 4 calls, pick the first one. */
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x56\x8B\xF1\x80\xBE\x2A\x03\x00\x00\x00\x75\x2A\x83\xBE\x2A\x04\x00\x00\x00\x75\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0\x74\x2A\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x8B\x86\x2A\x04\x00\x00\x85\xC0\x74\x2A\x83\x38\x00\x74\x2A\xFF\x75\x08\x50\xE8\x2A\x2A\x2A\x2A\x83\xC4\x08\x40" "windows" "\x55\x8B\xEC\x56\x8B\xF1\x80\xBE\x2A\x03\x00\x00\x00\x75\x2A\x83\xBE\x2A\x04\x00\x00\x00\x75\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0\x74\x2A\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x8B\x86\x2A\x04\x00\x00\x85\xC0\x74\x2A\x83\x38\x00\x74\x2A\xFF\x75\x08\x50\xE8\x2A\x2A\x2A\x2A\x83\xC4\x08\x40"
"windows64" "\x48\x89\x5C\x24\x08\x57\x48\x83\xEC\x20\x80\xB9\x65\x04\x00\x00\x00\x48\x8B\xFA\x48\x8B\xD9\x75\x2A\x48\x83\xB9\xC0\x05\x00\x00\x00\x75\x2A\xE8\x2A\x2A\x2A\x2A\x48\x85\xC0\x74\x2A\x48\x8B\xCB\xE8\x2A\x2A\x2A\x2A\x48\x8B\x8B\xC0\x05\x00\x00\x48\x85\xC9\x74\x2A\x48\x83\x39\x00\x74\x2A\x48\x8B\xD7\xE8\x2A\x2A\x2A\x2A"
"linux" "@_ZN14CBaseAnimating16LookupAttachmentEPKc" "linux" "@_ZN14CBaseAnimating16LookupAttachmentEPKc"
"linux64" "@_ZN14CBaseAnimating16LookupAttachmentEPKc" "linux64" "@_ZN14CBaseAnimating16LookupAttachmentEPKc"
} }

View File

@ -17,85 +17,121 @@
{ {
"Burn" "Burn"
{ {
/* CTFPlayerShared::Burn (No clone.)*/
/* String : -> "afterburn_immunity"*/
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x08\x56\x8B\xF1\x8B\x8E\x8C\x01\x00\x00\x8B\x01" "windows" "\x55\x8B\xEC\x83\xEC\x08\x56\x8B\xF1\x8B\x8E\x8C\x01\x00\x00\x8B\x01"
"windows64" "\x40\x53\x41\x54\x41\x56\x48\x83\xEC\x60"
"linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBasef" "linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBasef"
"linux64" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBasef" "linux64" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBasef"
} }
"RemoveDisguise" "RemoveDisguise"
{ {
/* CTFPlayerShared::RemoveDisguise*/
/* 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" "library" "server"
"windows" "\x55\x8B\xEC\x51\x56\x8B\xF1\x57\xF7\x86\xD0\x00\x00\x00\x00\x00\x02\x00" "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"
"linux" "@_ZN15CTFPlayerShared14RemoveDisguiseEv" "linux" "@_ZN15CTFPlayerShared14RemoveDisguiseEv"
"linux64" "@_ZN15CTFPlayerShared14RemoveDisguiseEv" "linux64" "@_ZN15CTFPlayerShared14RemoveDisguiseEv"
} }
"Disguise" "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 */
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x24\x56\x57\x8B\xF9\x8B\x8F\x8C\x01\x00\x00" "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"
"linux" "@_ZN15CTFPlayerShared8DisguiseEiiP9CTFPlayerb" "linux" "@_ZN15CTFPlayerShared8DisguiseEiiP9CTFPlayerb"
"linux64" "@_ZN15CTFPlayerShared8DisguiseEiiP9CTFPlayerb" "linux64" "@_ZN15CTFPlayerShared8DisguiseEiiP9CTFPlayerb"
} }
"Regenerate" "Regenerate"
{ {
/* CTFPlayer::Regenerate */
/* String : "item_meter_resupply_denied" -> guessing game on which one, should be the one with "player_regenerate"*/
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x5C\x53\x56\x57\x8B\xF9\x8B\x07" "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"
"linux" "@_ZN9CTFPlayer10RegenerateEb" "linux" "@_ZN9CTFPlayer10RegenerateEb"
"linux64" "@_ZN9CTFPlayer10RegenerateEb" "linux64" "@_ZN9CTFPlayer10RegenerateEb"
} }
"AddCondition" "AddCondition"
{ {
/* CTFPlayerShared::AddCond */
/* String: "mult_medigun_overheal_decay" -> most bottom function, its called twice in the same "cube" of function*/
"library" "server" "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\x2A\x2A\x2A\x2A\x85\xC9\x0F\x84\x2A\x2A\x2A\x2A\x8B\x01\x8B"
"windows64" "\x48\x89\x5C\x24\x18\x48\x89\x7C\x24\x20\x41\x56\x48\x83\xEC\x40"
"linux" "@_ZN15CTFPlayerShared7AddCondE7ETFCondfP11CBaseEntity" "linux" "@_ZN15CTFPlayerShared7AddCondE7ETFCondfP11CBaseEntity"
"linux64" "@_ZN15CTFPlayerShared7AddCondE7ETFCondfP11CBaseEntity" "linux64" "@_ZN15CTFPlayerShared7AddCondE7ETFCondfP11CBaseEntity"
} }
"RemoveCondition" "RemoveCondition"
{ {
/* CTFPlayerShared::RemoveCond */
/* String: "damage_prevented" */
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x08\x53\x8B\x5D\x08\x56\x53" "windows" "\x55\x8B\xEC\x83\xEC\x08\x53\x8B\x5D\x08\x56\x53"
"windows64" "\x40\x53\x57\x41\x56\x48\x83\xEC\x20"
"linux" "@_ZN15CTFPlayerShared10RemoveCondE7ETFCondb" "linux" "@_ZN15CTFPlayerShared10RemoveCondE7ETFCondb"
"linux64" "@_ZN15CTFPlayerShared10RemoveCondE7ETFCondb" "linux64" "@_ZN15CTFPlayerShared10RemoveCondE7ETFCondb"
} }
"SetPowerplayEnabled" "SetPowerplayEnabled"
{ {
/* CTFPlayer::SetPowerplayEnabled */
/* String: "scenes/player/pyro/low/1485.vcd" -> Main fuction -> That main function again.*/
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x51\x80\x7D\x08\x00\x56\x57" "windows" "\x55\x8B\xEC\x51\x80\x7D\x08\x00\x56\x57"
"windows64" "\x48\x89\x5C\x24\x08\x57\x48\x83\xEC\x20\x48\x8D\x99\x60\x28\x00\x00"
"linux" "@_ZN9CTFPlayer19SetPowerplayEnabledEb" "linux" "@_ZN9CTFPlayer19SetPowerplayEnabledEb"
"linux64" "@_ZN9CTFPlayer19SetPowerplayEnabledEb" "linux64" "@_ZN9CTFPlayer19SetPowerplayEnabledEb"
} }
"SetInWaitingForPlayers" "SetInWaitingForPlayers"
{ {
/* CTeamplayRoundBasedRules::SetInWaitingForPlayers */
/* String: "teamplay_restart_round" -> first call on the most bottom "cube" of function */
"library" "server" "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\x51\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" "linux" "@_ZN24CTeamplayRoundBasedRules22SetInWaitingForPlayersEb"
"linux64" "@_ZN24CTeamplayRoundBasedRules22SetInWaitingForPlayersEb" "linux64" "@_ZN24CTeamplayRoundBasedRules22SetInWaitingForPlayersEb"
} }
"StunPlayer" "StunPlayer"
{ {
/* CTFPlayerShared::StunPlayer */
/* String: "player_stunned" */
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x24\x57\x8B\xF9\x8B\x87\xDC\x04\x00\x00" "windows" "\x55\x8B\xEC\x83\xEC\x24\x57\x8B\xF9\x8B\x87\xDC\x04\x00\x00"
"windows64" "\x40\x57\x41\x57\x48\x81\xEC\x98\x00\x00\x00"
"linux" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer" "linux" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer"
"linux64" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer" "linux64" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer"
} }
"MakeBleed" "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.*/
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x10\x53\x8B\xD9\x89\x5D\xF8\x8B\x8B\x8C\x01\x00\x00" "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"
"linux" "@_ZN15CTFPlayerShared9MakeBleedEP9CTFPlayerP13CTFWeaponBasefibi" "linux" "@_ZN15CTFPlayerShared9MakeBleedEP9CTFPlayerP13CTFWeaponBasefibi"
"linux64" "@_ZN15CTFPlayerShared9MakeBleedEP9CTFPlayerP13CTFWeaponBasefibi" "linux64" "@_ZN15CTFPlayerShared9MakeBleedEP9CTFPlayerP13CTFWeaponBasefibi"
} }
"IsPlayerInDuel" "IsPlayerInDuel"
{ {
/* 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" "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" "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"
"linux" "@_Z21DuelMiniGame_IsInDuelP9CTFPlayer" "linux" "@_Z21DuelMiniGame_IsInDuelP9CTFPlayer"
"linux64" "@_Z21DuelMiniGame_IsInDuelP9CTFPlayer" "linux64" "@_Z21DuelMiniGame_IsInDuelP9CTFPlayer"
} }
"CanPlayerTeleport" "CanPlayerTeleport"
{ {
/* String: "bidirectional_teleport" follow the xref, pick the function that doesn't involve another attribute, follow the graph view after 2 virtual function call, the first subroutine call is CanPlayerTeleport*/
"library" "server" "library" "server"
"windows" "\x55\x8B\xEC\x53\x56\x57\x8B\x7D\x08\x8B\xD9\x85\xFF\x0F\x84\x2A\x2A\x2A\x2A" "windows" "\x55\x8B\xEC\x53\x56\x57\x8B\x7D\x08\x8B\xD9\x85\xFF\x0F\x84\x2A\x2A\x2A\x2A"
"windows64" "\x48\x89\x5C\x24\x08\x48\x89\x74\x24\x10\x57\x48\x83\xEC\x20\x48\x8B\xFA\x48\x8B\xF1\x48\x85\xD2\x0F\x84\x2A\x2A\x2A\x2A\x45\x33\xC0"
"linux" "@_ZN17CObjectTeleporter21PlayerCanBeTeleportedEP9CTFPlayer" "linux" "@_ZN17CObjectTeleporter21PlayerCanBeTeleportedEP9CTFPlayer"
"linux64" "@_ZN17CObjectTeleporter21PlayerCanBeTeleportedEP9CTFPlayer" "linux64" "@_ZN17CObjectTeleporter21PlayerCanBeTeleportedEP9CTFPlayer"
} }
@ -114,18 +150,21 @@
"ForceRespawn" "ForceRespawn"
{ {
"windows" "336" "windows" "336"
"windows64" "336"
"linux" "337" "linux" "337"
"linux64" "337" "linux64" "337"
} }
"CalcIsAttackCriticalHelper" "CalcIsAttackCriticalHelper"
{ {
"windows" "398" "windows" "398"
"windows64" "398"
"linux" "405" "linux" "405"
"linux64" "405" "linux64" "405"
} }
"CalcIsAttackCriticalHelperNoCrits" "CalcIsAttackCriticalHelperNoCrits"
{ {
"windows" "399" "windows" "399"
"windows64" "399"
"linux" "406" "linux" "406"
"linux64" "406" "linux64" "406"
} }
@ -134,6 +173,7 @@
"IsHolidayActive" "IsHolidayActive"
{ {
"windows" "139" "windows" "139"
"windows64" "139"
"linux" "140" "linux" "140"
"linux64" "140" "linux64" "140"
} }
@ -141,6 +181,7 @@
"RemoveWearable" "RemoveWearable"
{ {
"windows" "439" "windows" "439"
"windows64" "439"
"linux" "440" "linux" "440"
"linux64" "440" "linux64" "440"
} }