Opened 7 years ago

Closed 7 years ago

Last modified 21 months ago

#6369 closed defect (wontfix)

ALL: ScummVM 1.5.0 can't read newer saved games

Reported by: SF/softwarespecial Owned by: lordhoto
Priority: normal Component: Port: Android
Keywords: Cc:
Game: King's Quest 5

Description

On at least the Nexus 7 Android based device. For Kings Quest 5 and also for Kings Quest 6 when trying to open a saved game that was done on the computer in ScummVM saved when playing on the computer then the saves were transferred to the Device it won't load the save. It crashes every time. Yet for Beneath a Steal sky, Day of the Tentacle, Both Indiana Jones Atlantis and last crusade,Loom,Lure of the Temptress,Maniac Mansion,Return to Zork,Ringworld Revenge of the patriarch,Dig,Monkey Island the first one, and Zak McKracken all those do work. (Note this is playing them and saving using the Windows ScummVM) The Computer ScummVm is the latest one out.

Make sure you have done what is needed to be able to play the game on both the Computer SCummVM and Android Nexus 7. Then play on the computer. Save the game then transfer that save to where it saves on the device. Then try to load it. (Note you may need to have played on the nexus and saved then transfer save over.

Ticket imported from: #3614654. Ticket imported from: bugs/6369.

Attachments (5)

kq5-cd-win.012 (40.5 KB ) - added by SF/softwarespecial 7 years ago.
This is the Kings quest 5 one
kq6-cd-win.021 (46.3 KB ) - added by SF/softwarespecial 7 years ago.
This is the Kings Quest 6 save file
kq5-cd-win.000 (32.2 KB ) - added by SF/softwarespecial 7 years ago.
KingsQuest5savedonAndroid Does Not crash on PC.
kq6-cd-win.000 (32.6 KB ) - added by SF/softwarespecial 7 years ago.
Kings Quest 6 Saved On Android. No crash on PC.
Savefrom1.6.0 openedin1.50.jpg (12.7 KB ) - added by SF/softwarespecial 7 years ago.
This is the erro in the 1.5.0 ScummVM engine on the Computer when trying to load the 1.6.0 Saved game.

Download all attachments as: .zip

Change History (28)

comment:1 by wjp, 7 years ago

Please attach the crashing savegame.

by SF/softwarespecial, 7 years ago

Attachment: kq5-cd-win.012 added

This is the Kings quest 5 one

by SF/softwarespecial, 7 years ago

Attachment: kq6-cd-win.021 added

This is the Kings Quest 6 save file

comment:2 by digitall, 7 years ago

Summary: Transfer Save file crash when loadSCI: Savegame Portability Crash

comment:3 by digitall, 7 years ago

softwarespecial: Thank you for the attached savegames.

Savegame code is specific to each engine i.e. Gobliins uses save codes, rather than files, most engines use varying file formats, so this is why "Beneath a Steal sky, Day of the Tentacle, Both Indiana Jones Atlantis and last crusade,Loom,Lure of the Temptress,Maniac Mansion,Return to Zork,Ringworld Revenge of the patriarch,Dig,Monkey Island the first one, and Zak McKracken all those do work.". Their engines are not affected.

KQ5 and KQ6 are supported by the SCI engine, so I have changed the prefix to indicate this is a SCI engine bug: http://wiki.scummvm.org/index.php/SCI

comment:4 by digitall, 7 years ago

N.B. You should note that we try to maintain savegame compatibility, but this is not guaranteed... http://www.scummvm.org/faq/#3_6

Apart from a good user experience, maintaining savegame stability makes testing and debugging game play bugs with earlier versions much easier, but is not always possible.

However, this looks like an issue with writing out portable savegame data, so we would like to see why, hence wjp's request for the broken savegames.

It would be useful if you could create a savegame on the Android device and get a crash with this savegame on the desktop build if possible as debuggin ondesktop would be easier. It would also be useful if you could attach the ADB debug log for the crash from your Android device: http://wiki.scummvm.org/index.php/Debugging_ScummVM#Android

Otherwise, please be patient and standby as it may take a while for a SCI engine developer to locate, diagnose and work out a fix for this issue... and then it would be useful for you to be around to test this!

comment:5 by wjp, 7 years ago

I can reproduce the crash on my nexus 7, by the way. Haven't investigated further yet.

comment:6 by SF/softwarespecial, 7 years ago

--------- beginning of /dev/log/main W/InputEventReceiver( 5355): Attempted to finish an input event but the input event receiver has already been disposed. This I believe is the report given when the save game is trying to load on the Android Device. I will be uploading the Saves made on the Android that can then be tested on a Computer to see if those crash on PC.

comment:7 by digitall, 7 years ago

wjp: Thanks for the update. softwarespecial: Thanks. Even if it fails to crash on the PC, a savegame from Android at the same point in the games as the crash would be useful as comparison to the crashing savegames and to allow testing with a PC desktop build and the full array of memory access violation debugging i.e. valgrind and other code linting tools.

by SF/softwarespecial, 7 years ago

Attachment: kq5-cd-win.000 added

KingsQuest5savedonAndroid Does Not crash on PC.

by SF/softwarespecial, 7 years ago

Attachment: kq6-cd-win.000 added

Kings Quest 6 Saved On Android. No crash on PC.

comment:8 by wjp, 7 years ago

Are you using ScummVM 1.5.0? This looks like a bug that has already been fixed in 1.6.0.

On my (Linux) desktop system it crashes in 1.5.0 in the same way as in 1.5.0 on my Nexus 7, but it no longer crashes in 1.6.0 in Linux.

comment:9 by wjp, 7 years ago

Note to self: we should bisect this to see where/if we inadvertently broke savegame compatibility without increasing the savegame version.

comment:10 by SF/softwarespecial, 7 years ago

On My computer its 1.6.0 but on the Nexus 7 its the latest which is still the 1.5.0. I may try to download the 1.5.0 for computer save the game in that version then try to transfer that to the Android.

by SF/softwarespecial, 7 years ago

This is the erro in the 1.5.0 ScummVM engine on the Computer when trying to load the 1.6.0 Saved game.

comment:11 by SF/softwarespecial, 7 years ago

Note I installed both 1.5.0 on my Windows 7 Machine and the 1.6.0. Just like with the Nexus 7 all saves done in 1.6.0 work in 1.5.0 except the Kings Quest ones.

comment:12 by SF/softwarespecial, 7 years ago

Update: On My Windows 7 P.C. I installed the 1.5.0 version of ScummVm. Then played the Kings Quests and saved. Then I took those Save games and put them on my Android Device. They did not crash. They ran. So it seems to be a problem with the 1.6.0 saves not being compatible with the 1.5.0 version. I would assume that once the Android version of the game is updated to 1.6.0 the problem may be solved for me at least.

comment:13 by bluegr, 7 years ago

Component: Engine: SCI
Game: King's Quest 5
Summary: SCI: Savegame Portability CrashALL: ScummVM 1.5.0 can't read newer saved games

comment:14 by bluegr, 7 years ago

This is not a SCI problem, but a more generic problem with most of our engines

As mentioned by wjp in the #scummvm channel, "the 1.5.0/1.6.0 savegame incompatibility is due to the thumbnail pixelformat serialization (commit f1a1938253c)".

Therefore, a lot of savegames made with ScummVM 1.6.0 will be incompatible with version 1.5.0. There is another issue for any future changes to the thumbnail code, as LordHoto pointed out:

"The issue is really that loadHeader returns false for a newer thumbnail header version. That makes skipThumbnail think there is no thumbnail header and thus it doesn't skip it. It should be easy to change that. So if we ever change the thumbnail header again, we don't have to worry about it. "

Thus, there is not much that can be done about this issue, I'm afraid: ScummVM 1.5.0 won't be able to read saves made with a newer interpreter, however we never claimed that older ScummVM versions can read saves from newer ones - only the opposite (newer versions can read saves from older ones).

I'm removing the SCI tags from this bug report, and I'm assigning it to LordHoto, as he said he'll update the thumbnail code to adapt it for future changes.

comment:15 by bluegr, 7 years ago

Owner: set to lordhoto

comment:16 by lordhoto, 7 years ago

We can't fix 1.5.0. But I added some changes in e9bb9ddcf5cf2a4aa87ae9705e7ec2d69600becd which will (hopefully) prevent similar issues in the future.

comment:17 by lordhoto, 7 years ago

Resolution: wontfix
Status: newclosed

comment:18 by SF/softwarespecial, 7 years ago

For Android the version is 1.5.0. First are you guys going to update that in the future to 1.6.0 or more? If you are then won't that solve the problem for me since as of right now its a problem of the 1.6.0 saves for Kings quest not working on the 1.5.0 version.

comment:19 by SF/softwarespecial, 7 years ago

Note we found the problem is the fact that the Android version is 1.5.0 and the PC is 1.6.0. I have found a few more games but the solution to the problem will probably be solved once the Android Version is updated to a 1.6.0 Version. We won't know tell that is done. Any idea how long before the Android Version will be updated?

comment:20 by digitall, 7 years ago

softwarespecial: To be _very_ clear, firstly the bug is now marked as WON'T FIX as we can _never_ guarantee we don't change a savegame format between two versions.

We add code to the newer versions to deal with loading older savegames, but as time only flows in one direction, we can _never_ change the older version to deal with the newer format. The one exception would be if we decided to do a point / bug fix release ie. v1.5.1 where we would probably backport the savegame format change.

Secondly, the Android port has not been released into Google Play store due to various problems with the store which the porter has not had time and energy to fix yet. There is no defined date for when the 1.6.0 release will occur, so please stop asking! In the meantime, you can use a v1.7.0git daily or v1.6.0 autogenerated build instead from our buildbot, which apart from being a little tricker to install is just as functional. See here for more details: http://forums.scummvm.org/viewtopic.php?t=12960&sid=89d7b3aae752e959d07cd8b8202a33e0 http://forums.scummvm.org/viewtopic.php?t=12624

comment:21 by SF/softwarespecial, 7 years ago

As far as I know I asked Twice I don't think you meant to be but this " so please stop asking!" Was a little rude. Yet the Links you provided were very helpful.

I have installed my own compiled for android apps onto my device so that part is not going to be hard. Thanks for the help. My first Job was Iphone Development and I know the frustration of trying to upload something to an app store. Though ours was more it was rejected for having a word that meant light version but wasn't that term so I feel for you.

Thanks and I will be unmonitoring this since it is as done as it can be. If it can be closed so no further posts can be done is also an idea. Again thanks for the help.

comment:22 by digitall, 7 years ago

Apologies if you felt my tone was slightly rude... this was slightly intentional. See: http://www.catb.org/esr/faqs/smart-questions.html#before

This question has been a number of times in our support channel and asked and answered several times on our forums where there was a very obvious topic "v1.6.0 not available in Android Market ?": http://forums.scummvm.org/viewforum.php?f=17

Yes. For future, we are likely to provide the apks on our download page to try to avoid this..

I will be closing the comment thread on this now as it is already closed.

comment:23 by digitall, 21 months ago

Component: Port: Android
Game: King's Quest 5
Note: See TracTickets for help on using tickets.