]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
added crosshair coloring by health, enable with crosshair_color_by_health 1
authorAkari <hetors.email@gmail.com>
Mon, 10 Jan 2011 09:17:53 +0000 (11:17 +0200)
committerAkari <hetors.email@gmail.com>
Mon, 10 Jan 2011 09:17:53 +0000 (11:17 +0200)
defaultXonotic.cfg
qcsrc/client/View.qc
qcsrc/client/autocvars.qh

index 72f43f6fd453e639938bd07b5420eb782d39725e..b3adf65968c8468e7b7ffaebad841067fefa0a1d 100644 (file)
@@ -9,6 +9,7 @@
 //
 // e.g. Xonotic 1.5.1 RC1 will be 15101
 set g_xonoticversion git "Xonotic version (formatted for humans)"
+
 gameversion 100 // 0.1.0
 gameversion_min 0 // git builds see all versions
 gameversion_max 65535 // git builds see all versions
@@ -181,6 +182,7 @@ seta crosshair_fireball ""  "crosshair to display when wielding the fireball"
 seta crosshair_fireball_color "0.2 1.0 0.2"    "crosshair color to display when wielding the fireball"
 seta crosshair_fireball_alpha 1        "crosshair alpha value to display when wielding the fireball"
 seta crosshair_fireball_size 1 "crosshair size when wielding the fireball"
+seta crosshair_color_by_health 0 "if enabled, crosshair color will depend on current health"
 
 // ring around crosshair, used for various purposes (such as indicating bullets left in clip, nex charge)
 seta crosshair_ring_size 2     "bullet counter ring size for Rifle, velocity ring for Nex"
@@ -1361,7 +1363,6 @@ seta slowmo 1
 seta menu_skin "luminos"
 set menu_slowmo 1
 seta menu_sounds 0 "enables menu sound effects. 1 enables click sounds, 2 also enables hover sounds"
-set menu_picmip_bypass 0 "bypass texture quality enforcement based on system resources, not recommended and may cause crashes!"
 
 r_textbrightness 0.2
 r_textcontrast 0.8
index 704e58107f597a67ec33e3b201a816da196b09fc..68e27589302af4da9330650932507a6adb393b0c 100644 (file)
@@ -844,6 +844,44 @@ void CSQC_UpdateView(float w, float h)
                        }
                        if(wcross_wep != "" && autocvar_crosshair_color_per_weapon)
                                wcross_color = stov(cvar_string(strcat("crosshair_", wcross_wep, "_color")));
+                       else if(autocvar_crosshair_color_by_health)
+                       {
+                               local float x = getstati(STAT_HEALTH);
+                               
+                               //This part was shamelessly stolen from Nexuiz sources
+                               //Do not want to put this into a function because it's used just in one place and is called too often
+                               
+                               if(x > 200) {
+                                       wcross_color_x = 0;
+                                       wcross_color_y = 1;
+                                       wcross_color_z = 0;
+                               }
+                               else if(x > 150) {
+                                       wcross_color_x = 0.4 - (x-150)*0.02 * 0.4; //red value between 0.4 -> 0
+                                       wcross_color_y = 0.9 + (x-150)*0.02 * 0.1; // green value between 0.9 -> 1
+                                       wcross_color_z = 0;
+                               }
+                               else if(x > 100) {
+                                       wcross_color_x = 1 - (x-100)*0.02 * 0.6; //red value between 1 -> 0.4
+                                       wcross_color_y = 1 - (x-100)*0.02 * 0.1; // green value between 1 -> 0.9
+                                       wcross_color_z = 1 - (x-100)*0.02; // blue value between 1 -> 0
+                               }
+                               else if(x > 50) {
+                                       wcross_color_x = 1;
+                                       wcross_color_y = 1;
+                                       wcross_color_z = 0.2 + (x-50)*0.02 * 0.8; // blue value between 0.2 -> 1
+                               }
+                               else if(x > 20) {
+                                       wcross_color_x = 1;
+                                       wcross_color_y = (x-20)*90/27/100; // green value between 0 -> 1
+                                       wcross_color_z = (x-20)*90/27/100 * 0.2; // blue value between 0 -> 0.2
+                               }
+                               else {
+                                       wcross_color_x = 1;
+                                       wcross_color_y = 0;
+                                       wcross_color_z = 0;
+                               }
+                       }
                        else
                                wcross_color = stov(autocvar_crosshair_color);
 
index 08ad7b9022d33fd90ce7b987254b1d5d7c01ad74..34c3d78a03d3b5e76dbcdb482570208b4377a0d6 100644 (file)
@@ -280,3 +280,4 @@ float autocvar_vid_conheight;
 float autocvar_vid_conwidth;
 float autocvar_vid_pixelheight;
 float autocvar_viewsize;
+float autocvar_crosshair_color_by_health;