Secret of Monkey Island Amiga graphics format/compression

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
hhuber_2001
Posts: 2
Joined: Sat Sep 18, 2021 3:47 pm

Secret of Monkey Island Amiga graphics format/compression

Post by hhuber_2001 »

I'm trying to extract some backgrounds for editing and reinjecting into the resource files of the Amiga version.

It looks like none of the Scumm extraction/unpack tools support the Amiga version of the first Monkey Island.

The compression id in the stripe blocks is 0A and doesn't look like the compression algorithms documented here http://jsg.id.au/scumm/scummrev/articles/image.html.

Maybe it's a simpler form of run length encoding.

Could someone fill me in how ScummVM decodes the Amiga backgrounds?

Thanks in advance.
User avatar
sev
ScummVM Lead
Posts: 2308
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Re: Secret of Monkey Island Amiga graphics format/compression

Post by sev »

Here you have it: unkDecode10() which is called from decompressBitmap() where you can see calls to other compression methods.


Eugene
hhuber_2001
Posts: 2
Joined: Sat Sep 18, 2021 3:47 pm

Re: Secret of Monkey Island Amiga graphics format/compression

Post by hhuber_2001 »

Thanks Eugene. Exactly what I was looking for.

Seems like the Amiga version is using the same compression/draw function as the EGA version but with a separate room palette.

Analyzing the function looks like there are 16 colors available for the backgrounds/objects with a custom per room palette and a fixed 16 color palette for the actors/costumes.

So my idea to reuse the colors from the fixed palette in the backgrounds seems to be impossible.
Post Reply