Commit graph

80 commits

Author SHA1 Message Date
Donovan Watteau
ec4607af45 SCUMM: INDY3: Mention Trac#5597 in the detection code for broken "ryf's Indy3act"
I've checked the contents of the indy3-vga.s01 save which had been provided
in that bug report back then.  It was really coming from this very-badly
patched fan translation, since the save file contains some very bad
grammar/translations unique to that version.

This confirms that some users still had this release in their collection
in 2011, and that it's important to detect it so that people are aware
of it being effectively broken.
2025-04-02 15:28:42 +02:00
Donovan Watteau
298a511da5 SCUMM: Detect and reject the seriously corrupted "ryf's Indy3act" French translation
This is a very old fan-made translation (circa 2001-2002), if not one
of the first ones, targeted at the VGA release of Indy3.

Problem is that it used very poor tooling (mostly a hex editor and
luck I believe, trying not to change any game offset) and it deeply
corrupted several .LFL files in the process, also inserting bogus
data in some opcodes.

Rejecting it feels safer, we don't want bug reports about a release
having some many corrupted resources.

Checked against a copy I had on a 2004 hard drive… and I do remember
already hitting deep issues when playing this translation, back in
the ScummVM 0.7-0.8 days.

Good news is that alternatives exist (with much better grammar and
spelling along the way), and as far as I can remember, ScummTr was
precisely created for the French ATP team in response to the poor
results of this first attempt.

(Night work sponsored by my sleep paralysis demons.)
2025-03-28 05:52:47 +01:00
Torbjörn Andersson
5b6e9ca40f SCUMM: Check platform, not extra, to determine FM Towns / Sega version
Both this versions have empty extra fields in their game definitions, so
ScummVM will put the variant there but only on subsequent game launches.
This means the wrong game settings was shown on adding the game, but not
later. With this change, it should show the correct one immediately.

I don't have the FM Towns version, only the Sega version, but I assume
the same fix applies to both.
2025-02-25 01:38:38 +02:00
Filippos Karapetis
111e7efd9e SCUMM: Initial skeleton code for MI1SE/MI2SE ambience tracks 2025-01-30 11:13:12 +02:00
Torbjörn Andersson
33b065bfc5 SCUMM: Add option for gamma correction
This is currently only used for Macintosh games, but I kept the name of
the setting anonymous in case we ever need gamma correction for
something else.
2025-01-23 21:42:25 +02:00
Filippos Karapetis
277487dc7e SCUMM: Add support for the remastered speech and SFX of DOTT Remastered 2024-12-22 10:15:43 +02:00
Cameron Cawley
bb38e39770 SCUMM: Fix crash with early Mac HE games 2024-11-30 12:16:13 +02:00
AndywinXp
0a8e9019cb SCUMM: HE: Fix crash on games without "extra" detection field 2024-11-29 20:36:36 +01:00
Torbjörn Andersson
522662c9a7 SCUMM: Add music quality engine setting for Mac MI2 and Fate of Atlantis
This is the same setting as was previously used for Mac MI1 and Loom.
2024-11-25 20:03:09 +01:00
athrxx
7e875c273e SCUMM: (IMS/Mac) - add DOTT sound support
SAM mostly works, too, but there hasn't been done any
adjustment work yet for the newer imuse system yet.

DOTT (and probably SAM) actually support stereo. The
hardware caps get detected and it is activated based on
that. The samples are still 8-bit mono, but it allows some
pan pos effects. Nonetheless, I have currently set it to
mono, since that sounds better (less noise, better balance
between channels. Not sure if is a bug of mine or an
original issue, since I haven't been able to get stereo
sound on an emulator).
2024-11-23 23:07:39 +01:00
athrxx
ae86ea42e8 SCUMM: (IMS/Mac) - replace sound driver with more accurate version
The quality improvement seems to be rather subtle. But at least we now
have the quality slider and some fixed sound effects.
2024-11-23 23:07:25 +01:00
Filippos Karapetis
e4be9c2b91 SCUMM: Fix crash adding the Mac Steam version of Loom 2024-11-21 19:49:09 +02:00
Filippos Karapetis
395f63dc71 SCUMM: Initialize class members 2024-11-16 18:40:51 +02:00
Eugene Sandulenko
affc1969b0
SCUMM: Fix multiline translatable options 2024-11-15 17:51:11 +01:00
AndywinXp
be53927bc5 SCUMM: HE: Add detection for current MegaCat versions
Also add a warning, see ticket #15412:
"SCUMM/HE: Backyard Baseball 97 from Steam crashes ScummVM"
2024-11-07 22:05:12 +01:00
Martin Gerhardy
bf6bd39f69 ENGINES: moved scumm enhancements system into shared engine code 2024-10-21 03:15:13 +03:00
sluicebox
4200d6575c ALL: Return result from MetaEngine::removeSaveState 2024-10-18 09:41:03 +03:00
AndywinXp
0b7129347a SCUMM: Revert "Explicitly disable autosaving when original GUI is active"
This reinstates autosaving when original GUI is active,
now that it won't collide with saves made from the original menu.
2024-09-19 08:09:25 +03:00
Torbjörn Andersson
9382f3c24d SCUMM: Change spaces to tabs 2024-09-11 22:13:03 +02:00
Torbjörn Andersson
60ea0ff71d SCUMM: Rename options variables to better reflect their purpose
I assume the "ObjectLabels" bit was cut and pasted from the one option
that actually had anything to do with object labels.
2024-09-11 22:09:32 +02:00
AndywinXp
3c7521e239 SCUMM: MANIAC (v2): Disable kiosk mode for italian version
It just crashes because it has no such demo resources to load :-)
2024-09-04 20:51:47 +02:00
Robert Megone
b381f3aadd SCUMM: MANIAC: Add valid targets for demo checkbox and ensure that feature GF_DEMO is set if checkbox was toggled on. 2024-09-04 15:53:56 +02:00
AndywinXp
8d5aa3a14b SCUMM: GUI: Improve quit dialog override consistency
No more cases of SCUMM quit dialogs followed by frontend
quit dialogs, and no more cases of versions not having an
override quitting without confirmation (ignoring the frontend
setting).
2024-09-01 12:34:54 +02:00
AndywinXp
51b34c33e4 SCUMM: Explicitly disable autosaving when original GUI is active
This addresses #15063:
"SCUMM: Autosave warnings still pop up when classic menus are used"

The implemented solution was proposed by antoniou79.
2024-08-11 20:04:59 +02:00
AndywinXp
2f20fc4fd4 SCUMM: MANIAC: Restrict targets of kiosk demo GUI option 2024-08-09 13:33:02 +02:00
Robert Megone
145398c222 SCUMM: MM - Add option to boot into demo/kiosk mode to the GUI bug #14501 2024-08-09 13:15:20 +02:00
Le Philousophe
98d6f155d2 ENGINES: Split Engine::createInstance in two
This brings a cleaner separation between AdvancedMetaEngineDetection and
AdvancedMetaEngine.
2024-06-30 18:39:06 +02:00
Torbjörn Andersson
370dbd5c6f SCUMM: Change prefix of game-specific options from GUIO_ to GAMEOPTION_
This is consistent with how the other engines do it, and help make them
stand out from the generic GUIO_ options.
2024-06-30 18:01:32 +02:00
Torbjörn Andersson
ab991fa2f8 SCUMM: Add "Enable copy protection" engine checkbox
The exposes the --copy-protection command line option to the engine
settings dialog. This affects the following games:

* Maniac Mansion v1 (DOS) and v2, but not NES or the demos
* Zak McKracken v1 and v2
* Loom EGA (DOS)
* Monkey Island 1, VGA floppy and Macintosh
* Monkey Island 2, but not demos, FM Towns, or the Ultimate Talkie
* Fate of Atlantis, Amiga and other floppy versions

I don't have all of these versions myself, so I can't verify that it
works. And in some cases, the checkbox will appear for games that don't
have the copy protection in the scripts, e.g. the Mac CD Game Pack
version of Fate of Atlantis. (Anyone want to re-insert that script like
we do for that release of Monkey Island 2?)
2024-06-30 18:01:32 +02:00
AndywinXp
196cadbe00 SCUMM: HE: Implement original actor/object overlapping/erasing routines
This is the thing I held off doing during the HE gfx rewrite, only to find out
it was actually needed. As usual, a great number of changes for... only
one small bug fixed. This closes ticket #9619:
"SCUMM/HE: PUTTZOO- Kenya Animation Bug Persists"

I have tested a bunch of representative HE70+,80,90,95,98,99,100
entries and I didn't notice regressions.

HE versions under 70 have not been touched by this, as I'd like to
know if there are issues with actor/object overlaps BEFORE actually
starting disassembling 16-bit DOS executables...
2024-06-11 14:48:50 +02:00
athrxx
55f1bbd47d SCUMM: (FM-Towns) - add menu option to force 640 x 480 mode
English versions usually run in a 320 x 240 resolution in ScummVM.
The original interpreter uses 640 x 480. It has a unique pause/restart
banner that we cannot display in 320 x 240. So that is really the only
reason for adding this option.
2024-05-01 16:06:11 +02:00
athrxx
41f11b8da9 SCUMM: fix/silence various coverity warnings 2024-03-11 20:44:18 +01:00
athrxx
14a7cc7c18 SCUMM: (MI1/Mac) - add music quality slider
The layout is not good and needs more work. I haven't
yet understood how the theme layout code has to be used.
I commit this nonetheless, since it is the only way to access
the music quality settings for MI1.
2024-03-08 03:59:22 +01:00
athrxx
c52bfe4f27 SCUMM: (Loom/Mac) - add music quality slider widget 2024-02-28 21:31:50 +01:00
athrxx
7d48995d44 SCUMM: (INDY3/MAC) - add launcher option for lq music
(just attaching the alread existing option)
2024-02-09 20:54:52 +01:00
Le Philousophe
17f09bb48c SCUMM: Migrate engine to Path 2023-12-24 13:19:25 +01:00
AndywinXp
8461f25218 SCUMM: Rename enhancementClassActive to enhancementEnabled 2023-11-08 11:46:06 +01:00
AndywinXp
c6872cdbbf SCUMM: Clean-up for enhancement groupings 2023-11-08 11:46:06 +01:00
AndywinXp
d5fa7aeb90 SCUMM: Mark all enhancements with their respective classes 2023-11-08 11:46:06 +01:00
AndywinXp
de0a096ff6 SCUMM: Set-up enhancement groups and add bit flags
This also removes the enhancement pop-up list which isn't
needed anymore.

For further information about enhancement groupings:
https://github.com/scummvm/scummvm/pull/5102#issuecomment-1608278733
2023-11-08 11:46:06 +01:00
Torbjörn Andersson
a982378482 SCUMM: Initial work on more fine-grained enhancement setting
There was discussion a while back about how people may want to enable
some of the SCUMM enhancements, but not all since some of them affect
gameplay beyond simple bugfixing. This is an initial attempt at the GUI
part of it. The details are very much still up for discussion.
2023-11-08 11:46:06 +01:00
Aditya
a5b3353022 ALL: Decrease header dependency for gui_options.h
Now the number of times the header file gui_options.h
is added is much smaller.
2023-10-27 01:16:32 +02:00
Cameron Cawley
10e432f9aa SCUMM: Replace use of MetaEngineDetection::parseAndCustomizeGuiOptions() 2023-08-28 22:59:50 +02:00
AndywinXp
d3bd4f6bd0 SCUMM: COMI: Add option to enable "A Pirate I Was Meant To Be" for non-ENG versions 2023-03-06 10:59:14 +01:00
Little Cat
5b92f8fe97 SCUMM HE: Configurable lobby server and checking. 2023-03-06 00:07:13 +01:00
Little Cat
cec2134a2d SCUMM HE: Network play options. 2023-03-06 00:07:13 +01:00
Cameron Cawley
f7785f463a SCUMM: Use the keymapper for bike fights in Full Throttle 2023-02-08 00:11:40 +01:00
AndywinXp
2811c64142 SCUMM: DOTT: Fix quit prompt appearing when using the PC in Ed's room Pt.2
This fixes the same bug, this time when not using the original GUI
2023-01-28 10:25:44 +01:00
AndywinXp
7a10e3ea30 SCUMM: Update Original GUI checkbox description
This notifies the user that in order to get the quit confirmation
dialogs, the "Ask for confirmation on exit" toggle has to be active.
2023-01-20 10:03:37 +01:00
AndywinXp
e8dfcb42f6 SCUMM: GUI: Implement ScummVM quit confirmation override
Now, the original GUI will ask you for confirmation only if the "confirm_exit" config
flag is active.
2023-01-20 10:03:37 +01:00