From 10543ef8e148f5329b41568f92e83dac3930f02b Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Mon, 29 Jun 2020 12:06:50 +0200 Subject: gnu: Add ppsspp. * gnu/packages/emulators.scm (ppsspp): New variable. * gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch: New file. * gnu/local.mk: Register it. Signed-off-by: Nicolas Goaziou --- gnu/local.mk | 1 + gnu/packages/emulators.scm | 131 ++++++++ .../patches/ppsspp-disable-upgrade-and-gold.patch | 358 +++++++++++++++++++++ 3 files changed, 490 insertions(+) create mode 100644 gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 8bb56010c2..dbeec8be3c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1350,6 +1350,7 @@ dist_patch_DATA = \ %D%/packages/patches/pam-mount-luks2-support.patch \ %D%/packages/patches/pango-skip-libthai-test.patch \ %D%/packages/patches/pciutils-hurd-configure.patch \ + %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ %D%/packages/patches/sdl-pango-fillrect_crash.patch \ diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index ae8bf18255..8b39517e3f 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1839,3 +1839,134 @@ performance, features, and ease of use.") "Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator framework based on QEMU.") (license license:gpl2+)))) + +(define-public ppsspp + (package + (name "ppsspp") + (version "1.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hrydgard/ppsspp.git") + (commit (string-append "v" version)))) + (sha256 + (base32 "02yx1w0ygclnmdl0imsvgj24lkzi55wvxkf47q617j0jgrqhy8yl")) + (file-name (git-file-name name version)) + (patches + (search-patches "ppsspp-disable-upgrade-and-gold.patch")) + (modules '((guix build utils))) + (snippet + `(begin + ;; Unbundle sources. + (substitute* (list "Common/Vulkan/VulkanContext.cpp" + "ext/native/thin3d/vulkan_utils.cpp" + "GPU/Common/ShaderCommon.cpp" + "GPU/Common/ShaderTranslation.cpp" + "SDL/SDLMain.cpp") + (("ext/glslang/") "") + (("ext/SPIRV-Cross/") "spirv_cross/")) + ;; Patch CMakeLists. + (substitute* "CMakeLists.txt" + (("include_directories\\(ext/glslang\\)") "") + (("spirv-cross-glsl" all) + (string-append all + " spirv-cross-core spirv-cross-cpp" + " spirv-cross-reflect spirv-cross-util"))) + (substitute* "ext/CMakeLists.txt" + (("add_subdirectory\\(glslang\\)") "") + (("add_subdirectory\\(SPIRV-Cross-build\\)") "")) + (delete-file-recursively "ext/cmake") + (substitute* "git-version.cmake" + (("unknown") ,version)))))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python))) + (inputs + `(("ffmpeg" ,ffmpeg) + ("glew" ,glew) + ("glslang" ,glslang) + ("libpng" ,libpng) + ("mesa" ,mesa) + ("sdl2" ,sdl2) + ("snappy" ,snappy) + ("spirv-cross" ,spirv-cross) + ("zlib" ,zlib) + ;; TODO: unbundle builds. + ("armips-source" ,(package-source armips)) + ("lang" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hrydgard/ppsspp-lang.git") + (commit "d184ba2b607a03435be579406b816c90add334e6"))) + (sha256 + (base32 "0s003x6247nx09qd6a1jz1l2hsk5d6k1zmh8mg3m6hjjhvbvd9j9")))) + ("tests" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hrydgard/pspautotests.git") + (commit "328b839c7243e7f733f9eae88d059485e3d808e7"))) + (sha256 + (base32 "1gj1kr5ijxrqwvz7c41phskjr70ndp8iz0gr8c3xxsd8p9z5gdvm")))))) + (arguments + `(#:out-of-source? #f + #:configure-flags (list "-DUSE_DISCORD=OFF" + "-DUSE_SYSTEM_FFMPEG=ON" + ;; For testing. + "-DUNITTEST=ON" "-DHEADLESS=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'add-external-sources + (lambda* (#:key inputs #:allow-other-keys) + ;; TODO: unbundle builds. Not only should we not copy these + ;; sources in, we should also remove as much from "ext/" as we + ;; can. + (copy-recursively (assoc-ref inputs "armips-source") + "ext/armips") + ;; Some tests are externalised, so we add them here. + (copy-recursively (assoc-ref inputs "tests") + "pspautotests") + ;; i18n is externalised, so we add it here. + (copy-recursively (assoc-ref inputs "lang") + "assets/lang") + #t)) + (replace 'check + (lambda _ + (for-each + (lambda (t) (invoke "./unitTest" t)) + '("Arm64Emitter" "ArmEmitter" "X64Emitter" "VertexJit" "Asin" + "SinCos" "VFPUSinCos" "MathUtil" "Parsers" "Jit" + "MatrixTranspose" "ParseLBN" "QuickTexHash" "CLZ" "MemMap")) + (invoke "python3" "test.py" "-g") + #t)) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin/ppsspp (string-append out "/bin/ppsspp")) + (share (string-append out "/share/ppsspp"))) + (copy-recursively "icons/hicolor" + (string-append out "/share/icons/hicolor")) + (install-file "PPSSPPSDL" share) + (copy-recursively "assets" (string-append share "/assets")) + + (make-desktop-entry-file + (string-append out "/share/applications/ppsspp.desktop") + #:name "PPSSPP" + #:exec (string-append share "/PPSSPPSDL") + #:icon "ppsspp") + (mkdir-p (string-append out "/bin")) + (with-output-to-file bin/ppsspp + (lambda () + (format #t "#!~a~%exec ~a/PPSSPPSDL \"$@\"" + (which "sh") share))) + (chmod bin/ppsspp #o755) + #t)))))) + (home-page "https://www.ppsspp.org/") + (synopsis "PSP emulator") + (description + "PPSSPP is a ``high-level'' emulator simulating the PSP operating +system.") + (license license:gpl2+))) diff --git a/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch b/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch new file mode 100644 index 0000000000..9503ab6f31 --- /dev/null +++ b/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch @@ -0,0 +1,358 @@ +From 951f2269f67d618d376656db831796c119f4f6b3 Mon Sep 17 00:00:00 2001 +From: Leo Prikler +Date: Fri, 26 Jun 2020 18:20:04 +0200 +Subject: [PATCH] ppsspp: disable upgrade and gold + +--- + Core/Config.cpp | 11 ------- + Core/Config.h | 2 -- + Qt/QtMain.cpp | 6 ---- + SDL/SDLMain.cpp | 6 ---- + UI/DevScreens.cpp | 3 -- + UI/GameSettingsScreen.cpp | 1 - + UI/MainScreen.cpp | 63 +------------------------------------ + UI/MiscScreens.cpp | 31 ++---------------- + UWP/PPSSPP_UWPMain.cpp | 6 ---- + Windows/MainWindowMenu.cpp | 2 +- + Windows/main.cpp | 6 ---- + android/jni/app-android.cpp | 6 ---- + 12 files changed, 5 insertions(+), 138 deletions(-) + +diff --git a/Core/Config.cpp b/Core/Config.cpp +index 214aeb433..04e3b151d 100644 +--- a/Core/Config.cpp ++++ b/Core/Config.cpp +@@ -428,7 +428,6 @@ static ConfigSetting generalSettings[] = { + ConfigSetting("IgnoreBadMemAccess", &g_Config.bIgnoreBadMemAccess, true, true), + ConfigSetting("CurrentDirectory", &g_Config.currentDirectory, ""), + ConfigSetting("ShowDebuggerOnLoad", &g_Config.bShowDebuggerOnLoad, false), +- ConfigSetting("CheckForNewVersion", &g_Config.bCheckForNewVersion, true), + ConfigSetting("Language", &g_Config.sLanguageIni, &DefaultLangRegion), + ConfigSetting("ForceLagSync2", &g_Config.bForceLagSync, false, true, true), + ConfigSetting("DiscordPresence", &g_Config.bDiscordPresence, true, true, false), // Or maybe it makes sense to have it per-game? Race conditions abound... +@@ -1229,16 +1228,6 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) { + upgradeMessage = ""; + } + +- // Check for new version on every 10 runs. +- // Sometimes the download may not be finished when the main screen shows (if the user dismisses the +- // splash screen quickly), but then we'll just show the notification next time instead, we store the +- // upgrade number in the ini. +- if (iRunCount % 10 == 0 && bCheckForNewVersion) { +- std::shared_ptr dl = g_DownloadManager.StartDownloadWithCallback( +- "http://www.ppsspp.org/version.json", "", &DownloadCompletedCallback); +- dl->SetHidden(true); +- } +- + INFO_LOG(LOADER, "Loading controller config: %s", controllerIniFilename_.c_str()); + bSaveSettings = true; + +diff --git a/Core/Config.h b/Core/Config.h +index 084eacc94..e7134cab5 100644 +--- a/Core/Config.h ++++ b/Core/Config.h +@@ -99,7 +99,6 @@ struct Config { + bool bIgnoreBadMemAccess; + bool bFastMemory; + int iCpuCore; +- bool bCheckForNewVersion; + bool bForceLagSync; + bool bFuncReplacements; + bool bHideSlowWarnings; +@@ -521,4 +520,3 @@ std::string CreateRandMAC(); + // TODO: Find a better place for this. + extern http::Downloader g_DownloadManager; + extern Config g_Config; +- +diff --git a/Qt/QtMain.cpp b/Qt/QtMain.cpp +index 7713b6587..1d92d1175 100644 +--- a/Qt/QtMain.cpp ++++ b/Qt/QtMain.cpp +@@ -194,12 +194,6 @@ bool System_GetPropertyBool(SystemProperty prop) { + return true; + case SYSPROP_HAS_FILE_BROWSER: + return true; +- case SYSPROP_APP_GOLD: +-#ifdef GOLD +- return true; +-#else +- return false; +-#endif + default: + return false; + } +diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp +index 52028d087..d8697d210 100644 +--- a/SDL/SDLMain.cpp ++++ b/SDL/SDLMain.cpp +@@ -356,12 +356,6 @@ bool System_GetPropertyBool(SystemProperty prop) { + switch (prop) { + case SYSPROP_HAS_BACK_BUTTON: + return true; +- case SYSPROP_APP_GOLD: +-#ifdef GOLD +- return true; +-#else +- return false; +-#endif + default: + return false; + } +diff --git a/UI/DevScreens.cpp b/UI/DevScreens.cpp +index f146d099e..625ee124c 100644 +--- a/UI/DevScreens.cpp ++++ b/UI/DevScreens.cpp +@@ -603,9 +603,6 @@ void SystemInfoScreen::CreateViews() { + #ifdef _M_SSE + buildConfig->Add(new InfoItem("_M_SSE", StringFromFormat("0x%x", _M_SSE))); + #endif +- if (System_GetPropertyBool(SYSPROP_APP_GOLD)) { +- buildConfig->Add(new InfoItem("GOLD", "")); +- } + + ViewGroup *cpuExtensionsScroll = new ScrollView(ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, FILL_PARENT)); + cpuExtensionsScroll->SetTag("DevSystemInfoCPUExt"); +diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp +index 8202870c7..81112f822 100644 +--- a/UI/GameSettingsScreen.cpp ++++ b/UI/GameSettingsScreen.cpp +@@ -796,7 +796,6 @@ void GameSettingsScreen::CreateViews() { + } + #endif + +- systemSettings->Add(new CheckBox(&g_Config.bCheckForNewVersion, sy->T("VersionCheck", "Check for new versions of PPSSPP"))); + const std::string bgPng = GetSysDirectory(DIRECTORY_SYSTEM) + "background.png"; + const std::string bgJpg = GetSysDirectory(DIRECTORY_SYSTEM) + "background.jpg"; + if (File::Exists(bgPng) || File::Exists(bgJpg)) { +diff --git a/UI/MainScreen.cpp b/UI/MainScreen.cpp +index 43535913d..36834020d 100644 +--- a/UI/MainScreen.cpp ++++ b/UI/MainScreen.cpp +@@ -1054,11 +1054,7 @@ void MainScreen::CreateViews() { + sprintf(versionString, "%s", PPSSPP_GIT_VERSION); + rightColumnItems->SetSpacing(0.0f); + LinearLayout *logos = new LinearLayout(ORIENT_HORIZONTAL); +- if (System_GetPropertyBool(SYSPROP_APP_GOLD)) { +- logos->Add(new ImageView(ImageID("I_ICONGOLD"), IS_DEFAULT, new AnchorLayoutParams(64, 64, 10, 10, NONE, NONE, false))); +- } else { +- logos->Add(new ImageView(ImageID("I_ICON"), IS_DEFAULT, new AnchorLayoutParams(64, 64, 10, 10, NONE, NONE, false))); +- } ++ logos->Add(new ImageView(ImageID("I_ICON"), IS_DEFAULT, new AnchorLayoutParams(64, 64, 10, 10, NONE, NONE, false))); + logos->Add(new ImageView(ImageID("I_LOGO"), IS_DEFAULT, new LinearLayoutParams(Margins(-12, 0, 0, 0)))); + rightColumnItems->Add(logos); + TextView *ver = rightColumnItems->Add(new TextView(versionString, new LinearLayoutParams(Margins(70, -6, 0, 0)))); +@@ -1070,11 +1066,6 @@ void MainScreen::CreateViews() { + rightColumnItems->Add(new Choice(mm->T("Game Settings", "Settings")))->OnClick.Handle(this, &MainScreen::OnGameSettings); + rightColumnItems->Add(new Choice(mm->T("Credits")))->OnClick.Handle(this, &MainScreen::OnCredits); + rightColumnItems->Add(new Choice(mm->T("www.ppsspp.org")))->OnClick.Handle(this, &MainScreen::OnPPSSPPOrg); +- if (!System_GetPropertyBool(SYSPROP_APP_GOLD)) { +- Choice *gold = rightColumnItems->Add(new Choice(mm->T("Buy PPSSPP Gold"))); +- gold->OnClick.Handle(this, &MainScreen::OnSupport); +- gold->SetIcon(ImageID("I_ICONGOLD")); +- } + + #if !PPSSPP_PLATFORM(UWP) + // Having an exit button is against UWP guidelines. +@@ -1099,28 +1090,6 @@ void MainScreen::CreateViews() { + } else if (tabHolder_->GetVisibility() != V_GONE) { + root_->SetDefaultFocusView(tabHolder_); + } +- +- auto u = GetI18NCategory("Upgrade"); +- +- upgradeBar_ = 0; +- if (!g_Config.upgradeMessage.empty()) { +- upgradeBar_ = new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT)); +- +- UI::Margins textMargins(10, 5); +- UI::Margins buttonMargins(0, 0); +- UI::Drawable solid(0xFFbd9939); +- upgradeBar_->SetBG(solid); +- upgradeBar_->Add(new TextView(u->T("New version of PPSSPP available") + std::string(": ") + g_Config.upgradeVersion, new LinearLayoutParams(1.0f, textMargins))); +- upgradeBar_->Add(new Button(u->T("Download"), new LinearLayoutParams(buttonMargins)))->OnClick.Handle(this, &MainScreen::OnDownloadUpgrade); +- upgradeBar_->Add(new Button(u->T("Dismiss"), new LinearLayoutParams(buttonMargins)))->OnClick.Handle(this, &MainScreen::OnDismissUpgrade); +- +- // Slip in under root_ +- LinearLayout *newRoot = new LinearLayout(ORIENT_VERTICAL); +- newRoot->Add(root_); +- newRoot->Add(upgradeBar_); +- root_->ReplaceLayoutParams(new LinearLayoutParams(1.0)); +- root_ = newRoot; +- } + } + + UI::EventReturn MainScreen::OnAllowStorage(UI::EventParams &e) { +@@ -1128,27 +1097,6 @@ UI::EventReturn MainScreen::OnAllowStorage(UI::EventParams &e) { + return UI::EVENT_DONE; + } + +-UI::EventReturn MainScreen::OnDownloadUpgrade(UI::EventParams &e) { +-#if PPSSPP_PLATFORM(ANDROID) +- // Go to app store +- if (System_GetPropertyBool(SYSPROP_APP_GOLD)) { +- LaunchBrowser("market://details?id=org.ppsspp.ppssppgold"); +- } else { +- LaunchBrowser("market://details?id=org.ppsspp.ppsspp"); +- } +-#else +- // Go directly to ppsspp.org and let the user sort it out +- LaunchBrowser("https://www.ppsspp.org/downloads.html"); +-#endif +- return UI::EVENT_DONE; +-} +- +-UI::EventReturn MainScreen::OnDismissUpgrade(UI::EventParams &e) { +- g_Config.DismissUpgrade(); +- upgradeBar_->SetVisibility(UI::V_GONE); +- return UI::EVENT_DONE; +-} +- + void MainScreen::sendMessage(const char *message, const char *value) { + // Always call the base class method first to handle the most common messages. + UIScreenWithBackground::sendMessage(message, value); +@@ -1319,15 +1267,6 @@ UI::EventReturn MainScreen::OnCredits(UI::EventParams &e) { + return UI::EVENT_DONE; + } + +-UI::EventReturn MainScreen::OnSupport(UI::EventParams &e) { +-#ifdef __ANDROID__ +- LaunchBrowser("market://details?id=org.ppsspp.ppssppgold"); +-#else +- LaunchBrowser("https://central.ppsspp.org/buygold"); +-#endif +- return UI::EVENT_DONE; +-} +- + UI::EventReturn MainScreen::OnPPSSPPOrg(UI::EventParams &e) { + LaunchBrowser("https://www.ppsspp.org"); + return UI::EVENT_DONE; +diff --git a/UI/MiscScreens.cpp b/UI/MiscScreens.cpp +index a6542c65d..f5f101594 100644 +--- a/UI/MiscScreens.cpp ++++ b/UI/MiscScreens.cpp +@@ -498,11 +498,7 @@ void LogoScreen::render() { + char temp[256]; + // Manually formatting UTF-8 is fun. \xXX doesn't work everywhere. + snprintf(temp, sizeof(temp), "%s Henrik Rydg%c%crd", cr->T("created", "Created by"), 0xC3, 0xA5); +- if (System_GetPropertyBool(SYSPROP_APP_GOLD)) { +- dc.Draw()->DrawImage(ImageID("I_ICONGOLD"), bounds.centerX() - 120, bounds.centerY() - 30, 1.2f, textColor, ALIGN_CENTER); +- } else { +- dc.Draw()->DrawImage(ImageID("I_ICON"), bounds.centerX() - 120, bounds.centerY() - 30, 1.2f, textColor, ALIGN_CENTER); +- } ++ dc.Draw()->DrawImage(ImageID("I_ICON"), bounds.centerX() - 120, bounds.centerY() - 30, 1.2f, textColor, ALIGN_CENTER); + dc.Draw()->DrawImage(ImageID("I_LOGO"), bounds.centerX() + 40, bounds.centerY() - 30, 1.5f, textColor, ALIGN_CENTER); + //dc.Draw()->DrawTextShadow(UBUNTU48, "PPSSPP", xres / 2, yres / 2 - 30, textColor, ALIGN_CENTER); + dc.SetFontScale(1.0f, 1.0f); +@@ -538,10 +534,6 @@ void CreditsScreen::CreateViews() { + // Really need to redo this whole layout with some linear layouts... + + int rightYOffset = 0; +- if (!System_GetPropertyBool(SYSPROP_APP_GOLD)) { +- root_->Add(new Button(cr->T("Buy Gold"), new AnchorLayoutParams(260, 64, NONE, NONE, 10, 84, false)))->OnClick.Handle(this, &CreditsScreen::OnSupport); +- rightYOffset = 74; +- } + root_->Add(new Button(cr->T("PPSSPP Forums"), new AnchorLayoutParams(260, 64, 10, NONE, NONE, 158, false)))->OnClick.Handle(this, &CreditsScreen::OnForums); + root_->Add(new Button(cr->T("Discord"), new AnchorLayoutParams(260, 64, 10, NONE, NONE, 232, false)))->OnClick.Handle(this, &CreditsScreen::OnDiscord); + root_->Add(new Button("www.ppsspp.org", new AnchorLayoutParams(260, 64, 10, NONE, NONE, 10, false)))->OnClick.Handle(this, &CreditsScreen::OnPPSSPPOrg); +@@ -550,20 +542,7 @@ void CreditsScreen::CreateViews() { + #if PPSSPP_PLATFORM(ANDROID) || PPSSPP_PLATFORM(IOS) + root_->Add(new Button(cr->T("Share PPSSPP"), new AnchorLayoutParams(260, 64, NONE, NONE, 10, rightYOffset + 158, false)))->OnClick.Handle(this, &CreditsScreen::OnShare); + #endif +- if (System_GetPropertyBool(SYSPROP_APP_GOLD)) { +- root_->Add(new ImageView(ImageID("I_ICONGOLD"), IS_DEFAULT, new AnchorLayoutParams(100, 64, 10, 10, NONE, NONE, false))); +- } else { +- root_->Add(new ImageView(ImageID("I_ICON"), IS_DEFAULT, new AnchorLayoutParams(100, 64, 10, 10, NONE, NONE, false))); +- } +-} +- +-UI::EventReturn CreditsScreen::OnSupport(UI::EventParams &e) { +-#ifdef __ANDROID__ +- LaunchBrowser("market://details?id=org.ppsspp.ppssppgold"); +-#else +- LaunchBrowser("https://central.ppsspp.org/buygold"); +-#endif +- return UI::EVENT_DONE; ++ root_->Add(new ImageView(ImageID("I_ICON"), IS_DEFAULT, new AnchorLayoutParams(100, 64, 10, 10, NONE, NONE, false))); + } + + UI::EventReturn CreditsScreen::OnTwitter(UI::EventParams &e) { +@@ -747,11 +726,7 @@ void CreditsScreen::render() { + + // TODO: This is kinda ugly, done on every frame... + char temp[256]; +- if (System_GetPropertyBool(SYSPROP_APP_GOLD)) { +- snprintf(temp, sizeof(temp), "PPSSPP Gold %s", PPSSPP_GIT_VERSION); +- } else { +- snprintf(temp, sizeof(temp), "PPSSPP %s", PPSSPP_GIT_VERSION); +- } ++ snprintf(temp, sizeof(temp), "PPSSPP %s", PPSSPP_GIT_VERSION); + credits[0] = (const char *)temp; + + UIContext &dc = *screenManager()->getUIContext(); +diff --git a/UWP/PPSSPP_UWPMain.cpp b/UWP/PPSSPP_UWPMain.cpp +index 24f3b964d..1d66ba7ee 100644 +--- a/UWP/PPSSPP_UWPMain.cpp ++++ b/UWP/PPSSPP_UWPMain.cpp +@@ -399,12 +399,6 @@ bool System_GetPropertyBool(SystemProperty prop) { + return false; + case SYSPROP_HAS_BACK_BUTTON: + return true; +- case SYSPROP_APP_GOLD: +-#ifdef GOLD +- return true; +-#else +- return false; +-#endif + default: + return false; + } +diff --git a/Windows/MainWindowMenu.cpp b/Windows/MainWindowMenu.cpp +index b5e1bb0eb..71b29b48a 100644 +--- a/Windows/MainWindowMenu.cpp ++++ b/Windows/MainWindowMenu.cpp +@@ -1377,7 +1377,7 @@ namespace MainWindow { + { + W32Util::CenterWindow(hDlg); + HWND versionBox = GetDlgItem(hDlg, IDC_VERSION); +- std::string windowText = System_GetPropertyBool(SYSPROP_APP_GOLD) ? "PPSSPP Gold " : "PPSSPP "; ++ std::string windowText = "PPSSPP "; + windowText.append(PPSSPP_GIT_VERSION); + SetWindowText(versionBox, ConvertUTF8ToWString(windowText).c_str()); + } +diff --git a/Windows/main.cpp b/Windows/main.cpp +index 3795597e2..fd98d0453 100644 +--- a/Windows/main.cpp ++++ b/Windows/main.cpp +@@ -268,12 +268,6 @@ bool System_GetPropertyBool(SystemProperty prop) { + return true; + case SYSPROP_HAS_BACK_BUTTON: + return true; +- case SYSPROP_APP_GOLD: +-#ifdef GOLD +- return true; +-#else +- return false; +-#endif + default: + return false; + } +diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp +index 086371085..0a340c0ae 100644 +--- a/android/jni/app-android.cpp ++++ b/android/jni/app-android.cpp +@@ -372,12 +372,6 @@ bool System_GetPropertyBool(SystemProperty prop) { + return true; + case SYSPROP_HAS_IMAGE_BROWSER: + return true; +- case SYSPROP_APP_GOLD: +-#ifdef GOLD +- return true; +-#else +- return false; +-#endif + default: + return false; + } +-- +2.26.2 + -- cgit v1.2.3