Fix ppsspp and retroarch patches.

This commit is contained in:
fewtarius 2022-11-08 08:18:17 -05:00
parent 639fe80304
commit 3b5306d722
No known key found for this signature in database
GPG key ID: F4AE55305D1B8C1A
2 changed files with 21 additions and 49 deletions

View file

@ -1,8 +1,8 @@
diff --git a/Core/Config.cpp b/Core/Config.cpp
index 4eeca428a..5e5b004e2 100644
index 4b75a46c5..051dd20cf 100644
--- a/Core/Config.cpp
+++ b/Core/Config.cpp
@@ -896,6 +896,7 @@ static ConfigSetting graphicsSettings[] = {
@@ -898,6 +898,7 @@ static ConfigSetting graphicsSettings[] = {
#if defined(USING_WIN_UI)
ConfigSetting("RestartRequired", &g_Config.bRestartRequired, false, false),
#endif
@ -11,10 +11,10 @@ index 4eeca428a..5e5b004e2 100644
// Most low-performance (and many high performance) mobile GPUs do not support aniso anyway so defaulting to 4 is fine.
ConfigSetting("AnisotropyLevel", &g_Config.iAnisotropyLevel, 4, true, true),
diff --git a/Core/Config.h b/Core/Config.h
index 65eaf7409..02b18d39d 100644
index af20f6289..1eea77626 100644
--- a/Core/Config.h
+++ b/Core/Config.h
@@ -217,6 +217,7 @@ struct Config {
@@ -218,6 +218,7 @@ struct Config {
bool bTexHardwareScaling;
int iFpsLimit1;
int iFpsLimit2;
@ -23,7 +23,7 @@ index 65eaf7409..02b18d39d 100644
int iAnalogFpsMode; // 0 = auto, 1 = single direction, 2 = mapped to opposite
int iMaxRecent;
diff --git a/Core/HLE/sceDisplay.cpp b/Core/HLE/sceDisplay.cpp
index d0577d46f..fd4969ba4 100644
index 342d52262..9cf1e7e5e 100644
--- a/Core/HLE/sceDisplay.cpp
+++ b/Core/HLE/sceDisplay.cpp
@@ -822,6 +822,12 @@ u32 sceDisplaySetFramebuf(u32 topaddr, int linesize, int pixelformat, int sync)
@ -49,7 +49,7 @@ index d0577d46f..fd4969ba4 100644
nextFlipCycles = std::max(lastFlipCycles, nextFlipCycles) + expected;
}
diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp
index 4d1d6c679..4da8601d3 100644
index 080d19e68..dd5d93434 100644
--- a/UI/GameSettingsScreen.cpp
+++ b/UI/GameSettingsScreen.cpp
@@ -201,6 +201,8 @@ void GameSettingsScreen::CreateViews() {
@ -61,7 +61,7 @@ index 4d1d6c679..4da8601d3 100644
iAlternateSpeedPercent1_ = g_Config.iFpsLimit1 < 0 ? -1 : (g_Config.iFpsLimit1 * 100) / 60;
iAlternateSpeedPercent2_ = g_Config.iFpsLimit2 < 0 ? -1 : (g_Config.iFpsLimit2 * 100) / 60;
iAlternateSpeedPercentAnalog_ = (g_Config.iAnalogFpsLimit * 100) / 60;
@@ -332,7 +334,10 @@ void GameSettingsScreen::CreateViews() {
@@ -310,7 +312,10 @@ void GameSettingsScreen::CreateViews() {
graphicsSettings->Add(new PopupMultiChoice(&g_Config.iFrameSkipType, gr->T("Frame Skipping Type"), frameSkipType, 0, ARRAY_SIZE(frameSkipType), gr->GetName(), screenManager()));
frameSkipAuto_ = graphicsSettings->Add(new CheckBox(&g_Config.bAutoFrameSkip, gr->T("Auto FrameSkip")));
frameSkipAuto_->OnClick.Handle(this, &GameSettingsScreen::OnAutoFrameskip);
@ -73,7 +73,7 @@ index 4d1d6c679..4da8601d3 100644
PopupSliderChoice *altSpeed1 = graphicsSettings->Add(new PopupSliderChoice(&iAlternateSpeedPercent1_, 0, 1000, gr->T("Alternative Speed", "Alternative speed"), 5, screenManager(), gr->T("%, 0:unlimited")));
altSpeed1->SetFormat("%i%%");
altSpeed1->SetZeroLabel(gr->T("Unlimited"));
@@ -1331,6 +1336,16 @@ UI::EventReturn GameSettingsScreen::OnDisplayLayoutEditor(UI::EventParams &e) {
@@ -1337,6 +1342,16 @@ UI::EventReturn GameSettingsScreen::OnDisplayLayoutEditor(UI::EventParams &e) {
return UI::EVENT_DONE;
};
@ -91,7 +91,7 @@ index 4d1d6c679..4da8601d3 100644
if (g_Config.iAndroidHwScale == 1) {
RecreateActivity();
diff --git a/UI/GameSettingsScreen.h b/UI/GameSettingsScreen.h
index 82b4cd859..b85c069ca 100644
index 2fd7d6e59..6e9f1db70 100644
--- a/UI/GameSettingsScreen.h
+++ b/UI/GameSettingsScreen.h
@@ -59,6 +59,7 @@ class GameSettingsScreen : public UIDialogScreenWithGameBackground {
@ -118,31 +118,3 @@ index 82b4cd859..b85c069ca 100644
int iAlternateSpeedPercent1_;
int iAlternateSpeedPercent2_;
int iAlternateSpeedPercentAnalog_;
diff --git a/libretro/libretro.cpp b/libretro/libretro.cpp
index 9b4a20bd9..6d2dabc0e 100644
--- a/libretro/libretro.cpp
+++ b/libretro/libretro.cpp
@@ -538,6 +538,7 @@ static RetroOption<int> ppsspp_rendering_mode("ppsspp_rendering_mode", "Renderin
static RetroOption<bool> ppsspp_auto_frameskip("ppsspp_auto_frameskip", "Auto Frameskip", false);
static RetroOption<int> ppsspp_frameskip("ppsspp_frameskip", "Frameskip", { "Off", "1", "2", "3", "4", "5", "6", "7", "8" });
static RetroOption<int> ppsspp_frameskiptype("ppsspp_frameskiptype", "Frameskip Type", { {"Number of frames", 0}, {"Percent of FPS", 1} });
+static RetroOption<int> ppsspp_force_max_fps("ppsspp_force_max_fps", "Force Max FPS", { {"Auto", 0}, {"10", 10}, {"20", 20}, {"30", 30}, {"40", 40}, {"50", 50}, {"60", 60}, {"70", 70}, {"80", 80} });
static RetroOption<int> ppsspp_internal_resolution("ppsspp_internal_resolution", "Internal Resolution (Restart)", 1, { "480x272", "960x544", "1440x816", "1920x1088", "2400x1360", "2880x1632", "3360x1904", "3840x2176", "4320x2448", "4800x2720" });
static RetroOption<int> ppsspp_button_preference("ppsspp_button_preference", "Confirmation Button", { { "Cross", PSP_SYSTEMPARAM_BUTTON_CROSS }, { "Circle", PSP_SYSTEMPARAM_BUTTON_CIRCLE } });
static RetroOption<bool> ppsspp_fast_memory("ppsspp_fast_memory", "Fast Memory (Speedhack)", true);
@@ -688,6 +689,7 @@ void retro_set_environment(retro_environment_t cb)
vars.push_back(ppsspp_auto_frameskip.GetOptions());
vars.push_back(ppsspp_frameskip.GetOptions());
vars.push_back(ppsspp_frameskiptype.GetOptions());
+ vars.push_back(ppsspp_force_max_fps.GetOptions());
vars.push_back(ppsspp_frame_duplication.GetOptions());
vars.push_back(ppsspp_detect_vsync_swap_interval.GetOptions());
vars.push_back(ppsspp_vertex_cache.GetOptions());
@@ -818,6 +820,7 @@ static void check_variables(CoreParameter &coreParam)
ppsspp_cheats.Update(&g_Config.bEnableCheats);
ppsspp_locked_cpu_speed.Update(&g_Config.iLockedCPUSpeed);
ppsspp_rendering_mode.Update(&g_Config.iRenderingMode);
+ ppsspp_force_max_fps.Update(&g_Config.iForceMaxEmulatedFPS);
ppsspp_cpu_core.Update((CPUCore *)&g_Config.iCpuCore);
ppsspp_io_timing_method.Update((IOTimingMethods *)&g_Config.iIOTimingMethod);
ppsspp_lower_resolution_for_effects.Update(&g_Config.iBloomHack);

View file

@ -1,16 +1,17 @@
diff -rupN retroarch.orig/menu/drivers/ozone.c retroarch/menu/drivers/ozone.c
--- retroarch.orig/menu/drivers/ozone.c 2022-07-13 17:45:03.418008630 -0400
+++ retroarch/menu/drivers/ozone.c 2022-07-13 17:46:31.712754701 -0400
@@ -7454,7 +7454,7 @@ static void *ozone_init(void **userdata,
ozone->last_width = width;
ozone->last_height = height;
ozone->last_scale_factor = gfx_display_get_dpi_scale(p_disp,
diff --git a/menu/drivers/ozone.c b/menu/drivers/ozone.c
index 6720c22fff..e799b2299a 100644
--- a/menu/drivers/ozone.c
+++ b/menu/drivers/ozone.c
@@ -8087,7 +8087,7 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
ozone->last_width = width;
ozone->last_height = height;
ozone->last_scale_factor = gfx_display_get_dpi_scale(p_disp,
- settings, width, height, false, false);
+ settings, width, height, false, false) * 2.000f;
ozone->last_thumbnail_scale_factor = settings->floats.ozone_thumbnail_scale_factor;
+ settings, width, height, false, false) * 2.000f;
ozone->last_thumbnail_scale_factor = settings->floats.ozone_thumbnail_scale_factor;
file_list_initialize(&ozone->selection_buf_old);
@@ -8551,7 +8551,7 @@ static void ozone_render(void *data,
ozone->selection_buf_old.list = NULL;
@@ -9187,7 +9187,7 @@ static void ozone_render(void *data,
/* Check whether screen dimensions or menu scale
* factor have changed */
scale_factor = gfx_display_get_dpi_scale(p_disp, settings,
@ -19,4 +20,3 @@ diff -rupN retroarch.orig/menu/drivers/ozone.c retroarch/menu/drivers/ozone.c
thumbnail_scale_factor = settings->floats.ozone_thumbnail_scale_factor;
if ((scale_factor != ozone->last_scale_factor) ||
Binary files retroarch.orig/menu/drivers/.ozone.c.rej.swp and retroarch/menu/drivers/.ozone.c.rej.swp differ