The Forum is up for sale: XeNTaX Forum looking for new owner

I.M.Meen/Chill Manor (1995 PC/DOS) Sprites [Compressed]

Get your graphics formats figures out here! Got details for others? Post here!
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

I.M.Meen/Chill Manor (1995 PC/DOS) Sprites [Compressed]

Post by Darkfox »

The IMG files are the containers for the textures.

Image

Which I have been able to extract and apply to a map remake in progress for Doom of Level 1 of this very game. The palette had to be gained by doing a DOSBox memory dump. It is provided in this thread:

viewtopic.php?f=18&t=3470&start=45

"MeenMapPalette.rar"

Image

The sprites and animated doors as you can see are broken up and data regarding them is stored above them. The palette displays the correct colors for each but the sprites themselves are incorrect.

Here are a number of tiles that do not display correctly. (Some have flames like the flame behind the furnace, the enemies, and the fires)

Here is a wall with a peep hole:
Image

Here's an animated flaming pot:
Image

A transpared stove texture with an animated flame behind it:
Image

An animated door that goes up having spikes at the bottom:
Image

Pedestal thingy:
Image

Animated troll enemy:
Image

Skull gargoyle statue thingy:
Image

An animated fire wand pickup:
Image
You do not have the required permissions to view the files attached to this post.
Last edited by Darkfox on Thu Oct 28, 2010 1:47 am, edited 5 times in total.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) IMG format

Post by Darkfox »

Coming to a conclusion:

Compression

The black portions (00) of each sprite and transparent texture are missing absolutely. And in the palette, 00 IS the black portion. Thus the headers of each sprite contains the compressed data.
You do not have the required permissions to view the files attached to this post.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) IMG format [Compressed]

Post by Darkfox »

Well, I've been relatively fruitless in my attempts to replenish the black (transparent) portions of each graphic. I still don't know why they did this. Anyone able to figure this one out? I can't quite understand how the engine replaces all the transparent sections.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) IMG format [Compressed]

Post by Darkfox »

Anyone have an idea on what kind of encryption this is or a means to decode it? This is all I really need to start up on my zMeen project.
optfr
ultra-n00b
Posts: 1
Joined: Thu Jul 30, 2009 12:44 pm

Re: I.M.Meen (1995 PC/DOS) IMG format [Compressed]

Post by optfr »

Hi !

Are you sure the pictures are compressed ? It seems that there is a gap or bad additional pixels like in this http://i326.photobucket.com/albums/k425 ... roblem.png (pic taken from antoher game)

PS : do you knowhow to extract images.img in the lab files ?
OpT_fr / Decontaminator
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) IMG format [Compressed]

Post by Darkfox »

LINK

Here is a link to a BMS script that will extract all content of a LAB file.

Also, I'm not seeing the transparent sections (00 00 00 in RGB) of each sprite/transparent texture.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) IMG format [Compressed]

Post by Darkfox »

optfr sent me a PM and says that he has dropped out. So anybody who can figure out how it puts in the transparent segments please help.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) IMG format [Compressed]

Post by Darkfox »

Still haven't been successful in extracting the sprites/transparent walls properly.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) IMG format [Encoded]

Post by Darkfox »

Sorry to bump once again but I've come to a realization. The sprites and transparent textures are not compressed per say, but encoded in a way that the engine upon scanning the lump of data before the graphical portion tells it where to fill in the gaps and construct it. It seemed odd to me at first because it seemed like a form of file compression that takes out the 00 00 00 portions storing it in a table of some sort. Not the case, or at least, in that it is not really a compression otherwise everything would be that way.

Now the question is, how to decode the sprites?
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) Sprites [Encoded]

Post by Darkfox »

Still no luck in decoding the sprites. Could it be some RLE7 like the ANI files?

Image

http://optfr.free-h.net/cdi/index.php?mod=formats
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) Sprites [Compressed]

Post by Darkfox »

Bumping this to give some speculation:

The sprites are likely coded in this way:

The odd data at the beginning points out the position of the transparent portions and how many bytes/pixels it does so, then as the game reads it, it uses these to fill it in ingame. Basically that chunk of data tells where the transparency goes as a form of compression. Though they could have just used the Doom method and had a transparent color which would have been more effective and less pointless. Then again, this is the makers of Link and the Faces of Evil. XD

Basically I believe the stuff is pointers telling where and how much to fill in each portion.
bbrcher
beginner
Posts: 22
Joined: Mon Sep 07, 2009 7:27 pm
Has thanked: 4 times
Been thanked: 9 times

Re: I.M.Meen (1995 PC/DOS) Sprites [Compressed]

Post by bbrcher »

Can you post a screen grab of what the image at 0x1C000 is suppose to look like? It seems to have a small amount of compression data needed for it and might be easier to figure out something about what is going on. The viewable pixels so far look like a pillar with a gargoyle in the center--I'm guessing this will end up having transparent sides and actually be 64x64 like all the rest of the images.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen (1995 PC/DOS) Sprites [Compressed]

Post by Darkfox »

I will try to get what you requested soon, sorry for little updates, things came up and stuff.

I DO have some extra info though to share:

The game's sequel Chill Manor uses the same setup and the same compression on transparent portions. So I'm adding it to the title to indicate that the format is shared.

Edit:

Is it the attached, or this?

Image
You do not have the required permissions to view the files attached to this post.
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen/Chill Manor (1995 PC/DOS) Sprites [Compressed]

Post by Darkfox »

Image

Oh sorry, I think I've found the right one now. This it?
Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: I.M.Meen/Chill Manor (1995 PC/DOS) Sprites [Compressed]

Post by Darkfox »

Good news! Thanks to MortoQueiba http://www.youtube.com/user/MortoQueiba the way the game decompiles the compressed sprites has been cracked effectively. I will quote him here, and it has been tested and verified extracting and decompressing all sprites for I.M.Meen's first level.

Here's his documentation, credit him for finding this out.
The format of each image is as follows: Header, Pixel data, Footer.

=====[Header]=====
The first four bytes are the "true" ends of each sprite. Every sprite (I've tested) is 64x64 pixels big, but these bytes determine the true dimensions, using vertical and horizontal lines. The values in these are as follows:

Left, ???, Right, ??? (more experimentation needed, probably Up and Down).

These values are the exact lines that the first pixels of the sprite appears on. Left and Right share scales, and so do Up and Down (probably). That means that to make a 32x32 image on the 64x64 canvas, Left would be 11 (hex), and Right would be 30 (hex). This puts 16 (10 hex) transparent pixels to the left, and 16 (10 hex) transparent pixels to the right of the "true" sprite.

Then after those four bytes, the rest of the Header is composed of several pairs of bytes. These are actually offsets pointing to the footer for further direction in spacing out the pixels in the image. Take these and reverse them, then add "1C000" to them to get these addresses. THESE ARE RELATIVE TO THE IMAGES.IMG FILE, not the RES### file.



=====[Pixel Data]=====
Just the pixel data. Nothing special here.



=====[Footer]=====
The footer is composed of the pixel lines. By which, I mean it tells the game where to put each pixel. Each section is formatted as such.

"AA 00 BB 00 CC 00 XX 00"

AA - The end of the pixel set on that vertical line. The exact spot the transparency starts again.
BB - The start of the pixel line. The exact spot of the first pixel in line.
CC - The offset of the pixels themselves. Read from Pixel Data. Add "1C000" to this byte.
XX - trigger/command. If it is 00, then there are no more pixels on that vertical line, move onto the next one. If it is not 00, treat it as the next command's AA and continue on the same line.
Post Reply