Fit hud scaling to 16:9 minimum. Ultrawide be damned.

This commit is contained in:
Mari the Deer 2022-05-08 18:43:42 +02:00
commit 473e7ad5e8
9 changed files with 9 additions and 35 deletions

View file

@ -38,7 +38,6 @@ nosave int swwm_maxtargetdist = 2000; // maximum distance for target healthbars
nosave int swwm_maxtargets = 40; // maximum targeter healthbars to display (0 = unlimited)
nosave int swwm_maxscorenums = 0; // maximum score numbers to display (0 = unlimited)
nosave int swwm_maxdamnums = 0; // maximum damage/healing numbers to display (0 = unlimited)
nosave bool swwm_hudscale = false; // HUD scaling (false = tight scaling, true = loose scaling)
nosave int swwm_barscalerel = -1; // target healthbar scaling (relative)
nosave int swwm_numscalerel = 0; // damnum scaling (relative)
nosave int swwm_scrscalerel = -1; // score scaling (relative)

View file

@ -78,14 +78,11 @@ SWWM_MAXTARGETDIST = "Max. Healthbar Distance";
SWWM_MAXTARGETS = "Max. Displayed Healthbars";
SWWM_MAXDAMNUMS = "Max. Displayed Damage/Heal Numbers";
SWWM_MAXSCORENUMS = "Max. Displayed Score Numbers";
SWWM_HUDSCALE = "HUD Scaling";
SWWM_BARSCALE = "Healthbar Scaling";
SWWM_NUMSCALE = "Number Scaling";
SWWM_SCRSCALE = "Score Scaling";
SWWM_POISCALE = "POI Scaling";
SWWM_DETSCALE = "Item Sense Scaling";
SWWM_TFITSCALE = "Tight Fit";
SWWM_LFITSCALE = "Loose Fit";
SWWM_BLOOD = "Enable Custom Blood";
SWWM_FUZZ = "Enable Animated Menu BG";
SWWM_BUSTERPAUSE = "Pause on Wallbuster Reload";
@ -299,7 +296,6 @@ TOOLTIP_SWWM_MAXTARGETDIST = "Limit the farthest distance at which healthbars fo
TOOLTIP_SWWM_MAXTARGETS = "Limit the amount of healthbars to display on-screen. Helps keep the screen less cluttered.";
TOOLTIP_SWWM_MAXDAMNUMS = "Limit the amount of damage/healing numbers to display on-screen. Helps keep the screen less cluttered.";
TOOLTIP_SWWM_MAXSCORENUMS = "Limit the amount of score numbers to display on-screen. Helps keep the screen less cluttered.";
TOOLTIP_SWWM_HUDSCALE = "Scaling factor of the HUD. \"Tight\" scales to fit the width of the full HUD, while \"Loose\" is recommended for ultrawide to avoid overlaps.";
TOOLTIP_SWWM_BARSCALEREL = "Relative scaling factor for targetter healthbars. A factor of 0 matches the HUD scale.";
TOOLTIP_SWWM_NUMSCALEREL = "Relative scaling factor for damage/healing numbers. A factor of 0 matches the HUD scale.";
TOOLTIP_SWWM_SCRSCALEREL = "Relative scaling factor for score numbers. A factor of 0 matches the HUD scale.";

View file

@ -78,14 +78,11 @@ SWWM_MAXTARGETDIST = "Máx. Distancia de Barras de Salud";
SWWM_MAXTARGETS = "Máx. Barras de Salud en Pantalla";
SWWM_MAXDAMNUMS = "Máx. Números de Daño/Cura en Pantalla";
SWWM_MAXSCORENUMS = "Máx. Números de Puntuación en Pantalla";
SWWM_HUDSCALE = "Escala de HUD";
SWWM_BARSCALE = "Escala de Barras de Salud";
SWWM_NUMSCALE = "Escala de Números";
SWWM_SCRSCALE = "Escala de Puntuaciones";
SWWM_POISCALE = "Escala de Puntos de Interés";
SWWM_DETSCALE = "Escala de Sensor de Ítems";
SWWM_TFITSCALE = "Escalado Ajustado";
SWWM_LFITSCALE = "Escalado Holgado";
SWWM_BLOOD = "Habilitar Sangre Personalizada";
SWWM_FUZZ = "Habilitar Fondo Animado de Menú";
SWWM_BUSTERPAUSE = "Pausar en Recarga de Wallbuster";
@ -302,7 +299,6 @@ TOOLTIP_SWWM_MAXTARGETDIST = "Limita la distancia máxima a la que se muestran l
TOOLTIP_SWWM_MAXTARGETS = "Limita la cantidad de barras de salud a mostrar en pantalla. Ayuda a mantener la pantalla más despejada.";
TOOLTIP_SWWM_MAXDAMNUMS = "Limita la cantidad de números de daño/curación a mostrar en pantalla. Ayuda a mantener la pantalla más despejada.";
TOOLTIP_SWWM_MAXSCORENUMS = "Limita la cantidad de números de puntuación a mostrar en pantalla. Ayuda a mantener la pantalla más despejada.";
TOOLTIP_SWWM_HUDSCALE = "Factor de escalado del HUD. El escalado \"Ajustado\" intenta que quepa todo el HUD en el ancho de la pantalla, mientras que el \"Holgado\" está recomendado para pantallas ultrawide.";
TOOLTIP_SWWM_BARSCALEREL = "Factor de escalado relativo para las barras de salud. Un factor de 0 es igual al escalado del HUD.";
TOOLTIP_SWWM_NUMSCALEREL = "Factor de escalado relativo para los números de daño/salud. Un factor de 0 es igual al escalado del HUD.";
TOOLTIP_SWWM_SCRSCALEREL = "Factor de escalado relativo para los números de puntuación. Un factor de 0 es igual al escalado del HUD.";

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r60 \cu(Sun 8 May 13:12:51 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r60 \cu(2022-05-08 13:12:51)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r61 \cu(Sun 8 May 18:43:42 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r61 \cu(2022-05-08 18:43:42)\c-";

View file

@ -73,11 +73,6 @@ OptionValue "SWWMPistolStart"
1, "$SWWM_PISTOLSTART_MAP"
2, "$SWWM_PISTOLSTART_CLUSTER"
}
OptionValue "SWWMHUDScale"
{
0, "$SWWM_TFITSCALE"
1, "$SWWM_LFITSCALE"
}
OptionValue "SWWMInterArt"
{
0, "$TXT_NO"
@ -147,7 +142,6 @@ OptionMenu "SWWMOptionMenu"
ScaleSlider "$SWWM_MAXTARGETS", "swwm_maxtargets", 0, 1000, 1, "$SWWM_UNLIMITED"
ScaleSlider "$SWWM_MAXDAMNUMS", "swwm_maxdamnums", 0, 1000, 1, "$SWWM_UNLIMITED"
ScaleSlider "$SWWM_MAXSCORENUMS", "swwm_maxscorenums", 0, 1000, 1, "$SWWM_UNLIMITED"
Option "$SWWM_HUDSCALE", "swwm_hudscale", "SWWMHudScale"
Slider "$SWWM_BARSCALE", "swwm_barscalerel", -4, 4, 1, 0
Slider "$SWWM_NUMSCALE", "swwm_numscalerel", -4, 4, 1, 0
Slider "$SWWM_SCRSCALE", "swwm_scrscalerel", -4, 4, 1, 0

View file

@ -2870,8 +2870,7 @@ Class SWWMStatusBar : BaseStatusBar
if ( !swwm_camhud && !(players[consoleplayer].Camera is 'PlayerPawn') )
camhidden = true;
else camhidden = false;
if ( swwm_hudscale ) hs = CleanXFac_1;
else hs = max(floor(Screen.GetWidth()/640.),1.);
hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.);
ss = (Screen.GetWidth()/hs,Screen.GetHeight()/hs);
margin = clamp(swwm_hudmargin,0,40);
hsb = max(hs+swwm_barscalerel,1.);

View file

@ -87,9 +87,7 @@ Class SWWMOneLiner : HUDMessageBase
override void Draw( int bottom, int visibility )
{
int margin = swwm_hudmargin;
double hs;
if ( swwm_hudscale ) hs = CleanXFac_1;
else hs = max(floor(Screen.GetWidth()/640.),1.);
double hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.);
Vector2 ss = (Screen.GetWidth()/hs,Screen.GetHeight()/hs);
if ( whichline == "" ) return; // don't draw empty strings
// split so it can fit
@ -189,9 +187,7 @@ Class SWWMAchievementNotification : HUDMessageBase
override void Draw( int bottom, int visibility )
{
double margin = swwm_hudmargin;
double hs;
if ( swwm_hudscale ) hs = CleanXFac_1;
else hs = max(floor(Screen.GetWidth()/640.),1.);
double hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.);
Vector2 ss = (Screen.GetWidth()/hs,Screen.GetHeight()/hs);
double fractic = SWWMStatusBar(statusbar)?SWWMStatusBar(statusbar).fractic:0;
double ftics = tics+fractic;
@ -275,9 +271,7 @@ Class SWWMWeaponTooltip : HUDMessageBase
override void Draw( int bottom, int visibility )
{
if ( tics <= 0 ) return;
double hs;
if ( swwm_hudscale ) hs = CleanXFac_1;
else hs = max(floor(Screen.GetWidth()/640.),1.);
double hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.);
Vector2 ss = (Screen.GetWidth()/hs,Screen.GetHeight()/hs);
double fractic = SWWMStatusBar(statusbar)?SWWMStatusBar(statusbar).fractic:0;
double ftics = tics+fractic;
@ -540,9 +534,7 @@ Class SWWMDirectMessage : HUDMessageBase
double fractic = SWWMStatusBar(statusbar)?SWWMStatusBar(statusbar).fractic:0;
if ( seqnum == 0 ) alph = (fadein+fractic)/15.;
else if ( seqnum == (seqcnt+1) ) alph = 1.-(fadeout+fractic)/30.;
double hs;
if ( swwm_hudscale ) hs = CleanXFac_1;
else hs = max(floor(Screen.GetWidth()/640.),1.);
double hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.);
ss = (Screen.GetWidth()/hs,Screen.GetHeight()/hs);
origin = (int(ss.x-270)/2,swwm_hudmargin+70);
Screen.DrawTexture(MessageBox,false,origin.x,origin.y,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);

View file

@ -134,7 +134,7 @@ Class SWWMCreditsMenu : GenericMenu
void UpdateSize()
{
hs = max(1.,min(floor(Screen.GetWidth()/640),floor(Screen.GetHeight()/266)));
hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.);
ss = (Screen.GetWidth(),Screen.GetHeight())/hs;
}

View file

@ -126,9 +126,7 @@ Class Hellblazer : SWWMWeapon
SWWMUtility.PrepareProjData(projdata,e.ViewPos,e.ViewAngle,e.ViewPitch,e.ViewRoll,players[consoleplayer].fov);
int cliptop = projdata.viewy, clipbottom = projdata.viewy+projdata.viewh,
clipleft = projdata.viewx, clipright = projdata.viewx+projdata.vieww;
double hs;
if ( swwm_hudscale ) hs = CleanXFac_1;
else hs = max(floor(Screen.GetWidth()/640.),1.);
double hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.);
Vector2 ss = (Screen.GetWidth()/hs,Screen.GetHeight()/hs);
for ( int i=0; i<3; i++ )
{