HUD now should fit "21:9" (64:27 ~ 12:5).

Make HUD ignore aspect ratio correction (enforce 1:1 pixels).
Added screen border graphics (not very fancy).
This commit is contained in:
Mari the Deer 2020-10-20 13:41:46 +02:00
commit df18a8c0a0
18 changed files with 26 additions and 29 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

BIN
graphics/bord_b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 B

BIN
graphics/bord_bl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 B

BIN
graphics/bord_br.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 B

BIN
graphics/bord_flat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 B

BIN
graphics/bord_l.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 B

BIN
graphics/bord_r.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 B

BIN
graphics/bord_t.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 B

BIN
graphics/bord_tl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 B

BIN
graphics/bord_tr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 B

View file

@ -1,2 +1,2 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r562 \cu(Tue 20 Oct 12:14:43 CEST 2020)";
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r564 \cu(Tue 20 Oct 14:01:25 CEST 2020)";

View file

@ -29,6 +29,8 @@ GameInfo
MenuFontColor_Selection = "Sapphire"
MenuSliderColor = "Green"
MessageBoxClass = "SWWMMessageBox"
BorderFlat = "graphics/bord_flat.png"
Border = 2, 0, "graphics/bord_tr.png", "graphics/bord_t.png", "graphics/bord_tl.png", "graphics/bord_r.png", "graphics/bord_l.png", "graphics/bord_br.png", "graphics/bord_b.png", "graphics/bord_bl.png"
// precaching of frame-heavy objects
PrecacheClasses = "Demolitionist",
"DeepImpact",

View file

@ -595,7 +595,16 @@ Class SWWMStatusBar : BaseStatusBar
override void Init()
{
Super.Init();
SetSize(0,640,360);
// scaling is set to 640 pixels wide minimum
// and height set so it fits up to ultrawide (2.370:1 ~ 2.4:1)
// ultrawide is honestly an abomination,
// and these numbers should be proof enough of it
// none of the commercially available "21:9" screens even have
// that actual ratio in the first place, what the fuck man
// they dangle anywhere between 12:4, 43:18 and 64:27
// fuck ultrawide, seriously
// get a 16:10 screen instead, it's the best aspect ratio
SetSize(0,640,266);
StatusTex = TexMan.CheckForTexture("graphics/HUD/StatusBox.png",TexMan.Type_Any);
DashTex = TexMan.CheckForTexture("graphics/HUD/DashBar.png",TexMan.Type_Any);
FuelTex[0] = TexMan.CheckForTexture("graphics/HUD/FuelBar.png",TexMan.Type_Any);
@ -1399,44 +1408,29 @@ Class SWWMStatusBar : BaseStatusBar
{
hs.x = hscale.GetInt();
if ( Screen.GetWidth()/hs.x < 640. ) hs.x = max(1,floor(Screen.GetWidth()/640.));
hs.y = hs.x;
}
hs.y = hs.x;
ss = (Screen.GetWidth()/hs.x,Screen.GetHeight()/hs.y);
margin = clamp(safezone.GetInt(),0,(ss.x<640)?10:40);
if ( bscale.GetInt() <= 0 ) hsb = GetHUDScale();
else
{
hsb.x = bscale.GetInt();
else hsb.x = bscale.GetInt();
hsb.y = hsb.x;
}
ssb = (Screen.GetWidth()/hsb.x,Screen.GetHeight()/hsb.y);
if ( nscale.GetInt() <= 0 ) hsn = GetHUDScale();
else
{
hsn.x = nscale.GetInt();
else hsn.x = nscale.GetInt();
hsn.y = hsn.x;
}
ssn = (Screen.GetWidth()/hsn.x,Screen.GetHeight()/hsn.y);
if ( sscale.GetInt() <= 0 ) hss = GetHUDScale();
else
{
hss.x = sscale.GetInt();
else hss.x = sscale.GetInt();
hss.y = hss.x;
}
sss = (Screen.GetWidth()/hss.x,Screen.GetHeight()/hss.y);
if ( iscale.GetInt() <= 0 ) hsi = GetHUDScale();
else
{
hsi.x = iscale.GetInt();
else hsi.x = iscale.GetInt();
hsi.y = hsi.x;
}
ssi = (Screen.GetWidth()/hsi.x,Screen.GetHeight()/hsi.y);
if ( dscale.GetInt() <= 0 ) hsd = GetHUDScale();
else
{
hsd.x = dscale.GetInt();
else hsd.x = dscale.GetInt();
hsd.y = hsd.x;
}
ssd = (Screen.GetWidth()/hsd.x,Screen.GetHeight()/hsd.y);
FracTic = TicFrac;
DrawTarget();

View file

@ -32,6 +32,7 @@ Class PayRespects : HUDMessageBase
override void ScreenSizeChanged()
{
hs = StatusBar.GetHUDScale()*scale;
hs.y = hs.x;
ss = (Screen.GetWidth()/hs.x,Screen.GetHeight()/hs.y);
}
@ -90,8 +91,8 @@ Class SWWMOneLiner : HUDMessageBase
{
hs.x = hscale.GetInt();
if ( Screen.GetWidth()/hs.x < 640. ) hs.x = max(1,floor(Screen.GetWidth()/640.));
hs.y = hs.x;
}
hs.y = hs.x;
Vector2 ss = (Screen.GetWidth()/hs.x,Screen.GetHeight()/hs.y);
String loc = StringTable.Localize(whichline);
if ( loc.Length() <= 0 ) return; // don't draw empty strings