From 5c6b15a2d544c7cc820b4868018287ba51179dd4 Mon Sep 17 00:00:00 2001
From: bones_was_here <bones_was_here@yahoo.com.au>
Date: Fri, 10 Jul 2020 21:03:47 +1000
Subject: [PATCH] q3df compat: add notcpm and notvq3 map entity key support

---
 qcsrc/server/compat/quake3.qc | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/qcsrc/server/compat/quake3.qc b/qcsrc/server/compat/quake3.qc
index 5d9a47d79e..91288baaaa 100644
--- a/qcsrc/server/compat/quake3.qc
+++ b/qcsrc/server/compat/quake3.qc
@@ -259,11 +259,20 @@ spawnfunc(target_fragsFilter)
 .bool notsingle;
 .bool notfree;
 .bool notta;
+.bool notvq3;
+.bool notcpm;
 .string gametype;
 bool DoesQ3ARemoveThisEntity(entity this)
 {
 	// Q3 style filters (DO NOT USE, THIS IS COMPAT ONLY)
 
+	// DeFRaG mappers use "notcpm" or "notvq3" to disable an entity in CPM or VQ3 physics
+	// 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;
+	}
+	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
 	if(this.notta)
-- 
2.39.5