]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/compat/quake3.qc
Remove autocvar_sv_q3defragcompat and use 1 bitfield to track .arena and .defi files
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / compat / quake3.qc
index f7b77d83d1c0a839a13a9b4ead1fe061eb7abaf8..4f2b380ddd0e5b9828a807c6ad3524f5785bab5b 100644 (file)
  NOTE: for best experience, you need to swap MGs with SGs in the map or it won't have a MG
 */
 
-bool q3compat_arena(string mapname)
-{
-       if(fexists(strcat("scripts/", mapname, ".arena"))) return true;
-
-       return false;
-}
-
 // SG -> MG || SG
-SPAWNFUNC_ITEM_COND(ammo_shells, q3compat_arena(mapname), ITEM_Bullets, ITEM_Shells)
-SPAWNFUNC_WEAPON_COND(weapon_shotgun, q3compat_arena(mapname), WEP_MACHINEGUN, WEP_SHOTGUN)
+SPAWNFUNC_ITEM_COND(ammo_shells, q3compat & BIT(0), ITEM_Bullets, ITEM_Shells)
+SPAWNFUNC_WEAPON_COND(weapon_shotgun, q3compat & BIT(0), WEP_MACHINEGUN, WEP_SHOTGUN)
 
 // MG -> SG || MG
-SPAWNFUNC_ITEM_COND(ammo_bullets, q3compat_arena(mapname), ITEM_Shells, ITEM_Bullets)
+SPAWNFUNC_ITEM_COND(ammo_bullets, q3compat & BIT(0), ITEM_Shells, ITEM_Bullets)
 
 // GL -> Mortar
 SPAWNFUNC_ITEM(ammo_grenades, ITEM_Rockets)
@@ -63,7 +56,7 @@ SPAWNFUNC_WEAPON(weapon_chaingun, WEP_HLAC)
 SPAWNFUNC_ITEM(ammo_belt, ITEM_Cells)
 
 // Team Arena Nailgun -> Crylink || Quake Nailgun -> Electro
-SPAWNFUNC_WEAPON_COND(weapon_nailgun, q3compat_arena(mapname), WEP_CRYLINK, WEP_ELECTRO)
+SPAWNFUNC_WEAPON_COND(weapon_nailgun, q3compat & BIT(0), WEP_CRYLINK, WEP_ELECTRO)
 SPAWNFUNC_ITEM(ammo_nails, ITEM_Cells)
 
 // LG -> Electro
@@ -294,9 +287,11 @@ bool DoesQ3ARemoveThisEntity(entity this)
        // Xonotic is usually played with a CPM-based physics so we default to CPM mode
        if(cvar_string("g_mod_physics") == "Q3")
        {
-               if(this.notvq3) return true;
+               if(this.notvq3)
+                       return true;
        }
-       else if(this.notcpm) return true;
+       else if(this.notcpm)
+               return true;
 
        // Q3 mappers use "notq3a" or "notta" to disable an entity in Q3A or Q3TA
        // Xonotic has ~equivalent features to Team Arena