diff --git a/VRCMelonAssistant/Classes/HardcodedCategories.cs b/VRCMelonAssistant/Classes/HardcodedCategories.cs index cdce8f8..920d473 100644 --- a/VRCMelonAssistant/Classes/HardcodedCategories.cs +++ b/VRCMelonAssistant/Classes/HardcodedCategories.cs @@ -97,5 +97,26 @@ namespace VRCMelonAssistant { return CategoryDescriptions.TryGetValue(category, out var result) ? result : ""; } + + private static List<(string Original, string Replace)> ourAuthorReplaces = + new() + { + ("<@!170953680718266369>", "ImTiara"), + ("<@!286669951987613706>", "Rafa"), + ("<@!168795588366696450>", "Grummus"), + ("<@!167335587488071682>", "KortyBoi/Lily"), + ("<@!127978642981650432>", "tetra"), + ("<@!155396491853168640>", "Dawn/arion") + }; + + public static string FixupAuthor(string authorName) + { + if (string.IsNullOrEmpty(authorName) || !authorName.Contains("@")) return authorName; + + foreach (var authorReplace in ourAuthorReplaces) + authorName = authorName.Replace(authorReplace.Original, authorReplace.Replace); + + return authorName; + } } } diff --git a/VRCMelonAssistant/Localisation/en.xaml b/VRCMelonAssistant/Localisation/en.xaml index b3f731d..ad69baa 100644 --- a/VRCMelonAssistant/Localisation/en.xaml +++ b/VRCMelonAssistant/Localisation/en.xaml @@ -88,6 +88,7 @@ Mods Name + Author Installed Latest Description diff --git a/VRCMelonAssistant/Pages/Mods.xaml b/VRCMelonAssistant/Pages/Mods.xaml index e9b6e3f..e87e618 100644 --- a/VRCMelonAssistant/Pages/Mods.xaml +++ b/VRCMelonAssistant/Pages/Mods.xaml @@ -80,6 +80,16 @@ + + + + + + + diff --git a/VRCMelonAssistant/Pages/Mods.xaml.cs b/VRCMelonAssistant/Pages/Mods.xaml.cs index 3625720..fbfac94 100644 --- a/VRCMelonAssistant/Pages/Mods.xaml.cs +++ b/VRCMelonAssistant/Pages/Mods.xaml.cs @@ -209,7 +209,8 @@ namespace VRCMelonAssistant.Pages { name = modInfo.ModName, modversion = modInfo.ModVersion, - description = "", + author = modInfo.ModAuthor, + description = "" } } }; @@ -219,7 +220,7 @@ namespace VRCMelonAssistant.Pages } } - private (string ModName, string ModVersion) ExtractModVersions(string dllPath) + private (string ModName, string ModVersion, string ModAuthor) ExtractModVersions(string dllPath) { try { @@ -228,9 +229,7 @@ namespace VRCMelonAssistant.Pages if (attr.AttributeType.Name == "MelonInfoAttribute" || attr.AttributeType.Name == "MelonModInfoAttribute") return ((string) attr.ConstructorArguments[1].Value, - (string) attr.ConstructorArguments[2].Value); - - return (null, null); + (string) attr.ConstructorArguments[2].Value, (string) attr.ConstructorArguments[3].Value); } catch (Exception ex) { @@ -249,9 +248,9 @@ namespace VRCMelonAssistant.Pages Utils.ShowErrorMessageBox($"Unable to delete file {dllPath}", ex2); } } - - return (null, null); } + + return (null, null, null); } public async Task PopulateModsList() @@ -287,6 +286,7 @@ namespace VRCMelonAssistant.Pages IsEnabled = true, ModName = latestVersion.name, ModVersion = latestVersion.modversion, + ModAuthor = HardcodedCategories.FixupAuthor(latestVersion.author), ModDescription = latestVersion.description.Replace("\r\n", " ").Replace("\n", " "), ModInfo = mod, IsInstalled = mod.installedFilePath != null, @@ -356,6 +356,7 @@ namespace VRCMelonAssistant.Pages { public string ModName { get; set; } public string ModVersion { get; set; } + public string ModAuthor { get; set; } public string ModDescription { get; set; } public bool PreviousState { get; set; } diff --git a/VRCMelonAssistant/Properties/AssemblyInfo.cs b/VRCMelonAssistant/Properties/AssemblyInfo.cs index a09a8ac..3412e8c 100644 --- a/VRCMelonAssistant/Properties/AssemblyInfo.cs +++ b/VRCMelonAssistant/Properties/AssemblyInfo.cs @@ -51,5 +51,5 @@ using System.Windows; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.1.19.1029")] -[assembly: AssemblyFileVersion("1.1.19.1029+vrc")] +[assembly: AssemblyVersion("1.1.20.1029")] +[assembly: AssemblyFileVersion("1.1.20.1029+vrc")]