Opened 4 years ago

Closed 3 years ago

Last modified 3 years ago

#7007 closed defect (fixed)

SCI: Fan - Cascade Quest - Debugger opens on scene change

Reported by: raziel- Owned by: m-kiewitz
Priority: normal Component: Engine: SCI
Keywords: Cc:
Game: SCI Fanmade

Description

ScummVM 1.8.0git (Jan 29 2016 19:00:53)
Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC FreeType2 JPEG PNG

On a scene change quite early in the game the debugger opens claiming
kSaveGame: invalid savegameId used!

The game scripts (i think) are issuing an AutoSave which doesn't seem to work in ScummVM (yet).
That's at least what i can see when playing the game with the original interpreter in DosBox (scene changes and a new "AUTOSAVE" save state is added to the save list)

Save state from right before the scene change (just walk right)

Fanmade SCI Game (Cascade Quest/DOS/English)

AmigaOS4 - PPC - SDL - BE
gcc (adtools build 5.3.0) 5.3.0

Ticket imported from: bugs/7007.

Attachments (1)

sci-fanmade-3.002 (16.0 KB ) - added by raziel- 4 years ago.

Download all attachments as: .zip

Change History (17)

by raziel-, 4 years ago

Attachment: sci-fanmade-3.002 added

comment:1 by m-kiewitz, 4 years ago

This game is trying to save to slot 999.

ScummVM SCI is able to automatically save a game, but games are expected to use a normal slot number like 0 up to 99. We already use virtual saved game ids internally most of the time, so that games will be able to save/restore games properly (it gets quite complicated when the original save/restore dialogs are involved, sometimes those get confused because ScummVM doesn't have some sort of saved game directory file and the user can even delete saved games from the directory while the game is running).

comment:2 by raziel-, 4 years ago

Is there a way to catch the auto save slot 999 and change it to scummvm's default save slot for this game only?

comment:3 by m-kiewitz, 3 years ago

I have now added a script patch for this game and additional code to kSaveGame for this specific game as well. This was imo the only proper way to fix the issue.

Commit cedcdbc

comment:4 by m-kiewitz, 3 years ago

Owner: set to m-kiewitz
Resolution: fixed
Status: newclosed

comment:5 by raziel-, 3 years ago

Sorry to say that, but i still get the error.
I did a fresh build from today and added the game again, but on the scene change it still blows.

Has this change been merged yet?

comment:6 by m-kiewitz, 3 years ago

Please start ScummVM with the parameter "--debugflags=ScriptPatcher". Then load your saved game. You should see a line saying "'Cascade Quest: fix auto-saving' on script 994 offset 1894.

If that's not the case, then you probably didn't update to the latest commit.

I just tried again - works fine for me.

Well in theory there could also be multiple Cascade Quest versions. Maybe you have a different one?

comment:7 by raziel-, 3 years ago

It doesn't come up...strange, i did a pretty normal update to my git tree

comment:8 by m-kiewitz, 3 years ago

The resource.001 of my copy is 1.432.195 bytes, date is 18th of June 2006. Is yours the same?

comment:9 by raziel-, 3 years ago

Yes

list resource.001
resource.001 1432195 ----rwed 18-Jun-06 21:27:32
1 file - 1398K bytes - 351 blocks used

Is there any other sci game that should show such patches on start with the given debugflag?
So i can test whether i'm doing something stupid

comment:10 by m-kiewitz, 3 years ago

King's Quest 6 CD-ROM Talkie has lots of script patches, because allow subtitles + speech at the same time (the original game didn't).

comment:11 by raziel-, 3 years ago

Hmm, i have the CD/Windows/English from the compilation and there is no text on screen, a narrator speaking and a conversation with the peddlar in the city happening.

Though no debug output about used patches pops up.

I start the game normally with
scummvm --debugflags=ScriptPatcher
User picked target 'kq6-cd-win' (gameid 'sci')...
Looking for a plugin supporting this gameid... SCI [SCI0, SCI01, SCI10, SCI11]
Starting 'Sierra SCI Game'
WARNING: Unhandled SCI kShowMovie subop 6!

do i maybe need to turn on debug output first?
like using --debug=5 or something like that?

comment:12 by m-kiewitz, 3 years ago

That's really weird. No, you don't need anything else. For me it works properly.

Right on startup I'm getting:
Script-Patcher: 'CD: audio + text support KQ6&LB2 1' on script 924 offset 784
Script-Patcher: 'CD: audio + text support KQ6&LB2 2' on script 924 offset 681
Script-Patcher: 'CD: audio + text support KQ6&LB2 3' on script 924 offset 895

Dual mode needs to be enabled btw. Either by selecting subtitles + audio in ScummVM or by selecting "dual" within KQ6.

comment:13 by raziel-, 3 years ago

I take it that there isn't a configure switch that needs to be turned on to get this Script-Patcher to work or is there?

Really strange and it bothers me that i seem to be the only one (again)

Is there a way to show the script patches for the running game from within the debug console?
Which command would that be, if available?

comment:14 by m-kiewitz, 3 years ago

Are you able to select "DUAL" within the game? The option is in the game menu right under the score. Just click on that button several times.

If it is there, then your game gets patched, but you simply do not get the log messages.

What's weird though is that Cascade Quest doesn't work for you, because I have to assume it's getting patched.

comment:15 by raziel-, 3 years ago

Sorry, missed the DUAL remark.

No, i actually can't.

I only have SPEECH or TEXT in-game and setting BOTH in ScummVM's launcher do give me a little window, but with nothing inside.

So, it doesn't seem to get even patched?

comment:16 by raziel-, 3 years ago

Finally fixed with 17b3dc4

Thanks alot Martin

Note: See TracTickets for help on using tickets.