L L4D2node

_GLOBAL__sub_I_g_pLaunchOptions

0x00099600 · 3019 bytes · unknown

Decompiled

undefined (0 params)

void _GLOBAL__sub_I_g_pLaunchOptions(void)

{
  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;
  ConVar::ConVar((ConVar *)host_name,"hostname","",0x80000,"Hostname for server.",false,0.0,false,
                 0.0,HostnameChanged);
  __cxa_atexit(ConVar::~ConVar,host_name,&__dso_handle);
  ConVar::ConVar((ConVar *)host_map,"host_map","",0x80000,"Current map name.");
  __cxa_atexit(ConVar::~ConVar,host_map,&__dso_handle);
  ConVar::ConVar((ConVar *)voice_recordtofile,"voice_recordtofile","0",0x80000,
                 "Record mic data and decompressed voice data into \'voice_micdata.wav\' and \'voice_decompressed.wav\'"
                );
  __cxa_atexit(ConVar::~ConVar,voice_recordtofile,&__dso_handle);
  ConVar::ConVar((ConVar *)voice_inputfromfile,"voice_inputfromfile","0",0x80000,
                 "Get voice input from \'voice_input.wav\' rather than from the microphone.");
  __cxa_atexit(ConVar::~ConVar,voice_inputfromfile,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)_restart_command,"_restart",_restart,"Shutdown and restart the engine.",0
             ,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,_restart_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)status_command,"status",status,"Display map and connection status.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,status_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)ping_command,"ping",ping,"Display ping to server.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,ping_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)restart_command,"restart",restart,
             "Restart the game on the same level (add setpos to jump to current view position on restart)."
             ,0,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,restart_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)reload_command,"reload",reload,
             "Reload the most recent saved game (add setpos to jump to current view position on reload)."
             ,0,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,reload_command,&__dso_handle);
  ConVar::ConVar((ConVar *)host_xbox_e3_restart,"host_xbox_e3_restart","15",0x80000,
                 "E3 Demo Restart interval (in minutes).");
  __cxa_atexit(ConVar::~ConVar,host_xbox_e3_restart,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)disconnect_command,"disconnect",disconnect,"Disconnect game from server."
             ,0,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,disconnect_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)version_command,"version",version,"Print version info string.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,version_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)pause_command,"pause",pause,"Toggle the server pause state.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,pause_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)setpause_command,"setpause",setpause,"Set the pause state of the server."
             ,0,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,setpause_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)unpause_command,"unpause",unpause,"Unpause the game.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,unpause_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)kickid_command,"kickid",kickid,
             "Kick a player by userid or uniqueid, with a message.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,kickid_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)kick_command,"kick",kick,"Kick a player by name.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,kick_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)memory_command,"memory",memory,"Print memory stats.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,memory_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)killserver_command,"killserver",killserver,"Shutdown the server.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,killserver_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)listmodels_command,"listmodels",listmodels,"List loaded models.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,listmodels_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)incrementvar_command,"incrementvar",incrementvar,
             "Increment specified convar value.",0x20000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,incrementvar_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)multvar_command,"multvar",multvar,"Multiply specified convar value.",
             0x20000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,multvar_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)dumpstringtables_command,"dumpstringtables",dumpstringtables,
             "Print string tables to console.",0,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,dumpstringtables_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)stringtabledictionary_command,"stringtabledictionary",
             stringtabledictionary,"Create dictionary for current strings.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,stringtabledictionary_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)quit,"quit",Host_Quit_f,"Exit the engine.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,quit,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)cmd_exit,"exit",Host_Quit_f,"Exit the engine.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,cmd_exit,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)crash_command,"crash",crash,"Cause the engine to crash (Debug!!)",0x4000,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,crash_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)flush_command,"flush",flush,"Flush unlocked cache memory.",0x4000,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,flush_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)flush_locked_command,"flush_locked",flush_locked,
             "Flush unlocked and locked cache memory.",0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,flush_locked_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)cache_print_command,"cache_print",cache_print,
             "cache_print [section]\nPrint out contents of cache memory.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,cache_print_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)cache_print_lru_command,"cache_print_lru",cache_print_lru,
             "cache_print_lru [section]\nPrint out contents of cache memory.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,cache_print_lru_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)cache_print_summary_command,"cache_print_summary",cache_print_summary,
             "cache_print_summary [section]\nPrint out a summary contents of cache memory.",0,
             (int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,cache_print_summary_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)memory_list_command,"memory_list",memory_list,
             "dump memory list (linux only)",0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,memory_list_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)memory_status_command,"memory_status",memory_status,
             "show memory stats (linux only)",0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,memory_status_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)memory_mark_command,"memory_mark",memory_mark,
             "snapshot current allocation status",0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,memory_mark_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)memory_diff_command,"memory_diff",memory_diff,
             "show memory stats relative to snapshot",0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,memory_diff_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)