Commit Graph
81 Commits
Author SHA1 Message Date
Donovan Watteau 2193b80119 SCUMM: Fix support of the macOS Steam releases using DOS resources (Trac#15849)
Back when modern macOS still had 32-bit support, Steam provided macOS
ports of some LEC titles, such as indy3-steam-mac.

Although marked as "Steam/Macintosh", they're not based on the
original Macintosh releases, but they're macOS ports of the original
DOS VGA releases.

Thus, we need to make sure not to override their midi settings with
MDT_MACINTOSH, since they use the usual DOS audio resources.

Fixes a fatal "IMuseDriver_Macintosh(): Unsupported game ID 3!" error,
when trying to start such games.
2025-04-16 11:47:34 +02:00
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