]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'origin/terencehill/physics_panel_updates'
authorSamual <samual@xonotic.org>
Sun, 26 Feb 2012 01:14:16 +0000 (20:14 -0500)
committerSamual <samual@xonotic.org>
Sun, 26 Feb 2012 01:14:16 +0000 (20:14 -0500)
_hud_descriptions.cfg
hud_luminos.cfg
hud_luminos_minimal.cfg
hud_luminos_minimal_xhair.cfg
hud_luminos_old.cfg
hud_nexuiz.cfg
qcsrc/client/autocvars.qh
qcsrc/client/hud.qc
qcsrc/client/hud_config.qc

index c8ab15f987894c7bd8a9c8963a0274dc5601cf68..372a6af3e146f635154231a39a71b730efd96fc0 100644 (file)
@@ -253,9 +253,12 @@ seta hud_panel_physics_baralign "" "0 = align bars to the left, 1 = align bars t
 seta hud_panel_physics_flip "" "flip speed/acceleration positions"
 seta hud_panel_physics_progressbar "" "enable progressbar in panel (2 = only for speed; 3 = only for acceleration)"
 seta hud_panel_physics_acceleration_max "" "acceleration progressbar gets completely filled up by this value (in g)"
-seta hud_panel_physics_acceleration_mode "" "0 = progressbar increases from the center to the right if the acceleration is positive, to the left if it's negative; 1 = progressbar increases from the border in the same direction for both positive and negative accelerations"
+seta hud_panel_physics_acceleration_progressbar_mode "" "0 = progressbar increases from the center to the right if the acceleration is positive, to the left if it's negative; 1 = progressbar increases from the border in the same direction for both positive and negative accelerations"
+seta hud_panel_physics_acceleration_progressbar_scale "" "multiply acceleration progressbar values by this factor (allow progressbar to go out of panel bounds)"
+seta hud_panel_physics_acceleration_progressbar_nonlinear "" "use a non linear function to display acceleration progressbar values (amplify more smaller values)"
 seta hud_panel_physics_acceleration_vertical "" "include the acceleration on the Z-axis"
 seta hud_panel_physics_text "" "show text in panel (2 = only for speed; 3 = only for acceleration)"
+seta hud_panel_physics_text_scale "" "scale text height by this factor"
 seta hud_panel_physics_speed_unit "" "speed unit (1 = qu/s, 2 = m/s, 3 = km/h, 4 = mph, 5 = knots)"
 seta hud_panel_physics_speed_unit_show "" "also show speed unit"
 seta hud_panel_physics_speed_max "" "speed progressbar gets filled up completely by this value (in qu/s)"
index 25e7dea1fd2de150e8ecfcfe8b4b0c55bdc90d7f..8e50c81f73b77b44928416ad644bb8d4bfdce201 100644 (file)
@@ -258,8 +258,11 @@ seta hud_panel_physics_acceleration_vertical "0"
 seta hud_panel_physics_flip "0"
 seta hud_panel_physics_baralign "0"
 seta hud_panel_physics_progressbar "1"
-seta hud_panel_physics_acceleration_mode "0"
+seta hud_panel_physics_acceleration_progressbar_mode "0"
+seta hud_panel_physics_acceleration_progressbar_scale "1"
+seta hud_panel_physics_acceleration_progressbar_nonlinear "0"
 seta hud_panel_physics_text "1"
+seta hud_panel_physics_text_scale "0.7"
 
 seta hud_panel_centerprint 1
 seta hud_panel_centerprint_pos "0.175000 0.220000"
index 05a11b4e92981b095ed9441cd1ba20c488ecab19..eef7aed2955353d6205e49a9598b218d4cc6f8d6 100644 (file)
@@ -258,8 +258,11 @@ seta hud_panel_physics_acceleration_vertical "0"
 seta hud_panel_physics_flip "0"
 seta hud_panel_physics_baralign "0"
 seta hud_panel_physics_progressbar "3"
-seta hud_panel_physics_acceleration_mode "0"
+seta hud_panel_physics_acceleration_progressbar_mode "0"
+seta hud_panel_physics_acceleration_progressbar_scale "1"
+seta hud_panel_physics_acceleration_progressbar_nonlinear "0"
 seta hud_panel_physics_text "1"
+seta hud_panel_physics_text_scale "0.7"
 
 seta hud_panel_centerprint 1
 seta hud_panel_centerprint_pos "0.175000 0.220000"
index 3774b9cbd68fec029181173523481ed2b1d00b2b..0a77fba082b0c8e590bd4ff58c1bb0c5b8e0f756 100644 (file)
@@ -258,8 +258,11 @@ seta hud_panel_physics_acceleration_vertical "0"
 seta hud_panel_physics_flip "0"
 seta hud_panel_physics_baralign "0"
 seta hud_panel_physics_progressbar "3"
-seta hud_panel_physics_acceleration_mode "0"
+seta hud_panel_physics_acceleration_progressbar_mode "0"
+seta hud_panel_physics_acceleration_progressbar_scale "1"
+seta hud_panel_physics_acceleration_progressbar_nonlinear "0"
 seta hud_panel_physics_text "1"
+seta hud_panel_physics_text_scale "0.7"
 
 seta hud_panel_centerprint 1
 seta hud_panel_centerprint_pos "0.175000 0.220000"
index c5e2c928fab635126db5ffa90c8fc82f34981f90..cd4b1ba711a264fb5c2068a1cf0cc2ed09fcd2d7 100644 (file)
@@ -258,8 +258,11 @@ seta hud_panel_physics_acceleration_vertical "0"
 seta hud_panel_physics_flip "0"
 seta hud_panel_physics_baralign "0"
 seta hud_panel_physics_progressbar "1"
-seta hud_panel_physics_acceleration_mode "0"
+seta hud_panel_physics_acceleration_progressbar_mode "0"
+seta hud_panel_physics_acceleration_progressbar_scale "1"
+seta hud_panel_physics_acceleration_progressbar_nonlinear "0"
 seta hud_panel_physics_text "1"
+seta hud_panel_physics_text_scale "0.7"
 
 seta hud_panel_centerprint 1
 seta hud_panel_centerprint_pos "0.175000 0.220000"
index 10d77e7129684ad492d4405ae1f44ee4cc596ec0..2070817e6c6ac5803181c1bd771001bda6e0d46a 100644 (file)
@@ -247,19 +247,22 @@ seta hud_panel_physics_bg_color_team ""
 seta hud_panel_physics_bg_alpha ""
 seta hud_panel_physics_bg_border ""
 seta hud_panel_physics_bg_padding ""
-seta hud_panel_physics_speed_unit "3"
-seta hud_panel_physics_speed_unit_show "1"
+seta hud_panel_physics_speed_unit "1"
+seta hud_panel_physics_speed_unit_show "0"
 seta hud_panel_physics_speed_max "1800"
 seta hud_panel_physics_speed_vertical "0"
-seta hud_panel_physics_topspeed "1"
+seta hud_panel_physics_topspeed "0"
 seta hud_panel_physics_topspeed_time "4"
 seta hud_panel_physics_acceleration_max "1.5"
 seta hud_panel_physics_acceleration_vertical "0"
 seta hud_panel_physics_flip "0"
 seta hud_panel_physics_baralign "0"
 seta hud_panel_physics_progressbar "3"
-seta hud_panel_physics_acceleration_mode "0"
-seta hud_panel_physics_text "1"
+seta hud_panel_physics_acceleration_progressbar_mode "0"
+seta hud_panel_physics_acceleration_progressbar_scale "4"
+seta hud_panel_physics_acceleration_progressbar_nonlinear "0"
+seta hud_panel_physics_text "2"
+seta hud_panel_physics_text_scale "1"
 
 seta hud_panel_centerprint 1
 seta hud_panel_centerprint_pos "0.175000 0.260000"
index 480f7beff0a9004e13af030a369ee59b7f0d7d36..76edca95a59195f34ffd8dd30c78b0e21515a269 100644 (file)
@@ -252,7 +252,9 @@ float autocvar_hud_panel_notify_fontsize;
 float autocvar_hud_panel_notify_print;
 float autocvar_hud_panel_notify_time;
 float autocvar_hud_panel_physics;
-float autocvar_hud_panel_physics_acceleration_mode;
+float autocvar_hud_panel_physics_acceleration_progressbar_mode;
+float autocvar_hud_panel_physics_acceleration_progressbar_scale;
+float autocvar_hud_panel_physics_acceleration_progressbar_nonlinear;
 float autocvar_hud_panel_physics_acceleration_max;
 float autocvar_hud_panel_physics_progressbar;
 float autocvar_hud_panel_physics_acceleration_vertical;
@@ -263,6 +265,7 @@ float autocvar_hud_panel_physics_speed_unit;
 float autocvar_hud_panel_physics_speed_unit_show;
 float autocvar_hud_panel_physics_speed_vertical;
 float autocvar_hud_panel_physics_text;
+float autocvar_hud_panel_physics_text_scale;
 float autocvar_hud_panel_physics_topspeed;
 float autocvar_hud_panel_physics_topspeed_time;
 float autocvar_hud_panel_powerups;
index d6331d558a2bfd72d742bad1f7d8957997543115..bf8785a49b360e99254308e837829f327f80940b 100644 (file)
@@ -4366,6 +4366,16 @@ void HUD_Physics(void)
                panel_size -= '2 2 0' * panel_bg_padding;
        }
 
+       float acceleration_progressbar_scale;
+       if(autocvar_hud_panel_physics_progressbar && autocvar_hud_panel_physics_acceleration_progressbar_scale > 1)
+               acceleration_progressbar_scale = autocvar_hud_panel_physics_acceleration_progressbar_scale;
+
+       float text_scale;
+       if (autocvar_hud_panel_physics_text_scale <= 0)
+               text_scale = 1;
+       else
+               text_scale = min(autocvar_hud_panel_physics_text_scale, 1);
+
        //compute speed
        float speed, conversion_factor;
        string unit;
@@ -4430,7 +4440,7 @@ void HUD_Physics(void)
        //compute layout
        float panel_ar = panel_size_x/panel_size_y;
        vector speed_offset, acceleration_offset;
-       if (panel_ar >= 5)
+       if (panel_ar >= 5 && !acceleration_progressbar_scale)
        {
                panel_size_x *= 0.5;
                if (autocvar_hud_panel_physics_flip)
@@ -4461,7 +4471,7 @@ void HUD_Physics(void)
                speed_baralign = (autocvar_hud_panel_physics_baralign == 2);
                acceleration_baralign = (autocvar_hud_panel_physics_baralign == 3);
        }
-       if (autocvar_hud_panel_physics_acceleration_mode == 0)
+       if (autocvar_hud_panel_physics_acceleration_progressbar_mode == 0)
                acceleration_baralign = 3; //override hud_panel_physics_baralign value for acceleration
 
        //draw speed
@@ -4475,11 +4485,12 @@ void HUD_Physics(void)
        if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 2)
        {
                tmp_size_x = panel_size_x * 0.75;
-               tmp_size_y = panel_size_y;
+               tmp_size_y = panel_size_y * text_scale;
                if (speed_baralign)
                        tmp_offset_x = panel_size_x - tmp_size_x;
                //else
                        //tmp_offset_x = 0;
+               tmp_offset_y = (panel_size_y - tmp_size_y) / 2;
                drawstring_aspect(panel_pos + speed_offset + tmp_offset, ftos(speed), tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
 
                //draw speed unit
@@ -4491,7 +4502,8 @@ void HUD_Physics(void)
                {
                        //tmp_offset_y = 0;
                        tmp_size_x = panel_size_x * (1 - 0.75);
-                       tmp_size_y = panel_size_y * 0.4;
+                       tmp_size_y = panel_size_y * 0.4 * text_scale;
+                       tmp_offset_y = (panel_size_y * 0.4 - tmp_size_y) / 2;
                        drawstring_aspect(panel_pos + speed_offset + tmp_offset, unit, tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
                }
        }
@@ -4552,7 +4564,8 @@ void HUD_Physics(void)
                        //top speed
                        tmp_offset_y = panel_size_y * 0.4;
                        tmp_size_x = panel_size_x * (1 - 0.75);
-                       tmp_size_y = panel_size_y - tmp_offset_y;
+                       tmp_size_y = (panel_size_y - tmp_offset_y) * text_scale;
+                       tmp_offset_y += (panel_size_y - tmp_offset_y - tmp_size_y) / 2;
                        drawstring_aspect(panel_pos + speed_offset + tmp_offset, ftos(top_speed), tmp_size, '1 0 0', f * panel_fg_alpha, DRAWFLAG_NORMAL);
                }
                else
@@ -4567,10 +4580,37 @@ void HUD_Physics(void)
                        HUD_Panel_GetProgressBarColor(acceleration_neg);
                else
                        HUD_Panel_GetProgressBarColor(acceleration);
-               HUD_Panel_DrawProgressBar(panel_pos + acceleration_offset, panel_size, "accelbar", acceleration/autocvar_hud_panel_physics_acceleration_max, 0, acceleration_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
+
+               f = acceleration/autocvar_hud_panel_physics_acceleration_max;
+               if (autocvar_hud_panel_physics_acceleration_progressbar_nonlinear)
+                       f = sqrt(f);
+
+               if (acceleration_progressbar_scale) // allow progressbar to go out of panel bounds
+               {
+                       tmp_size = acceleration_progressbar_scale * panel_size_x * eX + panel_size_y * eY;
+
+                       if (acceleration_baralign == 1)
+                               tmp_offset_x = panel_size_x - tmp_size_x;
+                       else if (acceleration_baralign == 2 || acceleration_baralign == 3)
+                               tmp_offset_x = (panel_size_x - tmp_size_x) / 2;
+                       else
+                               tmp_offset_x = 0;
+                       tmp_offset_y = 0;
+               }
+               else
+               {
+                       tmp_size = panel_size;
+                       tmp_offset = '0 0 0';
+               }
+
+               HUD_Panel_DrawProgressBar(panel_pos + acceleration_offset + tmp_offset, tmp_size, "accelbar", f, 0, acceleration_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL);
        }
+       tmp_size_x = panel_size_x;
+       tmp_size_y = panel_size_y * text_scale;
+       tmp_offset_x = 0;
+       tmp_offset_y = (panel_size_y - tmp_size_y) / 2;
        if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 3)
-               drawstring_aspect(panel_pos + acceleration_offset, strcat(ftos_decimals(acceleration, 2), "g"), panel_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
+               drawstring_aspect(panel_pos + acceleration_offset + tmp_offset, strcat(ftos_decimals(acceleration, 2), "g"), tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL);
 }
 
 // CenterPrint (#16)
index 15b924dd9cb9f6eae222bad1524642f001f52003..a53112bbd4b0495fe21483484b7818ebfd93c31c 100644 (file)
@@ -159,8 +159,11 @@ void HUD_Panel_ExportCfg(string cfgname)
                                        HUD_Write_PanelCvar_q("_flip");
                                        HUD_Write_PanelCvar_q("_baralign");
                                        HUD_Write_PanelCvar_q("_progressbar");
-                                       HUD_Write_PanelCvar_q("_acceleration_mode");
+                                       HUD_Write_PanelCvar_q("_progressbar_acceleration_mode");
+                                       HUD_Write_PanelCvar_q("_progressbar_acceleration_scale");
+                                       HUD_Write_PanelCvar_q("_progressbar_acceleration_nonlinear");
                                        HUD_Write_PanelCvar_q("_text");
+                                       HUD_Write_PanelCvar_q("_text_scale");
                                        break;
                                case HUD_PANEL_CENTERPRINT:
                                        HUD_Write_PanelCvar_q("_align");