Added HUD coloring preview to the settings menu, just a small QOL change.

This commit is contained in:
Marisa the Magician 2019-08-07 19:15:09 +02:00
commit e49db67d64
5 changed files with 55 additions and 0 deletions

BIN
graphics/HudPreview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

BIN
graphics/HudPreviewBG.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

@ -59,6 +59,11 @@ OptionMenu "UTOptionMenu"
Slider "$FLAK_HSIZE", "flak_hudsize", 0.2, 1.0, 0.2, 1
Slider "$FLAK_WSIZE", "flak_weaponsize", 0.2, 1.0, 0.2, 1
Slider "$FLAK_DSIZE", "flak_statussize", 0.5, 1.5, 0.1, 1
UTHudPreview " "
StaticText " "
StaticText " "
StaticText " "
StaticText " "
Option "$FLAK_CCHOOSE", "flak_colorprefs", "ColorPrefs"
ColorPicker "$FLAK_CCOLOR", "flak_colorcustom"
Slider "$FLAK_HOPAC", "flak_opacity", 1, 16, 1, 0

View file

@ -23,3 +23,4 @@ version "4.2"
#include "zscript/powerups.zsc"
#include "zscript/uthud.zsc"
#include "zscript/compat.zsc"
#include "zscript/utmenu.zsc"

49
zscript/utmenu.zsc Normal file
View file

@ -0,0 +1,49 @@
// for hud config
Class OptionMenuItemUTHudPreview : OptionMenuItem
{
TextureID tex[2];
CVar mColorP, mColorC, mOpacity, mPTeam, mPColor;
OptionMenuItemUTHudPreview Init( String label )
{
Super.Init(label,"",true);
mColorP = CVar.FindCVar("flak_colorprefs");
mColorC = CVar.FindCVar("flak_colorcustom");
mOpacity = CVar.FindCVar("flak_opacity");
mPTeam = CVar.FindCVar("team");
mPColor = CVar.FindCVar("color");
tex[0] = TexMan.CheckForTexture("graphics/HudPreviewBG.png",TexMan.Type_Any);
tex[1] = TexMan.CheckForTexture("graphics/HudPreview.png",TexMan.Type_Any);
return self;
}
override bool Selectable()
{
return false;
}
override int Draw( OptionMenuDescriptor desc, int y, int indent, bool selected )
{
int xpos = indent + CursorSpace();
int ypos = y+OptionMenuSettings.mLinespacing*CleanYfac_1;
Screen.DrawTexture(tex[0],false,xpos,ypos,DTA_CleanNoMove_1,true);
Color tintcolor = Color("White");
switch ( mColorP.GetInt() )
{
case 0:
tintcolor = Color(Teams[mPTeam.GetInt()].mName);
break;
case 1:
tintcolor = Color(mPColor.GetString());
break;
case 2:
tintcolor = Color(mColorC.GetString());
break;
}
int opacity = mOpacity.GetInt();
if ( opacity >= 16 ) Screen.DrawTexture(tex[1],false,xpos,ypos,DTA_CleanNoMove_1,true,DTA_FillColor,Color("Black"));
double alpha = clamp(opacity/15.,0.,1.);
Screen.DrawTexture(tex[1],false,xpos,ypos,DTA_CleanNoMove_1,true,DTA_FillColor,tintcolor,DTA_Alpha,alpha,DTA_LegacyRenderStyle,STYLE_AddShaded);
return -1;
}
}