Commit Graph
847 Commits
Author SHA1 Message Date
Donovan Watteau 0ea31f0e25 SCUMM: Unbreak (at least) the Steam/Windows release of Loom
Fixes triggering a startSound() assert in player_ad.cpp.

When fixing a regression with the macOS Steam releases, it was decided
to also reset the game MIDI options in ScummEngine::init(), but the
chosen values are incorrect for loom-steam-win.

Just rely on the ScummMetaEngine::createInstance() fix, instead, that
should be enough.

Bug introduced in commit 2193b80119.
2025-04-25 14:57:29 +02:00
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
Torbjörn Andersson b9cede269b SCUMM: Fix regression with MI1 SegaCD savegame loading
We're no longer guaranteed to have a _musicEngine, and while that may
once again change it's probably still a good idea to check.
2025-03-21 07:30:08 +01:00
athrxx 969419c2f6 SCUMM: (MI1/SegaCD) - prevent creation of imuse system and driver
(not needed - the music is CD audio and the sound effects are pcm)
2025-03-11 21:12:11 +01:00
Torbjörn Andersson e278a4e773 SCUMM: Handle the Sega CD graphics setting like other platform settings 2025-02-25 01:38:38 +02:00
Torbjörn Andersson 267f399f94 SCUMM: Make Sega "shadow mode" its own option instead of an enhancement
I mean, technically it is an enhancement, but everyone tells me that
"normally I'm all for making the original behavior the default, but in
this particular case..." And I get their point. Now we just have to
figure out how to darken the colors correctly. Fortunately there are
plenty of emulators to refer to.
2025-02-25 01:38:38 +02:00
Torbjörn Andersson 4ebd84779a SCUMM: Add German Mac executable names for Full Throttle
Reported on the ScummVM forum. I don't have these myself.
2025-02-21 06:39:57 +01:00
Torbjörn Andersson 04026c0d09 SCUMM: Add more error handling to the Mac version of The Dig
Unlike the other Mac games (that I've seen), The Dig has a separate
launcher executable. This does not have the menu and dialog definitions
we need. While this is documented in the ScummVM wiki, I still think
it's a good idea to check for this, since ScummVM will crash if you have
the wrong one.
2025-02-06 22:05:59 +01: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
Donovan Watteau 0e1a963464 SCUMM: LOOM (FM-Towns): Ignore trim_fmtowns_to_200_pixels setting (Trac#15666)
`trim_fmtowns_to_200_pixels` support for Loom FM-Towns was not meant to
happen (see GH-2913 PR comments), and it has no TRIM_FMTOWNS_TO_200_PIXELS
game-option in its detection tables anyway.

But one could force this setting through the configuration file, hitting
the expected issues coming from the fact that Loom _does_ use the extra
40 pixels, in various places. See Trac#11290 and the original comments in
<https://forums.scummvm.org/viewtopic.php?p=97395#p97395> for more info.

So, unless someone wants to finish the original work to fix Loom with this
setting, we're going to ignore it for Loom, for now.
2025-01-13 19:18:21 +01:00
Thierry Crozat 630f479b9b SCUMM: Add detection and support for Mac Remastered versions
They could already be detected and run by navigating to the Resources
folder in the app bundle when adding the game. But now we just need to
select the app bundle itself, as was already possible for older Mac
Steam version of the games.
2025-01-09 21:21:57 +00:00
Filippos Karapetis 1962808333 SCUMM: Remove the platform check for SE games
This was a leftover. We rely on the GF_DOUBLEFINE_PAK game feature for
these games
2025-01-09 11:54:30 +02:00
Torbjörn Andersson 898ea4cf6e SCUMM: MACGUI: Allow playing Maniac Mansion without the Mac GUI 2025-01-08 21:45:57 +01:00
athrxx 208def88f8 SCUMM: (Mac) - improve missing resources warning
For some titles the engine pretends to need the executable
for music, although it doesn't.
2025-01-05 19:10:30 +01:00
Torbjörn Andersson 042e83d78a SCUMM: MACGUI: Initial support for Maniac Mansion
There is currently no user friendly way to do this. You have to unpack
the Maniac Mansion files (since the game is not detected from the "Day
of the Tentacle Data" file), and then you have to put a copy of the Day
of the Tentacle Mac executable where ScummVM can find it (e.g. in the
same directory) because that's where the menus and dialogs are.

Known issues:

"About" shows the credits screen for Day of the Tentacle,
but the original behavior isn't much better: It just shows a black
screen.

The "Sound" menu should be disabled. There are some things I would like
to rearrange before looking into that, though.
2025-01-05 16:33:53 +01:00
Torbjörn Andersson 2d6e00bc37 SCUMM: MACGUI: Add support for Day of the Tentacle demo
It's non-interactive, like the DOS version, but still has menus and an
About dialog.
2025-01-02 18:00:50 +01:00
athrxx 4f31b1e4ff SCUMM: (v6/7/Mac) - sync mute setting between GMM and Mac gui
The GMM has a "mute all" checkbox, the Mac gui allows muting sfx
and music separately. This commit aims at getting these options in
sync.
2025-01-02 17:37:32 +01:00
Torbjörn Andersson 583ea2667f SCUMM: Remove unnecessary version check from v7 function 2025-01-01 14:41:20 +02:00
Torbjörn Andersson e0b5cd8ebe SCUMM: Fix build when v7 and v8 aren't enabled 2025-01-01 14:41:20 +02:00
athrxx 9c6d67b6a1 SCUMM: (SCUMM6/7/Mac) - implement sound mute menu option 2025-01-01 14:41:20 +02:00
athrxx ee2b30964a SCUMM: cleanup v7/8 specific syncSoundSettings() code 2025-01-01 14:41:20 +02:00
Torbjörn Andersson 2e6b5d6778 SCUMM: MACGUI: Enable Mac GUI for Full Throttle demo
Unfortunately, the one we're providing is broken.
2025-01-01 14:41:20 +02:00
Torbjörn Andersson abd9993850 SCUMM: MACGUI: Allow the Mac Fate of Atlantis demo to run
But I think this was originally non-interactive, so it's not really
playable. Also, the About dialog needs some serious work, because it
currently crashes. (Probably from loading non-existing graphics.) I'm
not sure how to properly detect which version is running, though.
2025-01-01 14:41:20 +02:00
Torbjörn Andersson 9aa269edf7 SCUMM: MACGUI: Add support for Sam & Max demo
This used to be hosted on the LucasArts FTP server.
2025-01-01 14:41:20 +02:00
Torbjörn Andersson 16380da1f7 SCUMM: MACGUI: Add support for The Dig Mac demo
This one uses a regular dialog for About. Unfortunately, our Sam & Max
and Full Throttle Mac demos don't have any resource fork, and our Fate
of Atlantis Mac demo has an unrecognized string table.
2025-01-01 14:41:20 +02:00
Torbjörn Andersson 1510972a6d SCUMM: MACGUI: Add very broken Mac GUI for v6 and v7 2025-01-01 14:41:20 +02:00
Donovan Watteau 4e3afee0d2 SCUMM: Simplify the condition for allowing the Amiga palette in DOS/EGA titles
bluegr suggested this simpler approach. The previous one *may* work a
bit better for users with "old" game libraries (i.e. those who don't
delete/re-add their games so that the detection code is triggered
again to update some feature flags in the configuration file), but
I'm not that sure about this.  And anyway, improving the SCUMM
detection code is a different concern, not the subject of this change.

The current commit can be reverted if the previous one is proven to work
better for end-users.
2024-12-27 22:12:04 +02:00
Donovan Watteau 6f7f61aff9 SCUMM: Allow using the Amiga palette again for Loom/Monkey1/Passport (Trac#15458)
This restores the popular ScummVM < 2.7.0 behavior of allowing the Amiga
renderer mode to be used for all the DOS v2-v4 EGA titles (that is:
Maniac Mansion V2, Zak V2, Indy3 EGA, Loom EGA, Monkey Island 1 EGA, and
the Passport to Adventure EGA demo).

Many players like it for the softer palette and/or more natural skin tone
it gives to most characters.

This relaxes commit 2fe65d95ef a bit.
2024-12-27 22:12:04 +02:00
Eugene Sandulenko 89febd4230 CONFIGURE: Turned sid_audio into a component 2024-12-26 19:30:48 +01:00
Filippos Karapetis 1c50d0abd6 SCUMM: Split the CD audio functionality into a separate sound class
This helps to cleanly separate the CD audio logic from the main digital
audio functionality
2024-12-23 02:36:06 +02:00
Filippos Karapetis 7b33acb96a SCUMM: Don't warn about missing audio CD tracks for Doublefine MI1
The audio CD tracks in that version are handled as files
2024-12-20 13:20:51 +02:00
Filippos Karapetis a3d3720f33 SCUMM: Add audio directory for the DoubleFine versions of MI1 and MI2 2024-12-20 13:20:51 +02:00
Filippos Karapetis 808fc410f3 SCUMM: Add support for the MM easter egg variant in the DOTT SE version 2024-12-20 13:20:51 +02:00
Filippos Karapetis a318189cf6 SCUMM: Simplify instantiation of the Doublefine file handler
Add a game flag for Doublefine packed games, and simplify
the instantiation of the PAK file handler. This avoids
clashes with other packed games (e.g. the Mac version of DOTT)
2024-12-20 13:20:51 +02:00
Filippos Karapetis 15fcc87ba8 SCUMM: Hook the new Doublefine PAK file handler
With this, it's possible to handle the files of the MI1 and MI2
classic versions found in MI1 SE and MI2 SE
2024-12-20 13:20:51 +02: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
AndywinXp 655cf8298c SCUMM: DOTT: Disable copy protection
This inherently fixes ticket #15404.
"SCUMM: DOTT: nothing clickable after loading save game"

The game will still break if _copyProtection is true,
but at least we can declare the blocker issue as gone.
2024-11-20 22:10:57 +01:00
AndywinXp a3ed463acc SCUMM: INDY3/LOOM (Mac): Force _macGui init to allow font resources loading
The reason why we are initializing the Mac GUI even without original GUI active
is because the engine will attempt to load Mac fonts from resources... using the
_macGui object. This is not optimal, ideally we would want to decouple resource
handling from the responsibilities of a simulated OS interface.

This will have to do for the 2.9.0 release, we can implement a better design later.
2024-11-17 11:40:23 +01:00
Filippos Karapetis fb8f1b2433 SCUMM: MACGUI: Don't initialize Mac GUI when it's not activated
Authored by @AndywinXp as a better alternative to the changes done in
PR #6240.

This way, games without original gui active never even attempt to
communicate with _macGui. This also disables _macScreen.
2024-11-17 01:46:31 +02:00
Orgad Shaneh 4ad47bfd15 SCUMM: Simplify width and height initialization
Following 381fc1fc44 (SCUMM: Fix Duplicate Branches GCC Compiler Warning),
some of the conditions can be omitted.
2024-11-17 00:20:50 +02:00
Eugene Sandulenko 2e2d8950ec SCUMM: Do not run MacGUI on HE games 2024-11-16 14:26:12 +01:00
Torbjörn Andersson 840e59c402 SCUMM: MACGUI: Fall back on using no Mac GUI for unrecognized versions
Rather than crashing, allow the user to continue playing the
unrecognized Mac version, albeit without the Mac GUI. Certain other Mac
aspects may still survive.
2024-11-14 21:30:54 +02:00
Torbjörn Andersson b20ca174a9 SCUMM: Add alternate file names for Mac Fate of Atlantis
These are the names I got when extracting the files from an archive of
LucasArts's FTP server.
2024-11-14 18:59:15 +01:00
Torbjörn Andersson a839606ccc JANITORIAL: Change spaces to tab 2024-11-12 07:29:25 +01:00
D G Turner 381fc1fc44 SCUMM: Fix Duplicate Branches GCC Compiler Warning 2024-11-06 19:32:01 +00:00
AndywinXp 252ff4c831 SCUMM: INDY4: Admit more executable names
These are executables found on LucasFilm Games
support page.
2024-10-28 08:24:59 +01:00
athrxx ec135b3f14 SCUMM: (MI1/Mac) - finish menu option for sound enabling/disabling 2024-10-28 08:24:59 +01:00
AndywinXp 6b28d2c814 SCUMM: Assign Mac smoothing to config entry & implement Speech menu 2024-10-28 08:24:59 +01:00
AndywinXp 2e03c25bb1 SCUMM: Fix nullptr usage 2024-10-28 08:24:59 +01:00