Opened 11 months ago

Last modified 2 weeks ago

#11366 new defect

SCUMM: HE: Problem with Savegame Naming on PS Vita and Other Mobile Ports

Reported by: Schnida Owned by:
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Putt-Putt Enters the Race

Description (last modified by Schnida)

System: PS Vita
Version: https://www.scummvm.org/frs/scummvm/2.1.1/scummvm-2.1.1-vita.vpk
The same problem occurs on the latest nightly version (psp2-master-19fe3521)

Game: Putt-Putt Enters the Race (German Version from Steam)

Problem
When I try to save the game with the in-game load and save interface this error pops up: "Failed to load saved game from file: puttrace-de-Töff-Töff.sg1"
I went to the save folder and found a file called "puttrace-de-temp.sgS".

Observations
I tried to save the game on other devices I own. The results are the following:

  • Windows 10 -> Saving works
  • 3DS -> Saving doesn't work (same error)
  • PSP -> Saving doesn't work (same error)

Interestingly, the English version of the game works just fine on every device, which lead me to believe that the umlaut in "Töff-Töff" might be the problem.

Thanks for taking your time. I hope I didn't leave out any important information.

Attachments (2)

puttrace-de-temp.sgS (24.3 KB ) - added by Schnida 11 months ago.
This file is created in the save folder after the error message pops up. It works on Windows when I rename it btw.
scummvmdebug.txt (7.9 KB ) - added by julakali 2 weeks ago.

Download all attachments as: .zip

Change History (8)

by Schnida, 11 months ago

Attachment: puttrace-de-temp.sgS added

This file is created in the save folder after the error message pops up. It works on Windows when I rename it btw.

comment:1 by Schnida, 10 months ago

Description: modified (diff)

comment:2 by digitall, 8 months ago

Component: Port: PSP VitaEngine: SCUMM

That error message is from the SCUMM engine when loadState function returns not success:
https://github.com/scummvm/scummvm/blob/master/engines/scumm/scumm.cpp#L2466

The loadState function is here: https://github.com/scummvm/scummvm/blob/master/engines/scumm/saveload.cpp#L320

That should emit a warning if it fails in most cases... Is there one before the error message?

I think the only case where it can return false without a warning is when openSaveFileForReading(slot, compat, filename) fails:
https://github.com/scummvm/scummvm/blob/master/engines/scumm/saveload.cpp#L324

That is defined here where it just calls openForSaving from the _saveFileMan (Save File Manager) which I think is a platform specific singleton:
https://github.com/scummvm/scummvm/blob/master/engines/scumm/saveload.cpp#L155

Hmm I would suspect the issue is either in SaveFileMan when using accented characters or an issue with makeSavefileName i.e.
https://github.com/scummvm/scummvm/blob/master/engines/scumm/saveload.cpp#L595

comment:3 by digitall, 8 months ago

The reporter has also said on the forum post that the problem occurs on:

  • Nintendo DS
  • Nintendo 3DS
  • Nintendo Switch
  • PSP
  • PS Vita

And it doesn't occur on:

  • Windows

comment:4 by digitall, 8 months ago

Summary: Problem with save file on mobile devicesSCUMM: HE: Problem with Savegame Naming on PS Vita and Other Mobile Ports

comment:5 by digitall, 8 months ago

User reports that there are no warnings emitted.

They should try running the game with ./scummvm -d 2 or higher.

The issue looks like it might be from the HE code here... as nowhere else would allow .sg1 in the savegame suffix:
https://github.com/scummvm/scummvm/blob/master/engines/scumm/he/script_v60he.cpp#L172

by julakali, 2 weeks ago

Attachment: scummvmdebug.txt added

comment:6 by julakali, 2 weeks ago

I'm currently playing the german version of "Putt Putt Enters the Race", bought from Steam, via ScummVM on Mac.
I have exactly the same Problem and as the original author I suspect the umlauts are the problem cause here.
I'll attach a log running scummvm -d 2.
I guess the relevant message is this:

DEBUG: Couldn't open file *\T�ff-T�ff.sg0 for Writing in Write-The-Catalog

I was running scummvm from within iterm2 which i guess can usually display utf8 characters.

Last edited 2 weeks ago by julakali (previous) (diff)
Note: See TracTickets for help on using tickets.