L L4D2node

_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 into addons/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.



        
        

⚠ 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.

Return-type handling cheatsheet (DHookReturn)