ServerClassInit<DT_SmokeStack::ignored>
0x00824cf0 · 1768 bytes · __cdecl
_Z15ServerClassInitIN13DT_SmokeStack7ignoredEEiPT_
Decompiled
int (1 param)
/* int ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*) */
int ServerClassInit<DT_SmokeStack::ignored>(ignored *param_1)
{
int iVar1;
undefined4 uVar2;
undefined4 uVar3;
code *pcVar4;
if (ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps == '\0') {
iVar1 = __cxa_guard_acquire(&ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::
g_SendProps);
if (iVar1 != 0) {
/* try { // try from 00824d7f to 00824d83 has its CatchHandler @ 008253da */
SendPropInt(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps,
0xbfae4c,0,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 00824db7 to 00824dbb has its CatchHandler @ 00825409 */
SendPropDataTable(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::
g_SendProps + 0x54,0xc087aa,(SendTable *)0x0,
(_func_void_ptr_SendProp_ptr_void_ptr_void_ptr_CSendProxyRecipients_ptr_int
*)CBaseParticleEntity::m_pClassSendTable,'P');
/* try { // try from 00824e0e to 00824e12 has its CatchHandler @ 00825427 */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0xa8,0xcce8c4,0x440,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 00824e65 to 00824e69 has its CatchHandler @ 0082542e */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0xfc,0xcce8d2,0x444,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 00824ebc to 00824ec0 has its CatchHandler @ 00825435 */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x150,0xcce8da,0x448,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 00824f13 to 00824f17 has its CatchHandler @ 0082543c */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x1a4,0xcce8e6,0x44c,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 00824f6a to 00824f6e has its CatchHandler @ 00825443 */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x1f8,0xcce8f0,0x450,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 00824fc1 to 00824fc5 has its CatchHandler @ 0082544a */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x24c,0xcce8f7,0x454,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 00825008 to 0082500c has its CatchHandler @ 00825451 */
SendPropInt(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x2a0,0xc70e3b,0x45c,4,1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 0082505f to 00825063 has its CatchHandler @ 00825458 */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x2f4,0xcce903,0x460,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 008250b6 to 008250ba has its CatchHandler @ 0082545f */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x348,0xcce912,0x458,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 0082510d to 00825111 has its CatchHandler @ 00825469 */
SendPropVector(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x39c,0xcce920,0x488,0xc,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xc0);
/* try { // try from 00825164 to 00825168 has its CatchHandler @ 00825473 */
SendPropVector(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x3f0,0xcce932,0x494,0xc,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xc0);
/* try { // try from 008251bb to 008251bf has its CatchHandler @ 0082547d */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x444,0xcce946,0x4a0,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 00825212 to 00825216 has its CatchHandler @ 00825487 */
SendPropVector(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x498,0xcce95f,0x468,0xc,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xc0);
/* try { // try from 00825269 to 0082526d has its CatchHandler @ 00825491 */
SendPropVector(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x4ec,0xcce975,0x474,0xc,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xc0);
/* try { // try from 008252c0 to 008252c4 has its CatchHandler @ 0082549b */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x540,0xcce98d,0x480,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 00825317 to 0082531b has its CatchHandler @ 008254a5 */
SendPropVector(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x594,0xcce9aa,0x4b8,0xc,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xc0);
/* try { // try from 0082536e to 00825372 has its CatchHandler @ 008254af */
SendPropFloat(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x5e8,0xcce9b2,0x4a4,4,0,5.60519e-45,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
pcVar4 = SendProxy_IntAddOne;
uVar3 = 0x10;
uVar2 = 4;
/* try { // try from 008253a5 to 008253a9 has its CatchHandler @ 008254b9 */
SendPropIntWithMinusOneFlag
(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps +
0x63c,0xcce9bc,0x4ac,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x10);
__cxa_guard_release(&ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::
g_SendProps);
__cxa_atexit(__tcf_0,0,&__dso_handle,uVar2,uVar3,pcVar4);
}
}
SendTable::Construct
((SendTable *)&DT_SmokeStack::g_SendTable,
(SendProp *)
(ServerClassInit<DT_SmokeStack::ignored>(DT_SmokeStack::ignored*)::g_SendProps + 0x54),
0x13,"DT_SmokeStack");
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.