SCUMM: Make palette effects in Mac b/w Loom / Last Crusade optional

This commit is contained in:
Torbjörn Andersson 2022-03-18 10:55:41 +01:00 committed by Torbjörn Andersson
parent f496f75eb9
commit afb807599b
2 changed files with 10 additions and 2 deletions

View file

@ -229,7 +229,12 @@ const ExtraGuiOptions ScummMetaEngineDetection::getExtraGuiOptions(const Common:
const Common::String guiOptions = parseGameGUIOptions(guiOptionsString);
const Common::Platform platform = Common::parsePlatform(ConfMan.get("platform", target));
if (target.empty() || gameid == "monkey" || gameid == "monkey2" || gameid == "samnmax" || (gameid == "loom" && (extra == "VGA" || extra == "Steam"))) {
if (target.empty() ||
gameid == "monkey" ||
gameid == "monkey2" ||
gameid == "samnmax" ||
(gameid == "loom" && (extra == "VGA" || extra == "Steam")) ||
((gameid == "loom" || gameid == "indy3") && platform == Common::kPlatformMacintosh && extra != "Steam")) {
options.push_back(enableEnhancements);
}

View file

@ -20,6 +20,7 @@
*/
#include "common/system.h"
#include "common/config-manager.h"
#include "graphics/macega.h"
#include "scumm/actor.h"
#include "scumm/charset.h"
@ -51,9 +52,11 @@ void ScummEngine::mac_drawStripToScreen(VirtScreen *vs, int top, int x, int y, i
// unmodified. At least, that's what Mini vMac did when I tried it.
if (_renderMode == Common::kRenderMacintoshBW) {
bool enableEnhancements = ConfMan.getBool("enable_enhancements");
for (int h = 0; h < height; h++) {
for (int w = 0; w < width; w++) {
int color = _shadowPalette[pixels[w]];
int color = enableEnhancements ? _shadowPalette[pixels[w]] : pixels[w];
if (ts[2 * w] == CHARSET_MASK_TRANSPARENCY)
mac[2 * w] = Graphics::macEGADither[color][0];
if (ts[2 * w + 1] == CHARSET_MASK_TRANSPARENCY)