Commit graph

138123 commits

Author SHA1 Message Date
AndywinXp
1a0b05dcff SCUMM: v0-1-2-3: Implement post-load fixes (from orig. menu to GMM)
Some checks failed
CI / Windows (push) Has been cancelled
CI / Xcode (push) Has been cancelled
CI / Ubuntu (push) Has been cancelled
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
AndywinXp
fd8cf5dee5 SCUMM: ZAK (FM-Towns): Fix bug #14387
This fixes a crash when loading from the GMM save states which had
been created from the original menu. This also fixes the auto-close of the
menu when a game is loaded from the original menu.
2023-07-05 20:36:24 +02:00
AndywinXp
cccac84717 SCUMM: SAMNMAX: Fix bug #14467
This was caused by the fact that the pre and post save screen scripts
were not being called, and this messed up the cursor state with savegames
created as quicksaves.

Also, renamed the variables containing said scripts numbers, so that
they are a little bit more meaningful now.
2023-07-05 20:36:24 +02:00
AndywinXp
12ce9790b5 SCUMM: SAMNMAX: Post-load fix for savegames presenting bug #14467
The root cause of the issue is not solved yet, but this would allow for the
affected savegames to still work.
2023-07-05 20:36:23 +02:00
AndywinXp
ad4e3abfc6 SCUMM: SAMNMAX: Don't run post-load script for non-available quicksaves
Fixes part of #14467
2023-07-05 20:36:23 +02:00
AndywinXp
765f6033f6 SCUMM: SAMNMAX: Fix bug #14468
I really have no idea why I wrote the code in such a way that
it attempted to load stuff that was never saved in the first place,
and I guess we'll never know. Findings by athrxx!
2023-07-05 20:36:22 +02:00
AndywinXp
193dda7d40 SCUMM: SAMNMAX: Fix cursor being invisible after load
This happened when creating savestates within the original menu
and then loading them from the GMM
2023-07-05 20:36:22 +02:00
AndywinXp
006e3c37ff SCUMM: FT: Fix crash with debug mode on when pressing 'A'
(cherry picked from commit 344fb2c2d5)
2023-07-05 19:16:05 +02:00
AndywinXp
3e15e1904b SCUMM: MI1 (Ultimate Talkie): Fix #14269
(cherry picked from commit da2dc011f8)
2023-07-05 19:15:53 +02:00
Eugene Sandulenko
0d365743ff
DISTS: Sync dists/win32/migration.txt with master 2023-07-05 14:06:33 +02:00
Eugene Sandulenko
6c4d9db70f
DISTS: Added classicmacfonts.dat
This file contains fonts used for recreation of Classic Mac OS GUI. To generate it,
use the following commnand:

  devtools/dumper-companion.py createmacfonts
2023-07-05 14:06:09 +02:00
Coen Rampen
22de8e5593 AGOS: Fix support for Simon 2 25th Anniversary
This adds detection entries for the German and French versions. All language
versions except Russian use WAV sound effects and GM SMF MIDI data, so the
platform is changed to Windows. These versions also contain the MT-32 MIDI data
in XMIDI format, so support for this is added as well. Finally, the MT-32 track
10 workaround has been updated to deal with these versions.
2023-07-04 21:02:08 +02:00
Coen Rampen
814878509d AGOS: Add Simon 1 AdLib SFX fallback 2023-07-04 21:02:07 +02:00
Coen Rampen
1565f9bb14 AGOS: Add Simon 1 25th Anniversary detection
Adds detection entries for the new versions in the 25th Anniversary editions.
The remaining language versions are already detected.
To use the 25th Anniversary versions you have to copy the files from the
subdirectory of the language you want to use to the main directory, then detect
the main directory; or just detect without copying for English CD.
2023-07-04 21:02:06 +02:00
Coen Rampen
38c0f0a4ff AGOS: Disable MT-32 on GM warning for PC-98xx 2023-07-04 21:02:05 +02:00
Coen Rampen
36dc29bf28 AGOS: Add fallback for Simon 1 AdLib instruments
GOG has not included the AdLib instruments file with their release of Simon the
Sorcerer 1 DOS version. The game would not start in ScummVM when this file was
missing and AdLib was selected. Added a fallback to the generic AdLib driver
with built-in instruments.
2023-07-04 21:02:04 +02:00
Coen Rampen
02db1122b7 AGOS: Add fallback for Simon 2 AdLib instruments
GOG has not included the AdLib instruments file with their release of Simon the
Sorcerer 2 DOS version. The game would not start in ScummVM when this file was
missing and AdLib was selected. Added a fallback to the generic AdLib driver
with built-in instruments.
Also made the Windows version start with AdLib if an OPL2-only emulator is used.
2023-07-04 21:02:03 +02:00
Lothar Serra Mari
758a5fa90f NEWS: Mention AGS text improvement in German NEWS file 2023-07-04 07:52:32 +02:00
Le Philousophe
bcc1e883e2 FREESCAPE: Fix bad copy paste
No cube shader for Freescape
2023-07-04 00:36:40 +01:00
Thierry Crozat
77aafe19da NEWS: Mention AGS text improvement 2023-07-03 23:22:51 +01:00
Walter Agazzi
ffea2bea3b AGS: Apply alternative blending to hires fonts in alfont
When displaying hires fonts, alfont applies an alternative blending mode
which was not implemented, causing hi-res text to display improperly in
multiple games (Mage's Initiation, Starship Quasar and Larry Lotter the
most relevant cases)
2023-07-03 23:08:01 +01:00
neuromancer
33e6c4a456 FREESCAPE: initialize r, g and b variables in renderPlayerShoot 2023-07-03 22:18:13 +02:00
neuromancer
4c71526352 FREESCAPE: added offsetOrigin function to avoid breaking setOrigin 2023-07-03 22:18:13 +02:00
neuromancer
60818c0e41 FREESCAPE: invert colors when rendering player shots in driller 2023-07-03 22:18:13 +02:00
Donovan Watteau
8ef39c1a0c FREESCAPE: Fix typos in detection "extra" field 2023-07-03 22:18:13 +02:00
Eugene Sandulenko
60945611b9 DRILLER: Remove newline from detection "extra" field 2023-07-03 22:18:13 +02:00
neuromancer
fd50a5586b FREESCAPE: enable on screen controls in driller for all the scummvm platforms 2023-07-03 22:18:13 +02:00
Le Philousophe
2d154c3b70 FREESCAPE: Fix typo 2023-07-03 22:18:13 +02:00
neuromancer
c36b35b28f FREESCAPE: fixes for driller demo 2023-07-03 22:18:13 +02:00
neuromancer
4486477a93 FREESCAPE: correctly scale mouse position in opengl renderers 2023-07-03 22:18:13 +02:00
neuromancer
7d3fc01cd1 FREESCAPE: better code to transition between areas 2023-07-03 22:18:13 +02:00
neuromancer
7593592c45 FREESCAPE: more precise timing of some fcl instructions 2023-07-03 22:18:13 +02:00
neuromancer
40b73a35a7 FREESCAPE: better detection of driller releases for atari 2023-07-03 22:18:13 +02:00
neuromancer
82fd2ee5d4 FREESCAPE: added better detection of driller releases for atari 2023-07-03 22:18:13 +02:00
neuromancer
8e675393dd FREESCAPE: added code to decrypt some driller releases for atari 2023-07-03 22:18:13 +02:00
neuromancer
ababd0da8e FREESCAPE: added code to decrypt dark for amiga/atari 2023-07-03 22:18:13 +02:00
neuromancer
c9bd9c62de FREESCAPE: improved parsing of castle demo for amiga 2023-07-03 22:18:13 +02:00
neuromancer
1145730b6e FREESCAPE: improved parsing of castle demo for amiga 2023-07-03 22:18:13 +02:00
neuromancer
2bdef2ef42 FREESCAPE: added start animation opcode 2023-07-03 22:18:13 +02:00
neuromancer
c0995c3fa2 FREESCAPE: improved rendering of group animations 2023-07-03 22:18:13 +02:00
neuromancer
2ed383c0d2 FREESCAPE: adjust aabb tolerance for castle 2023-07-03 22:18:13 +02:00
neuromancer
cbe4d4fd45 FREESCAPE: improved rendering and scaling of group objects 2023-07-03 22:18:13 +02:00
neuromancer
d0f9025cb9 FREESCAPE: initial parsing and rendering of group objects 2023-07-03 22:18:13 +02:00
neuromancer
e96d2199c3 FREESCAPE: improved handling of rise/fall 2023-07-03 22:18:13 +02:00
neuromancer
0d01a9efdc FREESCAPE: improved handling of entrance usage 2023-07-03 22:18:13 +02:00
neuromancer
0f7f13813b FREESCAPE: added missing items for driller cga palettes 2023-07-03 22:18:13 +02:00
neuromancer
54d4dfc2a4 FREESCAPE: info menu fixes for driller zx/amiga/atari 2023-07-03 22:18:13 +02:00
neuromancer
e5747d3916 FREESCAPE: color remap fixes for driller cpc/amiga/atari 2023-07-03 22:18:13 +02:00
neuromancer
a7a4415acb FREESCAPE: palette fixes for driller cpc 2023-07-03 22:18:13 +02:00
neuromancer
12e0332415 FREESCAPE: make sure end game area is properly renderer in driller 2023-07-03 22:18:13 +02:00