From 01d5177f73c4051151fc1c9bdf979e3380877d3d Mon Sep 17 00:00:00 2001
From: Paul Hebble <pjhebble@gmail.com>
Date: Mon, 11 Dec 2023 11:26:22 -0600
Subject: [PATCH] Multi-game for metadata bug report links

---
 Core/Games/IGame.cs               | 5 +++--
 Core/Games/KerbalSpaceProgram.cs  | 2 ++
 Core/Games/KerbalSpaceProgram2.cs | 2 ++
 GUI/Main/Main.cs                  | 2 +-
 4 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/Core/Games/IGame.cs b/Core/Games/IGame.cs
index b5fe8a72fd..c040cb7c76 100644
--- a/Core/Games/IGame.cs
+++ b/Core/Games/IGame.cs
@@ -45,7 +45,8 @@ public interface IGame
         string[]          BuildIDFiles { get; }
 
         // How to get metadata
-        Uri DefaultRepositoryURL { get; }
-        Uri RepositoryListURL    { get; }
+        Uri DefaultRepositoryURL  { get; }
+        Uri RepositoryListURL     { get; }
+        Uri MetadataBugtrackerURL { get; }
     }
 }
diff --git a/Core/Games/KerbalSpaceProgram.cs b/Core/Games/KerbalSpaceProgram.cs
index 216ad4d19e..969e11ae1c 100644
--- a/Core/Games/KerbalSpaceProgram.cs
+++ b/Core/Games/KerbalSpaceProgram.cs
@@ -264,6 +264,8 @@ public GameVersion DetectVersion(DirectoryInfo where)
 
         public Uri RepositoryListURL => new Uri("https://raw.githubusercontent.com/KSP-CKAN/CKAN-meta/master/repositories.json");
 
+        public Uri MetadataBugtrackerURL => new Uri("https://github.com/KSP-CKAN/NetKAN/issues/new/choose");
+
         private string Missions(GameInstance inst)
             => CKANPathUtils.NormalizePath(Path.Combine(inst.GameDir(), "Missions"));
 
diff --git a/Core/Games/KerbalSpaceProgram2.cs b/Core/Games/KerbalSpaceProgram2.cs
index 580709d7a7..6c686e2f55 100644
--- a/Core/Games/KerbalSpaceProgram2.cs
+++ b/Core/Games/KerbalSpaceProgram2.cs
@@ -218,6 +218,8 @@ private GameVersion VersionFromFile(string path)
 
         public Uri RepositoryListURL => new Uri("https://raw.githubusercontent.com/KSP-CKAN/KSP2-CKAN-meta/main/repositories.json");
 
+        public Uri MetadataBugtrackerURL => new Uri("https://github.com/KSP-CKAN/KSP2-NetKAN/issues/new/choose");
+
         // Key: Allowed value of install_to
         // Value: Relative path
         // (PrimaryModDirectoryRelative is allowed implicitly)
diff --git a/GUI/Main/Main.cs b/GUI/Main/Main.cs
index 90e25ccb65..809977b292 100644
--- a/GUI/Main/Main.cs
+++ b/GUI/Main/Main.cs
@@ -885,7 +885,7 @@ private void reportClientIssueToolStripMenuItem_Click(object sender, EventArgs e
 
         private void reportMetadataIssueToolStripMenuItem_Click(object sender, EventArgs e)
         {
-            Utilities.ProcessStartURL("https://github.com/KSP-CKAN/NetKAN/issues/new/choose");
+            Utilities.ProcessStartURL(Manager.CurrentInstance.game.MetadataBugtrackerURL.ToString());
         }
 
         private void Main_Resize(object sender, EventArgs e)