From 993c3a9c67cdc49e5b264d650e336e18b8be8a91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 14 Jul 2026 22:22:29 +0200 Subject: [PATCH] Avoid accurately computing disk space on iOS and Android (where it can be slow). Add a setting. --- Common/System/System.h | 2 ++ Core/Config.cpp | 1 + Core/Config.h | 1 + Core/HW/MemoryStick.cpp | 18 ++++++++++++------ Qt/QtMain.cpp | 2 ++ SDL/SDLMain.cpp | 2 ++ UI/GameSettingsScreen.cpp | 5 +++++ UWP/PPSSPP_UWPMain.cpp | 2 ++ Windows/main.cpp | 2 ++ android/jni/app-android.cpp | 2 ++ assets/lang/ar_AE.ini | 1 + assets/lang/az_AZ.ini | 1 + assets/lang/be_BY.ini | 1 + assets/lang/bg_BG.ini | 1 + assets/lang/ca_ES.ini | 1 + assets/lang/cz_CZ.ini | 1 + assets/lang/da_DK.ini | 1 + assets/lang/de_DE.ini | 1 + assets/lang/dr_ID.ini | 1 + assets/lang/en_US.ini | 1 + assets/lang/es_ES.ini | 1 + assets/lang/es_LA.ini | 1 + assets/lang/fa_IR.ini | 1 + assets/lang/fi_FI.ini | 1 + assets/lang/fr_FR.ini | 1 + assets/lang/gl_ES.ini | 1 + assets/lang/gr_EL.ini | 1 + assets/lang/he_IL.ini | 1 + assets/lang/he_IL_invert.ini | 1 + assets/lang/hr_HR.ini | 1 + assets/lang/hu_HU.ini | 1 + assets/lang/id_ID.ini | 1 + assets/lang/it_IT.ini | 1 + assets/lang/ja_JP.ini | 1 + assets/lang/jv_ID.ini | 1 + assets/lang/km_KH.ini | 1 + assets/lang/ko_KR.ini | 1 + assets/lang/ku_SO.ini | 1 + assets/lang/lo_LA.ini | 1 + assets/lang/lt-LT.ini | 1 + assets/lang/ms_MY.ini | 1 + assets/lang/nl_NL.ini | 1 + assets/lang/nn_NO.ini | 1 + assets/lang/no_NO.ini | 1 + assets/lang/pl_PL.ini | 1 + assets/lang/pt_BR.ini | 1 + assets/lang/pt_PT.ini | 1 + assets/lang/ro_RO.ini | 1 + assets/lang/ru_RU.ini | 1 + assets/lang/sv_SE.ini | 1 + assets/lang/tg_PH.ini | 1 + assets/lang/th_TH.ini | 1 + assets/lang/tr_TR.ini | 1 + assets/lang/uk_UA.ini | 1 + assets/lang/vi_VN.ini | 1 + assets/lang/zh_CN.ini | 1 + assets/lang/zh_TW.ini | 1 + ios/main.mm | 3 +++ 58 files changed, 81 insertions(+), 6 deletions(-) diff --git a/Common/System/System.h b/Common/System/System.h index 9ad7977590..deebbac2d5 100644 --- a/Common/System/System.h +++ b/Common/System/System.h @@ -156,6 +156,8 @@ enum SystemProperty { SYSPROP_HAS_ADDITIONAL_STORAGE, SYSPROP_ADDITIONAL_STORAGE_DIRS, SYSPROP_TEMP_DIRS, + + SYSPROP_CAN_GET_FREE_SPACE_FAST, SYSPROP_HAS_FILE_BROWSER, SYSPROP_HAS_FOLDER_BROWSER, diff --git a/Core/Config.cpp b/Core/Config.cpp index 8ce26e1ffb..0e58d80a31 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -273,6 +273,7 @@ static const ConfigSetting generalSettings[] = { ConfigSetting("StateUndoLastSaveSlot", SETTING(g_Config, iStateUndoLastSaveSlot), -5, CfgFlag::DEFAULT), // Start with an "invalid" value ConfigSetting("RewindSnapshotInterval", SETTING(g_Config, iRewindSnapshotInterval), 0, CfgFlag::PER_GAME), ConfigSetting("SaveStateSlotCount", SETTING(g_Config, iSaveStateSlotCount), 5, CfgFlag::DEFAULT), + ConfigSetting("ReportAccurateFreeStorageSpace", SETTING(g_Config, bReportAccurateFreeStorageSpace), false, CfgFlag::DEFAULT), ConfigSetting("ShowRegionOnGameIcon", SETTING(g_Config, bShowRegionOnGameIcon), false, CfgFlag::DEFAULT), ConfigSetting("ShowIDOnGameIcon", SETTING(g_Config, bShowIDOnGameIcon), false, CfgFlag::DEFAULT), diff --git a/Core/Config.h b/Core/Config.h index 104863dba7..6afa0f02be 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -357,6 +357,7 @@ public: float fGameListScrollPosition; float fHomebrewScrollPosition; float fRemoteScrollPosition; + bool bReportAccurateFreeStorageSpace; int iBloomHack; //0 = off, 1 = safe, 2 = balanced, 3 = aggressive int iSkipGPUReadbackMode; // 0 = off, 1 = skip, 2 = to texture int iSplineBezierQuality; // 0 = low , 1 = Intermediate , 2 = High diff --git a/Core/HW/MemoryStick.cpp b/Core/HW/MemoryStick.cpp index b3ba0ebfc6..b12a74652b 100644 --- a/Core/HW/MemoryStick.cpp +++ b/Core/HW/MemoryStick.cpp @@ -24,6 +24,7 @@ #include "Common/File/DiskFree.h" #include "Common/File/FileUtil.h" #include "Common/File/DirListing.h" +#include "Common/System/System.h" #include "Core/Config.h" #include "Core/CoreTiming.h" #include "Core/Compatibility.h" @@ -113,7 +114,6 @@ u64 MemoryStick_FreeSpace(std::string gameID) { INFO_LOG(Log::IO, "Calculating free disk space (%s)", gameID.c_str()); const CompatFlags &flags = PSP_CoreParameter().compat.flags(); - u64 realFreeSpace = pspFileSystem.FreeDiskSpace("ms0:/"); // Cap the memory stick size to avoid math errors when old games get sizes that were // not planned for back then (even though 2GB cards were available.) @@ -135,21 +135,27 @@ u64 MemoryStick_FreeSpace(std::string gameID) { // This doesn't work, so we'll just have to lie. Not sure what the best way is. simulatedFreeSpace = smallMemstickSize / 2; // just pick a value. } + + u64 space; if (flags.MemstickFixedFree) { const u64 memstickInitialFree = g_initialMemstickSizePromise->BlockUntilReady(); _dbg_assert_(g_initialMemstickSizePromise); // Assassin's Creed: Bloodlines fails to save if free space changes incorrectly during game. // See issue #12761 - realFreeSpace = 0; + u64 realFreeSpace = 0; if (memstickCurrentUse <= memstickInitialFree) { realFreeSpace = memstickInitialFree - memstickCurrentUse; } + space = std::min(simulatedFreeSpace, realFreeSpace); + } else if (System_GetPropertyBool(SYSPROP_CAN_GET_FREE_SPACE_FAST) || g_Config.bReportAccurateFreeStorageSpace) { + u64 realFreeSpace = pspFileSystem.FreeDiskSpace("ms0:/"); + space = std::min(simulatedFreeSpace, realFreeSpace); + INFO_LOG(Log::IO, "Done calculating free disk space (%0.3f s): %llu", time_now_d() - start, (unsigned long long)space); + } else { + space = simulatedFreeSpace; + INFO_LOG(Log::IO, "Reporting simulated free disk space: %llu", (unsigned long long)space); } - u64 space = std::min(simulatedFreeSpace, realFreeSpace); - - INFO_LOG(Log::IO, "Done calculating free disk space (%0.3f s): %llu", time_now_d() - start, (unsigned long long)space); - return space; } diff --git a/Qt/QtMain.cpp b/Qt/QtMain.cpp index 99e3eebf2b..ce47575de0 100644 --- a/Qt/QtMain.cpp +++ b/Qt/QtMain.cpp @@ -308,6 +308,8 @@ bool System_GetPropertyBool(SystemProperty prop) { return true; case SYSPROP_HAS_KEYBOARD: return true; + case SYSPROP_CAN_GET_FREE_SPACE_FAST: + return true; default: return false; } diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp index a2c66848ea..2495b51e5f 100644 --- a/SDL/SDLMain.cpp +++ b/SDL/SDLMain.cpp @@ -809,6 +809,8 @@ case SYSPROP_HAS_FILE_BROWSER: #endif case SYSPROP_CAN_READ_BATTERY_PERCENTAGE: return true; + case SYSPROP_CAN_GET_FREE_SPACE_FAST: + return true; case SYSPROP_ENOUGH_RAM_FOR_FULL_ISO: #if PPSSPP_ARCH(64BIT) && !defined(MOBILE_DEVICE) return true; diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index ca97df34f3..1787301c2e 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -1286,6 +1286,11 @@ void GameSettingsScreen::CreateSystemSettings(UI::ViewGroup *systemSettings) { SavePathInOtherChoice->OnClick.Handle(this, &GameSettingsScreen::OnMemoryStickOther); const bool myDocsExists = W32Util::UserDocumentsPath().size() != 0; + if (!System_GetPropertyBool(SYSPROP_CAN_GET_FREE_SPACE_FAST)) { + // It might be slow, so use an option. + systemSettings->Add(new CheckBox(&g_Config.bReportAccurateFreeStorageSpace, sy->T("Report free storage space accurately"))); + } + const Path &PPSSPPpath = File::GetExeDirectory(); const Path installedFile = PPSSPPpath / "installed.txt"; installed_ = File::Exists(installedFile); diff --git a/UWP/PPSSPP_UWPMain.cpp b/UWP/PPSSPP_UWPMain.cpp index 6101f96feb..8b684141ef 100644 --- a/UWP/PPSSPP_UWPMain.cpp +++ b/UWP/PPSSPP_UWPMain.cpp @@ -509,6 +509,8 @@ bool System_GetPropertyBool(SystemProperty prop) { return IsDebuggerPresent(); case SYSPROP_OK_BUTTON_LEFT: return true; + case SYSPROP_CAN_GET_FREE_SPACE_FAST: + return true; default: return false; } diff --git a/Windows/main.cpp b/Windows/main.cpp index 9d042ba757..5d7ea4bf0d 100644 --- a/Windows/main.cpp +++ b/Windows/main.cpp @@ -483,6 +483,8 @@ bool System_GetPropertyBool(SystemProperty prop) { return false; // This should never be set to true on Windows. Only for testing/dev. case SYSPROP_USE_APP_STORE: return false; + case SYSPROP_CAN_GET_FREE_SPACE_FAST: + return true; default: return false; } diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp index 66248735d6..2d2eb6c531 100644 --- a/android/jni/app-android.cpp +++ b/android/jni/app-android.cpp @@ -540,6 +540,8 @@ bool System_GetPropertyBool(SystemProperty prop) { case SYSPROP_SUPPORTS_HTTPS: return !g_Config.bDisableHTTPS; #endif + case SYSPROP_CAN_GET_FREE_SPACE_FAST: + return false; default: return false; } diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index 78ce239175..21c0912509 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -1487,6 +1487,7 @@ Recent games = الألعاب السابقة Record Audio = ‎تسجيل الصوت Record Display = ‎سجل الفيديو Recording = جاري التسجيل +Report free storage space accurately = تقارير مساحة التخزين الفارغة بدقة # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = ‎إلي الإفتراضي PPSSPP's إعادة إعدادات RetroAchievements = RetroAchievements diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index ca3b1f9cba..8f3cee94ff 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -1477,6 +1477,7 @@ Recent games = Az öncıki oyunlar Record Audio = Səsi yaz Record Display = Görüntünü çək Recording = Yazılır +Report free storage space accurately = Boş saxlama yerini dəqiq hesabat verin # AI translated Reset Recording on Save/Load State = Durumun Qorunuşu/Yüklənişində yazılışı sıfırla Restore Default Settings = PPSSPP quruluşlarını varsayılana qaytar RetroAchievements = RetroAchievements diff --git a/assets/lang/be_BY.ini b/assets/lang/be_BY.ini index 2726a7af37..a85a46c06a 100644 --- a/assets/lang/be_BY.ini +++ b/assets/lang/be_BY.ini @@ -1469,6 +1469,7 @@ Recent games = Нядаўнія гульні Record Audio = Запіс аўдыё Record Display = Запіс экрана Recording = Запіс +Report free storage space accurately = Даклад аб свабодным месцы для захавання дакладна # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Restore PPSSPP's settings to default RetroAchievements = RetroAchievements diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 127be46edd..4342d45119 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Докладвайте за свободното пространство за съхранение точно # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Възстанови първоначалните настройки на PPSSPP RetroAchievements = RetroAchievements diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index 369eb24709..d06ffb3e27 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Reporta l'espai d'emmagatzematge lliure amb precisió # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Restore PPSSPP's settings to default RetroAchievements = RetroAchievements diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index 140dde310c..2d479ac9d3 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Přesně oznamte volné místo na úložišti # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Obnovit výchozí nastavení PPSSPP RetroAchievements = RetroAchievements diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index f112724eb1..df332765d2 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Optag lyd Record Display = Optag skærm Recording = Recording +Report free storage space accurately = Rapportér frit lagerplads nøjagtigt # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Sæt PPSSPP's indstillinger tilbage til standard RetroAchievements = RetroAchievements diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 6e4f9894c4..d54644d441 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -1476,6 +1476,7 @@ Recent games = Recent games Record Audio = Ton aufzeichnen Record Display = Bildschirm aufzeichnen Recording = Aufnahme +Report free storage space accurately = Berichten Sie genau über freien Speicherplatz # AI translated Reset Recording on Save/Load State = Aufnahme zurücksetzen bei Laden/Speichern eines Spielstands Restore Default Settings = Auf Vorgabeeinstellungen zurücksetzen RetroAchievements = RetroAchievements diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index 6cabb4fc74..1261e2cf5d 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Laporkan ruang penyimpanan gratis secara akurat # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Restore PPSSPP's settings to default RetroAchievements = RetroAchievements diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index 46e3be58b3..cc20ffebf5 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -1494,6 +1494,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Report free storage space accurately Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Restore PPSSPP's settings to default RetroAchievements = RetroAchievements diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index f3a2de26e9..9361e8ef6f 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -1478,6 +1478,7 @@ Recent games = Juegos recientes Record Audio = Grabar audio Record Display = Grabar pantalla Recording = Grabación +Report free storage space accurately = Informa con precisión del espacio de almacenamiento libre # AI translated Reset Recording on Save/Load State = Restablecer grabación en el estado Guardar/Cargar Restore Default Settings = Restablecer ajustes por defecto RetroAchievements = RetroAchievements diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index da3b4743ae..0d766ca93c 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -1479,6 +1479,7 @@ Recent games = Juegos recientes Record Audio = Grabar Audio Record Display = Grabar pantalla Recording = Recording +Report free storage space accurately = Informa con precisión sobre el espacio de almacenamiento libre # AI translated Reset Recording on Save/Load State = Reiniciar grabación al abrir/guardar estados Restore Default Settings = Reestablecer ajustes RetroAchievements = RetroAchievements diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index 7ddba806db..f40176d33a 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = ‎ضبط صدا Record Display = ‎ضبط صفحه Recording = Recording +Report free storage space accurately = فضای ذخیره‌سازی خالی را به‌طور دقیق گزارش دهید # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = ‎به حالت اولیه PPSSPP بازگشت تنظیمات RetroAchievements = RetroAchievements diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index 9e2eaa3a1f..6b1016309c 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -1477,6 +1477,7 @@ Recent games = Viimeisimmät pelit Record Audio = Nauhoita ääntä Record Display = Nauhoita näyttöä Recording = Recording +Report free storage space accurately = Ilmoita vapaa tallennustila tarkasti # AI translated Reset Recording on Save/Load State = Nollaa nauhoitus tallennettaessa/ladattaessa tila Restore Default Settings = Palauta PPSSPP:n oletusasetukset RetroAchievements = RetroAchievements diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index ceb864b234..76f150413c 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -1496,6 +1496,7 @@ Recent games = Jeux récents Record Audio = Enregistrer le son Record Display = Enregistrer l'affichage Recording = Enregistrement +Report free storage space accurately = Rapportez l'espace de stockage libre avec précision # AI translated Reset Recording on Save/Load State = Redémarrer l'enregistrement lors de la sauvegarde/chargement d'état Restore Default Settings = Restaurer les paramètres par défaut RetroAchievements = RetroAchievements diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index e0b337c496..76fb986f65 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Informa con precisión sobre o espazo de almacenamento libre # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Reestablecer axustes RetroAchievements = RetroAchievements diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index 7476b1c20c..b38febd4c5 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Καταγραφή Ήχου Record Display = Καταγραφή Εικόνας Recording = Recording +Report free storage space accurately = Αναφέρετε με ακρίβεια τον ελεύθερο αποθηκευτικό χώρο # AI translated Reset Recording on Save/Load State = Επαναφορά της εγγραφής κατή την Αποθήκευση/Φόρτωση σημείου αποθήκευσης Restore Default Settings = Επαναφορά προεπιλεγμένων ρυθμίσεων του PPSSPP RetroAchievements = RetroAchievements diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index b8a2208078..8c45af6e95 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = דווח על שטח האחסון החופשי במדויק # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Restore PPSSPP's settings to default RetroAchievements = RetroAchievements diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index 1b160fd03b..93b58692c8 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = דווח על שטח האחסון החופשי במדויק # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Restore PPSSPP's settings to default RetroAchievements = RetroAchievements diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index 710ebf9dde..7a307a91f6 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Snimi audio Record Display = Snimi prikaz Recording = Recording +Report free storage space accurately = Točno izvještavajte o besplatnom prostoru za pohranu # AI translated Reset Recording on Save/Load State = Ponovo postavi snimak na Save/Load state Restore Default Settings = Vrati PPSSPP opcije na zadano RetroAchievements = RetroAchievements diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index fee0da379b..69b490693a 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -1477,6 +1477,7 @@ Recent games = Legutóbbi játékok Record Audio = Audió rögzítése Record Display = Videó rögzítése Recording = Rögzítés +Report free storage space accurately = Pontosan jelentse a szabad tárolóhelyet # AI translated Reset Recording on Save/Load State = Rögzítés leállítása állapotmentés készítésekor vagy betöltésekor Restore Default Settings = PPSSPP beállításainak alapértelmezettre állítása RetroAchievements = RetroAchievements diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index a7f53a0c06..cb7dabc91f 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -1477,6 +1477,7 @@ Recent games = Game terakhir Record Audio = Rekam suara Record Display = Rekam tampilan Recording = Merekam +Report free storage space accurately = Laporkan ruang penyimpanan gratis dengan akurat # AI translated Reset Recording on Save/Load State = Atur ulang rekaman pada Save/Load state Restore Default Settings = Atur ulang ke pengaturan PPSSPP awal RetroAchievements = RetroAchievements diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 7cb1c3e087..09c56ce280 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -1457,6 +1457,7 @@ PSP Memory Stick = Memory Stick PSP Raw game image = Immagine grezza del gioco Recent games = Giochi recenti Recording = Registrazione +Report free storage space accurately = Riporta con precisione lo spazio di archiviazione disponibile # AI translated RetroAchievements = RetroAchievements Savestate slot count = Numero di slot di salvataggio Screenshot mode = Modalità Screenshot diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index 7a32e349b5..206d8358d9 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -1477,6 +1477,7 @@ Recent games = プレイ履歴 Record Audio = オーディオを記録する Record Display = 画面を記録する Recording = 記録 +Report free storage space accurately = 空きストレージスペースを正確に報告する # AI translated Reset Recording on Save/Load State = ステートをセーブ/ロードしたら記録をリセットする Restore Default Settings = 設定をデフォルトに戻す RetroAchievements = RetroAchievements diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index 715dd7c218..0990f1b50d 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Laporke ruang penyimpanan gratis kanthi akurat # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Mulihake setelan PPSSPP kanggo gawan RetroAchievements = RetroAchievements diff --git a/assets/lang/km_KH.ini b/assets/lang/km_KH.ini index 8bca6bbe02..d47aa13cfc 100644 --- a/assets/lang/km_KH.ini +++ b/assets/lang/km_KH.ini @@ -1467,6 +1467,7 @@ Recent games =ហ្គេមថ្មីៗ Record Audio =ថតសំឡេង Record Display =ថតបង្ហាញ Recording =ការថត +Report free storage space accurately = សេចក្តីរាយការណ៍ពីកន្លែងផ្ទុកគ្មានសមាត្រស្វែងយ៉ាងត្រឹមត្រូវ # AI translated Reset Recording on Save/Load State =កំណត់ការថតឡើងវិញនៅលើស្ថានភាពរក្សាទុក/ផ្ទុក Restore Default Settings =ស្តារការកំណត់របស់ PPSSPP ទៅជាលំនាំដើម RetroAchievements =RetroAchievements diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index 391f580fd7..97bbcccd57 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -1469,6 +1469,7 @@ Recent games = 최근 게임 Record Audio = 오디오 녹음 Record Display = 녹화 표시 Recording = 녹화 +Report free storage space accurately = 빈 저장 공간을 정확하게 보고하십시오 # AI translated Reset Recording on Save/Load State = 저장/불러오기 상태에서 녹화 재설정 Restore Default Settings = PPSSPP의 설정을 기본값으로 복원 RetroAchievements = RetroAchievements diff --git a/assets/lang/ku_SO.ini b/assets/lang/ku_SO.ini index 6200d4751c..84a9efed22 100644 --- a/assets/lang/ku_SO.ini +++ b/assets/lang/ku_SO.ini @@ -1483,6 +1483,7 @@ Recent games = تازەترین یاری کراوە Record Audio = تۆمارکردنی دەنگ Record Display = تۆمارکردنی شاشە Recording = Recording +Report free storage space accurately = Xabarekê vala ya çarçoveya fêkî di rêza paşverû de # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Restore PPSSPP's settings to default RetroAchievements = RetroAchievements diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index d1b8c5cdbe..24b42f89ce 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = ບັນທຶກສຽງ Audio Record Display = ບັນທຶກພາບ Display Recording = Recording +Report free storage space accurately = ລາຍງານສະຖານທີ່ເກີນຄໍາໍ້ຄັ້ນຢ່າງແທໍ # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = "ຄືນຄ່າການຕັ້ງຄ່າຂອງ PPSSPP ເປັນຄ່າເລີ່ມຕົ້ນ" RetroAchievements = RetroAchievements diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index ea02a48526..9bc11e5cfe 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Tiksliai praneškite apie laisvą saugojimo vietą # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Nustatyti "PPSSPP" parametrus į numatytuosius RetroAchievements = RetroAchievements diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index 5de6e45f07..58bee1a4a4 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Laporkan ruang penyimpanan percuma dengan tepat # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Kembalikan tetapan PPSSPP ke lalai RetroAchievements = RetroAchievements diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index ac0c1b8bb0..cf2ec0dd17 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Audio opnemen Record Display = Scherm opnemen Recording = Recording +Report free storage space accurately = Rapporteer de vrije opslagcapaciteit nauwkeurig # AI translated Reset Recording on Save/Load State = Opname opnieuw opstarten bij opslaan/laden van states Restore Default Settings = PPSSPP's standaardinstellingen herstellen RetroAchievements = RetroAchievements diff --git a/assets/lang/nn_NO.ini b/assets/lang/nn_NO.ini index 7103b940a2..740bd3f15d 100644 --- a/assets/lang/nn_NO.ini +++ b/assets/lang/nn_NO.ini @@ -1494,6 +1494,7 @@ Recent games = Nylege spel Record Audio = Ta opp lyd Record Display = Ta opp skjerm Recording = Tek opp +Report free storage space accurately = Rapporter ledig lagringsplass nøyaktig # AI translated Reset Recording on Save/Load State = Tilbakestill opptak ved lagring/innlasting av tilstand Restore Default Settings = Tilbakestill PPSSPP sine innstillingar til standard RetroAchievements = RetroAchievements diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index 56dc648f46..5747b5a61d 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -1494,6 +1494,7 @@ Recent games = Nylige spill Record Audio = Ta opp lyd Record Display = Ta opp skjermvisning Recording = Tar opp +Report free storage space accurately = Rapporter ledig lagringsplass nøyaktig # AI translated Reset Recording on Save/Load State = Tilbakestill opptak ved lagring/innlasting av tilstand Restore Default Settings = Tilbakestill PPSSPPs innstillinger til standard RetroAchievements = RetroAchievements diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index 79e0df485b..74688acee8 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -1485,6 +1485,7 @@ Recent games = Ostatnio uruchamiane tytuły Record Audio = Nagrywaj dźwięk Record Display = Nagrywaj obraz Recording = Nagrywanie +Report free storage space accurately = Dokładnie raportuj wolne miejsce na dysku # AI translated Reset Recording on Save/Load State = Resetuj nagrywanie przy zapisie/wczytaniu stanu Restore Default Settings = Przywróć domyślne ustawienia RetroAchievements = RetroAchievements diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index 9098d028bc..fcd1cfecad 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -1494,6 +1494,7 @@ Recent games = Jogos recentes Record Audio = Gravar áudio Record Display = Gravar tela Recording = Gravando +Report free storage space accurately = Relate com precisão o espaço de armazenamento livre # AI translated Reset Recording on Save/Load State = Resetar a gravação ao salvar/carregar o state Restore Default Settings = Restaurar as configurações do PPSSPP para o padrão RetroAchievements = RetroAchievements diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index 3a03a74f55..c537232947 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -1494,6 +1494,7 @@ Recent games = Jogos recentes Record Audio = Gravar áudio Record Display = Gravar tela Recording = Gravação +Report free storage space accurately = Reporte com precisão o espaço de armazenamento livre # AI translated Reset Recording on Save/Load State = Reiniciar a gravação ao salvar / carregar o estado Restore Default Settings = Restaurar as definições da PPSSPP para os padrões RetroAchievements = RetroAchievements diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index 1960b2c857..f0b9ab41d3 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -1478,6 +1478,7 @@ Recent games = Recent games Record Audio = Record audio Record Display = Record display Recording = Recording +Report free storage space accurately = Raportați cu precizie spațiul liber de stocare # AI translated Reset Recording on Save/Load State = Reset recording on Save/Load state Restore Default Settings = Adu la setări PPSSPP inițiale RetroAchievements = RetroAchievements diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index 860fe9f5bf..04c07a87ec 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -1477,6 +1477,7 @@ Recent games = Последние игры Record Audio = Запись звука Record Display = Запись видео Recording = Запись +Report free storage space accurately = Точно сообщите о свободном месте для хранения # AI translated Reset Recording on Save/Load State = Сбрасывать запись при сохранении/загрузке Restore Default Settings = Сбросить настройки PPSSPP RetroAchievements = RetroAchievements diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index bdf5e8ffcb..8df42671b6 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -1478,6 +1478,7 @@ Recent games = Senast spelat Record Audio = Spela in ljud till fil Record Display = Spela in video till fil Recording = Inspelningsinställningar +Report free storage space accurately = Rapportera ledigt lagringsutrymme noggrant # AI translated Reset Recording on Save/Load State = Återställ inspelning vid spara/ladda tillstånd Restore Default Settings = Återställ standardinställningar RetroAchievements = RetroAchievements diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index ef6d150231..74310b2aa7 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -1480,6 +1480,7 @@ Recent games = Nakaraang mga nilaro Record Audio = I-record ang Audio Record Display = I-record ang Display Recording = Recording +Report free storage space accurately = Ҳаёти хушк беназир шеваи муҳити байнимочам # AI translated Reset Recording on Save/Load State = Reset Recording on Save/Load state Restore Default Settings = Ibalik ang settings sa dati nitong ayos RetroAchievements = RetroAchievements diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index 5d00f6f8ff..aa4aae3911 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -1518,6 +1518,7 @@ Recent games = ภาพพื้นหลังของเกมที่เ Record Audio = อัดบันทึกเสียง Record Display = อัดบันทึกวีดีโอ Recording = การอัดบันทึก +Report free storage space accurately = รายงานพื้นที่จัดเก็บข้อมูลฟรีอย่างถูกต้อง # AI translated Reset Recording on Save/Load State = เริ่มการอัดบันทึกไฟล์ใหม่ เมื่อกดเซฟ/โหลดสเตทเกม Restore Default Settings = รีเซ็ตการตั้งค่าของ PPSSPP ทั้งหมด RetroAchievements = RetroAchievements diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 35db70b735..101acace8e 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -1478,6 +1478,7 @@ Recent games = Son Oyunlar Record Audio = Sesi Kaydet Record Display = Görüntüyü Kaydet Recording = Kaydediliyor +Report free storage space accurately = Boş depolama alanını doğru bir şekilde raporlayın # AI translated Reset Recording on Save/Load State = Durum Kayıtlarını Sıfırla Restore Default Settings = Varsayılan Ayarlara Döndür RetroAchievements = RetroBaşarımlar diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index df577a45cd..2f016329f8 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -1477,6 +1477,7 @@ Recent games = Останні ігри Record Audio = Запис аудіо Record Display = Запис відео Recording = Записи +Report free storage space accurately = Точно звітуйте про вільний об'єм пам'яті # AI translated Reset Recording on Save/Load State = Скидати запис при збереженні / завантаженні Restore Default Settings = Скинути налаштування RetroAchievements = РетроВідзнаки diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 6f719116df..83618f081c 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -1477,6 +1477,7 @@ Recent games = Recent games Record Audio = Ghi audio Record Display = Hiển thị ghi Recording = Recording +Report free storage space accurately = Báo cáo không gian lưu trữ miễn phí một cách chính xác # AI translated Reset Recording on Save/Load State = Đặt lại ghi trên trạng thái Save/Load. Restore Default Settings = Chỉnh các thiết lập về mặc định RetroAchievements = RetroAchievements diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index 86780c7f79..a17639bb4e 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -1412,6 +1412,7 @@ Pause when not focused = 后台运行时自动暂停 Plugins = 插件 Raw game image = 原始渲染图像 Recording = 录制 +Report free storage space accurately = 准确报告可用存储空间 # AI translated RetroAchievements = 成就系统 Rewind Snapshot Interval = 倒带快照间隔 Error: load undo state is from a different game = 错误:撤回的即时存档是来自不同游戏的 diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 1c63657cb8..aef0988c23 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -1469,6 +1469,7 @@ Recent games = 最近遊戲 Record Audio = 錄製音訊 Record Display = 錄製視訊 Recording = 錄製 +Report free storage space accurately = 準確報告可用儲存空間 # AI translated Reset Recording on Save/Load State = 儲存/載入存檔時重設錄製 Restore Default Settings = 將 PPSSPP 設定重設為預設值 RetroAchievements = RetroAchievements diff --git a/ios/main.mm b/ios/main.mm index 24231edb02..2a2aa85c7f 100644 --- a/ios/main.mm +++ b/ios/main.mm @@ -415,6 +415,9 @@ bool System_GetPropertyBool(SystemProperty prop) { case SYSPROP_CAN_RESTRICT_ORIENTATION: return true; + case SYSPROP_CAN_GET_FREE_SPACE_FAST: + return false; + default: return false; }