[PATCH] Use r_worldentity in NQ

Remove another difference in the NQ/QW clients by using r_worldentity in
both. Was already done for GLQuake, but not software - now fixed.

diff -urN -X exclude a/NQ/r_main.c head/NQ/r_main.c
--- a/NQ/r_main.c	2006-05-28 15:16:22.000000000 +0930
+++ head/NQ/r_main.c	2006-05-28 17:27:37.000000000 +0930
@@ -63,6 +63,8 @@
 static byte *r_stack_start;
 static qboolean r_fov_greater_than_90;
 
+entity_t r_worldentity;
+
 //
 // view origin
 //
@@ -277,6 +279,9 @@
 {
     int i;
 
+    memset(&r_worldentity, 0, sizeof(r_worldentity));
+    r_worldentity.model = cl.worldmodel;
+
 // clear out efrags in case the level hasn't been reloaded
 // FIXME: is this one short?
     for (i = 0; i < cl.worldmodel->numleafs; i++)
@@ -949,7 +954,7 @@
     // match what's done in screen.c
     Sys_LowFPPrecision();
 
-    if (!cl_entities[0].model || !cl.worldmodel)
+    if (!r_worldentity.model || !cl.worldmodel)
 	Sys_Error("%s: NULL worldmodel", __func__);
 
     if (!r_dspeeds.value) {
diff -urN -X exclude a/NQ/render.h head/NQ/render.h
--- a/NQ/render.h	2004-07-25 15:59:54.000000000 +0930
+++ head/NQ/render.h	2006-05-28 17:19:26.000000000 +0930
@@ -113,6 +113,7 @@
 
 extern struct texture_s *r_notexture_mip;
 
+extern entity_t r_worldentity;
 
 void R_Init(void);
 void R_InitTextures(void);
diff -urN -X exclude a/common/d_edge.c head/common/d_edge.c
--- a/common/d_edge.c	2004-07-25 16:00:00.000000000 +0930
+++ head/common/d_edge.c	2006-05-28 17:31:45.000000000 +0930
@@ -179,12 +179,7 @@
     vec3_t world_transformed_modelorg;
     vec3_t local_modelorg;
 
-#ifdef NQ_HACK
-    currententity = &cl_entities[0];
-#endif
-#ifdef QW_HACK
     currententity = &r_worldentity;
-#endif
     TransformVector(modelorg, transformed_modelorg);
     VectorCopy(transformed_modelorg, world_transformed_modelorg);
 
@@ -264,12 +259,7 @@
 		    // FIXME: we don't want to do this every time!
 		    // TODO: speed up
 		    //
-#ifdef NQ_HACK
-		    currententity = &cl_entities[0];
-#endif
-#ifdef QW_HACK
 		    currententity = &r_worldentity;
-#endif
 		    VectorCopy(world_transformed_modelorg,
 			       transformed_modelorg);
 		    VectorCopy(base_vpn, vpn);
@@ -314,9 +304,7 @@
 		    // FIXME: we don't want to do this every time!
 		    // TODO: speed up
 		    //
-#ifdef NQ_HACK
-		    currententity = &cl_entities[0];
-#endif
+		    currententity = &r_worldentity;
 		    VectorCopy(world_transformed_modelorg,
 			       transformed_modelorg);
 		    VectorCopy(base_vpn, vpn);
@@ -324,9 +312,6 @@
 		    VectorCopy(base_vright, vright);
 		    VectorCopy(base_modelorg, modelorg);
 		    R_TransformFrustum();
-#ifdef QW_HACK
-		    currententity = &r_worldentity;
-#endif
 		}
 	    }
 	}
diff -urN -X exclude a/common/r_bsp.c head/common/r_bsp.c
--- a/common/r_bsp.c	2006-05-28 15:16:22.000000000 +0930
+++ head/common/r_bsp.c	2006-05-28 17:33:36.000000000 +0930
@@ -591,12 +591,7 @@
 
     pbtofpolys = btofpolys;
 
-#ifdef NQ_HACK
-    currententity = &cl_entities[0];
-#endif
-#ifdef QW_HACK
     currententity = &r_worldentity;
-#endif
     VectorCopy(r_origin, modelorg);
     clmodel = currententity->model;
     r_pcurrentvertbase = clmodel->vertexes;
diff -urN -X exclude a/common/r_edge.c head/common/r_edge.c
--- a/common/r_edge.c	2006-05-13 18:33:07.000000000 +0930
+++ head/common/r_edge.c	2006-05-28 17:33:22.000000000 +0930
@@ -85,13 +85,7 @@
     surf_t *s;
     msurface_t *pface;
 
-#ifdef NQ_HACK
-    currententity = &cl_entities[0];
-#endif
-#ifdef QW_HACK
     currententity = &r_worldentity;
-#endif
-
     if (r_worldpolysbacktofront) {
 	for (s = surface_p - 1; s > &surfaces[1]; s--) {
 	    if (!s->spans)
