diff --git a/HedgeModManager/HedgeApp.xaml.cs b/HedgeModManager/HedgeApp.xaml.cs index fb2b627d..9f411148 100644 --- a/HedgeModManager/HedgeApp.xaml.cs +++ b/HedgeModManager/HedgeApp.xaml.cs @@ -574,10 +574,10 @@ public static void SelectGameInstall(GameInstall gameinstall) public static void InstallGBHandlers() { - foreach (var game in Games.GetSupportedGames()) - { + foreach (var game in Games.GetSupportedGames() + .GroupBy(t => t.GBProtocol) + .Select(t => t.First())) GBAPI.InstallGBHandler(game); - } } /// diff --git a/HedgeModManager/Languages/en-AU.xaml b/HedgeModManager/Languages/en-AU.xaml index 57b4e99a..24fafbed 100644 --- a/HedgeModManager/Languages/en-AU.xaml +++ b/HedgeModManager/Languages/en-AU.xaml @@ -236,6 +236,11 @@ Mod Updates Mod Downloads + + Select Game... + Multiple Games Detected + Please select a game below to install the mod into. + Hedge Mod Manager Crash Hedge Mod Manager Has Thrown an Exception! diff --git a/HedgeModManager/Languages/en-US.xaml b/HedgeModManager/Languages/en-US.xaml index e32ebc03..ec0155ca 100644 --- a/HedgeModManager/Languages/en-US.xaml +++ b/HedgeModManager/Languages/en-US.xaml @@ -236,6 +236,11 @@ Mod Updates Mod Downloads + + Select Game... + Multiple Games Detected + Please select a game below to install the mod into. + Hedge Mod Manager Crash Hedge Mod Manager Has Thrown an Exception! diff --git a/HedgeModManager/Linux.cs b/HedgeModManager/Linux.cs index 69f2d279..f1c992bb 100644 --- a/HedgeModManager/Linux.cs +++ b/HedgeModManager/Linux.cs @@ -94,9 +94,11 @@ public static bool GenerateDesktop() if (baseExec != null) { GenerateDesktopAndRegister("hedgemm.desktop", "Hedge Mod Manager", $"{baseExec} \"%u\"", icon, true, "x-scheme-handler/hedgemm"); - + // GameBanana - foreach (Game game in Games.GetSupportedGames()) + foreach (var game in Games.GetSupportedGames() + .GroupBy(t => t.GBProtocol) + .Select(t => t.First())) GenerateDesktopAndRegister($"{game.GBProtocol}.desktop", $"Hedge Mod Manager ({game.GameName})", $"{baseExec} \"-gb %u\"", icon, false, $"x-scheme-handler/{game.GBProtocol}"); } diff --git a/HedgeModManager/UI/GBModGameSelectorWindow.xaml b/HedgeModManager/UI/GBModGameSelectorWindow.xaml new file mode 100644 index 00000000..652fc4ff --- /dev/null +++ b/HedgeModManager/UI/GBModGameSelectorWindow.xaml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +