[Scummvm-git-logs] scummvm master -> 4e3afee0d2de0a2fab2054c3fbe9a033546d817e

bluegr noreply at scummvm.org
Fri Dec 27 20:12:07 UTC 2024


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
6f7f61aff9 SCUMM: Allow using the Amiga palette again for Loom/Monkey1/Passport (Trac#15458)
4e3afee0d2 SCUMM: Simplify the condition for allowing the Amiga palette in DOS/EGA titles


Commit: 6f7f61aff9ff2a22ccb163f305d87ff959f80bd8
    https://github.com/scummvm/scummvm/commit/6f7f61aff9ff2a22ccb163f305d87ff959f80bd8
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2024-12-27T22:12:04+02:00

Commit Message:
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 2fe65d95ef86433460c2c59eca9de022564c2926 a bit.

Changed paths:
    engines/scumm/detection_tables.h
    engines/scumm/scumm.cpp


diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h
index 4297fa15c9c..ac4252f0c3f 100644
--- a/engines/scumm/detection_tables.h
+++ b/engines/scumm/detection_tables.h
@@ -177,22 +177,22 @@ static const GameSettings gameVariantsTable[] = {
 	{"indy3", "Steam",  "steam", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_OLD256 | GF_FEW_LOCALS, UNK, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
 	{"indy3", "FM-TOWNS",     0, GID_INDY3, 3, 0, MDT_TOWNS,             GF_OLD256 | GF_FEW_LOCALS | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
 
-	{"loom", "EGA",      "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO5(GUIO_NOSPEECH, GUIO_RENDERCGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
+	{"loom", "EGA",      "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO6(GUIO_NOSPEECH, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
 	{"loom", "Mac",      "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR,                                  0, UNK, GUIO6(GUIO_NOSPEECH, GUIO_RENDERMACINTOSHBW, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GUIO_NOASPECT)},
 	{"loom", "No AdLib", "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS,                        0, UNK, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
 	{"loom", "PC-Engine",    0, GID_LOOM, 3, 0, MDT_NONE,                         GF_AUDIOTRACKS | GF_OLD256 | GF_16BIT_COLOR, Common::kPlatformPCEngine, GUIO3(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS)},
 	{"loom", "FM-TOWNS",     0, GID_LOOM, 3, 0, MDT_TOWNS,                        GF_AUDIOTRACKS | GF_OLD256, Common::kPlatformFMTowns, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GUIO_NOASPECT, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
 	{"loom", "VGA",      "vga", GID_LOOM, 4, 0, MDT_NONE,                         GF_AUDIOTRACKS,             Common::kPlatformDOS, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
 	{"loom", "Steam",  "steam", GID_LOOM, 4, 0, MDT_NONE,                         GF_AUDIOTRACKS,  UNK, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
-	{"loom", "Demo",      "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_DEMO, UNK, GUIO3(GUIO_NOSPEECH, GUIO_RENDERCGA, GAMEOPTION_ORIGINALGUI)},
+	{"loom", "Demo",      "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_DEMO, UNK, GUIO4(GUIO_NOSPEECH, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ORIGINALGUI)},
 
-	{"pass", 0, 0, GID_PASS, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_16COLOR, Common::kPlatformDOS, GUIO4(GUIO_NOSPEECH, GUIO_RENDERCGA, GUIO_NOMIDI, GAMEOPTION_ORIGINALGUI)},
+	{"pass", 0, 0, GID_PASS, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_16COLOR, Common::kPlatformDOS, GUIO5(GUIO_NOSPEECH, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GUIO_NOMIDI, GAMEOPTION_ORIGINALGUI)},
 
 	{"monkey", "VGA",      "vga", GID_MONKEY_VGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO5(GUIO_NOSPEECH, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
 	{"monkey", "VGA Demo",      "vga", GID_MONKEY_VGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_DEMO, UNK, GUIO3(GUIO_NOSPEECH, GUIO_RENDEREGA, GAMEOPTION_ORIGINALGUI)},
-	{"monkey", "EGA",      "ega", GID_MONKEY_EGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_16COLOR,     Common::kPlatformDOS, GUIO6(GUIO_NOSPEECH, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
+	{"monkey", "EGA",      "ega", GID_MONKEY_EGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_16COLOR,     Common::kPlatformDOS, GUIO7(GUIO_NOSPEECH, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
 	{"monkey", "No AdLib", "ega", GID_MONKEY_EGA, 4, 0, MDT_PCSPK | MDT_PCJR,                        GF_16COLOR,     Common::kPlatformAtariST, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
-	{"monkey", "Demo",     "ega", GID_MONKEY_EGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB,            GF_16COLOR | GF_DEMO,     Common::kPlatformDOS, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GAMEOPTION_ORIGINALGUI)},
+	{"monkey", "Demo",     "ega", GID_MONKEY_EGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB,            GF_16COLOR | GF_DEMO,     Common::kPlatformDOS, GUIO7(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ORIGINALGUI)},
 	{"monkey", "CD",           0, GID_MONKEY,     5, 0, MDT_ADLIB,                        GF_AUDIOTRACKS, UNK, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
 	{"monkey", "SE",           0, GID_MONKEY,     5, 0, MDT_ADLIB,                        GF_AUDIOTRACKS | GF_DOUBLEFINE_PAK, UNK, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_USE_REMASTERED_AUDIO)},
 	{"monkey", "Mac",          0, GID_MONKEY,     5, 0, MDT_MACINTOSH,                    0, UNK, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION, GUIO_NOASPECT)},
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 7c0b84162cf..8f46109e7c5 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -338,11 +338,18 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
 		break;
 
 	case Common::kRenderAmiga:
-		// Allow v2 games to be rendered in forced Amiga mode; this works, and
-		// doing this to avoid the "sunburn effect" in MM/Zak is popular.
-		// Also allow this for Indy3 EGA.
-		if (_game.platform != Common::kPlatformAmiga && _game.version != 2 &&
-(_game.version != 3 || _game.id != GID_INDY3 || _game.platform == Common::kPlatformMacintosh))
+		// Allow V2 DOS/EGA games to be rendered with the Amiga palette; this works,
+		// and doing so to avoid the "sunburnt" effect in MM/Zak is popular to the
+		// point of being suggested in some online guides. Some players also like
+		// this setting for the V3/V4 EGA titles (especially since ScummVM < 2.7.0
+		// allowed it; see Trac#15458) and one may say that LucasArts made this
+		// option "canon" if you read the `Common::kRenderEGA` case above.
+		if (_game.platform == Common::kPlatformDOS && (_game.version == 2 ||
+			(_game.version == 3 && !(_game.features & GF_OLD256)) ||
+			(_game.version == 4 && (_game.features & GF_16COLOR))))
+			break;
+
+		if (_game.platform != Common::kPlatformAmiga)
 			_renderMode = Common::kRenderDefault;
 		break;
 


Commit: 4e3afee0d2de0a2fab2054c3fbe9a033546d817e
    https://github.com/scummvm/scummvm/commit/4e3afee0d2de0a2fab2054c3fbe9a033546d817e
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2024-12-27T22:12:04+02:00

Commit Message:
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.

Changed paths:
    engines/scumm/scumm.cpp


diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 8f46109e7c5..e0e0cf00c7c 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -338,15 +338,12 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
 		break;
 
 	case Common::kRenderAmiga:
-		// Allow V2 DOS/EGA games to be rendered with the Amiga palette; this works,
-		// and doing so to avoid the "sunburnt" effect in MM/Zak is popular to the
-		// point of being suggested in some online guides. Some players also like
-		// this setting for the V3/V4 EGA titles (especially since ScummVM < 2.7.0
-		// allowed it; see Trac#15458) and one may say that LucasArts made this
-		// option "canon" if you read the `Common::kRenderEGA` case above.
-		if (_game.platform == Common::kPlatformDOS && (_game.version == 2 ||
-			(_game.version == 3 && !(_game.features & GF_OLD256)) ||
-			(_game.version == 4 && (_game.features & GF_16COLOR))))
+		// Allow V2-V4 DOS/EGA games to be rendered with the Amiga palette; doing
+		// so to avoid the "sunburnt" effect is popular to the point of being
+		// suggested in some online guides, and ScummVM < 2.7.0 allowed it. One
+		// may say that LucasArts made this option "canon" anyway, if you read
+		// the `Common::kRenderEGA` case above.
+		if (Common::String(_game.guioptions).contains(GUIO_RENDERAMIGA))
 			break;
 
 		if (_game.platform != Common::kPlatformAmiga)




More information about the Scummvm-git-logs mailing list