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)"
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"
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"
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"
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"
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"
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;
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;
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;
//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)
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
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
{
//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);
}
}
//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
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)
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");