summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-04-29 23:44:22 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-05-07 17:55:15 +0200
commit3fc284da69e64114b68075084a097bf3f2bc4aba (patch)
treecfe0b2d13e4f3af6747b1c36b568e172f0415e3c /gnu
parentb2b0179ec71a8d2e6686878d873354c599e8c7be (diff)
downloadguix-3fc284da69e64114b68075084a097bf3f2bc4aba.tar.gz
gnu: ppsspp: Update to 1.14.4.
* gnu/packages/emulators.scm (ppsspp): Update to 1.14.4.
[source]<snippet>: Adjust accordingly.
[arguments]<#:configure-flags>: Add “-DARMIPS_USE_STD_FILESYSTEM=ON” and
“-DUSE_SYSTEM_ZSTD=ON”.
<#:phases>: Drop replacement for ‘check’ phase.
Drop ‘fix-unittest-build’.
Do not add sources for pspautotests -- they are not tested in ‘check’ and some
of them fail.
* gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch: Adjust
accordingly.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emulators.scm46
-rw-r--r--gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch180
2 files changed, 90 insertions, 136 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index fa1f07eaf3..13b6022308 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -2274,7 +2274,7 @@ framework based on QEMU.")
 (define-public ppsspp
   (package
     (name "ppsspp")
-    (version "1.12.3")
+    (version "1.14.4")
     (source
      (origin
        (method git-fetch)
@@ -2282,7 +2282,7 @@ framework based on QEMU.")
              (url "https://github.com/hrydgard/ppsspp")
              (commit (string-append "v" version))))
        (sha256
-        (base32 "1p6pmp0lhqhk9h5r9xsjicd0zn08bwx3y8533npps96ixwbm2y15"))
+        (base32 "1l80zs1khph4a3g3hnh91awafmyy6wdcayb81xnflkzmpv3bwq8i"))
        (file-name (git-file-name name version))
        (patches
         (search-patches "ppsspp-disable-upgrade-and-gold.patch"))
@@ -2314,10 +2314,8 @@ framework based on QEMU.")
            (substitute* "CMakeLists.txt"
              ;; Drop unnecessary includes and targets.
              (("include_directories\\(ext/glslang\\)") "")
-             (("include_directories\\(ext/xxhash\\)") "")
-             (("include_directories\\(ext/cityhash\\)") "")
-             (("include_directories\\(ext/zstd.*") "")
-             (("libzstd_static") "zstd")
+             (("target_include_directories\\(.*ext/xxhash\\)") "")
+             (("target_include_directories\\(.*ext/cityhash\\)") "")
              (("set_target_properties\\(cityhash .*\\)") "")
              ;; Fix linking to GLEW.
              (("TARGET Ext::GLEW") "true")
@@ -2384,9 +2382,11 @@ elseif(FALSE)"))
     (arguments
      (list
       #:out-of-source? #f
-      #:configure-flags #~(list "-DUSE_DISCORD=OFF"
+      #:configure-flags #~(list "-DARMIPS_USE_STD_FILESYSTEM=ON" ; from armips
+                                "-DUSE_DISCORD=OFF"
                                 "-DUSE_SYSTEM_FFMPEG=ON"
                                 "-DUSE_SYSTEM_LIBZIP=ON"
+                                "-DUSE_SYSTEM_ZSTD=ON"
                                 ;; for testing
                                 "-DUNITTEST=ON" "-DHEADLESS=ON")
       #:phases
@@ -2394,37 +2394,7 @@ elseif(FALSE)"))
           (add-after 'unpack 'add-external-sources
             (lambda* (#:key inputs #:allow-other-keys)
               ;; TODO: unbundle armips.
-              (copy-recursively #$(package-source armips) "ext/armips")
-              ;; Some tests are externalised, so we add them here.
-              (copy-recursively
-               #$(let ((commit "1047400eaec6bcbdb2a64d326375ef6a6617c4ac"))
-                   (origin
-                     (method git-fetch)
-                     (uri (git-reference
-                           (url "https://github.com/hrydgard/pspautotests")
-                           (commit commit)))
-                     (sha256
-                      (base32 "0nxv1lskcr8zbg6nrfai21mxsw0n5vaqhbsa41c3cxfyx5c4w2pg"))
-                     (file-name (git-file-name "pspautotests" commit))))
-               "pspautotests")))
-          (add-after 'unpack 'fix-unittest-build
-            (lambda _
-              (substitute* "CMakeLists.txt"
-                (("unittest/TestVertexJit.cpp" all)
-                 (string-append all " unittest/TestShaderGenerators.cpp")))
-              (substitute* "unittest/TestVertexJit.cpp"
-                (("#include \"unittest/UnitTest.h\"" all)
-                 (string-append all "\n#include <cmath>")))))
-          (replace 'check
-            (lambda* (#:key tests? #:allow-other-keys)
-              (when tests?
-                (for-each
-                 (lambda (t) (invoke "./unitTest" t))
-                 '("Arm64Emitter" "ArmEmitter" "X64Emitter" "VertexJit" "Asin"
-                   "SinCos" "VFPUSinCos" "MathUtil" "Parsers" "Jit"
-                   "MatrixTranspose" "ParseLBN" "QuickTexHash" "CLZ"
-                   #|"ShaderGenerators"|#))
-                (invoke "python3" "test.py" "-g"))))
+              (copy-recursively #$(package-source armips) "ext/armips")))
           (replace 'install
             (lambda* (#:key inputs outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
diff --git a/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch b/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch
index 93996b52a7..4d381b004d 100644
--- a/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch
+++ b/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch
@@ -1,4 +1,4 @@
-From debc32a287209e1d1bb6fedb479bd923fd016399 Mon Sep 17 00:00:00 2001
+From 82e98cf24808754578ab26adef5c33acc949f75e Mon Sep 17 00:00:00 2001
 From: Liliana Marie Prikler <liliana.prikler@gmail.com>
 Date: Sat, 5 Jun 2021 22:47:00 -0400
 Subject: [PATCH] ppsspp: Remove upgrade code and gold support.
@@ -6,7 +6,7 @@ Subject: [PATCH] ppsspp: Remove upgrade code and gold support.
 Original patch from Liliana Marie Prikler.
 Rebased on master (commit 69fa20744958aef8da9ca052ba7675fdc1636e46) by
 Maxim Cournoyer.
-Revised once again by Liliana Marie Prikler for version 1.12.3.
+Revised again by Liliana Marie Prikler for versions 1.12.3 and 1.14.4.
 ---
  Common/System/System.h      |  1 -
  Core/Config.cpp             | 12 -------
@@ -16,24 +16,23 @@ Revised once again by Liliana Marie Prikler for version 1.12.3.
  Qt/mainwindow.h             |  1 -
  SDL/SDLMain.cpp             |  6 ----
  UI/DevScreens.cpp           |  3 --
- UI/GameSettingsScreen.cpp   |  4 +--
- UI/MainScreen.cpp           | 70 +------------------------------------
+ UI/GameSettingsScreen.cpp   |  2 --
+ UI/MainScreen.cpp           | 71 +------------------------------------
  UI/MemStickScreen.cpp       |  8 -----
- UI/MiscScreens.cpp          | 31 ++--------------
+ UI/MiscScreens.cpp          | 33 +++--------------
  UWP/PPSSPP_UWPMain.cpp      |  6 ----
  Windows/MainWindowMenu.cpp  |  8 +----
- Windows/WindowsHost.cpp     |  4 ---
  Windows/main.cpp            |  6 ----
  Windows/resource.h          |  1 -
  android/jni/app-android.cpp |  6 ----
  ios/main.mm                 |  6 ----
- 19 files changed, 6 insertions(+), 181 deletions(-)
+ 18 files changed, 6 insertions(+), 178 deletions(-)
 
 diff --git a/Common/System/System.h b/Common/System/System.h
-index 09560191e..5df68a120 100644
+index 6f1524ab0..cbc51c840 100644
 --- a/Common/System/System.h
 +++ b/Common/System/System.h
-@@ -83,7 +83,6 @@ enum SystemProperty {
+@@ -91,7 +91,6 @@ enum SystemProperty {
  	SYSPROP_DISPLAY_SAFE_INSET_BOTTOM,
  
  	SYSPROP_DEVICE_TYPE,
@@ -42,10 +41,10 @@ index 09560191e..5df68a120 100644
  	// Exposed on Android. Choosing the optimal sample rate for audio
  	// will result in lower latencies. Buffer size is automatically matched
 diff --git a/Core/Config.cpp b/Core/Config.cpp
-index 305098f47..9c28a3315 100644
+index 4971f9a8d..8a8386c0a 100644
 --- a/Core/Config.cpp
 +++ b/Core/Config.cpp
-@@ -512,7 +512,6 @@ static ConfigSetting generalSettings[] = {
+@@ -534,7 +534,6 @@ static ConfigSetting generalSettings[] = {
  	ConfigSetting("IgnoreBadMemAccess", &g_Config.bIgnoreBadMemAccess, true, true),
  	ConfigSetting("CurrentDirectory", &g_Config.currentDirectory, ""),
  	ConfigSetting("ShowDebuggerOnLoad", &g_Config.bShowDebuggerOnLoad, false),
@@ -53,8 +52,8 @@ index 305098f47..9c28a3315 100644
  	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...
-@@ -1395,17 +1394,6 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) {
- 		upgradeMessage = "";
+@@ -1453,17 +1452,6 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) {
+ 		upgradeMessage.clear();
  	}
  
 -	// Check for new version on every 10 runs.
@@ -72,10 +71,10 @@ index 305098f47..9c28a3315 100644
  	bSaveSettings = true;
  
 diff --git a/Core/Config.h b/Core/Config.h
-index 7bbbf2798..1bc1c2296 100644
+index 8f10a5089..5e4054be1 100644
 --- a/Core/Config.h
 +++ b/Core/Config.h
-@@ -109,7 +109,6 @@ struct Config {
+@@ -113,7 +113,6 @@ struct Config {
  
  	bool bFastMemory;
  	int iCpuCore;
@@ -83,19 +82,19 @@ index 7bbbf2798..1bc1c2296 100644
  	bool bForceLagSync;
  	bool bFuncReplacements;
  	bool bHideSlowWarnings;
-@@ -562,4 +561,3 @@ std::string CreateRandMAC();
+@@ -596,4 +595,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 b642f7442..a880d7c94 100644
+index f5a930061..d966d79ea 100644
 --- a/Qt/QtMain.cpp
 +++ b/Qt/QtMain.cpp
-@@ -219,12 +219,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
- 	case SYSPROP_HAS_FILE_BROWSER:
- 	case SYSPROP_HAS_FOLDER_BROWSER:
+@@ -238,12 +238,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
  		return true;
+ 	case SYSPROP_SUPPORTS_OPEN_FILE_IN_EDITOR:
+ 		return true;  // FileUtil.cpp: OpenFileInEditor
 -	case SYSPROP_APP_GOLD:
 -#ifdef GOLD
 -		return true;
@@ -104,12 +103,12 @@ index b642f7442..a880d7c94 100644
 -#endif
  	case SYSPROP_CAN_JIT:
  		return true;
- 	default:
+ 	case SYSPROP_HAS_KEYBOARD:
 diff --git a/Qt/mainwindow.cpp b/Qt/mainwindow.cpp
-index 1f56e0e76..0b7680427 100644
+index 26707a76e..aae5fe133 100644
 --- a/Qt/mainwindow.cpp
 +++ b/Qt/mainwindow.cpp
-@@ -413,11 +413,6 @@ void MainWindow::forumAct()
+@@ -421,11 +421,6 @@ void MainWindow::forumAct()
  	QDesktopServices::openUrl(QUrl("https://forums.ppsspp.org/"));
  }
  
@@ -121,7 +120,7 @@ index 1f56e0e76..0b7680427 100644
  void MainWindow::gitAct()
  {
  	QDesktopServices::openUrl(QUrl("https://github.com/hrydgard/ppsspp/"));
-@@ -666,7 +661,6 @@ void MainWindow::createMenus()
+@@ -673,7 +668,6 @@ void MainWindow::createMenus()
  	MenuTree* helpMenu = new MenuTree(this, menuBar(),    QT_TR_NOOP("&Help"));
  	helpMenu->add(new MenuAction(this, SLOT(websiteAct()),    QT_TR_NOOP("Visit www.&ppsspp.org")));
  	helpMenu->add(new MenuAction(this, SLOT(forumAct()),      QT_TR_NOOP("PPSSPP &forums")));
@@ -130,10 +129,10 @@ index 1f56e0e76..0b7680427 100644
  	helpMenu->add(new MenuAction(this, SLOT(discordAct()),      QT_TR_NOOP("Discord")));
  	helpMenu->addSeparator();
 diff --git a/Qt/mainwindow.h b/Qt/mainwindow.h
-index 99c9fc3ad..8cd6cbf79 100644
+index 705a3dd00..4c8abe452 100644
 --- a/Qt/mainwindow.h
 +++ b/Qt/mainwindow.h
-@@ -197,7 +197,6 @@ private slots:
+@@ -189,7 +189,6 @@ private slots:
  	// Help
  	void websiteAct();
  	void forumAct();
@@ -142,10 +141,10 @@ index 99c9fc3ad..8cd6cbf79 100644
  	void discordAct();
  	void aboutAct();
 diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp
-index f0f74f979..f963f36e9 100644
+index 415860069..a8a2285be 100644
 --- a/SDL/SDLMain.cpp
 +++ b/SDL/SDLMain.cpp
-@@ -381,12 +381,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
+@@ -415,12 +415,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
  	switch (prop) {
  	case SYSPROP_HAS_BACK_BUTTON:
  		return true;
@@ -157,12 +156,12 @@ index f0f74f979..f963f36e9 100644
 -#endif
  	case SYSPROP_CAN_JIT:
  		return true;
- 	default:
+ 	case SYSPROP_SUPPORTS_OPEN_FILE_IN_EDITOR:
 diff --git a/UI/DevScreens.cpp b/UI/DevScreens.cpp
-index 389fdf096..8442ee8c6 100644
+index 568cc7c2f..051f147e2 100644
 --- a/UI/DevScreens.cpp
 +++ b/UI/DevScreens.cpp
-@@ -649,9 +649,6 @@ void SystemInfoScreen::CreateViews() {
+@@ -691,9 +691,6 @@ void SystemInfoScreen::CreateViews() {
  #ifdef _M_SSE
  	buildConfig->Add(new InfoItem("_M_SSE", StringFromFormat("0x%x", _M_SSE)));
  #endif
@@ -173,32 +172,23 @@ index 389fdf096..8442ee8c6 100644
  	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 99fb151b9..90f26d5dc 100644
+index e0d12bc97..1e63d5d9d 100644
 --- a/UI/GameSettingsScreen.cpp
 +++ b/UI/GameSettingsScreen.cpp
-@@ -1023,7 +1023,6 @@ void GameSettingsScreen::CreateViews() {
+@@ -1004,8 +1004,6 @@ void GameSettingsScreen::CreateViews() {
  		}
  	}
  #endif
 -	systemSettings->Add(new CheckBox(&g_Config.bCheckForNewVersion, sy->T("VersionCheck", "Check for new versions of PPSSPP")));
- 
+-
  	systemSettings->Add(new Choice(sy->T("Restore Default Settings")))->OnClick.Handle(this, &GameSettingsScreen::OnRestoreDefaultSettings);
  	systemSettings->Add(new CheckBox(&g_Config.bEnableStateUndo, sy->T("Savestate slot backups")));
-@@ -2076,8 +2075,7 @@ void GestureMappingScreen::CreateViews() {
- 	vert->Add(new PopupMultiChoice(&g_Config.iSwipeRight, mc->T("Swipe Right"), gestureButton, 0, ARRAY_SIZE(gestureButton), mc->GetName(), screenManager()))->SetEnabledPtr(&g_Config.bGestureControlEnabled);
- 	vert->Add(new PopupSliderChoiceFloat(&g_Config.fSwipeSensitivity, 0.01f, 1.0f, co->T("Swipe sensitivity"), 0.01f, screenManager(), "x"))->SetEnabledPtr(&g_Config.bGestureControlEnabled);
- 	vert->Add(new PopupSliderChoiceFloat(&g_Config.fSwipeSmoothing, 0.0f, 0.95f, co->T("Swipe smoothing"), 0.05f, screenManager(), "x"))->SetEnabledPtr(&g_Config.bGestureControlEnabled);
--	
-+
- 	vert->Add(new ItemHeader(co->T("Double tap")));
- 	vert->Add(new PopupMultiChoice(&g_Config.iDoubleTapGesture, mc->T("Double tap button"), gestureButton, 0, ARRAY_SIZE(gestureButton), mc->GetName(), screenManager()))->SetEnabledPtr(&g_Config.bGestureControlEnabled);
- }
--
+ 	static const char *autoLoadSaveStateChoices[] = { "Off", "Oldest Save", "Newest Save", "Slot 1", "Slot 2", "Slot 3", "Slot 4", "Slot 5" };
 diff --git a/UI/MainScreen.cpp b/UI/MainScreen.cpp
-index 4e86ac1ab..be49c3add 100644
+index cc273ebbd..6623025de 100644
 --- a/UI/MainScreen.cpp
 +++ b/UI/MainScreen.cpp
-@@ -1100,11 +1100,7 @@ void MainScreen::CreateViews() {
+@@ -1111,11 +1111,7 @@ void MainScreen::CreateViews() {
  	sprintf(versionString, "%s", PPSSPP_GIT_VERSION);
  	rightColumnItems->SetSpacing(0.0f);
  	AnchorLayout *logos = new AnchorLayout(new AnchorLayoutParams(FILL_PARENT, 60.0f, false));
@@ -211,19 +201,20 @@ index 4e86ac1ab..be49c3add 100644
  	logos->Add(new ImageView(ImageID("I_LOGO"), "PPSSPP", IS_DEFAULT, new AnchorLayoutParams(180, 64, 64, -5.0f, NONE, NONE, false)));
  
  #if !defined(MOBILE_DEVICE)
-@@ -1127,11 +1123,6 @@ void MainScreen::CreateViews() {
- 	rightColumnItems->Add(new Choice(mm->T("Game Settings", "Settings")))->OnClick.Handle(this, &MainScreen::OnGameSettings);
+@@ -1140,12 +1136,6 @@ void MainScreen::CreateViews() {
  	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)) {
+ 
+-	if (!System_GetPropertyBool(SYSPROP_APP_GOLD) && (System_GetPropertyInt(SYSPROP_DEVICE_TYPE) != DEVICE_TYPE_VR)) {
 -		Choice *gold = rightColumnItems->Add(new Choice(mm->T("Buy PPSSPP Gold")));
 -		gold->OnClick.Handle(this, &MainScreen::OnSupport);
 -		gold->SetIcon(ImageID("I_ICONGOLD"), 0.5f);
 -	}
- 
+-
  #if !PPSSPP_PLATFORM(UWP)
  	// Having an exit button is against UWP guidelines.
-@@ -1156,32 +1147,6 @@ void MainScreen::CreateViews() {
+ 	rightColumnItems->Add(new Spacer(25.0));
+@@ -1169,32 +1159,6 @@ void MainScreen::CreateViews() {
  	} else if (tabHolder_->GetVisibility() != V_GONE) {
  		root_->SetDefaultFocusView(tabHolder_);
  	}
@@ -256,7 +247,7 @@ index 4e86ac1ab..be49c3add 100644
  }
  
  UI::EventReturn MainScreen::OnAllowStorage(UI::EventParams &e) {
-@@ -1189,30 +1154,6 @@ UI::EventReturn MainScreen::OnAllowStorage(UI::EventParams &e) {
+@@ -1202,30 +1166,6 @@ UI::EventReturn MainScreen::OnAllowStorage(UI::EventParams &e) {
  	return UI::EVENT_DONE;
  }
  
@@ -287,7 +278,7 @@ index 4e86ac1ab..be49c3add 100644
  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);
-@@ -1386,15 +1327,6 @@ UI::EventReturn MainScreen::OnCredits(UI::EventParams &e) {
+@@ -1392,15 +1332,6 @@ UI::EventReturn MainScreen::OnCredits(UI::EventParams &e) {
  	return UI::EVENT_DONE;
  }
  
@@ -304,7 +295,7 @@ index 4e86ac1ab..be49c3add 100644
  	LaunchBrowser("https://www.ppsspp.org");
  	return UI::EVENT_DONE;
 diff --git a/UI/MemStickScreen.cpp b/UI/MemStickScreen.cpp
-index ef617c5b5..664614c62 100644
+index 374c4683a..4a3d54155 100644
 --- a/UI/MemStickScreen.cpp
 +++ b/UI/MemStickScreen.cpp
 @@ -157,23 +157,16 @@ static void AddExplanation(UI::ViewGroup *viewGroup, MemStickScreen::Choice choi
@@ -340,23 +331,32 @@ index ef617c5b5..664614c62 100644
  	}
  	if (choice_ == CHOICE_BROWSE_FOLDER || choice_ == CHOICE_SET_MANUAL) {
 diff --git a/UI/MiscScreens.cpp b/UI/MiscScreens.cpp
-index 04e5df6c3..fb6c29725 100644
+index fef1fae1b..942997925 100644
 --- a/UI/MiscScreens.cpp
 +++ b/UI/MiscScreens.cpp
-@@ -769,11 +769,7 @@ void LogoScreen::render() {
+@@ -657,7 +657,7 @@ void NewLanguageScreen::OnCompleted(DialogResult result) {
+ 	g_Config.sLanguageIni = code;
+ 
+ 	bool iniLoadedSuccessfully = false;
+-	// Allow the lang directory to be overridden for testing purposes (e.g. Android, where it's hard to 
++	// Allow the lang directory to be overridden for testing purposes (e.g. Android, where it's hard to
+ 	// test new languages without recompiling the entire app, which is a hassle).
+ 	const Path langOverridePath = GetSysDirectory(DIRECTORY_SYSTEM) / "lang";
+ 
+@@ -781,11 +781,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);
+-		dc.Draw()->DrawImage(ImageID("I_ICONGOLD"), bounds.centerX() - 120, bounds.centerY() - 30, 1.2f, 0xFFFFFFFF, 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, 0xFFFFFFFF, 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()->DrawImage(ImageID("I_ICON"), bounds.centerX() - 120, bounds.centerY() - 30, 1.2f, 0xFFFFFFFF, ALIGN_CENTER);
+ 	dc.Draw()->DrawImage(ImageID("I_LOGO"), bounds.centerX() + 40, bounds.centerY() - 30, 1.5f, 0xFFFFFFFF, ALIGN_CENTER);
  	//dc.Draw()->DrawTextShadow(UBUNTU48, "PPSSPP", bounds.w / 2, bounds.h / 2 - 30, textColor, ALIGN_CENTER);
  	dc.SetFontScale(1.0f, 1.0f);
-@@ -809,10 +805,6 @@ void CreditsScreen::CreateViews() {
+@@ -821,10 +817,6 @@ void CreditsScreen::CreateViews() {
  	// Really need to redo this whole layout with some linear layouts...
  
  	int rightYOffset = 0;
@@ -367,7 +367,7 @@ index 04e5df6c3..fb6c29725 100644
  	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);
-@@ -821,20 +813,7 @@ void CreditsScreen::CreateViews() {
+@@ -833,20 +825,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
@@ -389,7 +389,7 @@ index 04e5df6c3..fb6c29725 100644
  }
  
  UI::EventReturn CreditsScreen::OnTwitter(UI::EventParams &e) {
-@@ -1024,11 +1003,7 @@ void CreditsScreen::render() {
+@@ -1033,11 +1012,7 @@ void CreditsScreen::render() {
  
  	// TODO: This is kinda ugly, done on every frame...
  	char temp[256];
@@ -403,10 +403,10 @@ index 04e5df6c3..fb6c29725 100644
  
  	UIContext &dc = *screenManager()->getUIContext();
 diff --git a/UWP/PPSSPP_UWPMain.cpp b/UWP/PPSSPP_UWPMain.cpp
-index 29afda806..b7028fc0c 100644
+index b734f6e3d..ef694fcd3 100644
 --- a/UWP/PPSSPP_UWPMain.cpp
 +++ b/UWP/PPSSPP_UWPMain.cpp
-@@ -426,12 +426,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
+@@ -418,12 +418,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
  		return false;
  	case SYSPROP_HAS_BACK_BUTTON:
  		return true;
@@ -418,9 +418,9 @@ index 29afda806..b7028fc0c 100644
 -#endif
  	case SYSPROP_CAN_JIT:
  		return true;
- 	default:
+ 	case SYSPROP_HAS_KEYBOARD:
 diff --git a/Windows/MainWindowMenu.cpp b/Windows/MainWindowMenu.cpp
-index 006fed4f4..4761171ff 100644
+index 25af2cd08..19ffd0a52 100644
 --- a/Windows/MainWindowMenu.cpp
 +++ b/Windows/MainWindowMenu.cpp
 @@ -136,7 +136,6 @@ namespace MainWindow {
@@ -439,7 +439,7 @@ index 006fed4f4..4761171ff 100644
  		AppendMenu(helpMenu, MF_STRING | MF_BYCOMMAND, ID_HELP_GITHUB, gitHub.c_str());
  		AppendMenu(helpMenu, MF_STRING | MF_BYCOMMAND, ID_HELP_DISCORD, discord.c_str());
  		AppendMenu(helpMenu, MF_SEPARATOR, 0, 0);
-@@ -1015,10 +1013,6 @@ namespace MainWindow {
+@@ -924,10 +922,6 @@ namespace MainWindow {
  			ShellExecute(NULL, L"open", L"https://www.ppsspp.org/", NULL, NULL, SW_SHOWNORMAL);
  			break;
  
@@ -450,7 +450,7 @@ index 006fed4f4..4761171ff 100644
  		case ID_HELP_OPENFORUM:
  			ShellExecute(NULL, L"open", L"https://forums.ppsspp.org/", NULL, NULL, SW_SHOWNORMAL);
  			break;
-@@ -1397,7 +1391,7 @@ namespace MainWindow {
+@@ -1280,7 +1274,7 @@ namespace MainWindow {
  		{
  			W32Util::CenterWindow(hDlg);
  			HWND versionBox = GetDlgItem(hDlg, IDC_VERSION);
@@ -459,27 +459,11 @@ index 006fed4f4..4761171ff 100644
  			windowText.append(PPSSPP_GIT_VERSION);
  			SetWindowText(versionBox, ConvertUTF8ToWString(windowText).c_str());
  		}
-diff --git a/Windows/WindowsHost.cpp b/Windows/WindowsHost.cpp
-index 610b79890..3d5926fce 100644
---- a/Windows/WindowsHost.cpp
-+++ b/Windows/WindowsHost.cpp
-@@ -155,11 +155,7 @@ void WindowsHost::ShutdownGraphics() {
- }
- 
- void WindowsHost::SetWindowTitle(const char *message) {
--#ifdef GOLD
--	const char *name = "PPSSPP Gold ";
--#else
- 	const char *name = "PPSSPP ";
--#endif
- 	std::wstring winTitle = ConvertUTF8ToWString(std::string(name) + PPSSPP_GIT_VERSION);
- 	if (message != nullptr) {
- 		winTitle.append(ConvertUTF8ToWString(" - "));
 diff --git a/Windows/main.cpp b/Windows/main.cpp
-index 9395233e2..90abec570 100644
+index 9351202be..30c75e092 100644
 --- a/Windows/main.cpp
 +++ b/Windows/main.cpp
-@@ -304,12 +304,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
+@@ -333,12 +333,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
  		return true;
  	case SYSPROP_HAS_BACK_BUTTON:
  		return true;
@@ -491,12 +475,12 @@ index 9395233e2..90abec570 100644
 -#endif
  	case SYSPROP_CAN_JIT:
  		return true;
- 	default:
+ 	case SYSPROP_HAS_KEYBOARD:
 diff --git a/Windows/resource.h b/Windows/resource.h
-index ce21b3a85..1f8002c10 100644
+index 83ef88957..bdaef6234 100644
 --- a/Windows/resource.h
 +++ b/Windows/resource.h
-@@ -322,7 +322,6 @@
+@@ -339,7 +339,6 @@
  // Dummy option to let the buffered rendering hotkey cycle through all the options.
  #define ID_OPTIONS_BUFFEREDRENDERINGDUMMY 40500
  #define IDC_STEPOUT                       40501
@@ -505,13 +489,13 @@ index ce21b3a85..1f8002c10 100644
  #define IDC_STATIC                      -1
  
 diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp
-index df395e304..cebdf5804 100644
+index 18ef723d4..61d8e5c2d 100644
 --- a/android/jni/app-android.cpp
 +++ b/android/jni/app-android.cpp
-@@ -458,12 +458,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
- 		// Doesn't actually mean it's usable though, in many early versions of Android
- 		// this dialog is complete garbage and only lets you select subfolders of the Downloads folder.
+@@ -480,12 +480,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
  		return androidVersion >= 21;  // when ACTION_OPEN_DOCUMENT_TREE was added
+ 	case SYSPROP_SUPPORTS_OPEN_FILE_IN_EDITOR:
+ 		return false;  // Update if we add support in FileUtil.cpp: OpenFileInEditor
 -	case SYSPROP_APP_GOLD:
 -#ifdef GOLD
 -		return true;
@@ -522,10 +506,10 @@ index df395e304..cebdf5804 100644
  		return true;
  	case SYSPROP_ANDROID_SCOPED_STORAGE:
 diff --git a/ios/main.mm b/ios/main.mm
-index e53b7c7ab..fe69647ed 100644
+index b10db1a79..c410befdc 100644
 --- a/ios/main.mm
 +++ b/ios/main.mm
-@@ -148,12 +148,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
+@@ -153,12 +153,6 @@ bool System_GetPropertyBool(SystemProperty prop) {
  	switch (prop) {
  		case SYSPROP_HAS_BACK_BUTTON:
  			return false;
@@ -536,8 +520,8 @@ index e53b7c7ab..fe69647ed 100644
 -			return false;
 -#endif
  		case SYSPROP_CAN_JIT:
- 			return g_jitAvailable;
+ 			return get_debugged();
  
 -- 
-2.34.0
+2.39.2