Savedata: TEMP TEST FIX: Do the hidden modes' IO inside Update, not on a host thread

The IO thread wrote results (file lists, sizes, loaded data) straight into
PSP memory while the game kept running, so they landed at an arbitrary
point in its code. utility/savedata/filelist caught it now and then: a
poll saw the entries written but the counts still zero. On a PSP it's all
there when Update returns. Host IO timing still uses the thread.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Henrik RydgårdandClaude Opus 5.5 committed 2026-09-23 19:41:41 -06:00
1 parent d4de590e3f
commit 157b233865
1 file changed
+7 -1
+7 -1
View File
@@ -1090,7 +1090,13 @@ int PSPSaveDialog::Update(int animSpeed) {
case DS_NONE: // For action which display nothing
switch (ioThreadStatus) {
case SAVEIO_NONE:
StartIOThread();
if (g_Config.iIOTimingMethod == IOTIMING_HOST) {
StartIOThread();
} else {
// The IO thread writes the results into PSP memory while the game runs, landing at
// an arbitrary point in its code. On a PSP they're all there when Update returns.
ExecuteIOAction();
}
break;
case SAVEIO_PENDING:
case SAVEIO_DONE: