From 181592a0e3642dec2c430247215197a65d52f783 Mon Sep 17 00:00:00 2001
From: TimeServ <timeserv@users.sourceforge.net>
Date: Thu, 11 May 2006 02:30:13 +0000
Subject: [PATCH] attempted fix for linux, added stupid hack for gl_fb_models
 1;r_fullbrightskins 1, changed allow fbskins logic, r_fullbrightskins
 defaults to 0

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2273 fc73d0e0-1445-4013-8a0c-d673dee63da5
---
 engine/client/cl_main.c    |  7 +++--
 engine/client/renderer.c   |  9 +++---
 engine/gl/gl_alias.c       | 19 +++++++++++--
 engine/gl/gl_vidlinuxglx.c |  2 +-
 engine/sw/r_main.c         | 58 ++++++++++++++++++++++----------------
 5 files changed, 60 insertions(+), 35 deletions(-)

diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c
index ac186b52a..111ab961b 100644
--- a/engine/client/cl_main.c
+++ b/engine/client/cl_main.c
@@ -1320,6 +1320,7 @@ void CL_CheckServerInfo(void)
 #ifdef FISH
 	cls.allow_fish=false;
 #endif
+	cls.allow_fbskins = 1;
 //	cls.allow_fbskins = 0;
 //	cls.allow_overbrightlight;
 	if (cls.demoplayback || atoi(Info_ValueForKey(cl.serverinfo, "rearview")))
@@ -1352,10 +1353,10 @@ void CL_CheckServerInfo(void)
 #endif
 
 	s = Info_ValueForKey(cl.serverinfo, "fbskins");
-	if (cls.demoplayback || *s)
+	if (*s)
 		cls.allow_fbskins = atof(s);
-	else
-		cls.allow_fbskins = 1;
+	else if (cl.teamfortress)
+		cls.allow_fbskins = 0;
 
 	s = Info_ValueForKey(cl.serverinfo, "*cheats");
 	if (cls.demoplayback || !stricmp(s, "on"))
diff --git a/engine/client/renderer.c b/engine/client/renderer.c
index a5c8e0c32..48bb59065 100644
--- a/engine/client/renderer.c
+++ b/engine/client/renderer.c
@@ -118,9 +118,9 @@ cvar_t	r_part_rain	= SCVARF("r_part_rain", "0", CVAR_ARCHIVE);
 
 cvar_t	r_bouncysparks	= SCVARF("r_bouncysparks", "0", CVAR_ARCHIVE);
 
-cvar_t	r_fullbrightSkins	= SCVARF("r_fullbrightSkins", "1",	CVAR_SEMICHEAT);
-cvar_t	r_fb_models		= SCVARF("gl_fb_models", "1", CVAR_SEMICHEAT|CVAR_RENDERERLATCH);	//as it can highlight the gun a little... ooo nooo....
-cvar_t	r_fb_bmodels	= SCVARF("gl_fb_bmodels", "1", CVAR_SEMICHEAT|CVAR_RENDERERLATCH);	//as it can highlight the gun a little... ooo nooo....
+cvar_t	r_fullbrightSkins	= SCVARF("r_fullbrightSkins", "0",	CVAR_SEMICHEAT);
+cvar_t	r_fb_models		= FCVAR("r_fb_models", "gl_fb_models", "1", CVAR_SEMICHEAT|CVAR_RENDERERLATCH);
+cvar_t	r_fb_bmodels	= SCVARF("gl_fb_bmodels", "1", CVAR_SEMICHEAT|CVAR_RENDERERLATCH);
 
 cvar_t	r_shadow_bumpscale_basetexture	= SCVAR("r_shadow_bumpscale_basetexture", "4");
 cvar_t	r_shadow_bumpscale_bumpmap	= SCVAR("r_shadow_bumpscale_bumpmap", "10");
@@ -355,7 +355,6 @@ void GLRenderer_Init(void)
 	Cvar_Register (&gl_overbright, GRAPHICALNICETIES);
 	Cvar_Register (&gl_overbright_all, GRAPHICALNICETIES);
 	Cvar_Register (&gl_dither, GRAPHICALNICETIES);
-	Cvar_Register (&r_fb_models, GRAPHICALNICETIES);
 	Cvar_Register (&r_fb_bmodels, GRAPHICALNICETIES);
 
 	Cvar_Register (&gl_ati_truform, GRAPHICALNICETIES);
@@ -569,6 +568,8 @@ void Renderer_Init(void)
 	Cvar_Register (&r_drawflat, GRAPHICALNICETIES);
 	Cvar_Register (&r_menutint, GRAPHICALNICETIES);
 
+	Cvar_Register (&r_fb_models, GRAPHICALNICETIES);
+
 //bulletens
 	Cvar_Register(&bul_nowater, BULLETENVARS);
 	Cvar_Register(&bul_rippleamount, BULLETENVARS);
diff --git a/engine/gl/gl_alias.c b/engine/gl/gl_alias.c
index 75c471ab8..b96d7c3e2 100644
--- a/engine/gl/gl_alias.c
+++ b/engine/gl/gl_alias.c
@@ -1723,10 +1723,23 @@ void R_DrawGAliasModel (entity_t *e)
 			fb = 0;
 		if (fb)
 		{
-			for (i = 0; i < 3; i++)
+			extern cvar_t r_fb_models;
+
+			if (fb >= 1 && r_fb_models.value)
 			{
-				ambientlight[i] = max(ambientlight[i], 8 + fb * 120);
-				shadelight[i] = max(shadelight[i], 8 + fb * 120);
+				for (i = 0; i < 3; i++)
+				{
+					ambientlight[i] = 4096;
+					shadelight[i] = 4096;
+				}
+			}
+			else
+			{
+				for (i = 0; i < 3; i++)
+				{
+					ambientlight[i] = max(ambientlight[i], 8 + fb * 120);
+					shadelight[i] = max(shadelight[i], 8 + fb * 120);
+				}
 			}
 		}
 		for (i = 0; i < 3; i++)
diff --git a/engine/gl/gl_vidlinuxglx.c b/engine/gl/gl_vidlinuxglx.c
index 3ad9cb5cc..a14038b9b 100644
--- a/engine/gl/gl_vidlinuxglx.c
+++ b/engine/gl/gl_vidlinuxglx.c
@@ -950,11 +950,11 @@ void Force_CenterView_f (void)
 	cl.viewangles[0][PITCH] = 0;
 }
 
+#ifndef SWQUAKE
 void IN_ReInit(void)
 {
 }
 
-#ifndef SWQUAKE
 void IN_Init(void)
 {
 #ifdef IN_XFLIP
diff --git a/engine/sw/r_main.c b/engine/sw/r_main.c
index 836674160..bb76062b8 100644
--- a/engine/sw/r_main.c
+++ b/engine/sw/r_main.c
@@ -750,6 +750,7 @@ void SWR_DrawEntitiesOnList (void)
 			{
 				float *org;
 				extern cvar_t r_fullbrightSkins;
+				extern cvar_t r_fb_models;
 				float fb = r_fullbrightSkins.value;
 				if (fb > cls.allow_fbskins)
 					fb = cls.allow_fbskins;
@@ -761,32 +762,41 @@ void SWR_DrawEntitiesOnList (void)
 				else
 					org = currententity->origin;
 
-				j = SWR_LightPoint (org);
-	
-				lighting.ambientlight = j+fb * 120;
-				lighting.shadelight = j+fb * 120;
-
-				lighting.plightvec = lightvec;
-
-				for (lnum=0 ; lnum<MAX_DLIGHTS ; lnum++)
+				if (fb >= 1 && r_fb_models.value)
 				{
-					if (cl_dlights[lnum].radius)
-					{
-						VectorSubtract (org,
-										cl_dlights[lnum].origin,
-										dist);
-						add = cl_dlights[lnum].radius - Length(dist);
-	
-						if (add > 0)
-							lighting.ambientlight += add;
-					}
+					lighting.ambientlight = 4096;
+					lighting.shadelight = 4096;
+					lighting.plightvec = lightvec;
+				}
+				else
+				{
+					j = SWR_LightPoint (org);
+		
+					lighting.ambientlight = j+fb * 120;
+					lighting.shadelight = j+fb * 120;
+
+					lighting.plightvec = lightvec;
+
+					for (lnum=0 ; lnum<MAX_DLIGHTS ; lnum++)
+					{
+						if (cl_dlights[lnum].radius)
+						{
+							VectorSubtract (org,
+											cl_dlights[lnum].origin,
+											dist);
+							add = cl_dlights[lnum].radius - Length(dist);
+		
+							if (add > 0)
+								lighting.ambientlight += add;
+						}
+					}
+		
+				// clamp lighting so it doesn't overbright as much
+					if (lighting.ambientlight > 128)
+						lighting.ambientlight = 128;
+					if (lighting.ambientlight + lighting.shadelight > 192)
+						lighting.shadelight = 192 - lighting.ambientlight;
 				}
-	
-			// clamp lighting so it doesn't overbright as much
-				if (lighting.ambientlight > 128)
-					lighting.ambientlight = 128;
-				if (lighting.ambientlight + lighting.shadelight > 192)
-					lighting.shadelight = 192 - lighting.ambientlight;
 
 				R_AliasDrawModel (&lighting);
 			}