Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCUMM: Fix an original palette issue at Stan's in MONKEY1-CD (WORKAROUND) #4266

Merged

Conversation

dwatteau
Copy link
Contributor

@dwatteau dwatteau commented Sep 12, 2022

In the versions of Monkey Island 1 with the full 256-color inventory, going at Stan's (when he's not there) will mess up the color of some objects, such as the "striking yellow color" of the flower from the forest suddenly being greenish in this room.

This also happens with the original interpreter.

Before this fix:

scummvm-monkey-00000

After this fix:

scummvm-monkey-00001

The yellow petals are yellow again, and Guybrush's trousers have their grayish gradient again. (This also fixes some other objects, such as the beak of the rubber chicken.)

The VGA floppy release doesn't appear to have the issue with Guybrush's trousers, so this bug is probably another oversight from the v5 release.

Technical details

  • I'm doing this in o5_setClass() because the entry script for room 59 has some setClass(915,[6]) calls and that's the only reliable point I could find.
  • This fix is not applied to the FM-TOWNS and Sega CD releases, since they use a smaller palette, so I think they should be fine (but note that I don't have them).
  • The setPalColor() calls are taken from the Ultimate Talkie Edition.
  • The _currentPalette[251 * 3] == 0 check is a quick way of making sure that nothing has changed this color yet. It's also a way of doing this fix only once, since setClass(915,[6]) is called twice in this script.
  • As explained in the comments, _scummVars[260] < 8 is also taken from the Ultimate Talkie Edition fix. I think this is done so that some colors are only changed during Part One, but not in the last part where you fight against LeChuck.

How to test

  1. Start a v5 version of Monkey1 (i.e. a release with the new inventory icons, except for the SE Talkie version which already fixes this).
  2. Use boot param 444 and then use room 59 in the ScummVM debugger. (Or use any savegame where you have various objects in your inventory, during Part One but when Stan's not at his place).
  3. Make sure that the gray, yellow and green colors look OK.
  4. You can also try playing the end of the game again, to make sure that there's no regression there, since it reuses this room (boot param 8989 is near, but I'm not sure it properly sets _scummVars[260]).

Tested with my CD/DOS/English and CD/DOS/French versions.

Macintosh tests would be welcome (I believe it should also work there). SegaCD/FM-TOWNS would be a plus, but I'm excluding them from this workaround for now.

…UND)

In the versions of Monkey Island 1 with the full 256-color inventory,
going at Stan's (when he's not there) will mess up the color of some
objects, such as the "striking yellow color" of the flower from the
forest suddenly being greenish in this room.  The VGA floppy release
doesn't appear to have this issue, so this is probably another oversight
from the v5 release.

The setPalColor() calls are taken from the Ultimate Talkie Edition.

This fix is not applied to the FM-TOWNS and Sega CD releases, since they
use a smaller palette (and I don't have them).
@eriktorbjorn
Copy link
Member

eriktorbjorn commented Sep 12, 2022

"The floppy version doesn't have an icon inventory"

Were there issues outside of the inventory icons? (Which the floppy version doesn't have, of course.)

@eriktorbjorn
Copy link
Member

eriktorbjorn commented Sep 12, 2022

Mac version before change...

scummvm-monkey-mac-00002

...and after...

scummvm-monkey-mac-00003

(And now I see the slight difference in Guybrush's pants and shoes, too.)

@dwatteau
Copy link
Contributor Author

dwatteau commented Sep 12, 2022

"The floppy version doesn't have an icon inventory"

Were there issues outside of the inventory icons? (Which the floppy version doesn't have, of course.)

All I could see was the grayish gradient in Guybrush's trousers and shoes being a bit off. And maybe the green bottle of root beer on the ground, when LeChuck removes you from the grog machine. (Once Stan or LeChuck are in that room, the object interactions become more limited.)

The (smaller) non-inventory issues appear to only exist in the CD version, not the VGA floppy version. Now I get why some fans say that the floppy VGA version was way more polished :)

(And there's also the infamous temporary EGA regression when Guybrush falls into the grog machine, but that's another problem -- fixed by the Ultimate Talkie release)

Mac version before change...

Thanks for this test!

@bluegr
Copy link
Member

bluegr commented Sep 17, 2022

Very nice work, thanks! Merging

@bluegr bluegr merged commit d488212 into scummvm:master Sep 17, 2022
8 checks passed
@dwatteau dwatteau deleted the fix/scumm-monkey1-cd-palette-color-stans branch Sep 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants