[nexuiz-commits] r7981 - in trunk/data: . qcsrc/client qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Sep 28 12:12:52 EDT 2009


Author: div0
Date: 2009-09-28 12:12:49 -0400 (Mon, 28 Sep 2009)
New Revision: 7981

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/client/sbar.qc
   trunk/data/qcsrc/client/waypointsprites.qc
   trunk/data/qcsrc/server/constants.qh
Log:
dtsnace based waypoint fading cvars


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-09-28 15:27:25 UTC (rev 7980)
+++ trunk/data/defaultNexuiz.cfg	2009-09-28 16:12:49 UTC (rev 7981)
@@ -26,7 +26,7 @@
 seta g_configversion 0	"Configuration file version (used to upgrade settings) 0: first run, or previous start was <2.4.1  Later, it's overridden by config.cfg, version ranges are defined in config_update.cfg"
 
 // default.cfg versioning (update using update-cvarcount.sh, run that every time after adding a new cvar)
-set cvar_check_default 4bb48bd2d43bd891aa49d542abb24bf8
+set cvar_check_default 091f36c4fb0d7b22bbd2d2fdff8b1447
 
 // Nexuiz version (formatted for machines)
 // used to determine if a client version is compatible
@@ -1100,6 +1100,9 @@
 seta g_waypointsprite_crosshairfadealpha 0.25 "alpha multiplier near crosshair"
 seta g_waypointsprite_crosshairfadescale 1 "scale multiplier near the crosshair"
 seta g_waypointsprite_crosshairfadedistance 150 "distance in virtual pixels from crosshair where to start fading"
+seta g_waypointsprite_distancefadealpha 1 "alpha multiplier near distance"
+seta g_waypointsprite_distancefadescale 0.7 "scale multiplier near the distance"
+seta g_waypointsprite_distancefadedistancemultiplier 0.5 "distance in map sizes from distance where to stop fading"
 alias "g_waypointsprite_personal"	"impulse 30"
 alias "g_waypointsprite_personal_p"	"impulse 31"
 alias "g_waypointsprite_personal_d"	"impulse 32"

Modified: trunk/data/qcsrc/client/sbar.qc
===================================================================
--- trunk/data/qcsrc/client/sbar.qc	2009-09-28 15:27:25 UTC (rev 7980)
+++ trunk/data/qcsrc/client/sbar.qc	2009-09-28 16:12:49 UTC (rev 7981)
@@ -2640,7 +2640,7 @@
 float redflag_statuschange_time, blueflag_statuschange_time; // time when the status changed
 void CSQC_ctf_hud(void)
 {
-	vector bottomleft, redflag_pos, blueflag_pos, size;
+	vector bottomleft, redflag_pos, blueflag_pos, sz;
 	bottomleft_x = 0;
 	bottomleft_y = vid_conheight;
 	bottomleft_z = 0;
@@ -2712,28 +2712,28 @@
 		redflag_pos = bottomleft - '-62 50 0';
 	}
 	
-	size = '52 52 0';
+	sz = '52 52 0';
 	
 	// draw the icons
 	if (redflag_statuschange_elapsedtime > 1 && red_icon) // red flag status has not changed during the previous second
-		drawpic(redflag_pos, red_icon, size, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL);
+		drawpic(redflag_pos, red_icon, sz, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL);
 	else { // red flag status HAS changed during the previous second
 		if (redflag == 0 && red_icon_prevstatus) // in this case, the status was lost so we have to use the value in prevstatus to determine which icon to fade out
-			drawpic_expanding(redflag_pos, red_icon_prevstatus, size, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL, 
+			drawpic_expanding(redflag_pos, red_icon_prevstatus, sz, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL, 
 			bound(0, redflag_statuschange_elapsedtime*2, 1));
 		else if (red_icon)
-			drawpic_expanding_two(redflag_pos, red_icon, size, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL, 
+			drawpic_expanding_two(redflag_pos, red_icon, sz, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL, 
 			bound(0, redflag_statuschange_elapsedtime*2, 1));
 	}
 	
 	if (blueflag_statuschange_elapsedtime > 1 && blue_icon) // blue flag status has not changed during the previous second
-		drawpic(blueflag_pos, blue_icon, size, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL);
+		drawpic(blueflag_pos, blue_icon, sz, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL);
 	else { // blue flag status HAS changed during the previous second
 		if (blueflag == 0 && blue_icon_prevstatus) // in this case, the status was lost so we have to use the value in prevstatus to determine which icon to fade out
-			drawpic_expanding(blueflag_pos, blue_icon_prevstatus, size, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL, 
+			drawpic_expanding(blueflag_pos, blue_icon_prevstatus, sz, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL, 
 			bound(0, blueflag_statuschange_elapsedtime*2, 1));
 		else if (blue_icon)
-			drawpic_expanding_two(blueflag_pos, blue_icon, size, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL, 
+			drawpic_expanding_two(blueflag_pos, blue_icon, sz, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL, 
 			bound(0, blueflag_statuschange_elapsedtime*2, 1));
 	}
 }

Modified: trunk/data/qcsrc/client/waypointsprites.qc
===================================================================
--- trunk/data/qcsrc/client/waypointsprites.qc	2009-09-28 15:27:25 UTC (rev 7980)
+++ trunk/data/qcsrc/client/waypointsprites.qc	2009-09-28 16:12:49 UTC (rev 7981)
@@ -6,6 +6,15 @@
 float waypointsprite_distancealphaexponent;
 float waypointsprite_timealphaexponent;
 float waypointsprite_scale;
+float waypointsprite_edgefadealpha;
+float waypointsprite_edgefadescale;
+float waypointsprite_edgefadedistance;
+float waypointsprite_crosshairfadealpha;
+float waypointsprite_crosshairfadescale;
+float waypointsprite_crosshairfadedistance;
+float waypointsprite_distancefadealpha;
+float waypointsprite_distancefadescale;
+float waypointsprite_distancefadedistance;
 
 .float rule;
 .string netname; // primary picture
@@ -24,10 +33,10 @@
 
 vector SPRITE_SIZE = '288 36 0';
 vector SPRITE_HOTSPOT = '144 36 0';
-float SPRITE_HEALTHBAR_WIDTH = 96;
-float SPRITE_HEALTHBAR_HEIGHT = 6;
-float SPRITE_HEALTHBAR_MARGIN = 4;
-float SPRITE_HEALTHBAR_BORDER = 1;
+float SPRITE_HEALTHBAR_WIDTH = 144;
+float SPRITE_HEALTHBAR_HEIGHT = 9;
+float SPRITE_HEALTHBAR_MARGIN = 6;
+float SPRITE_HEALTHBAR_BORDER = 2;
 float SPRITE_HEALTHBAR_BORDERALPHA = 1;
 float SPRITE_HEALTHBAR_HEALTHALPHA = 0.5;
 
@@ -239,25 +248,26 @@
 	else
 		spriteimage = strcat("models/sprites/", spriteimage, "_frame", ftos(mod(floor((max(0, time - self.spawntime)) * 2), t)));
 
-	float edgefadealpha = cvar("g_waypointsprite_edgefadealpha");
-	float edgefadescale = cvar("g_waypointsprite_edgefadescale");
-	float edgefadedistance = cvar("g_waypointsprite_edgefadedistance");
-	float edgedistance_min = min4(o_y, o_x,vid_conwidth - o_x, vid_conheight - o_y);
+	float edgedistance_min, crosshairdistance;
+	edgedistance_min = min4(o_y, o_x,vid_conwidth - o_x, vid_conheight - o_y);
 
-	float crosshairfadealpha = cvar("g_waypointsprite_crosshairfadealpha");
-        float crosshairfadescale = cvar("g_waypointsprite_crosshairfadescale");
-	float crosshairfadedistance = cvar("g_waypointsprite_crosshairfadedistance");
-	float crosshairdistance; // current distance from waypoint to crosshair
 	crosshairdistance = sqrt( pow(o_x - vid_conwidth/2, 2) + pow(o_y - vid_conheight/2, 2) );
 
-	if (edgedistance_min < edgefadedistance) {
-		a = a * bound(edgefadealpha, edgedistance_min/edgefadedistance, 1);
-		vidscale = vidscale * bound(edgefadescale, edgedistance_min/edgefadedistance, 1);
-	} else if (crosshairdistance < crosshairfadedistance) {
-		a = a * bound(crosshairfadealpha, crosshairdistance/crosshairfadedistance, 1);
-		vidscale = vidscale * bound(crosshairfadescale, crosshairdistance/crosshairfadedistance, 1);
+	t = waypointsprite_scale * vidscale;
+
+	{
+		a = a * (1 - (1 - waypointsprite_distancefadealpha) * (bound(0, dist/waypointsprite_distancefadedistance, 1)));
+		t = t * (1 - (1 - waypointsprite_distancefadescale) * (bound(0, dist/waypointsprite_distancefadedistance, 1)));
 	}
-	drawrotpic(o, rot * 90 * DEG2RAD, spriteimage, SPRITE_SIZE * waypointsprite_scale * vidscale, SPRITE_HOTSPOT * waypointsprite_scale * vidscale, '1 1 1', a, DRAWFLAG_MIPMAP);
+	if (edgedistance_min < waypointsprite_edgefadedistance) {
+		a = a * (1 - (1 - waypointsprite_edgefadealpha) * (1 - bound(0, edgedistance_min/waypointsprite_edgefadedistance, 1)));
+		t = t * (1 - (1 - waypointsprite_edgefadescale) * (1 - bound(0, edgedistance_min/waypointsprite_edgefadedistance, 1)));
+	}
+	if(crosshairdistance < waypointsprite_crosshairfadedistance) {
+		a = a * (1 - (1 - waypointsprite_crosshairfadealpha) * (1 - bound(0, crosshairdistance/waypointsprite_crosshairfadedistance, 1)));
+		t = t * (1 - (1 - waypointsprite_crosshairfadescale) * (1 - bound(0, crosshairdistance/waypointsprite_crosshairfadedistance, 1)));
+	}
+	drawrotpic(o, rot * 90 * DEG2RAD, spriteimage, SPRITE_SIZE * t, SPRITE_HOTSPOT * t, '1 1 1', a, DRAWFLAG_MIPMAP);
 
 	if(self.build_finished)
 	{
@@ -281,7 +291,7 @@
 			align = 0.5;
 		else
 			align = 0;
-		drawhealthbar(o, rot * 90 * DEG2RAD, self.health, SPRITE_SIZE * waypointsprite_scale * vidscale, SPRITE_HOTSPOT * waypointsprite_scale * vidscale, SPRITE_HEALTHBAR_WIDTH, SPRITE_HEALTHBAR_HEIGHT, SPRITE_HEALTHBAR_MARGIN, SPRITE_HEALTHBAR_BORDER, align, self.teamradar_color, a * SPRITE_HEALTHBAR_BORDERALPHA, self.teamradar_color, a * SPRITE_HEALTHBAR_HEALTHALPHA, DRAWFLAG_NORMAL);
+		drawhealthbar(o, rot * 90 * DEG2RAD, self.health, SPRITE_SIZE * t, SPRITE_HOTSPOT * t, SPRITE_HEALTHBAR_WIDTH * t, SPRITE_HEALTHBAR_HEIGHT * t, SPRITE_HEALTHBAR_MARGIN * t, SPRITE_HEALTHBAR_BORDER * t, align, self.teamradar_color, a * SPRITE_HEALTHBAR_BORDERALPHA, self.teamradar_color, a * SPRITE_HEALTHBAR_HEALTHALPHA, DRAWFLAG_NORMAL);
 	}
 }
 
@@ -397,15 +407,22 @@
 
 void WaypointSprite_Load()
 {
-	waypointsprite_fadedistance = vlen(world.maxs - world.mins);
+	waypointsprite_fadedistance = vlen(mi_max - mi_min);
 	waypointsprite_normdistance = cvar("g_waypointsprite_normdistance");
 	waypointsprite_minscale = cvar("g_waypointsprite_minscale");
 	waypointsprite_minalpha = cvar("g_waypointsprite_minalpha");
 	waypointsprite_distancealphaexponent = cvar("g_waypointsprite_distancealphaexponent");
 	waypointsprite_timealphaexponent = cvar("g_waypointsprite_timealphaexponent");
-	waypointsprite_scale = cvar("g_waypointsprite_scale") * (1 - cvar("_menu_alpha"));
-	if(!waypointsprite_scale)
-		waypointsprite_scale = 1.0 * (1 - cvar("_menu_alpha"));
+	waypointsprite_scale = cvar_or("g_waypointsprite_scale", 1) * (1 - cvar("_menu_alpha"));
+	waypointsprite_edgefadealpha = cvar_or("g_waypointsprite_edgefadealpha", 1);
+	waypointsprite_edgefadescale = cvar_or("g_waypointsprite_edgefadescale", 1);
+	waypointsprite_edgefadedistance = cvar("g_waypointsprite_edgefadedistance");
+	waypointsprite_crosshairfadealpha = cvar_or("g_waypointsprite_crosshairfadealpha", 1);
+	waypointsprite_crosshairfadescale = cvar_or("g_waypointsprite_crosshairfadescale", 1);
+	waypointsprite_crosshairfadedistance = cvar("g_waypointsprite_crosshairfadedistance");
+	waypointsprite_distancefadealpha = cvar_or("g_waypointsprite_distancefadealpha", 1);
+	waypointsprite_distancefadescale = cvar_or("g_waypointsprite_distancefadescale", 1);
+	waypointsprite_distancefadedistance = vlen(mi_max - mi_min) * cvar_or("g_waypointsprite_distancefadedistancemultiplier", 1);
 
 	if(!waypointsprite_initialized)
 	{

Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh	2009-09-28 15:27:25 UTC (rev 7980)
+++ trunk/data/qcsrc/server/constants.qh	2009-09-28 16:12:49 UTC (rev 7981)
@@ -1,4 +1,4 @@
-string CVAR_CHECK_DEFAULT = "4bb48bd2d43bd891aa49d542abb24bf8";
+string CVAR_CHECK_DEFAULT = "091f36c4fb0d7b22bbd2d2fdff8b1447";
 string CVAR_CHECK_BALANCE = "9b590c8f7c3065d917ac8e2e5e842a88";
 
 float	FALSE					= 0;



More information about the nexuiz-commits mailing list