From f4044af50396437b6b54622e7ba8580d16c9b958 Mon Sep 17 00:00:00 2001
From: Marco Cawthorne <marco@vera-visions.com>
Date: Fri, 23 Jun 2023 15:06:54 -0700
Subject: [PATCH] Fix compilation of the 'nocompat' build config.

---
 engine/client/net_master.c | 2 ++
 engine/common/gl_q2bsp.c   | 9 +++++++--
 engine/gl/gl_shadow.c      | 6 ++++++
 engine/server/sv_user.c    | 3 +++
 4 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/engine/client/net_master.c b/engine/client/net_master.c
index 8409a1ba2..83784b2e8 100644
--- a/engine/client/net_master.c
+++ b/engine/client/net_master.c
@@ -3387,7 +3387,9 @@ static int CL_ReadServerInfo(char *msg, enum masterprotocol_e prototype, qboolea
 		else if (prototype == MP_NETQUAKE)
 			info->special |= SS_NETQUAKE;
 #endif
+#if defined(Q2CLIENT) || defined(Q3CLIENT) || defined(NQPROT)
 		else
+#endif
 			info->special |= SS_QUAKEWORLD;
 	}
 	if (favorite)	//was specifically named, not retrieved from a master.
diff --git a/engine/common/gl_q2bsp.c b/engine/common/gl_q2bsp.c
index 20f4718a6..ebb91f491 100644
--- a/engine/common/gl_q2bsp.c
+++ b/engine/common/gl_q2bsp.c
@@ -207,7 +207,9 @@ void Mod_SortShaders(model_t *mod)
 
 #if defined(Q2BSPS) || defined(Q3BSPS)
 
+#ifdef IMAGEFMT_PCX
 qbyte *ReadPCXPalette(qbyte *buf, int len, qbyte *out);
+#endif
 
 #ifdef SERVERONLY
 #define Host_Error SV_Error
@@ -4118,7 +4120,8 @@ static qboolean CModRBSP_LoadLightgrid (model_t *loadmodel, qbyte *mod_base, lum
 #endif
 #endif
 
-#if !defined(SERVERONLY) && defined(Q2BSPS)
+#if !defined(SERVERONLY) && (defined(Q2BSPS) || defined(Q3BSPS))
+#ifdef IMAGEFMT_PCX
 qbyte *ReadPCXPalette(qbyte *buf, int len, qbyte *out);
 static int CM_GetQ2Palette (void)
 {
@@ -4136,6 +4139,7 @@ static int CM_GetQ2Palette (void)
 		FS_FreeFile(f);
 		return -1;
 	}
+
 	FS_FreeFile(f);
 
 
@@ -4164,6 +4168,7 @@ static int CM_GetQ2Palette (void)
 	return 0;
 }
 #endif
+#endif
 
 #if 0
 static void CM_OpenAllPortals(model_t *mod, char *ents)	//this is a compleate hack. About as compleate as possible.
@@ -4917,7 +4922,7 @@ static cmodel_t *CM_LoadMap (model_t *mod, qbyte *filein, size_t filelen, qboole
 		}
 		BSPX_Setup(mod, mod_base, filelen, header.lumps, i);
 
-#ifdef HAVE_CLIENT
+#if defined(HAVE_CLIENT) && defined(IMAGEFMT_PCX)
 		if (CM_GetQ2Palette())
 			memcpy(q2_palette, host_basepal, 768);
 #endif
diff --git a/engine/gl/gl_shadow.c b/engine/gl/gl_shadow.c
index 1c3391173..59a5a2b41 100644
--- a/engine/gl/gl_shadow.c
+++ b/engine/gl/gl_shadow.c
@@ -835,6 +835,7 @@ static void SHM_RecursiveWorldNodeQ1_r (dlight_t *dl, mnode_t *node)
 	SHM_RecursiveWorldNodeQ1_r (dl, node->children[!side]);
 }
 
+#ifdef Q1BSPS
 void CategorizePlane ( mplane_t *plane );
 static void SHM_OrthoWorldLeafsQ1 (dlight_t *dl)
 {
@@ -934,7 +935,9 @@ void Q1BSP_GenerateShadowMesh(model_t *model, dlight_t *dl, const qbyte *lightvi
 		SHM_RecursiveWorldNodeQ1_r(dl, cl.worldmodel->nodes);
 	}
 }
+#endif
 
+#ifdef Q3BSPS
 static void SHM_OrthoWorldLeafsQ3 (dlight_t *dl)
 {
 	int			c, i;
@@ -992,6 +995,7 @@ static void SHM_OrthoWorldLeafsQ3 (dlight_t *dl)
 next:;
 	}
 }
+#endif
 
 #ifdef Q2BSPS
 static void SHM_RecursiveWorldNodeQ2_r (dlight_t *dl, mnode_t *node)
@@ -1722,6 +1726,7 @@ static struct shadowmesh_s *SHM_BuildShadowMesh(dlight_t *dl, unsigned char *lvi
 	{
 		switch(cl.worldmodel->fromgame)
 		{
+#ifdef Q1BSPS
 		case fg_quake:
 		case fg_halflife:
 			if (type == SMT_ORTHO)
@@ -1732,6 +1737,7 @@ static struct shadowmesh_s *SHM_BuildShadowMesh(dlight_t *dl, unsigned char *lvi
 				SHM_RecursiveWorldNodeQ1_r(dl, cl.worldmodel->nodes);
 			}
 			break;
+#endif
 		default:
 			sh_shadowframe++;
 
diff --git a/engine/server/sv_user.c b/engine/server/sv_user.c
index 3551ca871..76693478f 100644
--- a/engine/server/sv_user.c
+++ b/engine/server/sv_user.c
@@ -6409,7 +6409,10 @@ ucmd_t ucmds[] =
 	{"sayone",		SV_SayOne_f},
 	{"say",			SV_Say_f},
 	{"say_team",	SV_Say_Team_f},
+#ifdef NQPROT
 	{"status",		SVNQ_Status_f},
+#endif
+
 #ifdef SVRANKING
 	{"topten",		Rank_ListTop10_f},
 #endif