L L4D2node

_GLOBAL__sub_I_TheWeaponSpawns

0x003bcda0 · 2174 bytes · unknown

Decompiled

undefined (0 params)

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void _GLOBAL__sub_I_TheWeaponSpawns(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;
  TheWeaponSpawns = 0;
  DAT_01004864 = 0;
  DAT_01004868 = 0;
  DAT_0100486c = 0;
  _DAT_01004870 = 0;
  __cxa_atexit(CUtlVector<CWeaponSpawn*,CUtlMemory<CWeaponSpawn*,int>>::~CUtlVector,&TheWeaponSpawns
               ,&__dso_handle);
  CWeaponSpawn_DataDescInit::g_DataMapHolder = DataMapInit<CWeaponSpawn>((CWeaponSpawn *)0x0);
  ServerClass::ServerClass
            ((ServerClass *)g_CWeaponSpawn_ClassReg,"CWeaponSpawn",
             (SendTable *)DT_WeaponSpawn::g_SendTable);
  SendTable::SendTable((SendTable *)DT_WeaponSpawn::g_SendTable);
  __cxa_atexit(SendTable::~SendTable,DT_WeaponSpawn::g_SendTable,&__dso_handle);
  DT_WeaponSpawn::g_SendTableInit = ServerClassInit<DT_WeaponSpawn::ignored>((ignored *)0x0);
  CWeaponSpawnConfigurable_DataDescInit::g_DataMapHolder =
       DataMapInit<CWeaponSpawnConfigurable>((CWeaponSpawnConfigurable *)0x0);
  weapon_spawn = &PTR_Create_00cefae0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_spawn,"weapon_spawn");
  weapon_pistol_spawn = &PTR_Create_00ceff40;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_pistol_spawn,"weapon_pistol_spawn");
  weapon_autoshotgun_spawn = &PTR_Create_00cf03a0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_autoshotgun_spawn,"weapon_autoshotgun_spawn");
  weapon_rifle_spawn = &PTR_Create_00cf0800;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_rifle_spawn,"weapon_rifle_spawn");
  weapon_hunting_rifle_spawn = &PTR_Create_00cf0c60;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_hunting_rifle_spawn,"weapon_hunting_rifle_spawn");
  weapon_rifle_desert_spawn = &PTR_Create_00cf10c0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_rifle_desert_spawn,"weapon_rifle_desert_spawn");
  weapon_rifle_ak47_spawn = &PTR_Create_00cf1520;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_rifle_ak47_spawn,"weapon_rifle_ak47_spawn");
  weapon_sniper_military_spawn = &PTR_Create_00cf1980;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_sniper_military_spawn,"weapon_sniper_military_spawn");
  weapon_shotgun_spas_spawn = &PTR_Create_00cf1de0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_shotgun_spas_spawn,"weapon_shotgun_spas_spawn");
  weapon_pistol_magnum_spawn = &PTR_Create_00cf2240;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_pistol_magnum_spawn,"weapon_pistol_magnum_spawn");
  weapon_smg_spawn = &PTR_Create_00cf26a0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_smg_spawn,"weapon_smg_spawn");
  weapon_pumpshotgun_spawn = &PTR_Create_00cf2b00;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_pumpshotgun_spawn,"weapon_pumpshotgun_spawn");
  weapon_smg_silenced_spawn = &PTR_Create_00cf2f60;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_smg_silenced_spawn,"weapon_smg_silenced_spawn");
  weapon_shotgun_chrome_spawn = &PTR_Create_00cf33c0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_shotgun_chrome_spawn,"weapon_shotgun_chrome_spawn");
  weapon_smg_mp5_spawn = &PTR_Create_00cf3820;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_smg_mp5_spawn,"weapon_smg_mp5_spawn");
  weapon_rifle_sg552_spawn = &PTR_Create_00cf3c80;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_rifle_sg552_spawn,"weapon_rifle_sg552_spawn");
  weapon_sniper_awp_spawn = &PTR_Create_00cf40e0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_sniper_awp_spawn,"weapon_sniper_awp_spawn");
  weapon_sniper_scout_spawn = &PTR_Create_00cf4540;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_sniper_scout_spawn,"weapon_sniper_scout_spawn");
  weapon_pipe_bomb_spawn = &PTR_Create_00cf49a0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_pipe_bomb_spawn,"weapon_pipe_bomb_spawn");
  weapon_molotov_spawn = &PTR_Create_00cf4e00;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_molotov_spawn,"weapon_molotov_spawn");
  weapon_vomitjar_spawn = &PTR_Create_00cf5260;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_vomitjar_spawn,"weapon_vomitjar_spawn");
  weapon_hegrenade_spawn = &PTR_Create_00cf56c0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_hegrenade_spawn,"weapon_hegrenade_spawn");
  weapon_first_aid_kit_spawn = &PTR_Create_00cf5b20;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_first_aid_kit_spawn,"weapon_first_aid_kit_spawn");
  weapon_pain_pills_spawn = &PTR_Create_00cf5f80;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_pain_pills_spawn,"weapon_pain_pills_spawn");
  weapon_adrenaline_spawn = &PTR_Create_00cf63e0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_adrenaline_spawn,"weapon_adrenaline_spawn");
  weapon_defibrillator_spawn = &PTR_Create_00cf6840;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_defibrillator_spawn,"weapon_defibrillator_spawn");
  weapon_gascan_spawn = &PTR_Create_00cf6ca0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_gascan_spawn,"weapon_gascan_spawn");
  weapon_upgradepack_incendiary_spawn = &PTR_Create_00cf7100;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)
            (puVar1,&weapon_upgradepack_incendiary_spawn,"weapon_upgradepack_incendiary_spawn");
  weapon_upgradepack_explosive_spawn = &PTR_Create_00cf7560;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)
            (puVar1,&weapon_upgradepack_explosive_spawn,"weapon_upgradepack_explosive_spawn");
  CWeaponMeleeSpawn_DataDescInit::g_DataMapHolder =
       DataMapInit<CWeaponMeleeSpawn>((CWeaponMeleeSpawn *)0x0);
  weapon_melee_spawn = &PTR_Create_00cf79c0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_melee_spawn,"weapon_melee_spawn");
  CWeaponChainsawSpawn_DataDescInit::g_DataMapHolder =
       DataMapInit<CWeaponChainsawSpawn>((CWeaponChainsawSpawn *)0x0);
  weapon_chainsaw_spawn = &PTR_Create_00cf7e20;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_chainsaw_spawn,"weapon_chainsaw_spawn");
  CWeaponGrenade_LauncherSpawn_DataDescInit::g_DataMapHolder =
       DataMapInit<CWeaponGrenade_LauncherSpawn>((CWeaponGrenade_LauncherSpawn *)0x0);
  weapon_grenade_launcher_spawn = &PTR_Create_00cf8280;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_grenade_launcher_spawn,"weapon_grenade_launcher_spawn");
  CWeaponRifle_M60Spawn_DataDescInit::g_DataMapHolder =
       DataMapInit<CWeaponRifle_M60Spawn>((CWeaponRifle_M60Spawn *)0x0);
  weapon_rifle_m60_spawn = &PTR_Create_00cf86e0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_rifle_m60_spawn,"weapon_rifle_m60_spawn");
  CWeaponAmmoSpawn_DataDescInit::g_DataMapHolder =
       DataMapInit<CWeaponAmmoSpawn>((CWeaponAmmoSpawn *)0x0);
  ServerClass::ServerClass
            ((ServerClass *)g_CWeaponAmmoSpawn_ClassReg,"CWeaponAmmoSpawn",
             (SendTable *)&DT_WeaponAmmoSpawn::g_SendTable);
  SendTable::SendTable((SendTable *)&DT_WeaponAmmoSpawn::g_SendTable);
  __cxa_atexit(SendTable::~SendTable,&DT_WeaponAmmoSpawn::g_SendTable,&__dso_handle);
  DT_WeaponAmmoSpawn::g_SendTableInit = ServerClassInit<DT_WeaponAmmoSpawn::ignored>((ignored *)0x0)
  ;
  weapon_ammo_spawn = &PTR_Create_00cf8b40;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_ammo_spawn,"weapon_ammo_spawn");
  weapon_ammo_spawnPrecache::s_ResourcePrecacher._12_4_ = DAT_0105b164;
  weapon_ammo_spawnPrecache::s_ResourcePrecacher._4_4_ = 1;
  weapon_ammo_spawnPrecache::s_ResourcePrecacher._8_4_ = s_weapon_ammo_spawn_00cda972;
  DAT_0105b164 = weapon_ammo_spawnPrecache::s_ResourcePrecacher;
  weapon_ammo_spawnPrecache::s_ResourcePrecacher._0_4_ = &PTR_Cache_00cf8b58;
  CWeaponScavengeItemSpawn_DataDescInit::g_DataMapHolder =
       DataMapInit<CWeaponScavengeItemSpawn>((CWeaponScavengeItemSpawn *)0x0);
  ServerClass::ServerClass
            ((ServerClass *)g_CWeaponScavengeItemSpawn_ClassReg,"CWeaponScavengeItemSpawn",
             (SendTable *)DT_ScavengeItemSpawn::g_SendTable);
  SendTable::SendTable((SendTable *)DT_ScavengeItemSpawn::g_SendTable);
  __cxa_atexit(SendTable::~SendTable,DT_ScavengeItemSpawn::g_SendTable,&__dso_handle);
  DT_ScavengeItemSpawn::g_SendTableInit =
       ServerClassInit<DT_ScavengeItemSpawn::ignored>((ignored *)0x0);
  ConVar::ConVar((ConVar *)scavenge_item_respawn_delay,"scavenge_item_respawn_delay","20",0x4000,
                 "After being destroyed, time until a scavenge item will respawn");
  __cxa_atexit(ConVar::~ConVar,scavenge_item_respawn_delay,&__dso_handle);
  weapon_scavenge_item_spawn = &PTR_Create_00cf8fc0;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_scavenge_item_spawn,"weapon_scavenge_item_spawn");
  weapon_item_spawn = &PTR_Create_00cf8fd8;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&weapon_item_spawn,"weapon_item_spawn");
  CMultiSpawner_DataDescInit::g_DataMapHolder = DataMapInit<CMultiSpawner>((CMultiSpawner *)0x0);
  upgrade_spawn = &PTR_Create_00cf9338;
  puVar1 = (undefined4 *)EntityFactoryDictionary();
  (**(code **)*puVar1)(puVar1,&upgrade_spawn,"upgrade_spawn");
  CUpgradeSpawner_DataDescInit::g_DataMapHolder =
       DataMapInit<CUpgradeSpawner>((CUpgradeSpawner *)0x0);
  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)