r4801 - in trunk/data: models/sprites qcsrc/client qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Oct 22 03:34:09 EDT 2008


Author: div0
Date: 2008-10-22 03:34:05 -0400 (Wed, 22 Oct 2008)
New Revision: 4801

Added:
   trunk/data/models/sprites/ons-cp-atck-blue_frame0.tga
   trunk/data/models/sprites/ons-cp-atck-blue_frame1.tga
   trunk/data/models/sprites/ons-cp-atck-neut_frame0.tga
   trunk/data/models/sprites/ons-cp-atck-neut_frame1.tga
   trunk/data/models/sprites/ons-cp-atck-red_frame0.tga
   trunk/data/models/sprites/ons-cp-atck-red_frame1.tga
   trunk/data/models/sprites/ons-cp-dfnd-blue_frame0.tga
   trunk/data/models/sprites/ons-cp-dfnd-blue_frame1.tga
   trunk/data/models/sprites/ons-cp-dfnd-red_frame0.tga
   trunk/data/models/sprites/ons-cp-dfnd-red_frame1.tga
Removed:
   trunk/data/models/sprites/ons-cp-atck-blue.tga
   trunk/data/models/sprites/ons-cp-atck-neut.tga
   trunk/data/models/sprites/ons-cp-atck-red.tga
   trunk/data/models/sprites/ons-cp-dfnd-blue.tga
   trunk/data/models/sprites/ons-cp-dfnd-red.tga
Modified:
   trunk/data/qcsrc/client/Defs.qc
   trunk/data/qcsrc/client/Main.qc
   trunk/data/qcsrc/client/waypointsprites.qc
   trunk/data/qcsrc/server/keyhunt.qc
   trunk/data/qcsrc/server/mode_onslaught.qc
   trunk/data/qcsrc/server/waypointsprites.qc
Log:
onslaught sprite code is back, now using csqc. no radar support yet, but that will be easy.


Deleted: trunk/data/models/sprites/ons-cp-atck-blue.tga
===================================================================
(Binary files differ)

Added: trunk/data/models/sprites/ons-cp-atck-blue_frame0.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-atck-blue_frame0.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/data/models/sprites/ons-cp-atck-blue_frame1.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-atck-blue_frame1.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: trunk/data/models/sprites/ons-cp-atck-neut.tga
===================================================================
(Binary files differ)

Added: trunk/data/models/sprites/ons-cp-atck-neut_frame0.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-atck-neut_frame0.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/data/models/sprites/ons-cp-atck-neut_frame1.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-atck-neut_frame1.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: trunk/data/models/sprites/ons-cp-atck-red.tga
===================================================================
(Binary files differ)

Added: trunk/data/models/sprites/ons-cp-atck-red_frame0.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-atck-red_frame0.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/data/models/sprites/ons-cp-atck-red_frame1.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-atck-red_frame1.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: trunk/data/models/sprites/ons-cp-dfnd-blue.tga
===================================================================
(Binary files differ)

Added: trunk/data/models/sprites/ons-cp-dfnd-blue_frame0.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-dfnd-blue_frame0.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/data/models/sprites/ons-cp-dfnd-blue_frame1.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-dfnd-blue_frame1.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: trunk/data/models/sprites/ons-cp-dfnd-red.tga
===================================================================
(Binary files differ)

Added: trunk/data/models/sprites/ons-cp-dfnd-red_frame0.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-dfnd-red_frame0.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/data/models/sprites/ons-cp-dfnd-red_frame1.tga
===================================================================
(Binary files differ)


Property changes on: trunk/data/models/sprites/ons-cp-dfnd-red_frame1.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/data/qcsrc/client/Defs.qc
===================================================================
--- trunk/data/qcsrc/client/Defs.qc	2008-10-22 06:16:35 UTC (rev 4800)
+++ trunk/data/qcsrc/client/Defs.qc	2008-10-22 07:34:05 UTC (rev 4801)
@@ -205,3 +205,6 @@
 
 // short mapname
 string shortmapname;
+
+// database for misc stuff
+float tempdb;

Modified: trunk/data/qcsrc/client/Main.qc
===================================================================
--- trunk/data/qcsrc/client/Main.qc	2008-10-22 06:16:35 UTC (rev 4800)
+++ trunk/data/qcsrc/client/Main.qc	2008-10-22 07:34:05 UTC (rev 4801)
@@ -73,6 +73,7 @@
 
 	configdb = db_create();
 	binddb = db_create();
+	tempdb = db_create();
 	compressShortVector_init();
 
 	drawfont = 0;
@@ -146,6 +147,7 @@
 	remove(players);
 	db_close(configdb);
 	db_close(binddb);
+	db_close(tempdb);
 
 	cvar_clientsettemp_restore();
 }

Modified: trunk/data/qcsrc/client/waypointsprites.qc
===================================================================
--- trunk/data/qcsrc/client/waypointsprites.qc	2008-10-22 06:16:35 UTC (rev 4800)
+++ trunk/data/qcsrc/client/waypointsprites.qc	2008-10-22 07:34:05 UTC (rev 4801)
@@ -11,6 +11,7 @@
 	return vec;
 }
 
+float waypointsprite_initialized;
 float waypointsprite_fadedistance;
 float waypointsprite_normdistance;
 float waypointsprite_minscale;
@@ -101,7 +102,9 @@
 				spriteimage = self.netname;
 			break;
 		case SPRITERULE_TEAMPLAY:
-			if(self.team == t)
+			if(t == COLOR_SPECTATOR + 1)
+				spriteimage = self.netname3;
+			else if(self.team == t)
 				spriteimage = self.netname2;
 			else
 				spriteimage = self.netname;
@@ -181,7 +184,14 @@
 
 	float vidscale;
 	vidscale = max(vid_conwidth / vid_width, vid_conheight / vid_height);
-	drawrotpic(o, rot * 90 * DEG2RAD, strcat("models/sprites/", spriteimage), SPRITE_SIZE * waypointsprite_scale * vidscale, SPRITE_HOTSPOT * waypointsprite_scale * vidscale, '1 1 1', a, 0);
+
+	t = stof(db_get(tempdb, strcat("/spriteframes/", spriteimage)));
+	if(t == 0)
+		spriteimage = strcat("models/sprites/", spriteimage);
+	else
+		spriteimage = strcat("models/sprites/", spriteimage, "_frame", ftos(mod(floor(time * 2), t)));
+
+	drawrotpic(o, rot * 90 * DEG2RAD, spriteimage, SPRITE_SIZE * waypointsprite_scale * vidscale, SPRITE_HOTSPOT * waypointsprite_scale * vidscale, '1 1 1', a, DRAWFLAG_MIPMAP);
 }
 
 void Ent_WaypointSprite()
@@ -268,4 +278,29 @@
 	waypointsprite_scale = cvar("g_waypointsprite_scale");
 	if(!waypointsprite_scale)
 		waypointsprite_scale = 1.0;
+
+	if(!waypointsprite_initialized)
+	{
+		float dh, n, i, o, f;
+		string s, sname, sframes;
+		dh = search_begin("models/sprites/*_frame*.tga", FALSE, FALSE);
+		n = search_getsize(dh);
+		for(i = 0; i < n; ++i)
+		{
+			s = search_getfilename(dh, i);
+			if(substring(s, 0, 15) != "models/sprites/")
+				continue;
+			if(substring(s, strlen(s) - 4, 4) != ".tga")
+				continue;
+			s = substring(s, 15, strlen(s) - 19);
+
+			o = strstrofs(s, "_frame", 0);
+			sname = strcat("/spriteframes/", substring(s, 0, o));
+			sframes = substring(s, o + 6, strlen(s) - o - 6);
+			f = stof(sframes) + 1;
+			db_put(tempdb, sname, ftos(max(f, stof(db_get(tempdb, sname)))));
+		}
+		search_end(dh);
+	}
+	waypointsprite_initialized = 1;
 }

Modified: trunk/data/qcsrc/server/keyhunt.qc
===================================================================
--- trunk/data/qcsrc/server/keyhunt.qc	2008-10-22 06:16:35 UTC (rev 4800)
+++ trunk/data/qcsrc/server/keyhunt.qc	2008-10-22 07:34:05 UTC (rev 4801)
@@ -307,13 +307,13 @@
 			player.waypointsprite_attachedforcarrier.waypointsprite_visible_for_player = kh_KeyCarrier_waypointsprite_visible_for_player;
 			WaypointSprite_UpdateRule(player.waypointsprite_attachedforcarrier, player.team, SPRITERULE_TEAMPLAY);
 			if(player.team == COLOR_TEAM1)
-				WaypointSprite_UpdateSprites(player.waypointsprite_attachedforcarrier, "keycarrier-red", "keycarrier-friend", "");
+				WaypointSprite_UpdateSprites(player.waypointsprite_attachedforcarrier, "keycarrier-red", "keycarrier-friend", "keycarrier-red");
 			else if(player.team == COLOR_TEAM2)
-				WaypointSprite_UpdateSprites(player.waypointsprite_attachedforcarrier, "keycarrier-blue", "keycarrier-friend", "");
+				WaypointSprite_UpdateSprites(player.waypointsprite_attachedforcarrier, "keycarrier-blue", "keycarrier-friend", "keycarrier-blue");
 			else if(player.team == COLOR_TEAM3)
-				WaypointSprite_UpdateSprites(player.waypointsprite_attachedforcarrier, "keycarrier-yellow", "keycarrier-friend", "");
+				WaypointSprite_UpdateSprites(player.waypointsprite_attachedforcarrier, "keycarrier-yellow", "keycarrier-friend", "keycarrier-yellow");
 			else if(player.team == COLOR_TEAM4)
-				WaypointSprite_UpdateSprites(player.waypointsprite_attachedforcarrier, "keycarrier-pink", "keycarrier-friend", "");
+				WaypointSprite_UpdateSprites(player.waypointsprite_attachedforcarrier, "keycarrier-pink", "keycarrier-friend", "keycarrier-pink");
 			WaypointSprite_UpdateTeamRadar(player.waypointsprite_attachedforcarrier, RADARICON_FLAGCARRIER, colormapPaletteColor(player.team - 1, 0));
 			if(!kh_no_radar_circles)
 				WaypointSprite_Ping(player.waypointsprite_attachedforcarrier);
@@ -339,7 +339,7 @@
 			FOR_EACH_KH_KEY(k)
 			{
 				if(k.owner)
-					WaypointSprite_UpdateSprites(k.owner.waypointsprite_attachedforcarrier, k.owner.waypointsprite_attachedforcarrier.model, "keycarrier-finish", "");
+					WaypointSprite_UpdateSprites(k.owner.waypointsprite_attachedforcarrier, k.owner.waypointsprite_attachedforcarrier.model, "keycarrier-finish", k.owner.waypointsprite_attachedforcarrier.model);
 			}
 		}
 		else
@@ -350,7 +350,7 @@
 			FOR_EACH_KH_KEY(k)
 			{
 				if(k.owner)
-					WaypointSprite_UpdateSprites(k.owner.waypointsprite_attachedforcarrier, k.owner.waypointsprite_attachedforcarrier.model, "keycarrier-friend", "");
+					WaypointSprite_UpdateSprites(k.owner.waypointsprite_attachedforcarrier, k.owner.waypointsprite_attachedforcarrier.model, "keycarrier-friend", k.owner.waypointsprite_attachedforcarrier.model);
 			}
 		}
 	}

Modified: trunk/data/qcsrc/server/mode_onslaught.qc
===================================================================
--- trunk/data/qcsrc/server/mode_onslaught.qc	2008-10-22 06:16:35 UTC (rev 4800)
+++ trunk/data/qcsrc/server/mode_onslaught.qc	2008-10-22 07:34:05 UTC (rev 4801)
@@ -1,3 +1,6 @@
+void onslaught_generator_updatesprite(entity e);
+void onslaught_controlpoint_updatesprite(entity e);
+
 .entity sprite;
 .string target2;
 .float iscaptured;
@@ -9,13 +12,6 @@
 .float isshielded;
 .float lasthealth;
 
-#ifdef YOU_HAVE_FIXED_ONSLAUGHT_WAYPOINTS
-float ons_sprite_cp_red, ons_sprite_cp_blue, ons_sprite_cp_neut;
-float ons_sprite_cp_atck_red, ons_sprite_cp_atck_blue, ons_sprite_cp_atck_neut;
-float ons_sprite_cp_dfnd_red, ons_sprite_cp_dfnd_blue;
-float ons_sprite_gen_red, ons_sprite_gen_blue, ons_sprite_gen_shielded;
-#endif
-
 void onslaught_updatelinks()
 {
 	local entity l, links;
@@ -176,6 +172,7 @@
 				l.goalentity.bot_attack = TRUE;
 			}
 		}
+		onslaught_controlpoint_updatesprite(l);
 		l = l.chain;
 	}
 	// count generators owned by each team
@@ -190,6 +187,7 @@
 			if (l.team == COLOR_TEAM3) t3 = 1;
 			if (l.team == COLOR_TEAM4) t4 = 1;
 		}
+		onslaught_generator_updatesprite(l);
 		l = l.chain;
 	}
 	// see if multiple teams remain (if not, it's game over)
@@ -424,71 +422,86 @@
 	self.nextthink = time;
 };
 
-#ifdef YOU_HAVE_FIXED_ONSLAUGHT_WAYPOINTS
-float onslaught_generator_waypointsprite_for_player(entity e)
+string onslaught_generator_waypointsprite_for_team(entity e, float t)
 {
-	if(e.classname == "player")
-		if(e.team == self.owner.team)
-		{
-			if(self.owner.team == COLOR_TEAM1)
-				return ons_sprite_gen_red;
-			else if(self.owner.team == COLOR_TEAM2)
-				return ons_sprite_gen_blue;
-		}
-	if(self.owner.isshielded)
-		return ons_sprite_gen_shielded;
-	if(self.owner.team == COLOR_TEAM1)
-		return ons_sprite_gen_red;
-	else if(self.owner.team == COLOR_TEAM2)
-		return ons_sprite_gen_blue;
-	return 0;
+	if(t == e.team)
+	{
+		if(e.team == COLOR_TEAM1)
+			return "ons-gen-red";
+		else if(e.team == COLOR_TEAM2)
+			return "ons-gen-blue";
+	}
+	if(e.isshielded)
+		return "ons-gen-shielded";
+	if(e.team == COLOR_TEAM1)
+		return "ons-gen-red";
+	else if(e.team == COLOR_TEAM2)
+		return "ons-gen-blue";
+	return "";
 }
 
-float onslaught_controlpoint_waypointsprite_for_player(entity e)
+void onslaught_generator_updatesprite(entity e)
 {
+	string s1, s2, s3;
+	s1 = onslaught_generator_waypointsprite_for_team(e, COLOR_TEAM1);
+	s2 = onslaught_generator_waypointsprite_for_team(e, COLOR_TEAM2);
+	s3 = onslaught_generator_waypointsprite_for_team(e, -1);
+	WaypointSprite_UpdateSprites(e.sprite, s1, s2, s3);
+}
+
+string onslaught_controlpoint_waypointsprite_for_team(entity e, float t)
+{
 	float a;
-	if(e.classname == "player")
+	if(t != -1)
 	{
-		a = onslaught_controlpoint_attackable(self.owner, e.team);
+		a = onslaught_controlpoint_attackable(e, t);
 		if(a == 3 || a == 4) // ATTACK/TOUCH THIS ONE NOW
 		{
-			if(self.owner.team == COLOR_TEAM1)
-				return ons_sprite_cp_atck_red;
-			else if(self.owner.team == COLOR_TEAM2)
-				return ons_sprite_cp_atck_blue;
+			if(e.team == COLOR_TEAM1)
+				return "ons-cp-atck-red";
+			else if(e.team == COLOR_TEAM2)
+				return "ons-cp-atck-blue";
 			else
-				return ons_sprite_cp_atck_neut;
+				return "ons-cp-atck-neut";
 		}
 		else if(a == -2) // DEFEND THIS ONE NOW
 		{
-			if(self.owner.team == COLOR_TEAM1)
-				return ons_sprite_cp_dfnd_red;
-			else if(self.owner.team == COLOR_TEAM2)
-				return ons_sprite_cp_dfnd_blue;
+			if(e.team == COLOR_TEAM1)
+				return "ons-cp-dfnd-red";
+			else if(e.team == COLOR_TEAM2)
+				return "ons-cp-dfnd-blue";
 		}
-		else if(self.owner.team == e.team || a == -1 || a == 1) // own point, or fire at it
+		else if(e.team == t || a == -1 || a == 1) // own point, or fire at it
 		{
-			if(self.owner.team == COLOR_TEAM1)
-				return ons_sprite_cp_red;
-			else if(self.owner.team == COLOR_TEAM2)
-				return ons_sprite_cp_blue;
+			if(e.team == COLOR_TEAM1)
+				return "ons-cp-red";
+			else if(e.team == COLOR_TEAM2)
+				return "ons-cp-blue";
 		}
 		else if(a == 2) // touch it
-			return ons_sprite_cp_neut;
+			return "ons-cp-neut";
 	}
 	else
 	{
-		if(self.owner.team == COLOR_TEAM1)
-			return ons_sprite_cp_red;
-		else if(self.owner.team == COLOR_TEAM2)
-			return ons_sprite_cp_blue;
+		if(e.team == COLOR_TEAM1)
+			return "ons-cp-red";
+		else if(e.team == COLOR_TEAM2)
+			return "ons-cp-blue";
 		else
-			return ons_sprite_cp_neut;
+			return "ons-cp-neut";
 	}
-	return 0;
+	return "";
 }
-#endif
 
+void onslaught_controlpoint_updatesprite(entity e)
+{
+	string s1, s2, s3;
+	s1 = onslaught_controlpoint_waypointsprite_for_team(e, COLOR_TEAM1);
+	s2 = onslaught_controlpoint_waypointsprite_for_team(e, COLOR_TEAM2);
+	s3 = onslaught_controlpoint_waypointsprite_for_team(e, -1);
+	WaypointSprite_UpdateSprites(e.sprite, s1, s2, s3);
+}
+
 /*QUAKED spawnfunc_onslaught_generator (0 .5 .8) (-32 -32 -24) (32 32 64)
 Base generator.
 
@@ -506,45 +519,6 @@
 		return;
 	}
 
-#ifdef YOU_HAVE_FIXED_ONSLAUGHT_WAYPOINTS
-	if(!ons_sprite_cp_blue)
-	{
-		precache_model("models/sprites/ons-cp-blue.sp2");
-		setmodel(self, "models/sprites/ons-cp-blue.sp2");
-		ons_sprite_cp_blue = self.modelindex;
-		precache_model("models/sprites/ons-cp-red.sp2");
-		setmodel(self, "models/sprites/ons-cp-red.sp2");
-		ons_sprite_cp_red = self.modelindex;
-		precache_model("models/sprites/ons-cp-neut.sp2");
-		setmodel(self, "models/sprites/ons-cp-neut.sp2");
-		ons_sprite_cp_neut = self.modelindex;
-		precache_model("models/sprites/ons-cp-dfnd-blue.sp2");
-		setmodel(self, "models/sprites/ons-cp-dfnd-blue.sp2");
-		ons_sprite_cp_dfnd_blue = self.modelindex;
-		precache_model("models/sprites/ons-cp-dfnd-red.sp2");
-		setmodel(self, "models/sprites/ons-cp-dfnd-red.sp2");
-		ons_sprite_cp_dfnd_red = self.modelindex;
-		precache_model("models/sprites/ons-cp-atck-blue.sp2");
-		setmodel(self, "models/sprites/ons-cp-atck-blue.sp2");
-		ons_sprite_cp_atck_blue = self.modelindex;
-		precache_model("models/sprites/ons-cp-atck-red.sp2");
-		setmodel(self, "models/sprites/ons-cp-atck-red.sp2");
-		ons_sprite_cp_atck_red = self.modelindex;
-		precache_model("models/sprites/ons-cp-atck-neut.sp2");
-		setmodel(self, "models/sprites/ons-cp-atck-neut.sp2");
-		ons_sprite_cp_atck_neut = self.modelindex;
-		precache_model("models/sprites/ons-gen-blue.sp2");
-		setmodel(self, "models/sprites/ons-gen-blue.sp2");
-		ons_sprite_gen_blue = self.modelindex;
-		precache_model("models/sprites/ons-gen-red.sp2");
-		setmodel(self, "models/sprites/ons-gen-red.sp2");
-		ons_sprite_gen_red = self.modelindex;
-		precache_model("models/sprites/ons-gen-shielded.sp2");
-		setmodel(self, "models/sprites/ons-gen-shielded.sp2");
-		ons_sprite_gen_shielded = self.modelindex;
-	}
-#endif
-
 	local entity e;
 	precache_model("models/onslaught/generator.md3");
 	precache_model("models/onslaught/generator_shield.md3");
@@ -581,10 +555,9 @@
 	self.think = onslaught_generator_delayed;
 	self.nextthink = time + 0.2;
 
-#ifdef YOU_HAVE_FIXED_ONSLAUGHT_WAYPOINTS
 	WaypointSprite_SpawnFixed(string_null, e.origin + '0 0 1' * e.maxs_z, self, sprite);
-	self.sprite.waypointsprite_for_player = onslaught_generator_waypointsprite_for_player;
-#endif
+	WaypointSprite_UpdateRule(self.sprite, COLOR_TEAM2, SPRITERULE_TEAMPLAY);
+	onslaught_generator_updatesprite(self);
 };
 
 void onslaught_generator_reset()
@@ -782,10 +755,9 @@
 
 	waypoint_spawnforitem(self);
 
-#ifdef YOU_HAVE_FIXED_ONSLAUGHT_WAYPOINTS
 	WaypointSprite_SpawnFixed(string_null, e.origin + '0 0 1' * e.maxs_z, self, sprite);
-	self.sprite.waypointsprite_for_player = onslaught_controlpoint_waypointsprite_for_player;
-#endif
+	WaypointSprite_UpdateRule(self.sprite, COLOR_TEAM2, SPRITERULE_TEAMPLAY);
+	onslaught_controlpoint_updatesprite(self);
 };
 
 void onslaught_controlpoint_reset()

Modified: trunk/data/qcsrc/server/waypointsprites.qc
===================================================================
--- trunk/data/qcsrc/server/waypointsprites.qc	2008-10-22 06:16:35 UTC (rev 4800)
+++ trunk/data/qcsrc/server/waypointsprites.qc	2008-10-22 07:34:05 UTC (rev 4801)
@@ -1,5 +1,6 @@
 ..entity owned_by_field;
 .float rule;
+.string model1;
 .string model2;
 .string model3;
 
@@ -7,9 +8,9 @@
 
 void WaypointSprite_UpdateSprites(entity e, string m1, string m2, string m3)
 {
-	if(m1 != e.model)
+	if(m1 != e.model1)
 	{
-		e.model = m1;
+		e.model1 = m1;
 		e.SendFlags |= 2;
 	}
 	if(m2 != e.model2)
@@ -175,7 +176,7 @@
 	}
 
 	if(sendflags & 2)
-		WriteString(MSG_ENTITY, self.model);
+		WriteString(MSG_ENTITY, self.model1);
 
 	if(sendflags & 4)
 		WriteString(MSG_ENTITY, self.model2);
@@ -242,7 +243,8 @@
 	wp.think = WaypointSprite_Think;
 	wp.nextthink = time;
 	wp.effects = EF_NODEPTHTEST | EF_LOWPRECISION;
-	wp.model = spr;
+	wp.model1 = spr;
+	wp.model = "net_entity";
 	wp.modelindex = 1;
 	wp.SendEntity = WaypointSprite_SendEntity;
 	wp.customizeentityforclient = WaypointSprite_Customize;




More information about the nexuiz-commits mailing list