Opened 14 years ago
Closed 14 years ago
Last modified 5 years ago
#9049 closed patch
Enable alternative palette for Amiga Monkey Island
|Reported by:||SF/nolange||Owned by:||fingolfin|
|Cc:||Game:||Monkey Island 1|
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.
Change History (12)
by , 14 years ago
comment:1 by , 14 years ago
comment:2 by , 14 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 , 14 years ago
|Summary:||Enable alternative Pallet for Amiga Monkey Island → Enable alternative palette for Amiga Monkey Island|
comment:4 by , 14 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 , 14 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 , 14 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 , 14 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 , 14 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 , 14 years ago
new Version of the plus-patch, readded comments and moved tables
comment:9 by , 14 years ago
|Status:||new → closed|
comment:10 by , 5 years ago
|Component:||→ Engine: SCUMM|
|Game:||→ Monkey Island 1|
Patch for choosing palette through rendermode