ServerClassInit<DT_BasePlayer::ignored>
0x007b4130 · 2512 bytes · __cdecl
_Z15ServerClassInitIN13DT_BasePlayer7ignoredEEiPT_
Decompiled
int (1 param)
/* int ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*) */
int ServerClassInit<DT_BasePlayer::ignored>(ignored *param_1)
{
int iVar1;
undefined1 *puVar2;
code *pcVar3;
undefined4 uVar4;
if (ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps == '\0') {
iVar1 = __cxa_guard_acquire(&ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::
g_SendProps);
if (iVar1 != 0) {
/* try { // try from 007b41bf to 007b41c3 has its CatchHandler @ 007b4b02 */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps,
0xbfae4c,0,4,-1,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 007b41f7 to 007b41fb has its CatchHandler @ 007b4b31 */
SendPropDataTable(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::
g_SendProps + 0x54,0xc087aa,(SendTable *)0x0,
(_func_void_ptr_SendProp_ptr_void_ptr_void_ptr_CSendProxyRecipients_ptr_int
*)CBaseCombatCharacter::m_pClassSendTable,'P');
/* try { // try from 007b422e to 007b4232 has its CatchHandler @ 007b4b4f */
SendPropDataTable(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::
g_SendProps + 0xa8,0xcb8764,(SendTable *)0x1c7c,
(_func_void_ptr_SendProp_ptr_void_ptr_void_ptr_CSendProxyRecipients_ptr_int
*)DT_PlayerState::g_SendTable,'P');
/* try { // try from 007b4285 to 007b4289 has its CatchHandler @ 007b4b56 */
SendPropFloat(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0xfc,0xc6d02b,-0x3b8,4,10,1.12104e-44,-64.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x42800000,
0xa0);
/* try { // try from 007b42dc to 007b42e0 has its CatchHandler @ 007b4b5d */
SendPropFloat(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x150,0xc6d03e,-0x3bc,4,10,1.12104e-44,-64.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x42800000,
0xa0);
/* try { // try from 007b4333 to 007b4337 has its CatchHandler @ 007b4b64 */
SendPropFloat(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x1a4,0xc6d051,-0x3c0,4,10,3.67342e-40,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x43000000,
0xa0);
/* try { // try from 007b436a to 007b436e has its CatchHandler @ 007b4b6b */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0x1f8,0xcb8767,0x1d24,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b43a1 to 007b43a5 has its CatchHandler @ 007b4b72 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0x24c,0xcb8772,0x1d14,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b43d8 to 007b43dc has its CatchHandler @ 007b4b79 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0x2a0,0xc5d13b,600,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
(__DT_REL + 0x5c40));
/* try { // try from 007b440f to 007b4413 has its CatchHandler @ 007b4b80 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0x2f4,0xcb877f,0x2064,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b4446 to 007b444a has its CatchHandler @ 007b4b87 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0x348,0xcb878d,0x200c,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b448d to 007b4491 has its CatchHandler @ 007b4b91 */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x39c,0xc2ed66,0x100,4,0x10,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007b44d4 to 007b44d8 has its CatchHandler @ 007b4b9b */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x3f0,0xc5cfef,0x104,1,3,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007b451b to 007b451f has its CatchHandler @ 007b4ba5 */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x444,0xcb8799,0x1d30,4,0xf,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 007b4562 to 007b4566 has its CatchHandler @ 007b4baf */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x498,0xcb87aa,0x1d34,4,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,'\0');
/* try { // try from 007b45b9 to 007b45bd has its CatchHandler @ 007b4bb9 */
SendPropFloat(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x4ec,0xcb87bc,0x1ff8,4,0xc,1.12104e-44,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x45000000,
0xa0);
/* try { // try from 007b4600 to 007b4604 has its CatchHandler @ 007b4bc3 */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x540,0xc09a70,0x150,4,10,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
((int)&__DT_REL[0x5c40].r_offset + 1),0xb0);
/* try { // try from 007b4647 to 007b464b has its CatchHandler @ 007b4bcd */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x594,0xcb87c9,0x1d64,4,3,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007b467e to 007b4682 has its CatchHandler @ 007b4bd7 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0x5e8,0xcb87d9,0x1d7c,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b46c5 to 007b46c9 has its CatchHandler @ 007b4be1 */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x63c,0xcb87eb,0x1d68,4,8,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007b470c to 007b4710 has its CatchHandler @ 007b4beb */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x690,0xcb87f2,0x1d70,4,8,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007b4763 to 007b4767 has its CatchHandler @ 007b4bf5 */
SendPropFloat(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x6e4,0xcb87fe,0x1d74,4,0x20,0.0,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xa0);
/* try { // try from 007b47aa to 007b47ae has its CatchHandler @ 007b4bff */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x738,0xcb880a,0x1d6c,4,8,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007b47e1 to 007b47e5 has its CatchHandler @ 007b4c09 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0x78c,0xcb8818,0x1d84,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b4818 to 007b481c has its CatchHandler @ 007b4c13 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0x7e0,0xcb8825,0x1f84,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b484f to 007b4853 has its CatchHandler @ 007b4c1d */
InternalSendPropArray(0xfeee34,2,(char *)0x4,(_func_int_void_ptr_int *)"m_hViewModel",'\0');
/* try { // try from 007b488e to 007b4892 has its CatchHandler @ 007b4c27 */
SendPropString(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x888,0xcb8832,0x2118,0x12,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x0,0x90);
/* try { // try from 007b48e5 to 007b48e9 has its CatchHandler @ 007b4c31 */
SendPropVector(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x8dc,0xcb8844,0x2000,0xc,0,4.48416e-44,0.0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0xc7ec9090,
0xc0);
/* try { // try from 007b492c to 007b4930 has its CatchHandler @ 007b4c3b */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x930,0xcb8856,0x1ffc,4,0,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007b4973 to 007b4977 has its CatchHandler @ 007b4c45 */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x984,0xcb886b,0x2188,4,2,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007b49ba to 007b49be has its CatchHandler @ 007b4c4f */
SendPropInt(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps +
0x9d8,0xc5d1d7,0x253,1,2,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)0x1,'\0');
/* try { // try from 007b49f1 to 007b49f5 has its CatchHandler @ 007b4c59 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0xa2c,0xcb8880,0x1c60,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b4a28 to 007b4a2c has its CatchHandler @ 007b4c63 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0xa80,0xcb8893,0x1c64,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b4a5f to 007b4a63 has its CatchHandler @ 007b4c6d */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0xad4,0xcb88aa,0x1c14,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
/* try { // try from 007b4a96 to 007b4a9a has its CatchHandler @ 007b4c77 */
SendPropEHandle(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps
+ 0xb28,0xcb88be,0x2088,4,
(_func_void_SendProp_ptr_void_ptr_void_ptr_DVariant_ptr_int_int *)
&DAT_ffffffff);
uVar4 = 0x80;
pcVar3 = SendProxy_SendLocalDataTable;
puVar2 = DT_LocalPlayerExclusive::g_SendTable;
/* try { // try from 007b4acd to 007b4ad1 has its CatchHandler @ 007b4c81 */
SendPropDataTable(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::
g_SendProps + 0xb7c,0xc5b0c3,(SendTable *)0x0,
(_func_void_ptr_SendProp_ptr_void_ptr_void_ptr_CSendProxyRecipients_ptr_int
*)DT_LocalPlayerExclusive::g_SendTable,0xb0);
__cxa_guard_release(&ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::
g_SendProps);
__cxa_atexit(__tcf_2,0,&__dso_handle,puVar2,pcVar3,uVar4);
}
}
SendTable::Construct
((SendTable *)DT_BasePlayer::g_SendTable,
(SendProp *)
(ServerClassInit<DT_BasePlayer::ignored>(DT_BasePlayer::ignored*)::g_SendProps + 0x54),
0x23,"DT_BasePlayer");
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.