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.
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.
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.
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.
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.
`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.
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.
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.
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.
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.
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.
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.
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)
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).
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.
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.
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.
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.