ServerClassInit<DT_PlayerResource::ignored>
0x007d6ac0 · 1381 bytes · __cdecl
_Z15ServerClassInitIN17DT_PlayerResource7ignoredEEiPT_
Decompiled
int (1 param)
/* int ServerClassInit<DT_PlayerResource::ignored>(DT_PlayerResource::ignored*) */
int ServerClassInit<DT_PlayerResource::ignored>(ignored *param_1)
{
int iVar1;
SendProp local_2ac [84];
SendProp local_258 [84];
SendProp local_204 [84];
SendProp local_1b0 [84];
SendProp local_15c [84];
SendProp local_108 [84];
SendProp local_b4 [84];
SendProp local_60 [84];
if (ServerClassInit<DT_PlayerResource::ignored>(DT_PlayerResource::ignored*)::g_SendProps == '\0')
{
iVar1 = __cxa_guard_acquire(&ServerClassInit<DT_PlayerResource::ignored>(DT_PlayerResource::ignored*)
::g_SendProps);
if (iVar1 != 0) {
/* try { // try from 007d6b57 to 007d6b5b has its CatchHandler @ 007d7029 */
SendPropInt(ServerClassInit<DT_PlayerResource::ignored>(DT_PlayerResource::ignored*)::
g_SendProps,0xbfae4c,0,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 007d6ba0 to 007d6ba4 has its CatchHandler @ 007d7062 */
SendPropInt((char *)local_2ac,0xcbcbf7,0x440,4,10,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007d6be3 to 007d6be7 has its CatchHandler @ 007d7102 */
SendPropArray3(0xff12d4,"m_iPing",0x440,4,0x21,local_2ac,SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_2ac);
/* try { // try from 007d6c34 to 007d6c38 has its CatchHandler @ 007d70ea */
SendPropInt((char *)local_258,0xcbcbff,0x4c4,4,0x10,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 007d6c77 to 007d6c7b has its CatchHandler @ 007d70f4 */
SendPropArray3(0xff1328,"m_iScore",0x4c4,4,0x21,local_258,SendProxy_DataTableToDataTable,0x80)
;
SendProp::~SendProp(local_258);
/* try { // try from 007d6cc8 to 007d6ccc has its CatchHandler @ 007d70ba */
SendPropInt((char *)local_204,0xcbcc08,0x548,4,0x10,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 007d6d0b to 007d6d0f has its CatchHandler @ 007d70c4 */
SendPropArray3(0xff137c,"m_iTankTickets",0x548,4,0x21,local_204,SendProxy_DataTableToDataTable
,0x80);
SendProp::~SendProp(local_204);
/* try { // try from 007d6d5c to 007d6d60 has its CatchHandler @ 007d70d2 */
SendPropInt((char *)local_1b0,0xcb9256,0x5cc,4,0xc,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 007d6d9f to 007d6da3 has its CatchHandler @ 007d70dc */
SendPropArray3(0xff13d0,"m_iDeaths",0x5cc,4,0x21,local_1b0,SendProxy_DataTableToDataTable,0x80
);
SendProp::~SendProp(local_1b0);
/* try { // try from 007d6df0 to 007d6df4 has its CatchHandler @ 007d7069 */
SendPropInt((char *)local_15c,0xcbcc17,0x650,4,1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007d6e33 to 007d6e37 has its CatchHandler @ 007d7070 */
SendPropArray3(0xff1424,"m_bConnected",0x650,4,0x21,local_15c,SendProxy_DataTableToDataTable,
0x80);
SendProp::~SendProp(local_15c);
/* try { // try from 007d6e84 to 007d6e88 has its CatchHandler @ 007d707e */
SendPropInt((char *)local_108,0xcbcc24,0x6d4,4,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 007d6ec7 to 007d6ecb has its CatchHandler @ 007d7085 */
SendPropArray3(0xff1478,"m_iTeam",0x6d4,4,0x21,local_108,SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_108);
/* try { // try from 007d6f18 to 007d6f1c has its CatchHandler @ 007d7093 */
SendPropInt((char *)local_b4,0xcbcc2c,0x758,4,1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007d6f5b to 007d6f5f has its CatchHandler @ 007d709a */
SendPropArray3(0xff14cc,"m_bAlive",0x758,4,0x21,local_b4,SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_b4);
/* try { // try from 007d6fa9 to 007d6fad has its CatchHandler @ 007d70a8 */
SendPropInt((char *)local_60,0xc2ed66,0x7dc,4,0x10,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007d6fec to 007d6ff0 has its CatchHandler @ 007d70ac */
SendPropArray3(0xff1520,"m_iHealth",0x7dc,4,0x21,local_60,SendProxy_DataTableToDataTable,0x80)
;
SendProp::~SendProp(local_60);
__cxa_guard_release(&ServerClassInit<DT_PlayerResource::ignored>(DT_PlayerResource::ignored*)
::g_SendProps);
__cxa_atexit(__tcf_0,0,&__dso_handle);
}
}
SendTable::Construct
((SendTable *)DT_PlayerResource::g_SendTable,
(SendProp *)
(ServerClassInit<DT_PlayerResource::ignored>(DT_PlayerResource::ignored*)::g_SendProps
+ 0x54),8,"DT_PlayerResource");
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.