ServerClassInit<DT_TerrorPlayerResource::ignored>
0x009f3730 · 3284 bytes · __cdecl
_Z15ServerClassInitIN23DT_TerrorPlayerResource7ignoredEEiPT_
Decompiled
int (1 param)
/* int ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*) */
int ServerClassInit<DT_TerrorPlayerResource::ignored>(ignored *param_1)
{
int iVar1;
code *pcVar2;
undefined4 uVar3;
SendProp local_4f8 [84];
SendProp local_4a4 [84];
SendProp local_450 [84];
SendProp local_3fc [84];
SendProp local_3a8 [84];
SendProp local_354 [84];
SendProp local_300 [84];
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_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)::
g_SendProps == '\0') {
iVar1 = __cxa_guard_acquire(&ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps);
if (iVar1 != 0) {
/* try { // try from 009f37c7 to 009f37cb has its CatchHandler @ 009f4408 */
SendPropInt(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps,0xbfae4c,0,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f37ff to 009f3803 has its CatchHandler @ 009f443d */
SendPropDataTable(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x54,0xc087aa,(SendTable *)0x0,
(_func_void_ptr_SendProp_ptr_void_ptr_void_ptr_CSendProxyRecipients_ptr_int
*)CPlayerResource::m_pClassSendTable,'P');
/* try { // try from 009f3848 to 009f384c has its CatchHandler @ 009f445e */
SendPropInt((char *)local_4f8,0xd1b502,0x864,4,0x10,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f388b to 009f388f has its CatchHandler @ 009f4444 */
SendPropArray3(0x1020b68,"m_maxHealth",0x864,4,0x21,local_4f8,SendProxy_DataTableToDataTable,
0x80);
SendProp::~SendProp(local_4f8);
/* try { // try from 009f38dc to 009f38e0 has its CatchHandler @ 009f4457 */
SendPropInt((char *)local_4a4,0xd1b50e,0x8e8,4,8,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f391f to 009f3923 has its CatchHandler @ 009f447a */
SendPropArray3(0x1020bbc,"m_primaryWeapon",0x8e8,4,0x21,local_4a4,
SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_4a4);
/* try { // try from 009f3970 to 009f3974 has its CatchHandler @ 009f4488 */
SendPropInt((char *)local_450,0xd1b51e,0x96c,4,8,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f39b3 to 009f39b7 has its CatchHandler @ 009f4492 */
SendPropArray3(0x1020c10,"m_grenade",0x96c,4,0x21,local_450,SendProxy_DataTableToDataTable,
0x80);
SendProp::~SendProp(local_450);
/* try { // try from 009f3a04 to 009f3a08 has its CatchHandler @ 009f44a0 */
SendPropInt((char *)local_3fc,0xd1b528,0x9f0,4,8,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f3a47 to 009f3a4b has its CatchHandler @ 009f44aa */
SendPropArray3(0x1020c64,"m_firstAidSlot",0x9f0,4,0x21,local_3fc,
SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_3fc);
/* try { // try from 009f3a98 to 009f3a9c has its CatchHandler @ 009f44b8 */
SendPropInt((char *)local_3a8,0xd1b537,0xa74,4,8,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f3adb to 009f3adf has its CatchHandler @ 009f44c2 */
SendPropArray3(0x1020cb8,"m_pillsSlot",0xa74,4,0x21,local_3a8,SendProxy_DataTableToDataTable,
0x80);
SendProp::~SendProp(local_3a8);
/* try { // try from 009f3b2c to 009f3b30 has its CatchHandler @ 009f44d0 */
SendPropInt((char *)local_354,0xd14548,0xaf8,1,1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f3b6f to 009f3b73 has its CatchHandler @ 009f44da */
SendPropArray3(0x1020d0c,"m_isGhost",0xaf8,1,0x21,local_354,SendProxy_DataTableToDataTable,
0x80);
SendProp::~SendProp(local_354);
/* try { // try from 009f3bc0 to 009f3bc4 has its CatchHandler @ 009f44e8 */
SendPropInt((char *)local_300,0xc2ed93,0xb19,1,1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f3c03 to 009f3c07 has its CatchHandler @ 009f44f2 */
SendPropArray3(0x1020d60,"m_isIncapacitated",0xb19,1,0x21,local_300,
SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_300);
/* try { // try from 009f3c54 to 009f3c58 has its CatchHandler @ 009f4500 */
SendPropInt((char *)local_2ac,0xd1b543,0xb3a,1,1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f3c97 to 009f3c9b has its CatchHandler @ 009f450a */
SendPropArray3(0x1020db4,"m_wantsToPlay",0xb3a,1,0x21,local_2ac,SendProxy_DataTableToDataTable
,0x80);
SendProp::~SendProp(local_2ac);
/* try { // try from 009f3ce8 to 009f3cec has its CatchHandler @ 009f4518 */
SendPropInt((char *)local_258,0xc6cf6c,0xb5c,4,8,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f3d2b to 009f3d2f has its CatchHandler @ 009f4522 */
SendPropArray3(0x1020e08,"m_zombieClass",0xb5c,4,0x21,local_258,SendProxy_DataTableToDataTable
,0x80);
SendProp::~SendProp(local_258);
/* try { // try from 009f3d7c to 009f3d80 has its CatchHandler @ 009f4530 */
SendPropInt((char *)local_204,0xd1b551,0xbe0,4,0x10,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f3dbf to 009f3dc3 has its CatchHandler @ 009f453a */
SendPropArray3(0x1020e5c,"m_tankTickets",0xbe0,4,0x21,local_204,SendProxy_DataTableToDataTable
,0x80);
SendProp::~SendProp(local_204);
/* try { // try from 009f3e10 to 009f3e14 has its CatchHandler @ 009f4548 */
SendPropInt((char *)local_1b0,0xd1b55f,0xc64,1,1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f3e53 to 009f3e57 has its CatchHandler @ 009f4552 */
SendPropArray3(0x1020eb0,"m_listenServerHost",0xc64,1,0x21,local_1b0,
SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_1b0);
/* try { // try from 009f3ea4 to 009f3ea8 has its CatchHandler @ 009f4560 */
SendPropInt((char *)local_15c,0xd1b572,0xc88,4,2,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 009f3ee7 to 009f3eeb has its CatchHandler @ 009f456a */
SendPropArray3(0x1020f04,"m_TeamSwitchRule",0xc88,4,0x21,local_15c,
SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_15c);
uVar3 = 0x80;
pcVar2 = SendProxy_FloatToFloat;
/* try { // try from 009f3f48 to 009f3f4c has its CatchHandler @ 009f4578 */
SendPropFloat((char *)local_108,0xd1b583,0xd0c,4,0x20,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 009f3f8b to 009f3f8f has its CatchHandler @ 009f4582 */
SendPropArray3(0x1020f58,"m_flSurvivalRecordTime",0xd0c,4,0x21,local_108,
SendProxy_DataTableToDataTable,0x80,pcVar2,uVar3);
SendProp::~SendProp(local_108);
/* try { // try from 009f3fdc to 009f3fe0 has its CatchHandler @ 009f4590 */
SendPropInt((char *)local_b4,0xd1b59a,0xd90,4,8,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f401f to 009f4023 has its CatchHandler @ 009f459a */
SendPropArray3(0x1020fac,"m_nSurvivalTopMedal",0xd90,4,0x21,local_b4,
SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_b4);
/* try { // try from 009f404d to 009f4051 has its CatchHandler @ 009f45a8 */
SendPropTime((char *)local_60,0xd1b5ae,0xe14);
/* try { // try from 009f4090 to 009f4094 has its CatchHandler @ 009f45b2 */
SendPropArray3(0x1021000,"m_flBecomeGhostAt",0xe14,4,0x21,local_60,
SendProxy_DataTableToDataTable,0x80);
SendProp::~SendProp(local_60);
/* try { // try from 009f40ef to 009f40f3 has its CatchHandler @ 009f45c0 */
SendPropFloat(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x594,0xd1b5c0,0xe98,4,0x20,0.0,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 009f4146 to 009f414a has its CatchHandler @ 009f45ca */
SendPropFloat(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x5e8,0xd1b5d8,0xe9c,4,0x20,0.0,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 009f418d to 009f4191 has its CatchHandler @ 009f45d4 */
SendPropInt(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x63c,0xd1b5f4,0xea0,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f41b4 to 009f41b8 has its CatchHandler @ 009f45de */
SendPropBool(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x690,0xd1b60d,0xea4);
/* try { // try from 009f41db to 009f41df has its CatchHandler @ 009f45e8 */
SendPropBool(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x6e4,0xd1b618,0xea5);
/* try { // try from 009f4222 to 009f4226 has its CatchHandler @ 009f45f2 */
SendPropInt(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x738,0xd1b632,0xea8,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f4269 to 009f426d has its CatchHandler @ 009f45fc */
SendPropInt(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x78c,0xd1b64a,0xeac,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f42b0 to 009f42b4 has its CatchHandler @ 009f4606 */
SendPropInt(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x7e0,0xd1b665,0xeb0,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f42d7 to 009f42db has its CatchHandler @ 009f4610 */
SendPropBool(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x834,0xd1b672,0xeb4);
/* try { // try from 009f42fe to 009f4302 has its CatchHandler @ 009f461a */
SendPropBool(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x888,0xd1b68f,0xeb5);
/* try { // try from 009f4345 to 009f4349 has its CatchHandler @ 009f4624 */
SendPropInt(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x8dc,0xd1b69e,0xeb8,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f438c to 009f4390 has its CatchHandler @ 009f462e */
SendPropInt(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x930,0xd1b6b0,0xebc,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 009f43d3 to 009f43d7 has its CatchHandler @ 009f4638 */
SendPropInt(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps + 0x984,0xd1b6bf,0xec0,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
__cxa_guard_release(&ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)
::g_SendProps);
__cxa_atexit(__tcf_0,0,&__dso_handle);
}
}
SendTable::Construct
((SendTable *)DT_TerrorPlayerResource::g_SendTable,
(SendProp *)
(ServerClassInit<DT_TerrorPlayerResource::ignored>(DT_TerrorPlayerResource::ignored*)::
g_SendProps + 0x54),0x1d,"DT_TerrorPlayerResource");
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.