scummvm/engines
AndywinXp 1a0b05dcff
Some checks failed
CI / Windows (push) Has been cancelled
CI / Xcode (push) Has been cancelled
CI / Ubuntu (push) Has been cancelled
SCUMM: v0-1-2-3: Implement post-load fixes (from orig. menu to GMM)
This commit implements proper loading of savestates saved from
the original menu in v0-3 games and loaded either from launcher
or GMM. Why is all of this necessary? It is because these saves
are built under the assumption that they will be reloaded from the
main menu room, and that therefore there will be a graceful
termination of the global script handling the main menu.

Terminating said script gracefully implies cleaning up variables,
stopping menu related scripts, and reboot other scripts which had
previously been stopped.

This certainly doesn't happen when reloading said savestates from
the GMM/launcher, and what instead happens is, in order:
- The game loads from the menu room;
- The menu scripts continues from an inconsistent location,
effectively re-saving the game;
- This invalidates the thumbnail of the savestate, which will now
show a picture of the menu;
- Closing the menu gets the user back to the saved state,
with probably an inconsistent state of some variables and scripts.

This fixes all of this, by detecting if we are loading a savestate
saved from the original menu, and by manually running the correct
script operations for each game in order to correctly close the
menu and resume the game.

Please note that this commit works under different assumptions
from the ones pertaining the already available post-load fixes
(which assume that you are saving the game from GMM).
2023-07-05 20:36:25 +02:00
..
access
adl
agi AGI: Allow selection of arbitrary rendermodes. Fixes bug #14332 2023-03-18 00:31:55 +01:00
agos AGOS: Fix support for Simon 2 25th Anniversary 2023-07-04 21:02:08 +02:00
ags AGS: Apply alternative blending to hires fonts in alfont 2023-07-03 23:08:01 +01:00
asylum ASYLUM: fix holding Esc only dismisses one line of dialog 2023-01-24 10:42:15 +03:00
avalanche
bbvs
bladerunner BLADERUNNER: Add unsupported version to final mode too 2023-07-01 13:33:11 +03:00
buried BURIED: Clear _controlDown flag on GUI windows opening 2022-12-30 23:12:44 +02:00
cge
cge2
chewy
cine
composer COMPOSER: Change all mac checksums to use data fork 2023-01-10 18:34:33 +01:00
cruise
cryo
cryomni3d CRYOMNI3D: Fix directory globs 2023-04-02 17:06:22 +02:00
director DIRECTOR: Remove testing flag for the recently supported games 2023-03-11 22:53:40 +01:00
dm
draci
dragons
drascula ALL: Make sure we always allow to override random seed 2023-01-02 16:12:44 +01:00
dreamweb
freescape FREESCAPE: initialize r, g and b variables in renderPlayerShoot 2023-07-03 22:18:13 +02:00
glk GLK: ADRIFT: Disable non-safe assert 2023-03-03 23:13:50 +01:00
gnap GNAP: Use common name U.F.O.s 2023-01-02 13:46:39 +02:00
gob GOB: Clear ADGF_TESTING flags for adibou 2023-02-12 11:21:57 +01:00
griffon
grim GRIM: Restore LUA W/A for release. It might still needed for old save games. 2023-01-31 16:10:31 +01:00
groovie GROOVIE: T11H mouse trap: easier AI give fixed initial board state instead of randomized intial board state 2022-12-29 23:05:11 -05:00
hadesch HADESCH: Support skipping on escape. 2023-01-20 19:50:22 +01:00
hdb HDB: Fixed not being able to pick up Red Unimail Envelope with keyboard 2023-02-20 19:41:50 +01:00
hopkins HOPKINS: Fix cursor not scaling in OpenGL 2023-07-01 12:45:33 +03:00
hpl1 HPL1: Remove duplicated detection object file 2023-03-05 11:13:01 +01:00
hugo HUGO: Disable overwriting slot 99 2023-02-04 12:05:40 +01:00
hypno HYPNO: allow to use click to skip some screens 2023-03-22 21:10:50 +01:00
icb DETECTION: Convert all GOG strings to GOG.com 2023-01-15 11:46:46 +02:00
illusions ILLUSIONS: Complete Duckman/BB do U detection titles 2023-01-02 13:46:39 +02:00
kingdom
kyra KYRA: (LOK) - Fix bug no. 14131 (problem in menu options) 2023-02-07 18:56:12 +01:00
lab
lastexpress LASTEXPRESS: Early support for demo 2023-07-01 12:46:14 +03:00
lilliput LILLIPUT: Complete Robin Hood detection title 2023-01-02 13:46:39 +02:00
lure
macventure
made ALL: Make sure we always allow to override random seed 2023-01-02 16:12:44 +01:00
mads ALL: VS warning cleanup 2022-12-25 16:31:57 +01:00
mohawk
mortevielle
mtropolis MTROPOLIS: Clear ADGF_TESTING flags for obsidian 2023-02-12 14:35:57 +01:00
mutationofjb
myst3 MYST3: Add colon to detection title 2023-01-02 13:46:39 +02:00
nancy
neverhood NEVERHOOD: Skip creating hotbox for "making of" is it's unavailable. 2023-02-02 17:35:43 +01:00
ngi
parallaction
pegasus
petka PETKA: Add support for compressed Red Comrades 1-2 (#4581) 2023-01-01 01:33:37 +01:00
pink PINK: Clear global game variables on New Game 2023-07-01 12:45:54 +03:00
playground3d ALL: VS warning cleanup 2022-12-25 16:31:57 +01:00
plumbers
prince
private PRIVATE: Drop 16bit engine requirement, it is 8-bit since 2021 2023-07-02 10:20:20 +02:00
queen QUEEN: Indicate CD/GOG in extra field instead of Talkie 2022-12-27 03:17:09 +02:00
saga SAGA: Fix use-after-free on handling actor action 2023-05-29 10:47:33 +02:00
saga2 SAGA2: fix wrong spellid crash 2023-03-01 19:05:34 +01:00
sci SCI32: Add compatibility with GK1 CD Italian fan translation 2023-06-29 11:31:24 -07:00
scumm SCUMM: v0-1-2-3: Implement post-load fixes (from orig. menu to GMM) 2023-07-05 20:36:25 +02:00
sherlock
sky
sludge SLUDGE: Use burnSurface in burnSpriteToBackDrop 2023-01-19 00:07:45 +01:00
stark STARK: Fix memory leak 2023-02-05 22:26:40 +00:00
startrek
supernova
sword1 SWORD1: Add missing publisher information for PT_BRA version 2023-07-01 12:23:43 +02:00
sword2 SWORD2: Added detection for Polish alternate version. Bug #14277 2023-03-02 00:44:08 +01:00
sword25 SWORD25: Complete Broken Sword 2.5 detection title 2023-01-02 13:46:39 +02:00
teenagent
testbed
tetraedge TETRAEDGE: Avoid Generic Define Naming for Micropather Debug Code Guards 2023-01-19 22:47:38 +00:00
tinsel TINSEL: Handle DW2 saves that had Noir-sized SysVars 2023-02-04 18:20:36 +01:00
titanic
toltecs
tony ALL: VS warning cleanup 2022-12-25 16:31:57 +01:00
toon TOON: Fix Picture::drawWithRectList() overreading 2023-07-01 12:46:55 +03:00
touche TOUCHE: Added support for Russian translation by old-games.ru 2023-03-19 17:54:31 +01:00
trecision
tsage TSAGE: Fix orphaned Protostar demos and mark unstable 2023-01-06 15:45:34 +01:00
tucker
twine TWINE: fixed encoding for custom translations 2023-04-12 10:47:17 +02:00
ultima ULTIMA8: Fix #14031 - ignore transparent non-solids when tracing items. 2023-02-10 17:37:22 -06:00
voyeur
wage
wintermute DETECTION: Convert all GOG strings to GOG.com 2023-01-15 11:46:46 +02:00
xeen XEEN: fix crash in MM4 ending cutscene 2023-05-14 12:18:39 +03:00
zvision ZVISION: Merge 2 mac detection entries 2023-01-10 18:34:33 +01:00
achievements.cpp
achievements.h
advancedDetector.cpp AD: Set scan depth when adding globs generated from the entries. Default is 5 2023-02-02 18:24:28 +01:00
advancedDetector.h AD: Added AD_ENTRY5s and 6s 2023-03-02 00:09:14 +01:00
dialogs.cpp ENGINES: Use proper domain when creating backend options widget 2023-03-05 10:51:35 +01:00
dialogs.h
engine.cpp COMMON: Refactor VSync handling to match the other options 2023-01-16 18:09:53 +01:00
engine.h ENGINES: Add empty() method to the ChainedGamesManager class 2023-01-28 10:19:06 +01:00
game.cpp JANITORIAL: Clarify comment 2023-01-20 23:49:31 +01:00
game.h COMMON: Resync cache prefix with file md5 prefix 2022-12-28 12:56:22 +01:00
logo_data.h
metaengine.cpp
metaengine.h
module.mk
obsolete.cpp
obsolete.h
savestate.cpp
savestate.h
util.h