diff --git a/Flatpak/io.github.TeamWheelWizard.WheelWizard.metainfo.xml b/Flatpak/io.github.TeamWheelWizard.WheelWizard.metainfo.xml index 2a15dae2..d20b9492 100644 --- a/Flatpak/io.github.TeamWheelWizard.WheelWizard.metainfo.xml +++ b/Flatpak/io.github.TeamWheelWizard.WheelWizard.metainfo.xml @@ -55,6 +55,7 @@ + diff --git a/WheelWizard/Features/CustomDistributions/CustomDistributionSingletonService.cs b/WheelWizard/Features/CustomDistributions/CustomDistributionSingletonService.cs index 2bfe181b..1c296671 100644 --- a/WheelWizard/Features/CustomDistributions/CustomDistributionSingletonService.cs +++ b/WheelWizard/Features/CustomDistributions/CustomDistributionSingletonService.cs @@ -8,7 +8,7 @@ namespace WheelWizard.CustomDistributions; public interface ICustomDistributionSingletonService { List GetAllDistributions(); - + // FIXME: Abstract this reference away. A generic Distributions service kinda loses its purpose when you still have to reference a distribution by name (like done here) // Instead you would want something like DistService.GetCurrentDistro() // The rest of the application should not have to know what distribution is currently active. diff --git a/WheelWizard/Features/CustomDistributions/RetroRewind.cs b/WheelWizard/Features/CustomDistributions/RetroRewind.cs index 4c200fd4..99a7961f 100644 --- a/WheelWizard/Features/CustomDistributions/RetroRewind.cs +++ b/WheelWizard/Features/CustomDistributions/RetroRewind.cs @@ -77,7 +77,7 @@ private async Task DownloadAndExtractRetroRewind(ProgressWindow //where all distributions are stored var destinationParentDir = _fileSystem.DirectoryInfo.New(PathManager.RiivolutionWhWzFolderPath); - + OperationResult? result = null; try { diff --git a/WheelWizard/Features/WheelWizardData/Domain/BadgeVariant.cs b/WheelWizard/Features/WheelWizardData/Domain/BadgeVariant.cs index dc722982..9e2c74da 100644 --- a/WheelWizard/Features/WheelWizardData/Domain/BadgeVariant.cs +++ b/WheelWizard/Features/WheelWizardData/Domain/BadgeVariant.cs @@ -13,4 +13,7 @@ public enum BadgeVariant SummitShowdown_GoldWinner, SummitShowdown_SilverWinner, SummitShowdown_BronzeWinner, + Leafstruck_GoldWinner, + Leafstruck_SilverWinner, + Leafstruck_BronzeWinner, } diff --git a/WheelWizard/Models/RRInfo/RrRoom.cs b/WheelWizard/Models/RRInfo/RrRoom.cs index 8b00074e..c598ddc5 100644 --- a/WheelWizard/Models/RRInfo/RrRoom.cs +++ b/WheelWizard/Models/RRInfo/RrRoom.cs @@ -26,9 +26,11 @@ public class RrRoom "vs_10" => "RR", "vs_11" => "TT", "vs_12" => "200", + "vs_13" => "IR", + "vs_14" => "BT", + "vs_15" => "EBT", "vs_20" => "RR Ct", - "vs_21" => "TT Ct", - "vs_22" => "200 Ct", + "vs_21" => "RR V", // CTGP_C "vs_668" => "CTGP-C", @@ -52,6 +54,7 @@ public class RrRoom // Luminous "vs_666" => "Lumi", + "vs_667" => "Lumi TT", // OptPack "vs_875" => "OP 150", @@ -65,6 +68,8 @@ public class RrRoom "vs_1312" => "WTP 150", "vs_1313" => "WTP 200", "vs_1314" => "WTP TT", + "vs_1315" => "WTP IR", + "vs_1316" => "STYD", // Generic Versus "vs_751" => "VS", @@ -82,9 +87,11 @@ public class RrRoom "vs_10" => "RR 150CC", "vs_11" => "RR Time Tr", "vs_12" => "RR 200CC", + "vs_13" => "RR Item Rain", + "vs_14" => "RR Battle", + "vs_15" => "RR Elim Battle", "vs_20" => "RR 150CC CTs", - "vs_21" => "RR TT CTs", - "vs_22" => "RR 200CC CTs", + "vs_21" => "RR Vanilla", // CTGP "vs_668" => "CTGP-C", @@ -108,6 +115,7 @@ public class RrRoom // Luminous "vs_666" => "Luminous", + "vs_667" => "Luminous TT", // OptPack "vs_875" => "OP 150", @@ -121,6 +129,8 @@ public class RrRoom "vs_1312" => "WTP 150CC", "vs_1313" => "WTP 200CC", "vs_1314" => "WTP Time Trial", + "vs_1315" => "WTP Item Rain", + "vs_1316" => "WTP STYD", // Generic "vs_751" => "Versus", diff --git a/WheelWizard/Resources/Languages/Phrases.Designer.cs b/WheelWizard/Resources/Languages/Phrases.Designer.cs index 8bd5235d..b8c54a02 100644 --- a/WheelWizard/Resources/Languages/Phrases.Designer.cs +++ b/WheelWizard/Resources/Languages/Phrases.Designer.cs @@ -159,11 +159,11 @@ public static string EmptyContent_NoRooms_Title { } /// - /// Looks up a localized string similar to Creator name must be less than 10 characters long.. + /// Looks up a localized string similar to Creator name must be less than 11 characters long.. /// - public static string HelperNote_CreatorNameLess10 { + public static string HelperNote_CreatorNameLess11 { get { - return ResourceManager.GetString("HelperNote_CreatorNameLess10", resourceCulture); + return ResourceManager.GetString("HelperNote_CreatorNameLess11", resourceCulture); } } diff --git a/WheelWizard/Resources/Languages/Phrases.cs.resx b/WheelWizard/Resources/Languages/Phrases.cs.resx index 644df092..d32cfa27 100644 --- a/WheelWizard/Resources/Languages/Phrases.cs.resx +++ b/WheelWizard/Resources/Languages/Phrases.cs.resx @@ -90,8 +90,8 @@ Možná nemáš připojení k internetu, nebo nikdo nehraje. - - Jméno tvůrce musí být kratší než 10 znaků. + + Jméno tvůrce musí být kratší než 11 znaků. Jména musí mít délku 3 až 10 znaků. diff --git a/WheelWizard/Resources/Languages/Phrases.de.resx b/WheelWizard/Resources/Languages/Phrases.de.resx index 0e73cdc1..5887eb5a 100644 --- a/WheelWizard/Resources/Languages/Phrases.de.resx +++ b/WheelWizard/Resources/Languages/Phrases.de.resx @@ -235,8 +235,8 @@ Um einem bestimmten Raum beizutreten, musst du entweder über einen Freund treff Noch keine Miis erstellt! - - Name des Ersteller muss weniger als 10 Zeichen lang sein. + + Name des Ersteller muss weniger als 11 Zeichen lang sein. Namen müssen zwischen 3 und 10 Zeichen lang sein. diff --git a/WheelWizard/Resources/Languages/Phrases.es.resx b/WheelWizard/Resources/Languages/Phrases.es.resx index 6fefe2ea..d3ee46c3 100644 --- a/WheelWizard/Resources/Languages/Phrases.es.resx +++ b/WheelWizard/Resources/Languages/Phrases.es.resx @@ -234,8 +234,8 @@ No hay Miis todavía! - - El nombre del creador tiene que tener menos de 10 caracteres. + + El nombre del creador tiene que tener menos de 11 caracteres. Los nombres tienen que tener entre 3 y 10 caracteres. diff --git a/WheelWizard/Resources/Languages/Phrases.fr.resx b/WheelWizard/Resources/Languages/Phrases.fr.resx index 7cab6251..12baa874 100644 --- a/WheelWizard/Resources/Languages/Phrases.fr.resx +++ b/WheelWizard/Resources/Languages/Phrases.fr.resx @@ -238,8 +238,8 @@ Voulez-vous réinstaller Retro Rewind ? Aucun Mii! - - Le nom de l'auteur doit faire moins de 10 caractères. + + Le nom de l'auteur doit faire moins de 11 caractères. Les noms doivent être composés de 3 à 10 caractères. diff --git a/WheelWizard/Resources/Languages/Phrases.it.resx b/WheelWizard/Resources/Languages/Phrases.it.resx index 279caa7e..9cdeca4c 100644 --- a/WheelWizard/Resources/Languages/Phrases.it.resx +++ b/WheelWizard/Resources/Languages/Phrases.it.resx @@ -236,7 +236,7 @@ Vuoi svuotare la tua cartella My-Stuff? Ancora nessun Mii! - + Il nome dell'autore deve essere lungo al massimo 10 caratteri. diff --git a/WheelWizard/Resources/Languages/Phrases.ja.resx b/WheelWizard/Resources/Languages/Phrases.ja.resx index 4aadb14d..852accbb 100644 --- a/WheelWizard/Resources/Languages/Phrases.ja.resx +++ b/WheelWizard/Resources/Languages/Phrases.ja.resx @@ -240,7 +240,7 @@ My Stuffフォルダーをクリアしますか? まだMiiがありません! - + 作成者の名前の長さは10文字以下にしてください diff --git a/WheelWizard/Resources/Languages/Phrases.ko.resx b/WheelWizard/Resources/Languages/Phrases.ko.resx index 43bda47c..81554fa1 100644 --- a/WheelWizard/Resources/Languages/Phrases.ko.resx +++ b/WheelWizard/Resources/Languages/Phrases.ko.resx @@ -235,7 +235,7 @@ 아직 Mii가 없어요! - + 작성자 이름은 반드시 10자 이내여야 합니다. diff --git a/WheelWizard/Resources/Languages/Phrases.nl.resx b/WheelWizard/Resources/Languages/Phrases.nl.resx index 8ad1683b..0ae03558 100644 --- a/WheelWizard/Resources/Languages/Phrases.nl.resx +++ b/WheelWizard/Resources/Languages/Phrases.nl.resx @@ -358,8 +358,8 @@ Om aan een specifieke kamer deel te nemen, moet je dit óf via een vriend óf vi Profiel als hoofdprofiel geselecteerd. - - Naam moet korter dan 10 tekens zijn. + + Naam moet korter dan 11 tekens zijn. Naam moet tussen de 3 en 10 tekens lang zijn. diff --git a/WheelWizard/Resources/Languages/Phrases.resx b/WheelWizard/Resources/Languages/Phrases.resx index f1325bcb..74536092 100644 --- a/WheelWizard/Resources/Languages/Phrases.resx +++ b/WheelWizard/Resources/Languages/Phrases.resx @@ -375,8 +375,8 @@ To join a specific room, you'll need to either join through a friend, or hope to Names must be between 3 and 10 characters long. - - Creator name must be less than 10 characters long. + + Creator name must be less than 11 characters long. Failed to change name diff --git a/WheelWizard/Resources/Languages/Phrases.ru.resx b/WheelWizard/Resources/Languages/Phrases.ru.resx index d3224b81..ff53c86f 100644 --- a/WheelWizard/Resources/Languages/Phrases.ru.resx +++ b/WheelWizard/Resources/Languages/Phrases.ru.resx @@ -288,8 +288,8 @@ Выберите мод из списка, чтобы узнать подробности. - - Имя создателя должно быть длиной в меньше 10 символов. + + Имя создателя должно быть длиной в меньше 11 символов. Имена должны быть длиной от 3 до 10 символов. diff --git a/WheelWizard/Resources/Languages/Phrases.tr.resx b/WheelWizard/Resources/Languages/Phrases.tr.resx index f8a27869..5e5eff8a 100644 --- a/WheelWizard/Resources/Languages/Phrases.tr.resx +++ b/WheelWizard/Resources/Languages/Phrases.tr.resx @@ -235,8 +235,8 @@ Belirli bir odaya katılmak için bir arkadaşınız aracılığıyla katılman Şimdilik Mii yok! - - Yapımcı adı 10 karakterden kısa olması gerekiyor. + + Yapımcı adı 11 karakterden kısa olması gerekiyor. Adın 3 ile 10 karakter arasında olması gerekiyor. diff --git a/WheelWizard/Services/Launcher/RrLauncher.cs b/WheelWizard/Services/Launcher/RrLauncher.cs index 4475325a..9a18eb36 100644 --- a/WheelWizard/Services/Launcher/RrLauncher.cs +++ b/WheelWizard/Services/Launcher/RrLauncher.cs @@ -46,7 +46,7 @@ public async Task Launch() RetroRewindLaunchHelper.GenerateLaunchJson(); var dolphinLaunchType = (bool)SettingsManager.LAUNCH_WITH_DOLPHIN.Get() ? "" : "-b"; DolphinLaunchHelper.LaunchDolphin( - $"{dolphinLaunchType} -e {EnvHelper.QuotePath(Path.GetFullPath(RrLaunchJsonFilePath))} --config=Dolphin.Core.EnableCheats=False" + $"{dolphinLaunchType} -e {EnvHelper.QuotePath(Path.GetFullPath(RrLaunchJsonFilePath))} --config=Dolphin.Core.EnableCheats=False --config=Achievements.Achievements.Enabled=False" ); } catch (Exception ex) diff --git a/WheelWizard/Services/ModManager.cs b/WheelWizard/Services/ModManager.cs index 1bb7ad31..f885ef4b 100644 --- a/WheelWizard/Services/ModManager.cs +++ b/WheelWizard/Services/ModManager.cs @@ -189,6 +189,7 @@ public void ToggleAllMods(bool enable) // TODO: Use this validation method when refactoring the ModManager public OperationResult ValidateModName(string? oldName, string newName) { + newName = newName?.Trim(); if (string.IsNullOrWhiteSpace(newName)) return Fail("Mod name cannot be empty."); diff --git a/WheelWizard/Views/Components/WhWzLibrary/Badge.axaml b/WheelWizard/Views/Components/WhWzLibrary/Badge.axaml index 0c784e8d..5bfcc4b8 100644 --- a/WheelWizard/Views/Components/WhWzLibrary/Badge.axaml +++ b/WheelWizard/Views/Components/WhWzLibrary/Badge.axaml @@ -217,7 +217,7 @@ - + + + + + + + + + + diff --git a/WheelWizard/Views/Components/WhWzLibrary/Badge.axaml.cs b/WheelWizard/Views/Components/WhWzLibrary/Badge.axaml.cs index 0fbc23dc..99ea51f9 100644 --- a/WheelWizard/Views/Components/WhWzLibrary/Badge.axaml.cs +++ b/WheelWizard/Views/Components/WhWzLibrary/Badge.axaml.cs @@ -17,9 +17,12 @@ public class Badge : TemplatedControl { BadgeVariant.Firestarter_GoldWinner, "Firestarter Tournament Winner" }, { BadgeVariant.Firestarter_SilverWinner, "Firestarter Tournament Runner-Up" }, { BadgeVariant.Firestarter_BronzeWinner, "Firestarter Tournament Runner-Up" }, - { BadgeVariant.SummitShowdown_GoldWinner, "Summit Showdown Tourney Winner" }, - { BadgeVariant.SummitShowdown_SilverWinner, "Summit Showdown Tourney Runner-Up" }, - { BadgeVariant.SummitShowdown_BronzeWinner, "Summit Showdown Tourney Runner-Up" }, + { BadgeVariant.SummitShowdown_GoldWinner, "Summit Showdown Tournament Winner" }, + { BadgeVariant.SummitShowdown_SilverWinner, "Summit Showdown Tournament Runner-Up" }, + { BadgeVariant.SummitShowdown_BronzeWinner, "Summit Showdown Tournament Runner-Up" }, + { BadgeVariant.Leafstruck_GoldWinner, "Leafstruck Tournament Winner" }, + { BadgeVariant.Leafstruck_SilverWinner, "Leafstruck Tournament Runner-Up" }, + { BadgeVariant.Leafstruck_BronzeWinner, "Leafstruck Tournament Runner-Up" }, }; public static readonly StyledProperty HoverTipProperty = AvaloniaProperty.Register( diff --git a/WheelWizard/Views/Pages/UserProfilePage.axaml.cs b/WheelWizard/Views/Pages/UserProfilePage.axaml.cs index 7b1a1736..1d89fc9b 100644 --- a/WheelWizard/Views/Pages/UserProfilePage.axaml.cs +++ b/WheelWizard/Views/Pages/UserProfilePage.axaml.cs @@ -285,6 +285,7 @@ private void CopyFriendCode_OnClick(object? sender, EventArgs e) // But we as team wheel wizard don't think it makes sense to have a mii name shorter than 3, and so from the UI we don't allow it private OperationResult ValidateMiiName(string? oldName, string newName) { + newName = newName?.Trim(); if (newName.Length is > 10 or < 3) return Fail(Phrases.HelperNote_NameMustBetween); diff --git a/WheelWizard/Views/Popups/Generic/TextInputWindow.axaml.cs b/WheelWizard/Views/Popups/Generic/TextInputWindow.axaml.cs index ca81a8a4..73fbf1f9 100644 --- a/WheelWizard/Views/Popups/Generic/TextInputWindow.axaml.cs +++ b/WheelWizard/Views/Popups/Generic/TextInputWindow.axaml.cs @@ -117,7 +117,7 @@ private void InputField_TextChanged(object sender, TextChangedEventArgs e) // Update the Submit button's IsEnabled property based on input private void UpdateSubmitButtonState() { - var inputText = GetTrimmedTextInput(); + var inputText = GetInputText(); var validationResultError = inputValidationFunc?.Invoke(_initialText, inputText!).Error?.Message; SubmitButton.IsEnabled = validationResultError == null; @@ -132,12 +132,12 @@ private void CustomCharsButton_Click(object sender, EventArgs e) private void SubmitButton_Click(object sender, RoutedEventArgs e) { - _result = GetTrimmedTextInput(); + _result = GetInputText(); _tcs?.TrySetResult(_result); // Set the result of the task Close(); } - private string? GetTrimmedTextInput() => InputField.Text?.Trim(); + private string? GetInputText() => InputField.Text; private void CancelButton_Click(object sender, RoutedEventArgs e) => Close(); diff --git a/WheelWizard/Views/Popups/MiiManagement/MiiEditor/EditorGeneral.axaml.cs b/WheelWizard/Views/Popups/MiiManagement/MiiEditor/EditorGeneral.axaml.cs index 75929d61..62aaa562 100644 --- a/WheelWizard/Views/Popups/MiiManagement/MiiEditor/EditorGeneral.axaml.cs +++ b/WheelWizard/Views/Popups/MiiManagement/MiiEditor/EditorGeneral.axaml.cs @@ -82,6 +82,7 @@ private void Name_TextChanged(object sender, TextChangedEventArgs e) private OperationResult ValidateMiiName(string? _, string newName) { + newName = newName?.Trim(); if (newName.Length is > 10 or < 3) return Fail(Phrases.HelperNote_NameMustBetween); @@ -90,8 +91,9 @@ private OperationResult ValidateMiiName(string? _, string newName) private OperationResult ValidateCreatorName(string newName) { + newName = newName?.Trim(); if (newName.Length > 10) - return Fail(Phrases.HelperNote_CreatorNameLess10); + return Fail(Phrases.HelperNote_CreatorNameLess11); return Ok(); } diff --git a/WheelWizard/WheelWizard.csproj b/WheelWizard/WheelWizard.csproj index 67fa1289..db0b5060 100644 --- a/WheelWizard/WheelWizard.csproj +++ b/WheelWizard/WheelWizard.csproj @@ -11,7 +11,7 @@ true - 2.3.2 + 2.3.3 This program will manage RetroRewind and mods :) GNU v3.0 https://github.com/patchzyy/WheelWizard