ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>
0x0056cbb0 · 996 bytes · __cdecl
_Z15ServerClassInitIN27DT_LocalActiveL4DWeaponData7ignoredEEiPT_
Decompiled
int (1 param)
/* int ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
*/
int ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(ignored *param_1)
{
int iVar1;
if (ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)::
g_SendProps == '\0') {
iVar1 = __cxa_guard_acquire(&ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps);
if (iVar1 != 0) {
/* try { // try from 0056cc3f to 0056cc43 has its CatchHandler @ 0056cf96 */
SendPropInt(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps,0xbfae4c,0,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 0056cc76 to 0056cc7a has its CatchHandler @ 0056cfc5 */
SendPropDataTable(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x54,0xc51ae0,(SendTable *)0x153c,
(_func_void_ptr_SendProp_ptr_void_ptr_void_ptr_CSendProxyRecipients_ptr_int
*)DT_CountdownTimer::g_SendTable,'P');
/* try { // try from 0056ccad to 0056ccb1 has its CatchHandler @ 0056cfcc */
SendPropDataTable(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0xa8,0xc51afe,(SendTable *)0x1514,
(_func_void_ptr_SendProp_ptr_void_ptr_void_ptr_CSendProxyRecipients_ptr_int
*)DT_IntervalTimer::g_SendTable,'P');
/* try { // try from 0056cce4 to 0056cce8 has its CatchHandler @ 0056cfea */
SendPropDataTable(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0xfc,0xc51b11,(SendTable *)0x1548,
(_func_void_ptr_SendProp_ptr_void_ptr_void_ptr_CSendProxyRecipients_ptr_int
*)DT_IntervalTimer::g_SendTable,'P');
/* try { // try from 0056cd2b to 0056cd2f has its CatchHandler @ 0056cff1 */
SendPropInt(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x150,0xc51b2a,0x151c,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 0056cd62 to 0056cd66 has its CatchHandler @ 0056cff8 */
SendPropEHandle(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x1a4,0xc51b3d,0x1520,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 0056cdb9 to 0056cdbd has its CatchHandler @ 0056cfff */
SendPropFloat(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x1f8,0xc51b51,0x1524,4,0x20,0.0,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 0056ce10 to 0056ce14 has its CatchHandler @ 0056d006 */
SendPropFloat(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x24c,0xc51b6d,0x152c,4,0x20,0.0,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 0056ce37 to 0056ce3b has its CatchHandler @ 0056d00d */
SendPropBool(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x2a0,0xc51b85,0x1530);
/* try { // try from 0056ce5e to 0056ce62 has its CatchHandler @ 0056d014 */
SendPropBool(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x2f4,0xc51b9d,0x1531);
/* try { // try from 0056ce85 to 0056ce89 has its CatchHandler @ 0056d01b */
SendPropBool(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x348,0xc51bb2,0x1533);
/* try { // try from 0056ceac to 0056ceb0 has its CatchHandler @ 0056d025 */
SendPropBool(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x39c,0xc51bcb,0x1532);
/* try { // try from 0056ced3 to 0056ced7 has its CatchHandler @ 0056d02f */
SendPropBool(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x3f0,0xc51be1,0x1538);
/* try { // try from 0056cf1a to 0056cf1e has its CatchHandler @ 0056d039 */
SendPropInt(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x444,0xc51bf9,0x17b8,4,6,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 0056cf61 to 0056cf65 has its CatchHandler @ 0056d043 */
SendPropInt(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x498,0xc51c13,0x1534,4,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
__cxa_guard_release(&ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps);
__cxa_atexit(__tcf_0,0,&__dso_handle);
}
}
SendTable::Construct
((SendTable *)DT_LocalActiveL4DWeaponData::g_SendTable,
(SendProp *)
(ServerClassInit<DT_LocalActiveL4DWeaponData::ignored>(DT_LocalActiveL4DWeaponData::ignored*)
::g_SendProps + 0x54),0xe,"DT_LocalActiveL4DWeaponData");
return 1;
}
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.