CMemberFunctor0<IPhysicsConstraintGroup*,void(IPhysicsConstraintGroup::*)(),CRefCounted1<CFunctor,CRefCountServiceBase<true,CRefMT>>,CFuncMemPolicyNone>::operator()
0x004a56c0 · 32 bytes · __thiscall
_ZN15CMemberFunctor0IP23IPhysicsConstraintGroupMS0_FvvE12CRefCounted1I8CFunctor20CRefCountServiceBaseILb1E6CRefMTEE18CFuncMemPolicyNoneEclEv
Decompiled
undefined (1 param)
/* CMemberFunctor0<IPhysicsConstraintGroup*, void (IPhysicsConstraintGroup::*)(),
CRefCounted1<CFunctor, CRefCountServiceBase<true, CRefMT> >,
CFuncMemPolicyNone>::TEMPNAMEPLACEHOLDERVALUE() */
void __thiscall
CMemberFunctor0<IPhysicsConstraintGroup*,void(IPhysicsConstraintGroup::*)(),CRefCounted1<CFunctor,CRefCountServiceBase<true,CRefMT>>,CFuncMemPolicyNone>
::operator()(CMemberFunctor0<IPhysicsConstraintGroup*,void(IPhysicsConstraintGroup::*)(),CRefCounted1<CFunctor,CRefCountServiceBase<true,CRefMT>>,CFuncMemPolicyNone>
*this)
{
code *UNRECOVERED_JUMPTABLE;
UNRECOVERED_JUMPTABLE = *(code **)(this + 0x10);
if (((uint)UNRECOVERED_JUMPTABLE & 1) != 0) {
UNRECOVERED_JUMPTABLE =
*(code **)(UNRECOVERED_JUMPTABLE +
*(int *)(*(int *)(this + 0x18) + *(int *)(this + 0x14)) + -1);
}
/* WARNING: Could not recover jumptable at 0x004a56de. Too many branches */
/* WARNING: Treating indirect jump as call */
(*UNRECOVERED_JUMPTABLE)();
return;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
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.
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.