Opened 10 years ago

Closed 10 years ago

Last modified 9 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)

Changed 10 years ago by SF/nolange

Attachment: patchpalette.diff added

Patch for choosing palette through rendermode

comment:1 Changed 10 years ago by SF/knakos

Owner: set to fingolfin

comment:2 Changed 10 years ago by SF/knakos

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 Changed 10 years ago by fingolfin

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

comment:4 Changed 10 years ago by fingolfin

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 Changed 10 years ago by fingolfin

(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 Changed 10 years ago by SF/nolange

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 Changed 10 years ago by fingolfin

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 Changed 10 years ago by SF/nolange

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.

Changed 10 years ago by SF/nolange

Attachment: patchpalettePlus2.diff added

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

comment:9 Changed 10 years ago by SF/nolange

Status: newclosed

comment:10 Changed 9 months ago by digitall

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