CBaseGameStats_Driver::CBaseGameStats_Driver
0x00461870 · 439 bytes · __thiscall
_ZN21CBaseGameStats_DriverC2Ev
Decompiled
undefined (1 param)
/* CBaseGameStats_Driver::CBaseGameStats_Driver() */
void __thiscall CBaseGameStats_Driver::CBaseGameStats_Driver(CBaseGameStats_Driver *this)
{
CAutoGameSystemPerFrame::CAutoGameSystemPerFrame((CAutoGameSystemPerFrame *)this,"CGameStats");
*(undefined ***)this = &PTR_Name_00c15148;
this[0x12cc] = (CBaseGameStats_Driver)0x0;
*(undefined4 *)(this + 0x12d0) = 0;
*(undefined4 *)(this + 0x12d4) = 0xbf800000;
*(undefined4 *)(this + 0x12d8) = 0xbf800000;
*(undefined4 *)(this + 0x12dc) = 0;
*(undefined4 *)(this + 0x12e0) = 0;
this[0x12e4] = (CBaseGameStats_Driver)0x0;
/* try { // try from 004618da to 004618de has its CatchHandler @ 00461a27 */
CUtlString::CUtlString((CUtlString *)(this + 0x12e8));
this[0x130d] = (CBaseGameStats_Driver)0x0;
*(undefined4 *)(this + 0x12f8) = 0xffffffff;
this[0x130e] = (CBaseGameStats_Driver)0x0;
this[0x130f] = (CBaseGameStats_Driver)0x0;
this[0x1310] = (CBaseGameStats_Driver)0x1;
*(undefined4 *)(this + 0x1318) = 0;
this[0x131c] = (CBaseGameStats_Driver)0x0;
*(undefined4 *)(this + 0x1320) = 0;
*(undefined ***)(this + 0x1324) = &PTR__CUserCmd_00c15058;
*(undefined4 *)(this + 0x1328) = 0;
*(undefined4 *)(this + 0x132c) = 0;
*(undefined4 *)(this + 0x1330) = 0;
*(undefined4 *)(this + 0x1334) = 0;
*(undefined4 *)(this + 0x1338) = 0;
*(undefined4 *)(this + 0x133c) = 0;
*(undefined4 *)(this + 0x1340) = 0;
*(undefined4 *)(this + 0x1344) = 0;
*(undefined4 *)(this + 0x1348) = 0;
this[0x134c] = (CBaseGameStats_Driver)0x0;
*(undefined4 *)(this + 0x1350) = 0;
*(undefined4 *)(this + 0x1354) = 0;
*(undefined4 *)(this + 0x1358) = 0;
*(undefined2 *)(this + 0x135c) = 0;
*(undefined2 *)(this + 0x135e) = 0;
this[0x1360] = (CBaseGameStats_Driver)0x0;
*(undefined4 *)(this + 0x1364) = 0;
*(undefined4 *)(this + 0x1368) = 0;
*(undefined4 *)(this + 0x136c) = 0;
*(undefined4 *)(this + 0x1370) = 0;
*(undefined4 *)(this + 0x1374) = 0;
*(undefined4 *)(this + 0x1378) = 0;
this[0x137c] = (CBaseGameStats_Driver)0x0;
*(undefined4 *)(this + 0x1384) = 0;
this[0x12fc] = (CBaseGameStats_Driver)0x0;
*(undefined4 *)(this + 0x1314) = 0;
return;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)
Just a Signatures{} block, ready to drop into a gamedata
file. Wire it up in your plugin however you like - SDKCall, DHooks,
raw memory ops, or anything else.
Signatures + Functions block. The plugin uses
DHookCreateFromConf - DHooks reads return type, this-type,
calling convention, and argument types straight from the gamedata. Less
boilerplate in the plugin, types travel with the gamedata.
Gamedata KeyValues
DHooks plugin example
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.