_GLOBAL__sub_I_cs_ShowStateTransitions
0x0039ac70 · 1692 bytes · unknown
Decompiled
undefined (0 params)
void _GLOBAL__sub_I_cs_ShowStateTransitions(void)
{
undefined4 *puVar1;
vec2_origin._0_4_ = 0;
vec2_origin._4_4_ = 0;
vec2_invalid._0_4_ = 0x7f7fffff;
vec2_invalid._4_4_ = 0x7f7fffff;
vec4_origin._0_4_ = 0;
vec4_origin._4_4_ = 0;
vec4_origin._8_4_ = 0;
vec4_origin._12_4_ = 0;
vec4_invalid._0_4_ = 0x7f7fffff;
vec4_invalid._4_4_ = 0x7f7fffff;
vec4_invalid._8_4_ = 0x7f7fffff;
vec4_invalid._12_4_ = 0x7f7fffff;
UNSPECIFIED_LOGGING_COLOR._0_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._1_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._2_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._3_1_ = 0;
InterfaceReg::InterfaceReg
((InterfaceReg *)__g_CreateCServerGameTagsIServerGameTags_reg,
__CreateCServerGameTagsIServerGameTags_interface,"ServerGameTags001");
ConVar::ConVar((ConVar *)cs_ShowStateTransitions,"cs_ShowStateTransitions","-2",0x4000,
"cs_ShowStateTransitions <ent index or -1 for all>. Show player state transitions."
);
__cxa_atexit(ConVar::~ConVar,cs_ShowStateTransitions,&__dso_handle);
ConVar::ConVar((ConVar *)sv_max_usercmd_future_ticks,"sv_max_usercmd_future_ticks","8",0,
"Prevents clients from running usercmds too far in the future. Prevents speed hacks."
);
__cxa_atexit(ConVar::~ConVar,sv_max_usercmd_future_ticks,&__dso_handle);
ConVar::ConVar((ConVar *)sv_cycle_latch_timer,"sv_cycle_latch_timer","0.2",0x4000,
"How often to transmit our cycle to the client for corrections.");
__cxa_atexit(ConVar::~ConVar,sv_cycle_latch_timer,&__dso_handle);
ConVar::ConVar((ConVar *)bot_mimic,"bot_mimic","0",0x6000);
__cxa_atexit(ConVar::~ConVar,bot_mimic,&__dso_handle);
ConVar::ConVar((ConVar *)bot_freeze,"bot_freeze","0",0x4000);
__cxa_atexit(ConVar::~ConVar,bot_freeze,&__dso_handle);
ConVar::ConVar((ConVar *)bot_crouch,"bot_crouch","0",0x4000);
__cxa_atexit(ConVar::~ConVar,bot_crouch,&__dso_handle);
ConVar::ConVar((ConVar *)bot_mimic_yaw_offset,"bot_mimic_yaw_offset","180",0x4000);
__cxa_atexit(ConVar::~ConVar,bot_mimic_yaw_offset,&__dso_handle);
g_pLastCTSpawn = 0xffffffff;
g_pLastTerroristSpawn = 0xffffffff;
ConCommand::ConCommand
((ConCommand *)SetSpecTargetCommand,"spec_target",SetSpecTarget,(char *)0x0,0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,SetSpecTargetCommand,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)ClearSpecTargetCommand,"spec_target_clear",ClearSpecTarget,(char *)0x0,0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,ClearSpecTargetCommand,&__dso_handle);
ConVar::ConVar((ConVar *)ZombieRagdollDiscardRange,"z_ragdoll_discard_range","2000",0,
"Discard ragdolls farther away than this");
__cxa_atexit(ConVar::~ConVar,ZombieRagdollDiscardRange,&__dso_handle);
cs_ragdoll = &PTR_Create_00c6de88;
puVar1 = (undefined4 *)EntityFactoryDictionary();
(**(code **)*puVar1)(puVar1,&cs_ragdoll,"cs_ragdoll");
ServerClass::ServerClass
((ServerClass *)g_CCSRagdoll_ClassReg,"CCSRagdoll",
(SendTable *)DT_CSRagdoll::g_SendTable);
SendTable::SendTable((SendTable *)DT_CSRagdoll::g_SendTable);
__cxa_atexit(SendTable::~SendTable,DT_CSRagdoll::g_SendTable,&__dso_handle);
DT_CSRagdoll::g_SendTableInit = ServerClassInit<DT_CSRagdoll::ignored>((ignored *)0x0);
CCSRagdoll_DataDescInit::g_DataMapHolder = DataMapInit<CCSRagdoll>((CCSRagdoll *)0x0);
ServerClass::ServerClass
((ServerClass *)g_CTEPlayerAnimEvent_ClassReg,"CTEPlayerAnimEvent",
(SendTable *)DT_TEPlayerAnimEvent::g_SendTable);
SendTable::SendTable((SendTable *)DT_TEPlayerAnimEvent::g_SendTable);
__cxa_atexit(SendTable::~SendTable,DT_TEPlayerAnimEvent::g_SendTable,&__dso_handle);
DT_TEPlayerAnimEvent::g_SendTableInit =
ServerClassInit<DT_TEPlayerAnimEvent::ignored>((ignored *)0x0);
CBaseTempEntity::CBaseTempEntity((CBaseTempEntity *)g_TEPlayerAnimEvent,"PlayerAnimEvent");
g_TEPlayerAnimEvent._0_4_ = &PTR_GetServerClass_00c6e268;
g_TEPlayerAnimEvent._12_4_ = 0xffffffff;
__cxa_atexit(CTEPlayerAnimEvent::~CTEPlayerAnimEvent,g_TEPlayerAnimEvent,&__dso_handle);
SendTable::SendTable((SendTable *)DT_CSLocalPlayerExclusive::g_SendTable);
__cxa_atexit(SendTable::~SendTable,DT_CSLocalPlayerExclusive::g_SendTable,&__dso_handle);
DT_CSLocalPlayerExclusive::g_SendTableInit =
ServerClassInit<DT_CSLocalPlayerExclusive::ignored>((ignored *)0x0);
SendTable::SendTable((SendTable *)DT_CSNonLocalPlayerExclusive::g_SendTable);
__cxa_atexit(SendTable::~SendTable,DT_CSNonLocalPlayerExclusive::g_SendTable,&__dso_handle);
DT_CSNonLocalPlayerExclusive::g_SendTableInit =
ServerClassInit<DT_CSNonLocalPlayerExclusive::ignored>((ignored *)0x0);
ServerClass::ServerClass
((ServerClass *)g_CCSPlayer_ClassReg,"CCSPlayer",(SendTable *)DT_CSPlayer::g_SendTable);
SendTable::SendTable((SendTable *)DT_CSPlayer::g_SendTable);
__cxa_atexit(SendTable::~SendTable,DT_CSPlayer::g_SendTable,&__dso_handle);
DT_CSPlayer::g_SendTableInit = ServerClassInit<DT_CSPlayer::ignored>((ignored *)0x0);
CCSPlayer_DataDescInit::g_DataMapHolder = DataMapInit<CCSPlayer>((CCSPlayer *)0x0);
ConCommand::ConCommand
((ConCommand *)cc_CreatePredictionError,"CreatePredictionError",
cc_CreatePredictionError_f,"Create a prediction error",0x4000,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,cc_CreatePredictionError,&__dso_handle);
ConVar::ConVar((ConVar *)sv_runcmds,"sv_runcmds","1",0);
__cxa_atexit(ConVar::~ConVar,sv_runcmds,&__dso_handle);
ConVar::ConVar((ConVar *)VisDebug,"vis_debug","0",0x4000);
__cxa_atexit(ConVar::~ConVar,VisDebug,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)cs_make_vip_command,"cs_make_vip",cs_make_vip,"Marks a player as the VIP"
,0,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,cs_make_vip_command,&__dso_handle);
return;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
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.
⚠ This function has no mangled symbol — it may be internal/static. The
Linux gamedata field uses @-prefix symbol resolution which
requires an exported mangled name. You'll need a Linux byte signature
for this one (extract via extract_signature.java).
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.