L L4D2node

_GLOBAL__sub_I_ZombieDebug

0x003cea20 · 4139 bytes · unknown

Decompiled

undefined (0 params)

void _GLOBAL__sub_I_ZombieDebug(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 *)ZombieDebug,"z_debug","0",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieDebug,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieDebugSpawnableAreas,"z_debug_spawnable_areas","0",0x4000,
                 "Draws areas mobs can spawn from in green (normal) or blue (marked as OBSCURED in the nav)"
                );
  __cxa_atexit(ConVar::~ConVar,ZombieDebugSpawnableAreas,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieDebugSpawnSet,"z_debug_spawn_set","-1",0x4000,
                 "0=Anywhere, 1=Behind, 2=IT, 3=Specials in front, 4=Specials anywhere, 5=Far Away, 6=Above"
                );
  __cxa_atexit(ConVar::~ConVar,ZombieDebugSpawnSet,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieDebugEscapeRoute,"z_debug_escape_route","0",0x4000,
                 "If nonzero, display information when escape route fails");
  __cxa_atexit(ConVar::~ConVar,ZombieDebugEscapeRoute,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSpawnMobsFromSelectedSet,"z_spawn_mobs_from_selected_set","0",
                 0x4000,
                 "Spawn subsequent mobs from the currently selected set via the nav mesh editor");
  __cxa_atexit(ConVar::~ConVar,ZombieSpawnMobsFromSelectedSet,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieDebugMobSpawn,"z_debug_mob_spawn","0",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieDebugMobSpawn,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieMobPopulationDensity,"z_mob_population_density","0.0064",0x4000,
                 "Density of mob spawns, per square inch (0.0064 = 4 per 1x1 nav area)");
  __cxa_atexit(ConVar::~ConVar,ZombieMobPopulationDensity,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSpawnMobsBehindChance,"z_spawn_mobs_behind_chance","75",0x4000,
                 "Percentage chance that a mob will spawn behind the Survivor team");
  __cxa_atexit(ConVar::~ConVar,ZombieSpawnMobsBehindChance,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSpawnConstDistance,"z_spawn_const_distance","-1",0x4000,
                 "If positive, it\'s the distance from the player where z_spawn spawns a character (as opposed to raycasting to the nearest obstacle)"
                );
  __cxa_atexit(ConVar::~ConVar,ZombieSpawnConstDistance,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSpawnRange,"z_spawn_range","1500",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieSpawnRange,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieDensityRegionLength,"z_density_region_length","1500",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieDensityRegionLength,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieNavDebug,"z_nav_debug","0",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieNavDebug,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieShowFlowDistance,"z_show_flow_distance","0",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieShowFlowDistance,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSafeSpawnRange,"z_safe_spawn_range","250",0x4000,
                 "Minimum range for spawning special zombies");
  __cxa_atexit(ConVar::~ConVar,ZombieSafeSpawnRange,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieBackgroundLimit,"z_background_limit","20",0x4000,
                 "How many common infected are on the background map at once.");
  __cxa_atexit(ConVar::~ConVar,ZombieBackgroundLimit,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieMobMinNotifyCount,"z_mob_min_notify_count","10",0x4000,
                 "Mobs at least this large trigger \'mob\' events");
  __cxa_atexit(ConVar::~ConVar,ZombieMobMinNotifyCount,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombiePlayerZombieDebug,"z_player_zombie_debug","0",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombiePlayerZombieDebug,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieScoutMobSpawnRange,"z_scout_mob_spawn_range","3000",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieScoutMobSpawnRange,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieMobSacrificeTimeout,"z_mob_sacrifice_timeout","5",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieMobSacrificeTimeout,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieCooldownSpawnSafetyRange,"z_cooldown_spawn_safety_range","1000",
                 0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieCooldownSpawnSafetyRange,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSpawnSafetyRange,"z_spawn_safety_range","550",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieSpawnSafetyRange,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieFinaleSpawnSafetyRange,"z_finale_spawn_safety_range","300",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieFinaleSpawnSafetyRange,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieFinaleTankSpawnSafetyRange,"z_finale_spawn_tank_safety_range","600"
                 ,0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieFinaleTankSpawnSafetyRange,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieFinaleMobSpawnSafetyRange,"z_finale_spawn_mob_safety_range","600",
                 0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieFinaleMobSpawnSafetyRange,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSpecialSpawnInterval,"z_special_spawn_interval","45",0x4000,
                 "Interval for spawning special zombies");
  __cxa_atexit(ConVar::~ConVar,ZombieSpecialSpawnInterval,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieGhostSpawnInterval,"z_ghost_spawn_interval","60",0x4000,
                 "Interval for spawning special zombies");
  __cxa_atexit(ConVar::~ConVar,ZombieGhostSpawnInterval,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieMegaMobSpawnMinTime,"z_mega_mob_spawn_min_interval","420",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieMegaMobSpawnMinTime,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieMegaMobSpawnMaxTime,"z_mega_mob_spawn_max_interval","900",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieMegaMobSpawnMaxTime,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieMobSpawnFinaleSize,"z_mob_spawn_finale_size","20",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieMobSpawnFinaleSize,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSkirmishSpawnMinTime,"z_skirmish_spawn_min_interval","45",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieSkirmishSpawnMinTime,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSkirmishSpawnMaxTime,"z_skirmish_spawn_max_interval","90",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieSkirmishSpawnMaxTime,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSkirmishSpawnMinSize,"z_skirmish_spawn_min_size","1",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieSkirmishSpawnMinSize,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSkirmishSpawnMaxSize,"z_skirmish_spawn_max_size","4",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieSkirmishSpawnMaxSize,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieNoticeItRange,"z_notice_it_range","1500",0x4000);
  __cxa_atexit(ConVar::~ConVar,ZombieNoticeItRange,&__dso_handle);
  ConVar::ConVar((ConVar *)DirectorThreatMinSeparation,"director_threat_min_separation","5000",
                 0x4000);
  __cxa_atexit(ConVar::~ConVar,DirectorThreatMinSeparation,&__dso_handle);
  ConVar::ConVar((ConVar *)DirectorThreatMaxSeparation,"director_threat_max_separation","5000",
                 0x4000);
  __cxa_atexit(ConVar::~ConVar,DirectorThreatMaxSeparation,&__dso_handle);
  ConVar::ConVar((ConVar *)DirectorThreatRadius,"director_threat_radius","1000",0x4000);
  __cxa_atexit(ConVar::~ConVar,DirectorThreatRadius,&__dso_handle);
  ConVar::ConVar((ConVar *)DirectorDebugThreatPlacement,"director_debug_threat_placement","0",0x4000
                );
  __cxa_atexit(ConVar::~ConVar,DirectorDebugThreatPlacement,&__dso_handle);
  ConVar::ConVar((ConVar *)DirectorMaxThreatAreas,"director_max_threat_areas","4",0x4000);
  __cxa_atexit(ConVar::~ConVar,DirectorMaxThreatAreas,&__dso_handle);
  ConVar::ConVar((ConVar *)vs_threat_radius,"vs_threat_radius","200",0x4000,
                 "Distance from the escape route for placing threats");
  __cxa_atexit(ConVar::~ConVar,vs_threat_radius,&__dso_handle);
  ConVar::ConVar((ConVar *)vs_threat_initial_distance_min,"vs_threat_initial_distance_min","3000",
                 0x4000,"Min distance of starting threat area in vs mode");
  __cxa_atexit(ConVar::~ConVar,vs_threat_initial_distance_min,&__dso_handle);
  ConVar::ConVar((ConVar *)vs_threat_initial_distance_max,"vs_threat_initial_distance_max","8000",
                 0x4000,"Max distance of starting threat area in vs mode");
  __cxa_atexit(ConVar::~ConVar,vs_threat_initial_distance_max,&__dso_handle);
  ConVar::ConVar((ConVar *)vs_threat_initial_distance_first_map_min,
                 "vs_threat_initial_distance_first_map_min","8000",0x4000,
                 "Min distance of starting threat area in vs mode on the first map");
  __cxa_atexit(ConVar::~ConVar,vs_threat_initial_distance_first_map_min,&__dso_handle);
  ConVar::ConVar((ConVar *)vs_threat_initial_distance_first_map_max,
                 "vs_threat_initial_distance_first_map_max","12000",0x4000,
                 "Max distance of starting threat area in vs mode on the first map");
  __cxa_atexit(ConVar::~ConVar,vs_threat_initial_distance_first_map_max,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieSpawnHeight,"z_spawn_height","12",0x4000,
                 "Height above ground z_spawn places new infected");
  __cxa_atexit(ConVar::~ConVar,ZombieSpawnHeight,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombieDebugTankSpawn,"z_debug_tank_spawn","1",0x4000,
                 "When console spawning a tank automatically give it to a player.");
  __cxa_atexit(ConVar::~ConVar,ZombieDebugTankSpawn,&__dso_handle);
  ConVar::ConVar((ConVar *)ZombiePreventBurrowing,"z_prevent_burrowing","1",0x4000,
                 "Use extra tracelines to prevent burrowing zombies");
  __cxa_atexit(ConVar::~ConVar,ZombiePreventBurrowing,&__dso_handle);
  ConVar::ConVar((ConVar *)z_spawn_health,"z_spawn_health","0",0x4000,
                 "If non-0, health given to a zombie spawned with z_spawn");
  __cxa_atexit(ConVar::~ConVar,z_spawn_health,&__dso_handle);
  ConVar::ConVar((ConVar *)scavenge_wanderer_respawn_chance,"scavenge_wanderer_respawn_chance","3",
                 0x4000,"Percent chance that a new wanderer will spawn in a cleared nav area.");
  __cxa_atexit(ConVar::~ConVar,scavenge_wanderer_respawn_chance,&__dso_handle);
  ConVar::ConVar((ConVar *)z_large_volume_mob_too_far_xy,"z_large_volume_mob_too_far_xy","1600",
                 0x4000);
  __cxa_atexit(ConVar::~ConVar,z_large_volume_mob_too_far_xy,&__dso_handle);
  ConVar::ConVar((ConVar *)z_large_volume_mob_too_far_z,"z_large_volume_mob_too_far_z","128",0x4000)
  ;
  __cxa_atexit(ConVar::~ConVar,z_large_volume_mob_too_far_z,&__dso_handle);
  ConVar::ConVar((ConVar *)z_fallen_max_count,"z_fallen_max_count","1",0x4000);
  __cxa_atexit(ConVar::~ConVar,z_fallen_max_count,&__dso_handle);
  ConVar::ConVar((ConVar *)z_fallen_kill_suppress_time,"z_fallen_kill_suppress_time","300",0x4000);
  __cxa_atexit(ConVar::~ConVar,z_fallen_kill_suppress_time,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)ZombieResetPopulationCounter,"z_reset_population_counter",
             CC_ResetPopulationCounter,"For debugging",0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,ZombieResetPopulationCounter,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)z_spawn_const_pos_command,"z_spawn_const_pos",z_spawn_const_pos,
             "z_spawn will spawn new zombies at the x y z coordinates specified. Pass no arguments to disable."
             ,0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,z_spawn_const_pos_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)z_spawn_const_ang_command,"z_spawn_const_ang",z_spawn_const_ang,
             "z_spawn will spawn new zombies at the yaw angle specified. Pass no arguments to disable."
             ,0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,z_spawn_const_ang_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)z_spawn_command,"z_spawn",z_spawn,
             "<tank|boomer|smoker|witch|hunter|spitter|jockey|charger|mob|common> <auto> <ragdoll> <area>.  Spawns the specified zombie(s) under your cursor, or out in the world/in the targetted nav area if auto or area is specified."
             ,0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,z_spawn_command,&__dso_handle);
  ConCommand::ConCommand
            ((ConCommand *)z_spawn_old_command,"z_spawn_old",z_spawn_old,
             "[OLD VERSION] <tank|boomer|smoker|witch|hunter|spitter|jockey|charger|mob|common> <auto> <ragdoll> <area>.  Spawns the specified zombie(s) under your cursor, or out in the world/in the targetted nav area if auto or area is specified."
             ,0x4000,(int_____char_const__char *)0x0);
  __cxa_atexit(ConCommand::~ConCommand,z_spawn_old_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)