diff --git a/src/xenia/app/emulator_window.cc b/src/xenia/app/emulator_window.cc index 75d6d1ae3..c8374edd4 100644 --- a/src/xenia/app/emulator_window.cc +++ b/src/xenia/app/emulator_window.cc @@ -589,6 +589,10 @@ bool EmulatorWindow::Initialize() { MenuItem::Create(MenuItem::Type::kString, "FA&Q...", "F1", std::bind(&EmulatorWindow::ShowFAQ, this))); help_menu->AddChild(MenuItem::Create(MenuItem::Type::kSeparator)); + help_menu->AddChild( + MenuItem::Create(MenuItem::Type::kString, "Game &compatibility...", + std::bind(&EmulatorWindow::ShowCompatibility, this))); + help_menu->AddChild(MenuItem::Create(MenuItem::Type::kSeparator)); help_menu->AddChild(MenuItem::Create( MenuItem::Type::kString, "Build commit on GitHub...", "F2", std::bind(&EmulatorWindow::ShowBuildCommit, this))); @@ -928,6 +932,20 @@ void EmulatorWindow::ToggleDisplayConfigDialog() { } } +void EmulatorWindow::ShowCompatibility() { + const std::string_view base_url = + "https://github.com/xenia-project/game-compatibility/issues"; + std::string url; + // Avoid searching for a title ID of "00000000". + uint32_t title_id = emulator_->title_id(); + if (!title_id) { + url = base_url; + } else { + url = fmt::format("{}?q=is%3Aissue+is%3Aopen+{:08X}", base_url, title_id); + } + LaunchWebBrowser(url); +} + void EmulatorWindow::ShowFAQ() { LaunchWebBrowser("https://github.com/xenia-project/xenia/wiki/FAQ"); } diff --git a/src/xenia/app/emulator_window.h b/src/xenia/app/emulator_window.h index d6be0108a..c57d5f43b 100644 --- a/src/xenia/app/emulator_window.h +++ b/src/xenia/app/emulator_window.h @@ -139,6 +139,7 @@ class EmulatorWindow { void GpuTraceFrame(); void GpuClearCaches(); void ToggleDisplayConfigDialog(); + void ShowCompatibility(); void ShowFAQ(); void ShowBuildCommit();