Skip to content

Commit

Permalink
SCUMM: Apply modified patch from #3076698
Browse files Browse the repository at this point in the history
This adds support for the Ultimate Talkie Edition fanpatch

This is authored by the original UTE author LogicDeLuxe and Fingolfin.

Modification:
Mixed entries from the 2 patches and also enabled PC Speaker support
  • Loading branch information
tsoliman committed Sep 27, 2011
1 parent 44e6300 commit ebcfd1d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
2 changes: 2 additions & 0 deletions engines/scumm/detection_tables.h
Expand Up @@ -242,9 +242,11 @@ static const GameSettings gameVariantsTable[] = {
{"monkey", "CD", 0, GID_MONKEY, 5, 0, MDT_ADLIB, GF_AUDIOTRACKS, UNK, GUIO_NOSPEECH | GUIO_NOMIDI},
{"monkey", "FM-TOWNS", 0, GID_MONKEY, 5, 0, MDT_TOWNS, GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO_NOSPEECH | GUIO_NOMIDI | GUIO_MIDITOWNS},
{"monkey", "SEGA", 0, GID_MONKEY, 5, 0, MDT_NONE, GF_AUDIOTRACKS, Common::kPlatformSegaCD, GUIO_NOSPEECH | GUIO_NOMIDI},
{"monkey", "Fan Patch", 0, GID_MONKEY, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI, GF_AUDIOTRACKS, UNK, GUIO_NONE},

This comment has been minimized.

Copy link
@tsoliman

tsoliman Sep 27, 2011

Author Owner

Notice how it isn't the first one in the list.


{"monkey2", "", 0, GID_MONKEY2, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO_NOSPEECH},
{"monkey2", "FM-TOWNS", 0, GID_MONKEY2, 5, 0, MDT_PCSPK | MDT_TOWNS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, Common::kPlatformFMTowns, GUIO_NOSPEECH | GUIO_MIDITOWNS | GUIO_MIDIADLIB | GUIO_MIDIMT32},
{"monkey2", "Fan Patch", 0, GID_MONKEY2, 5, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO_NONE},

{"atlantis", "", 0, GID_INDY4, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO_NONE},
{"atlantis", "Floppy", 0, GID_INDY4, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO_NOSPEECH},
Expand Down
24 changes: 18 additions & 6 deletions engines/scumm/script_v5.cpp
Expand Up @@ -1799,12 +1799,20 @@ void ScummEngine_v5::o5_roomOps() {

case 13: // SO_SAVE_STRING
{
// This subopcode is used in Indy 4 to save the IQ points data.
// No other game uses it. We use this to replace the given filename by
// one based on the targetname ("TARGET.iq").
// This way, the iq data of each Indy 4 variant a user might have stays
// separate. Moreover, the filename now clearly reflects to which target
// it belongs (as it should).
// This subopcode is used in Indy 4 to save the IQ points
// data. No other LucasArts game uses it. We use this fact
// to substitute a filename based on the targetname
// ("TARGET.iq").
//
// This way, the iq data of each Indy 4 variant stays
// separate. Moreover, the filename now clearly reflects to
// which target it belongs (as it should).
//
// In addition, the Monkey Island fan patch (which adds
// speech support and more things to MI 1 and 2) uses
// this opcode to generate a "monkey.cfg" file containing.
// some user controllable settings.
// Once more we use a custom filename ("TARGET.cfg").
Common::String filename;
char chr;

Expand All @@ -1814,6 +1822,8 @@ void ScummEngine_v5::o5_roomOps() {

if (_game.id == GID_INDY4) {
filename = _targetName + ".iq";
} else if (_game.id == GID_MONKEY || _game.id == GID_MONKEY2) {
filename = _targetName + ".cfg";
} else {
error("SO_SAVE_STRING: Unsupported filename %s", filename.c_str());
}
Expand Down Expand Up @@ -1841,6 +1851,8 @@ void ScummEngine_v5::o5_roomOps() {

if (_game.id == GID_INDY4) {
filename = _targetName + ".iq";
} else if (_game.id == GID_MONKEY || _game.id == GID_MONKEY2) {
filename = _targetName + ".cfg";
} else {
error("SO_LOAD_STRING: Unsupported filename %s", filename.c_str());
}
Expand Down

0 comments on commit ebcfd1d

Please sign in to comment.