[Scummvm-git-logs] scummvm master -> 70282edd4c83dea57b470bb04c62edaddcb5d858
eriktorbjorn
noreply at scummvm.org
Thu Apr 10 20:25:46 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
70282edd4c SCUMM: Try to improve the workaround for Smirk's cigar smoke in MI1
Commit: 70282edd4c83dea57b470bb04c62edaddcb5d858
https://github.com/scummvm/scummvm/commit/70282edd4c83dea57b470bb04c62edaddcb5d858
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2025-04-10T22:20:15+02:00
Commit Message:
SCUMM: Try to improve the workaround for Smirk's cigar smoke in MI1
Instead of hard-coding the colors, look for the closest one to the one
we want. Apparently this is needed for the FM Towns version, and only
that one. I don't have it, but I'm told it works better now. I've
verified that the versions I do own (VGA CD, Mac, Sega CD, Special
Edition) still work.
Changed paths:
engines/scumm/script_v5.cpp
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index 42b36f8d660..7815aad50fc 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -549,16 +549,27 @@ void ScummEngine_v5::o5_actorOps() {
// CD animation uses colors 1-3, where the floppy
// version uses 2, 3, and 9.
//
- // We don't touch the colours in general - the Special
- // edition have pretty much made them canon anyway -
- // but for the Smirk close-up we want the same colors
- // as the floppy version.
+ // So we have to adjust which colors are remapped. We
+ // also need to make sure they are remapped to the
+ // correct colors, because not only does the GUI occupy
+ // some colors, apparently the FM Towns version has a
+ // different palette altogether. So we look up the
+ // closest available color to the ones we want.
+ //
+ // We could use this to get back the original smoke
+ // colors for other scenes as well, but we currently do
+ // not. The Special Edition kept the new colors too.
if (_game.id == GID_MONKEY && _currentRoom == 76 && enhancementEnabled(kEnhVisualChanges)) {
if (i == 3)
i = 1;
else if (i == 9)
i = 3;
+
+ if (j == 3)
+ j = findClosestPaletteColor(_currentPalette, 256, 0, 171, 171);
+ else if (j == 7)
+ j = findClosestPaletteColor(_currentPalette, 256, 171, 171, 171);
}
// WORKAROUND for original bug. The original interpreter has a color fix for CGA mode which can be seen
@@ -2360,11 +2371,12 @@ void ScummEngine_v5::o5_roomOps() {
_opcode = fetchScriptByte();
d = getVarOrDirectByte(PARAM_1);
- // WORKAROUND: The CD version of Monkey Island 1 will
- // set a couple of default colors, presumably for the
- // GUI to use. But in the close-up of captain Smirk,
- // we want the original color 3 for the cigar smoke. It
- // should be ok since there is no GUI in this scene.
+ // WORKAROUND: The CD versions of Monkey Island 1 may
+ // set a few colors, presumably for the GUI. But this is
+ // the close-up of captain Smirk, so it doesn't need all
+ // of those colors. Only the ones used by the dialog
+ // boxes and such. The others we may need for the cigar
+ // smoke.
if (_game.id == GID_MONKEY && _currentRoom == 76 && d == 3 && enhancementEnabled(kEnhVisualChanges)) {
// Do nothing
More information about the Scummvm-git-logs
mailing list