L L4D2node

_GLOBAL__sub_I_SurvivalRoundRestartDelay

0x003ba070 · 2195 bytes · unknown

Decompiled

undefined (0 params)

void _GLOBAL__sub_I_SurvivalRoundRestartDelay(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;
  InterfaceReg::InterfaceReg
            ((InterfaceReg *)__g_CreateCServerGameTagsIServerGameTags_reg,
             __CreateCServerGameTagsIServerGameTags_interface,"ServerGameTags001");
  ConVar::ConVar((ConVar *)SurvivalRoundRestartDelay,"survival_round_restart_delay","15",0x4002,
                 "After a loss, restart the round after this many seconds.");
  __cxa_atexit(ConVar::~ConVar,SurvivalRoundRestartDelay,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalHordeStageInterval,"survival_horde_stage_interval","60",0x4002,
                 "Seconds between horde attacks");
  __cxa_atexit(ConVar::~ConVar,SurvivalHordeStageInterval,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalHordeStageIntervalDecay,"survival_horde_stage_interval_decay","2"
                 ,0x4002,"After each horde attack, reduce the interval by this many seconds");
  __cxa_atexit(ConVar::~ConVar,SurvivalHordeStageIntervalDecay,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalTankStageInterval,"survival_tank_stage_interval","80",0x4002,
                 "Seconds between tank attacks");
  __cxa_atexit(ConVar::~ConVar,SurvivalTankStageInterval,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalTankStageIntervalDecay,"survival_tank_stage_interval_decay","20",
                 0x4002,"After some number of waves, reduce the interval by this many seconds");
  __cxa_atexit(ConVar::~ConVar,SurvivalTankStageIntervalDecay,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalSpecialSpawnInterval,"survival_special_spawn_interval","20",
                 0x4002,"Seconds between special spawn waves");
  __cxa_atexit(ConVar::~ConVar,SurvivalSpecialSpawnInterval,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalSpecialSpawnIntervalDecay,"survival_special_spawn_interval_decay"
                 ,"1",0x4002,
                 "After each special wave, reduce the spawn interval by this many seconds");
  __cxa_atexit(ConVar::~ConVar,SurvivalSpecialSpawnIntervalDecay,&__dso_handle);
  ConVar::ConVar((ConVar *)survival_tank_multiple_spawn_delay,"survival_tank_multiple_spawn_delay",
                 "10",0x4002,"Delay between the two tanks during double spawns.");
  __cxa_atexit(ConVar::~ConVar,survival_tank_multiple_spawn_delay,&__dso_handle);
  ConVar::ConVar((ConVar *)survival_lull_time,"survival_lull_time","15",0x4002,
                 "Lull duration between survival waves.");
  __cxa_atexit(ConVar::~ConVar,survival_lull_time,&__dso_handle);
  ConVar::ConVar((ConVar *)survival_lull_time_increment,"survival_lull_time_increment","15",0x4002,
                 "Increment for the lull time per wave.");
  __cxa_atexit(ConVar::~ConVar,survival_lull_time_increment,&__dso_handle);
  ConVar::ConVar((ConVar *)survival_lull_time_max,"survival_lull_time_max","60",0x4002,
                 "Max lull duration.");
  __cxa_atexit(ConVar::~ConVar,survival_lull_time_max,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalSpecialStageInterval,"survival_special_stage_interval","60",
                 0x4002,"After this many seconds, increase special zombie limits");
  __cxa_atexit(ConVar::~ConVar,SurvivalSpecialStageInterval,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalHunterLimitIncrease,"survival_hunter_limit_increase","1",0x4002,
                 "After each special wave, increase max hunters by this amount.");
  __cxa_atexit(ConVar::~ConVar,SurvivalHunterLimitIncrease,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalSmokerLimitIncrease,"survival_smoker_limit_increase","1",0x4002,
                 "After each special wave, increase max smokers by this amount.");
  __cxa_atexit(ConVar::~ConVar,SurvivalSmokerLimitIncrease,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalBoomerLimitIncrease,"survival_boomer_limit_increase","0",0x4002,
                 "After each special wave, increase max boomers by this amount.");
  __cxa_atexit(ConVar::~ConVar,SurvivalBoomerLimitIncrease,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalChargerLimitIncrease,"survival_charger_limit_increase","0",0x4002
                 ,"After each special wave, increase max chargers by this amount.");
  __cxa_atexit(ConVar::~ConVar,SurvivalChargerLimitIncrease,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalSpitterLimitIncrease,"survival_spitter_limit_increase","1",0x4002
                 ,"After each special wave, increase max spitters by this amount.");
  __cxa_atexit(ConVar::~ConVar,SurvivalSpitterLimitIncrease,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalJockeyLimitIncrease,"survival_jockey_limit_increase","1",0x4002,
                 "After each special wave, increase max jockeys by this amount.");
  __cxa_atexit(ConVar::~ConVar,SurvivalJockeyLimitIncrease,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalSpecialLimitIncrease,"survival_special_limit_increase","1",0x4002
                 ,"After each special wave, increase max specials by this amount.");
  __cxa_atexit(ConVar::~ConVar,SurvivalSpecialLimitIncrease,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalMaxHunters,"survival_max_hunters","3",0x4002,
                 "Max hunters alive at one time.");
  __cxa_atexit(ConVar::~ConVar,SurvivalMaxHunters,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalMaxSmokers,"survival_max_smokers","4",0x4002,
                 "Max smokers alive at one time.");
  __cxa_atexit(ConVar::~ConVar,SurvivalMaxSmokers,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalMaxBoomers,"survival_max_boomers","2",0x4002,
                 "Max boomers alive at one time.");
  __cxa_atexit(ConVar::~ConVar,SurvivalMaxBoomers,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalMaxChargers,"survival_max_chargers","2",0x4002,
                 "Max chargers alive at one time.");
  __cxa_atexit(ConVar::~ConVar,SurvivalMaxChargers,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalMaxSpitters,"survival_max_spitters","3",0x4002,
                 "Max spitters alive at one time.");
  __cxa_atexit(ConVar::~ConVar,SurvivalMaxSpitters,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalMaxJockeys,"survival_max_jockeys","2",0x4002,
                 "Max jockeys alive at one time.");
  __cxa_atexit(ConVar::~ConVar,SurvivalMaxJockeys,&__dso_handle);
  ConVar::ConVar((ConVar *)SurvivalMaxSpecials,"survival_max_specials","8",0x4002,
                 "Max number of special zombies alive at one time.");
  __cxa_atexit(ConVar::~ConVar,SurvivalMaxSpecials,&__dso_handle);
  ConVar::ConVar((ConVar *)DirectorPrivate_DirectorSurvivalSetupTime,"director_survival_setup_time",
                 "0",0,"Time limit to set up before the round auto-starts.");
  __cxa_atexit(ConVar::~ConVar,DirectorPrivate_DirectorSurvivalSetupTime,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)survival_start_command,"survival_start",survival_start,
             "Force the survival round to start",0x4002,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,survival_start_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)