From b50680554f3643e8bd0a65e1e328a92948549d4e Mon Sep 17 00:00:00 2001 From: GenZmeY Date: Tue, 2 May 2023 00:37:07 +0300 Subject: [PATCH] add a hardcoded language in case localization files are missing --- Localization/INT/YAS.INT | Bin 120 -> 124 bytes Localization/RUS/YAS.RUS | Bin 120 -> 124 bytes YAS/Classes/YAS_LocalMessage.uc | 34 ++++++++++++++++++++++++++++++++ YAS/Classes/YAS_ScoreBoard.uc | 8 +++++--- 4 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 YAS/Classes/YAS_LocalMessage.uc diff --git a/Localization/INT/YAS.INT b/Localization/INT/YAS.INT index 8538fdc7833e65748c539e46b2400caa258b92ea..245aab2b7a634bddee92d79771c364ff81487360 100644 GIT binary patch delta 41 vcmb=ZQU3ognjw delta 37 ocmb=akpKTLnjw0pbRv+IGEq4a0L)+ssQ>@~ diff --git a/Localization/RUS/YAS.RUS b/Localization/RUS/YAS.RUS index 91b759c1859fe2830b0224891f7dad4f9dc3ae5b..b98b5d40e6ada4d217d81b392966db1f320e5e91 100644 GIT binary patch delta 41 vcmb=ZQU3ognjw delta 37 ocmb=akpKTLnjw0pbRv+IGEq4a0L)+ssQ>@~ diff --git a/YAS/Classes/YAS_LocalMessage.uc b/YAS/Classes/YAS_LocalMessage.uc new file mode 100644 index 0000000..dfe2e9b --- /dev/null +++ b/YAS/Classes/YAS_LocalMessage.uc @@ -0,0 +1,34 @@ +class YAS_LocalMessage extends Object + abstract; + +var const String PlayersDefault; +var private localized String Players; + +var const String SpectatorsDefault; +var private localized String Spectators; + +enum E_YAS_LocalMessageType +{ + YAS_Players, + YAS_Spectators +}; + +public static function String GetLocalizedString(E_YAS_LocalMessageType LMT) +{ + switch (LMT) + { + case YAS_Players: + return (default.Players != "" ? default.Players : default.PlayersDefault); + + case YAS_Spectators: + return (default.Spectators != "" ? default.Spectators : default.SpectatorsDefault); + } + + return ""; +} + +defaultproperties +{ + PlayersDefault = "Players" + SpectatorsDefault = "Spectators" +} diff --git a/YAS/Classes/YAS_ScoreBoard.uc b/YAS/Classes/YAS_ScoreBoard.uc index d407609..8f68aef 100644 --- a/YAS/Classes/YAS_ScoreBoard.uc +++ b/YAS/Classes/YAS_ScoreBoard.uc @@ -1,6 +1,8 @@ class YAS_ScoreBoard extends KFGUI_Page dependson(YAS_Types); +const LocalMessage = class'YAS_LocalMessage'; + const HeaderWidthRatio = 0.30f; const PlayerListWidthRatio = 0.6f; const PlayerEntryHeightMod = 1.05f; @@ -50,8 +52,6 @@ var KFPlayerController OwnerPC; var Color PingColor; var float PingBars; -var localized String Players, Spectators; - // Cache var public Array RepInfos; @@ -430,7 +430,9 @@ function DrawMenu() */ Canvas.SetDrawColorStruct(Settings.Style.PlayerCountTextColor); - S = Players $ ":" @ NumPlayer @ "/" @ KFGRI.MaxHumanCount $ " " $ Spectators $ ": " $ NumSpec; ; + S = LocalMessage.static.GetLocalizedString(YAS_Players) $ ":" + @ NumPlayer @ "/" @ KFGRI.MaxHumanCount $ " " + $ LocalMessage.static.GetLocalizedString(YAS_Spectators) $ ": " $ NumSpec; ; Canvas.TextSize(S, XL, YL, FontScalar, FontScalar); DrawTextShadowHLeftVCenter(S, BoxX + EdgeSize, YPos, BoxH, FontScalar);