I.M. Meen

From ModdingWiki
Jump to: navigation, search
I.M. Meen
I.M. Meen.png
There is no image of a modified version of this game — upload one!
Levels?Unknown
Tiles?X mark.svg Not editable
Sprites?X mark.svg Not editable
Fullscreen?Tick.png Editable
Sound?Tick.png Editable
Music?Tick.png Editable
Text?Tick.png Editable
Story/cutscenes?X mark.svg Not editable
UI/menus?X mark.svg Not editable

The first of two PC titles, the second being the sequel Chill Manor, created by Animation Magic, known infamously for their Philips CD-i titles. I.M. Meen was released in 1995 during the height of Doom and 2D-in-3D first person games, and it does show. Features were much of what others gave including full rotational angles for enemies and an inventory system, as well as animated cutscenes with voice acting. As far as gameplay goes, as like many titles by Animation Magic, falls short. I.M. Meen's main goal was intended as an educational game geared towards children to teach grammar.

The game's storyline follows Scott and Katie who have been trapped in a labyrinth cell through a magical trap in the form of a book set up by the childish education-hating sorcerer, Ignatius Mortimer Meen. They are later freed of captivity by a friendly gnome named Gnorris who disagrees with his boss's wishes and frequently advises the children in order to help their escape from the frightening labyrinth. They must navigate the labyrinth freeing all the children kidnapped by Meen while battling his monstrous underlings, crazed incarnations at the end of each section, and his poor grammar.

File formats

File name Description
*.xmi Extended Midi Files.
*.wav Standard WAV audio files.
*.lab LAByrinth files, generic uncompressed containers.
*.ani,SC** Animated cutscenes.
*.pcx PCX Format screens and backgrounds.
*.img Meen IMG file.
*.def Mostly pure text definitions, more detail below.
*.cmp Image format that makes up many of the interface graphics including icons and first-person weapons, otherwise unknown.
*.bmf BMF1 files, unknown, possible interface setup.
*.pcf Currently unknown, but L_SCRL.PRC contains grammar scroll text and L_HELP.PRC contains grammar hints.

LAByrinth Files

LAByrinth files are generic headerless containers that are mainly used to package up each level along with their individual resources rather than having a uniformly shared set of resources like WADs of Doom engine titles or GRP of BUILD engine games. They start off with a simple index then uncompressed contents follow. RESINT.LAB contains all interface relative images including icons and first-person weapon graphics like the fist and hammer, and RESFACE.LAB contains ingame face graphics, all in CMP format (except GAME_SCR.PCX who's importance will be mentioned later). Then there is the RES###.LAB files that contains all resources and data for a specific level which will be displayed in a chart below.

File name Description
3D*.wav World sounds including triggers and doors.
ES*.wav Enemy sounds.
FX*.wav Generic sound effects for shots and hits.
PW*.wav Player weapon sounds.
BUZZER.wav Error chime heard when a mistake is made in a grammar puzzle.
MU*.xmi Ingame music.
FLOOR.IMG Generic image container containing all floor textures.
SKY.IMG Generic image container containing all ceiling textures.
IMAGES.IMG Generic image container containing all sprites and wall textures.
CUBES1.def Definition file in binary that sets up wall textures.
FLOOR1.def Definition file in binary that sets up floor textures.
MAZE1.def Meen map file.
OBJECTS.def Objects definition file.
SKY1.def Definition file in binary that sets up ceiling textures.
SOUNDDAT.def Definition file for level sounds.
STARTPOS.def Defines starting coordinates and angle.
GAME_SCR.PCX Main HUD interface image, the palette within is used by all world graphics.
STARTSCR.PCX Level's starting screen.

DEF Files

The DEF files define the level in entirety, including objects, textures, and the map itself.

MAZE1.DEF is the main DEF file as it deals with the very layout of the map. It starts with two UINT16LE that define the x and y boundaries of the map. Then after this is the physical aspects of the map. Interestingly the map can be viewed as a raw 8-bit image showing the entire layout with each pixel representing a 64x64 square. After the physical layout is the object placement segment. 00 signifies a blank spot while any number above it correlates to the object entries in OBJECTS.DEF.

IM Meen MAZE1 POC Editing.png

This is a proof-of-concept in editing MAZE1.DEF with a graphical hex editor and it working ingame. Note too that map is rotated counter-clockwise 90 degrees in file. Top Left shows unedited map, bottom left shows edited map, middle shows modified map in minimap form ingame, and far right shows map rotated 90 degrees to match minimap.

FLOOR1.DEF and SKY1.DEF define the floor and ceiling textures respectively. They encompass the entirety of the map meaning if the map is 64x64, the filesize of each will be 4,096 bytes to cover it completely. The binary numbers refer to the graphical entry in FLOOR.IMG and SKY.IMG starting with 01.

CUBES1.DEF deals with defining wall textures based on the number within IMAGES.IMG. Unlike FLOOR1 and SKY1, this does not cover the entire area but rather defines what the texture assignment for each byte is in MAZE1's first portion.

OBJECTS.DEF defines all objects within the level. Enemies, items, doors, switches, decorations, and weapons damage are all defined here.

SOUNDDAT.DEF defines all sounds used in the level.

STARTPOS.DEF Numbers define Y (- north, + south), X (+ east, - west), and angle in clockwise rotatio. 00 is north, 5A(90 degrees) is east, and so on.

Tools

QuickBMS scripts for extracting and converting ANI audio and frames. Needs updating as not all ANI files work. Tool for decompressing and converting frames to BMP here.

QuickBMS script for extracting LAB content.