[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