From ca9feaf675a1e701ce26dadb6813e902c0fb66f9 Mon Sep 17 00:00:00 2001 From: Dino <8dino2@gmail.com> Date: Mon, 4 Sep 2023 21:33:41 -0400 Subject: [PATCH] CleanLevel changes --- actionlite/a_team.cpp | 56 ++++++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/actionlite/a_team.cpp b/actionlite/a_team.cpp index e667f71..38369d6 100644 --- a/actionlite/a_team.cpp +++ b/actionlite/a_team.cpp @@ -1099,27 +1099,38 @@ void CleanLevel () edict_t *ent; base = 1 + game.maxclients + BODY_QUEUE_SIZE; ent = g_edicts + base; + action_weapon_num_t weapNum; + action_item_num_t itemNum; + action_ammo_num_t ammoNum; for (i = base; i < globals.num_edicts; i++, ent++) { if (!ent->classname) continue; - switch (ent->typeNum) { - case IT_WEAPON_MK23: - case IT_WEAPON_MP5: - case IT_WEAPON_M4: - case IT_WEAPON_M3: - case IT_WEAPON_HANDCANNON: - case IT_WEAPON_SNIPER: - case IT_WEAPON_DUALMK23: - case IT_WEAPON_KNIFE: + switch (weapNum) { + case MK23_NUM: + case MP5_NUM: + case M4_NUM: + case M3_NUM: + case HC_NUM: + case SNIPER_NUM: + case DUAL_NUM: + case KNIFE_NUM: case GRENADE_NUM: - case IT_ITEM_SLIPPERS: - case IT_ITEM_SLIPPERS: - case IT_ITEM_BANDOLIER: - case IT_ITEM_VEST: - case IT_ITEM_LASERSIGHT: - case IT_ITEM_HELM: + G_FreeEdict( ent ); + break; + } + switch (itemNum) { + case SIL_NUM: + case SLIP_NUM: + case BAND_NUM: + case KEV_NUM: + case LASER_NUM: + case HELM_NUM: + G_FreeEdict( ent ); + break; + } + switch (ammoNum) { case MK23_ANUM: case MP5_ANUM: case M4_ANUM: @@ -1127,14 +1138,15 @@ void CleanLevel () case SNIPER_ANUM: G_FreeEdict( ent ); break; - default: - if((ent->die == gib_die) - || (strcmp( ent->classname, "medkit" ) == 0) - || (strcmp( ent->classname, "decal" ) == 0) - || (strcmp( ent->classname, "splat" ) == 0) - || (strcmp( ent->classname, "shell" ) == 0)) - G_FreeEdict( ent ); } + + if((ent->die == gib_die) + || (strcmp( ent->classname, "medkit" ) == 0) + || (strcmp( ent->classname, "decal" ) == 0) + || (strcmp( ent->classname, "splat" ) == 0) + || (strcmp( ent->classname, "shell" ) == 0)) + G_FreeEdict( ent ); + } CleanBodies();