Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCUMM: improve savegame loading for SCUMM1-3 #3881

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

athrxx
Copy link
Member

@athrxx athrxx commented May 14, 2022

This is a followup to
#3792
which improved the post-loading process for LOOM.

This will now be done for all v1-3 games by running the scripts that the games would expect. Which means that e. g. the music is restarted properly in ZAK and MM after loading (can be tested in ZAK v1/2, at the airport, you wouldn't have music after loading, because the script that starts it isn't run).

It won't do anything for Mac versions. These need separate analysis/testing, since the save/load process has been modified a bit for these versions (no save/load "room", instead using Mac style menus and modified scripts).

This is limited to situations where the original games allow loading and saving, because games might glitch otherwise. E. g. in INDY3 I have a savegame AFTER choosing the grail which is very practical for me, because I don't have to remember my choice. But the original does not allow to save there (or at all, in that temple). If you load this AND run the original loading procedure it will be messed up (I don't have the grail in my inventory and the games pretends that I have just entered the room).

As a bonus, the PR fixes INDY3/4 iq points update when loading from the launcher...

Like the other PR, this should be left open for testing for a reasonable amount of time...

athrxx added 4 commits May 13, 2022
Similar to what has been added for Loom, this tries to emulate the original (script driven) loading behavior for the rest of the v1-3 games.

This fixes bugs like the music not being restarted properly when loading a game (happens in MM and ZAK).

https://bugs.scummvm.org/ticket/4494 will not be fixed, though, since I don't support Mac with this fix.

The Mac games work differently, they don't have a save/load room but these Mac style menus instead. Someone would have to do examine the save scripts for these...
Prevent "stuttering" from starting the music multiple times (which may now happen due to the improved savegame loading for v1-3).

Also add some more tweaks to minimize stuttering, like setting volume to 0 during loading.

The result now seems to match what I get when using an emulator.
engines/scumm/scumm.cpp Outdated Show resolved Hide resolved
engines/scumm/scumm.cpp Outdated Show resolved Hide resolved
(apparently broken by some auto-formatting)
@bluegr
Copy link
Member

@bluegr bluegr commented May 21, 2022

Nice work, overall! +1 from me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants