From 77300e10b26c5bc75b69038730b643e1f7a67b6e Mon Sep 17 00:00:00 2001 From: GenZmeY Date: Wed, 9 Jun 2021 02:22:35 +0300 Subject: [PATCH] WIP: style --- ScoreboardExt/Classes/KFScoreBoard.uc | 187 +++++++++--------- ScoreboardExt/Classes/ScoreboardExtRepInfo.uc | 8 +- ScoreboardExt/Classes/SystemAdminRank.uc | 2 +- ScoreboardExt/Classes/SystemPlayerRank.uc | 2 +- ScoreboardExt/Classes/Types.uc | 156 ++++++++++++++- 5 files changed, 255 insertions(+), 100 deletions(-) diff --git a/ScoreboardExt/Classes/KFScoreBoard.uc b/ScoreboardExt/Classes/KFScoreBoard.uc index be15dea..10adbcf 100644 --- a/ScoreboardExt/Classes/KFScoreBoard.uc +++ b/ScoreboardExt/Classes/KFScoreBoard.uc @@ -21,13 +21,8 @@ var float PingBars,IdealPing,MaxPing; var array CustomRanks; var array PlayerRankRelations; -var string SystemAdminRank; -var ColorRGB SystemAdminColor; -var Fields SystemAdminApplyColorToFields; - -var string SystemPlayerRank; -var ColorRGB SystemPlayerColor; -var Fields SystemPlayerApplyColorToFields; +var SCESettings Settings; +var SCEStyle Style; function InitMenu() { @@ -179,10 +174,10 @@ function DrawMenu() BoxH = YL + BorderSize; // Top Rect (Server name) - Canvas.SetDrawColor(75, 0, 0, 200); + SetDrawColor(Canvas, Style.ServerNameBoxColor); Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Edge, 2); - Canvas.SetDrawColor(250, 250, 250, 255); + SetDrawColor(Canvas, Style.ServerNameTextColor); S = KFGRI.ServerName; DrawTextShadowHVCenter(S, BoxX, YPos, BoxW, FontScalar); @@ -191,10 +186,10 @@ function DrawMenu() // Mid Left Rect (Info) BoxW = Width * 0.7; BoxH = YL * 2 + BorderSize * 2; - Canvas.SetDrawColor(30, 30, 30, 200); + SetDrawColor(Canvas, Style.GameInfoBoxColor); Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Edge, 1); - Canvas.SetDrawColor(250, 250, 250, 255); + SetDrawColor(Canvas, Style.GameInfoTextColor); S = class'KFCommon_LocalizedStrings'.static.GetFriendlyMapName(PC.WorldInfo.GetMapName(true)); DrawTextShadowHLeftVCenter(S, BoxX + Edge, YPos, FontScalar); @@ -204,10 +199,10 @@ function DrawMenu() // Mid Right Rect (Wave) BoxX = BoxX + BoxW; BoxW = Width - BoxW; - Canvas.SetDrawColor(10, 10, 10, 200); + SetDrawColor(Canvas, Style.WaveBoxColor); Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Edge, 0); - Canvas.SetDrawColor(250, 250, 250, 255); + SetDrawColor(Canvas, Style.WaveTextColor); S = class'KFGFxHUD_ScoreboardMapInfoContainer'.default.WaveString; DrawTextShadowHVCenter(S, BoxX, YPos, BoxW, FontScalar); DrawTextShadowHVCenter(WaveText(), BoxX, YPos + YL, BoxW, FontScalar); @@ -218,10 +213,10 @@ function DrawMenu() BoxX = XPos; BoxW = Width; BoxH = YL + BorderSize; - Canvas.SetDrawColor(75, 0, 0, 200); + SetDrawColor(Canvas, Style.PlayerCountBoxColor); Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Edge, 4); - Canvas.SetDrawColor(250, 250, 250, 255); + SetDrawColor(Canvas, Style.PlayerCountTextColor); S = "Players: " $ NumPlayer $ " / " $ KFGRI.MaxHumanCount $ " " $ "Spectators: " $ NumSpec; Canvas.TextSize(S, XL, YL, FontScalar, FontScalar); DrawTextShadowHLeftVCenter(S, BoxX + Edge, YPos, FontScalar); @@ -243,7 +238,7 @@ function DrawMenu() XPos = (Canvas.ClipX - Width) * 0.5; YPos += YL; BoxH = YL + BorderSize; - Canvas.SetDrawColor (10, 10, 10, 200); + SetDrawColor(Canvas, Style.ListHeaderBoxColor); Owner.CurrentStyle.DrawRectBox( XPos - BorderSize * 2, YPos, @@ -252,8 +247,6 @@ function DrawMenu() Edge, 2); - Canvas.SetDrawColor(250, 250, 250, 255); - // Calc X offsets RankXPos = Owner.HUDOwner.ScaledBorderSize * 8 + Edge; PlayerXPos = Width * 0.20; @@ -274,6 +267,7 @@ function DrawMenu() PingWBox = Width - PingXPos; // Header texts + SetDrawColor(Canvas, Style.ListHeaderTextColor); DrawTextShadowHLeftVCenter("RANK", XPos + RankXPos, YPos, FontScalar); DrawTextShadowHLeftVCenter(class'KFGFxHUD_ScoreboardWidget'.default.PlayerString, XPos + PlayerXPos, YPos, FontScalar); DrawTextShadowHLeftVCenter(class'KFGFxMenu_Inventory'.default.PerkFilterString, XPos + PerkXPos, YPos, FontScalar); @@ -315,6 +309,11 @@ function DrawTextShadowHRightVCenter(string Str, float XPos, float YPos, float B Owner.CurrentStyle.DrawTextShadow(Str, XPos + BoxWidth - TextWidth, YPos, 1, FontScalar); } +function SetDrawColor(Canvas C, ColorRGBA Color) +{ + C.SetDrawColor(Color.R, Color.G, Color.B, Color.A); +} + function DrawPlayerEntry( Canvas C, int Index, float YOffset, float Height, float Width, bool bFocus ) { local string S, StrValue; @@ -378,28 +377,28 @@ function DrawPlayerEntry( Canvas C, int Index, float YOffset, float Height, floa // change rect color by HP if( !KFPRI.bReadyToPlay && KFGRI.bMatchHasBegun ) { - C.SetDrawColor(150,150,150,150); + SetDrawColor(C, Style.LeftHPBoxColorNone); } else if ( !KFGRI.bMatchHasBegun ) { - C.SetDrawColor(150,150,150,150); + SetDrawColor(C, Style.LeftHPBoxColorNone); } else if( bIsZED && KFTeamInfo_Zeds(GetPlayer().PlayerReplicationInfo.Team) == None ) { - C.SetDrawColor(150,150,150,150); + SetDrawColor(C, Style.LeftHPBoxColorNone); } else if (KFPRI.PlayerHealth <= 0 || KFPRI.PlayerHealthPercent <= 0) { - C.SetDrawColor(200,0,0,150); + SetDrawColor(C, Style.LeftHPBoxColorDead); } else { - if (ByteToFloat(KFPRI.PlayerHealthPercent) >= 0.8) - C.SetDrawColor(0,200,0,150); - else if (ByteToFloat(KFPRI.PlayerHealthPercent) >= 0.4) - C.SetDrawColor(200,200,0,150); + if (ByteToFloat(KFPRI.PlayerHealthPercent) >= float(Settings.HP_High) / 100.0) + SetDrawColor(C, Style.LeftHPBoxColorHigh); + else if (ByteToFloat(KFPRI.PlayerHealthPercent) >= float(Settings.HP_Low) / 100.0) + SetDrawColor(C, Style.LeftHPBoxColorMid); else - C.SetDrawColor(200,50,50,150); + SetDrawColor(C, Style.LeftHPBoxColorLow); } BoxWidth = Owner.HUDOwner.ScaledBorderSize * 8; @@ -414,9 +413,9 @@ function DrawPlayerEntry( Canvas C, int Index, float YOffset, float Height, floa TextYOffset = YOffset + (Height * 0.5f) - (YL * 0.5f); if (PlayerIndex == Index) - C.SetDrawColor (100, 10, 10, 150); + SetDrawColor(C, Style.PlayerOwnerBoxColor); else - C.SetDrawColor (30, 30, 30, 150); + SetDrawColor(C, Style.PlayerBoxColor); BoxWidth = CashXPos + Owner.HUDOwner.ScaledBorderSize - BoxWidth; Owner.CurrentStyle.DrawRectBox(XPos, YOffset, BoxWidth, Height, 8); @@ -425,7 +424,7 @@ function DrawPlayerEntry( Canvas C, int Index, float YOffset, float Height, floa // Right stats box BoxWidth = Width - XPos; - C.SetDrawColor (10, 10, 10, 150); + SetDrawColor(C, Style.StatsBoxColor); Owner.CurrentStyle.DrawRectBox( XPos, YOffset, @@ -433,21 +432,21 @@ function DrawPlayerEntry( Canvas C, int Index, float YOffset, float Height, floa Height, 8, 3); - C.SetDrawColor(250,250,250,255); - // Rank if (CurrentRank.ApplyColorToFields.Rank) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); + SetDrawColor(C, CurrentRank.TextColor); + else + SetDrawColor(C, Style.RankTextColor); S = CurrentRank.Rank; DrawTextShadowHLeftVCenter(S, RankXPos, TextYOffset, FontScalar); - C.SetDrawColor(250,250,250,255); // Perk if( bIsZED ) { - C.SetDrawColor(255,0,0,255); if (CurrentRank.ApplyColorToFields.Perk) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); + SetDrawColor(C, CurrentRank.TextColor); + else + SetDrawColor(C, Style.ZedTextColor); C.SetPos (PerkXPos, YOffset - ((Height-5) * 0.5f)); C.DrawRect (Height-5, Height-5, Texture2D'UI_Widgets.MenuBarWidget_SWF_IF'); @@ -481,22 +480,23 @@ function DrawPlayerEntry( Canvas C, int Index, float YOffset, float Height, floa C.DrawTile(KFPRI.CurrentPerkClass.default.PerkIcon, PerkIconSize, PerkIconSize, 0, 0, 256, 256); } - C.SetDrawColor(250,250,250,255); if (CurrentRank.ApplyColorToFields.Perk) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); + SetDrawColor(C, CurrentRank.TextColor); + else + SetDrawColor(C, Style.PerkTextColor); // TODO: LevelTextColor S = Level@KFPRI.CurrentPerkClass.default.PerkName; DrawTextShadowHLeftVCenter(S, PerkXPos, TextYOffset, FontScalar); } else { - C.SetDrawColor(250,250,250,255); if (CurrentRank.ApplyColorToFields.Perk) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); + SetDrawColor(C, CurrentRank.TextColor); + else + SetDrawColor(C, Style.PerkTextColor); S = "No Perk"; DrawTextShadowHLeftVCenter(S, PerkXPos, TextYOffset, FontScalar); } } - C.SetDrawColor(250,250,250,255); // Avatar if( KFPRI.Avatar != None ) @@ -504,112 +504,129 @@ function DrawPlayerEntry( Canvas C, int Index, float YOffset, float Height, floa if( KFPRI.Avatar == default.DefaultAvatar ) CheckAvatar(KFPRI, OwnerPC); - C.SetDrawColor(255,255,255,255); + SetDrawColor(C, Style.AvatarBorderColor); // Check C.SetPos(PlayerXPos - (Height * 1.075), YOffset + (Height * 0.5f) - ((Height - 6) * 0.5f)); C.DrawTile(KFPRI.Avatar,Height - 6,Height - 6,0,0,KFPRI.Avatar.SizeX,KFPRI.Avatar.SizeY); Owner.CurrentStyle.DrawBoxHollow(PlayerXPos - (Height * 1.075), YOffset + (Height * 0.5f) - ((Height - 6) * 0.5f), Height - 6, Height - 6, 1); } else if( !KFPRI.bBot ) CheckAvatar(KFPRI, OwnerPC); - C.SetDrawColor(250,250,250,255); // Player if (CurrentRank.ApplyColorToFields.Player) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); + SetDrawColor(C, CurrentRank.TextColor); + else + SetDrawColor(C, Style.PlayerNameTextColor); if( Len(KFPRI.PlayerName) > 25 ) S = Left(KFPRI.PlayerName, 25); else S = KFPRI.PlayerName; DrawTextShadowHLeftVCenter(S, PlayerXPos, TextYOffset, FontScalar); - C.SetDrawColor(250,250,250,255); - // Kill if (CurrentRank.ApplyColorToFields.Kills) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); + SetDrawColor(C, CurrentRank.TextColor); + else + SetDrawColor(C, Style.KillsTextColor); DrawTextShadowHVCenter(string (KFPRI.Kills), KillsXPos, TextYOffset, KillsWBox, FontScalar); - C.SetDrawColor(250,250,250,255); // Assist if (CurrentRank.ApplyColorToFields.Assists) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); + SetDrawColor(C, CurrentRank.TextColor); + else + SetDrawColor(C, Style.AssistsTextColor); DrawTextShadowHVCenter(string (KFPRI.Assists), AssistXPos, TextYOffset, AssistWBox, FontScalar); - C.SetDrawColor(250,250,250,255); - + // Cash if( bIsZED ) { - C.SetDrawColor(250, 0, 0, 255); + SetDrawColor(C, Style.ZedTextColor); StrValue = "Brains!"; } else { - C.SetDrawColor(250, 250, 100, 255); + if (CurrentRank.ApplyColorToFields.Dosh) + SetDrawColor(C, CurrentRank.TextColor); + else + SetDrawColor(C, Style.DoshTextColor); StrValue = GetNiceSize(int(KFPRI.Score)); } - if (CurrentRank.ApplyColorToFields.Dosh) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); DrawTextShadowHVCenter(StrValue, CashXPos, TextYOffset, CashWBox, FontScalar); - C.SetDrawColor(250,250,250,255); - - // Health + // State if( !KFPRI.bReadyToPlay && KFGRI.bMatchHasBegun ) { - C.SetDrawColor(250,0,0,255); + SetDrawColor(C, Style.StateTextColorLobby); S = "LOBBY"; } else if( !KFGRI.bMatchHasBegun ) { - C.SetDrawColor(250,0,0,255); - S = KFPRI.bReadyToPlay ? "Ready" : "Not Ready"; + if (KFPRI.bReadyToPlay) + { + SetDrawColor(C, Style.StateTextColorReady); + S = "Ready"; + } + else + { + SetDrawColor(C, Style.StateTextColorNotReady); + S = "Not Ready"; + } } else if( bIsZED && KFTeamInfo_Zeds(GetPlayer().PlayerReplicationInfo.Team) == None ) { - C.SetDrawColor(250,0,0,255); + SetDrawColor(C, Style.StateTextColorNone); S = "Unknown"; } else if (KFPRI.PlayerHealth <= 0 || KFPRI.PlayerHealthPercent <= 0) { - C.SetDrawColor(250,0,0,255); - S = (KFPRI.bOnlySpectator) ? "Spectator" : "DEAD"; + if (KFPRI.bOnlySpectator) + { + SetDrawColor(C, Style.StateTextColorSpectator); + S = "Spectator"; + } + else + { + SetDrawColor(C, Style.StateTextColorDead); + S = "DEAD"; + } } else { - if (ByteToFloat(KFPRI.PlayerHealthPercent) >= 0.8) - C.SetDrawColor(0,250,0,255); - else if (ByteToFloat(KFPRI.PlayerHealthPercent) >= 0.4) - C.SetDrawColor(250,250,0,255); + if (ByteToFloat(KFPRI.PlayerHealthPercent) >= float(Settings.HP_High) / 100.0) + SetDrawColor(C, Style.StateTextColorHighHP); + else if (ByteToFloat(KFPRI.PlayerHealthPercent) >= float(Settings.HP_Low) / 100.0) + SetDrawColor(C, Style.StateTextColorMidHP); else - C.SetDrawColor(250,100,100,255); - + SetDrawColor(C, Style.StateTextColorLowHP); S = string (KFPRI.PlayerHealth) @"HP"; } if (CurrentRank.ApplyColorToFields.Health) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); + SetDrawColor(C, CurrentRank.TextColor); DrawTextShadowHVCenter(S, HealthXPos, TextYOffset, HealthWBox, FontScalar); - C.SetDrawColor(250,250,250,255); - // Ping if (KFPRI.bBot) + { + SetDrawColor(C, Style.PingTextColorNone); S = "-"; + } else { Ping = int(KFPRI.Ping * `PING_SCALE); - if (Ping <= 100) - C.SetDrawColor(0,250,0,255); - else if (Ping <= 200) - C.SetDrawColor(250,250,0,255); - else C.SetDrawColor(250,100,100,255); + if (CurrentRank.ApplyColorToFields.Ping) + SetDrawColor(C, CurrentRank.TextColor); + else if (Ping <= Settings.Ping_Low) + SetDrawColor(C, Style.PingTextColorLow); + else if (Ping <= Settings.Ping_High) + SetDrawColor(C, Style.PingTextColorMid); + else + SetDrawColor(C, Style.PingTextColorHigh); S = string(Ping); } C.TextSize(MaxPing, XL, YL, FontScalar, FontScalar); - if (CurrentRank.ApplyColorToFields.Ping) - C.SetDrawColor(CurrentRank.TextColor.R,CurrentRank.TextColor.G,CurrentRank.TextColor.B,255); DrawTextShadowHVCenter(S, PingXPos, TextYOffset, PingWBox/2, FontScalar); C.SetDrawColor(250,250,250,255); @@ -621,7 +638,7 @@ final function DrawPingBars( Canvas C, float YOffset, float XOffset, float W, fl local float PingMul, BarW, BarH, BaseH, XPos, YPos; local byte i; - PingMul = 1.f - FClamp(FMax(Ping - IdealPing, 1.f) / MaxPing, 0.f, 1.f); + PingMul = 1.f - FClamp(FMax(Ping - Settings.Ping_Low, 1.f) / Settings.Ping_High, 0.f, 1.f); BarW = W / PingBars; BaseH = H / PingBars; @@ -682,14 +699,6 @@ defaultproperties IdealPing=50.0 MaxPing=200.0 PingBars=5.0 - - SystemAdminRank="Admin" - SystemAdminColor=(R=250,G=0,B=0) - SystemAdminApplyColorToFields=(Rank=True,Player=True,Perk=False,Dosh=False,Kills=False,Assists=False,Health=False,Ping=False) - - SystemPlayerRank="Player" - SystemPlayerColor=(R=250,G=250,B=250) - SystemPlayerApplyColorToFields=(Rank=True,Player=True,Perk=False,Dosh=False,Kills=False,Assists=False,Health=False,Ping=False) Begin Object Class=KFGUI_List Name=PlayerList XSize=0.625 diff --git a/ScoreboardExt/Classes/ScoreboardExtRepInfo.uc b/ScoreboardExt/Classes/ScoreboardExtRepInfo.uc index b2ef5bd..ff7f41b 100644 --- a/ScoreboardExt/Classes/ScoreboardExtRepInfo.uc +++ b/ScoreboardExt/Classes/ScoreboardExtRepInfo.uc @@ -4,11 +4,11 @@ var public array PlayerRankRelations; var public array CustomRanks; var public string SystemAdminRank; -var public ColorRGB SystemAdminColor; +var public ColorRGBA SystemAdminColor; var public Fields SystemAdminApplyColorToFields; var public string SystemPlayerRank; -var public ColorRGB SystemPlayerColor; +var public ColorRGBA SystemPlayerColor; var public Fields SystemPlayerApplyColorToFields; var private bool InitFinished, RanksFinished, InfosFinished; @@ -96,10 +96,10 @@ private reliable client function InfosReplicationFinished() private reliable client function ClientInitSystem( string _SystemAdminRank, - ColorRGB _SystemAdminColor, + ColorRGBA _SystemAdminColor, Fields _SystemAdminApplyColorToFields, string _SystemPlayerRank, - ColorRGB _SystemPlayerColor, + ColorRGBA _SystemPlayerColor, Fields _SystemPlayerApplyColorToFields) { SystemAdminRank = _SystemAdminRank; diff --git a/ScoreboardExt/Classes/SystemAdminRank.uc b/ScoreboardExt/Classes/SystemAdminRank.uc index ebddfb3..70abfed 100644 --- a/ScoreboardExt/Classes/SystemAdminRank.uc +++ b/ScoreboardExt/Classes/SystemAdminRank.uc @@ -3,7 +3,7 @@ class SystemAdminRank extends Object config(ScoreboardExt); var config string Rank; -var config ColorRGB TextColor; +var config ColorRGBA TextColor; var config Fields ApplyColorToFields; DefaultProperties diff --git a/ScoreboardExt/Classes/SystemPlayerRank.uc b/ScoreboardExt/Classes/SystemPlayerRank.uc index bda4a68..431ae74 100644 --- a/ScoreboardExt/Classes/SystemPlayerRank.uc +++ b/ScoreboardExt/Classes/SystemPlayerRank.uc @@ -3,7 +3,7 @@ class SystemPlayerRank extends Object config(ScoreboardExt); var config string Rank; -var config ColorRGB TextColor; +var config ColorRGBA TextColor; var config Fields ApplyColorToFields; DefaultProperties diff --git a/ScoreboardExt/Classes/Types.uc b/ScoreboardExt/Classes/Types.uc index e2a01f2..79273ca 100644 --- a/ScoreboardExt/Classes/Types.uc +++ b/ScoreboardExt/Classes/Types.uc @@ -1,17 +1,163 @@ class Types extends Object; -struct ColorRGB +struct SCESettings { - var byte R, G, B; + string SystemAdminRank; + ColorRGBA SystemAdminColor; + Fields SystemAdminApplyColorToFields; + + string SystemPlayerRank; + ColorRGBA SystemPlayerColor; + Fields SystemPlayerApplyColorToFields; + + int HP_Low; + int HP_High; + + int Ping_Low; + int Ping_High; + + int Normal_Low; + int Normal_High; + int Hard_Low; + int Hard_High; + int Suicide_Low; + int Suicide_High; + int HellOnEarth_Low; + int HellOnEarth_High; StructDefaultProperties { - R=250 - G=250 - B=250 + SystemAdminRank="Admin" + SystemAdminColor=(R=250,G=0,B=0) + SystemAdminApplyColorToFields=(Rank=True,Player=True,Perk=False,Dosh=False,Kills=False,Assists=False,Health=False,Ping=False) + + SystemPlayerRank="Player" + SystemPlayerColor=(R=250,G=250,B=250) + SystemPlayerApplyColorToFields=(Rank=True,Player=True,Perk=False,Dosh=False,Kills=False,Assists=False,Health=False,Ping=False) + + HP_Low=40 + HP_High=80 + + Ping_Low=60 + Ping_High=120; + + Normal_Low=0; + Normal_High=0; + Hard_Low=5; + Hard_High=15; + Suicide_Low=15; + Suicide_High=20; + HellOnEarth_Low=20; + HellOnEarth_High=25; } }; +struct SCEStyle +{ + ColorRGBA ServerNameBoxColor; + ColorRGBA ServerNameTextColor + + ColorRGBA GameInfoBoxColor; + ColorRGBA GameInfoTextColor; + + ColorRGBA WaveBoxColor; + ColorRGBA WaveTextColor; + + ColorRGBA PlayerCountBoxColor; + ColorRGBA PlayerCountTextColor; + + ColorRGBA ListHeaderBoxColor; + ColorRGBA ListHeaderTextColor; + + ColorRGBA LeftHPBoxColorNone; + ColorRGBA LeftHPBoxColorDead; + ColorRGBA LeftHPBoxColorLow; + ColorRGBA LeftHPBoxColorMid; + ColorRGBA LeftHPBoxColorHigh; + + ColorRGBA PlayerOwnerBoxColor; + ColorRGBA PlayerBoxColor; + ColorRGBA StatsBoxColor; + + ColorRGBA RankTextColor; + ColorRGBA ZedTextColor; + ColorRGBA PerkTextColor; + ColorRGBA LevelTextColor; + ColorRGBA AvatarBorderColor; + ColorRGBA PlayerNameTextColor; + ColorRGBA KillsTextColor; + ColorRGBA AssistsTextColor; + ColorRGBA DoshTextColor; + + ColorRGBA StateTextColorLobby; + ColorRGBA StateTextColorReady; + ColorRGBA StateTextColorNotReady; + ColorRGBA StateTextColorNone; + ColorRGBA StateTextColorSpectator; + ColorRGBA StateTextColorDead; + ColorRGBA StateTextColorLowHP; + ColorRGBA StateTextColorMidHP; + ColorRGBA StateTextColorHighHP; + + ColorRGBA PingTextColorNone; + ColorRGBA PingTextColorLow; + ColorRGBA PingTextColorMid + ColorRGBA PingTextColorHigh; + + StructDefaultProperties + { + ServerNameBoxColor=(R=75,G=0,B=0,A=200) + ServerNameTextColor=(R=250,G=250,B=250,A=255) + + GameInfoBoxColor=(R=30,G=30,B=30,A=200) + GameInfoTextColor=(R=250,G=250,B=250,A=255) + + WaveBoxColor=(R=10,G=10,B=10,A=200) + WaveTextColor=(R=250,G=250,B=250,A=255) + + PlayerCountBoxColor=(R=75,G=0,B=0,A=200) + PlayerCountTextColor=(R=250,G=250,B=250,A=255) + + ListHeaderBoxColor=(R=10,G=10,B=10,A=200) + ListHeaderTextColor=(R=250,G=250,B=250,A=255) + + LeftHPBoxColorNone=(R=150,G=150,B=150,A=150) + LeftHPBoxColorDead=(R=200,G=0,B=0,A=150) + LeftHPBoxColorLow=(R=200,G=50,B=50,A=150) + LeftHPBoxColorMid=(R=200,G=200,B=0,A=150) + LeftHPBoxColorHigh=(R=0,G=200,B=0,A=150) + + PlayerOwnerBoxColor=(R=100,G=10,B=10,A=150) + PlayerBoxColor=(R=30,G=30,B=30,A=150) + StatsBoxColor=(R=10,G=10,B=10,A=150) + + RankTextColor=(R=250,G=250,B=250,A=255) + ZedTextColor=(R=255,G=0,B=0,A=255) + PerkTextColor=(R=250,G=250,B=250,A=255) + LevelTextColor=(R=250,G=250,B=250,A=255) + AvatarBorderColor=(R=255,G=255,B=255,A=255) + PlayerNameColor=(R=250,G=250,B=250,A=255) + KillsTextColor=(R=250,G=250,B=250,A=255) + AssistsTextColor=(R=250,G=250,B=250,A=255) + DoshTextColor=(R=250,G=250,B=100,A=255) + + StateTextColorLobby=(R=150,G=150,B=150,A=150) + StateTextColorReady=(R=150,G=150,B=150,A=150) + StateTextColorNotReady=(R=150,G=150,B=150,A=150) + StateTextColorNone=(R=150,G=150,B=150,A=150) + StateTextColorSpectator=(R=150,G=150,B=150,A=150) + StateTextColorDead=(R=250,G=0,B=0,A=255) + StateTextColorLowHP=(R=250,G=100,B=100,A=255) + StateTextColorMidHP=(R=250,G=250,B=0,A=255) + StateTextColorHighHP=(R=0,G=250,B=0,A=255) + + PingTextColorNone=(R=250,G=250,B=250,A=255) + PingTextColorLow=(R=0,G=250,B=0,A=255) + PingTextColorMid=(R=250,G=250,B=0,A=255) + PingTextColorHigh=(R=250,G=0,B=0,A=255) + } +} + struct ColorRGBA { var byte R, G, B, A;