Opened 10 years ago

Closed 10 years ago

Last modified 12 months ago

#9049 closed patch

Enable alternative palette for Amiga Monkey Island

Reported by: SF/nolange Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 1

Description

There were multiple versions of Monkey Islands, they shared the same data-files but the executeable differed.
Older Versions used the whole 32 colors from the pictures in the data-files
Newer Versions locked down the lower 16 colors which were closer to the VGA-Version.

This patch defaults to using the fixed palette for the first 16 colors, but its possible to disable the fixed palette by chooseing rendermode=EGA.

I also added another patch in which I converted the dozends of functioncalls into color-tables, this should save some space and setting palettes from tables is similar to loading palettes from data-files.

Ticket imported from: #2819787. Ticket imported from: patches/1154.

Attachments (2)

patchpalette.diff (3.0 KB ) - added by SF/nolange 10 years ago.
Patch for choosing palette through rendermode
patchpalettePlus2.diff (13.9 KB ) - added by SF/nolange 10 years ago.
new Version of the plus-patch, readded comments and moved tables

Download all attachments as: .zip

Change History (12)

by SF/nolange, 10 years ago

Attachment: patchpalette.diff added

Patch for choosing palette through rendermode

comment:1 by SF/knakos, 10 years ago

Owner: set to fingolfin

comment:2 by SF/knakos, 10 years ago

It would be nice if this coincided with the support of TFMX in amiga MIs. Do you have any scumm-expert comments on this Max? Or should, f.ex. Kirben take a look at it?

comment:3 by fingolfin, 10 years ago

Summary: Enable alternative Pallet for Amiga Monkey IslandEnable alternative palette for Amiga Monkey Island

comment:4 by fingolfin, 10 years ago

The "plus" patch causes functional changes which seem to be not intended. In particular, ScummEngine::setC64Palette() currently sets a special 17th color; this seems to be missing in the "plus" patch.

comment:5 by fingolfin, 10 years ago

(actually, it does set up the color, but the *comment* which explains why is missing -- which is bad, those comments that explain little details and quirks are quite important).

comment:6 by SF/nolange, 10 years ago

missed that one. Is that the only problem with the patch? Its easy to fix but creating the patches typically takes me a while, so unless this is the only thing preventing the patch from beeing applied I`m gonna wait for more feedback before updating it.

comment:7 by fingolfin, 10 years ago

Well, I have one major question, when that is resolved, at least the non-plus patch could be applied. The question is: Why does EGA rendermode *disable* the "fixed" palette? Why not rendermode=amiga? Or maybe rendermode=amiga should *enable* the fixed palette, and it should be disabled by default? Of course it's easy to change this, but the current way seems confusing to me (at least I would not have guessed that setting "EGA" mode changes the palette of the game in the described way...)

Again, other than that the non-plus patch seems fine.

For the plus patch, there is the missing comment which would have to be restored. Also, tableC64Palette etc. don't need to be members of class ScummEngine -- it would in fact be nicer to hide them inside palette.cpp, i.e., turn them into "static const" arrays without any possibility to address them from outside.

comment:8 by SF/nolange, 10 years ago

The idea behind using Rendermode=EGA is that the old Version had an actor palette that closely resembled EGA.
Further I want the "fixed palette" to be the default, and logically the "default" rendermode should be equivalent to the "amiga" rendermode, considering its the games` plattform.
So the choice is between default/amiga rendermode and something else (I chosen that to be EGA since it made the most sense to me).

Btw, the english and german versions(1.2) seem to use the fixed palette, while the french and italian versions dont: http://www.softpres.org/games?search=Secret%20of%20Monkey%20Island,%20The
Just to add some weight for the decision to enable the fixed palette as default, this should be how the majority of people remember it =)

I updated the plus-patch. Gone a step further by defining all tables directly in the resetPalette function since they arent used anywhere else.

by SF/nolange, 10 years ago

Attachment: patchpalettePlus2.diff added

new Version of the plus-patch, readded comments and moved tables

comment:9 by SF/nolange, 10 years ago

Status: newclosed

comment:10 by digitall, 12 months ago

Component: Engine: SCUMM
Game: Monkey Island 1
Note: See TracTickets for help on using tickets.