🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.games.x-com
Article #35473

Map Control Data (MCD) *Warning Long Post*

#35473
From: BladeFireLight
Date: Sat, 01 Nov 2003 20:56
2539 lines
66180 bytes
This is probably going to get screwed up by google's word rap.. but
i'm going to post any way..

you can also find this information at

http://www.x-com.co.uk/forums/index.php?showtopic=1457

in a somwhat more readable format.

Understanding Map Control Data (MCD) Files

The MCD files are used by both UFO and TFTD to defined the TILE's used
in tactical to form the physical and visual battle map

Understanding the format of the MCD files allows us to create our own
TERRAIN and TILE SETS's and ultimately, new MAP SET's
The goal of this paper is to help the moding community understand how
to edit (or write utilities to edit) the MCD files in the UFO and TFTD
terrain directory.
all tho I will touch on PCK files I will not go in depth on their
format as their are plenty of utilities to edit them.

Each MCD file is named the same as the PCK and TAB files that it uses
graphics from. MCD files contain variable number of MCD records. Each
record is 62 bytes long and have the following format

typedef struct mcdentry
{
        unsigned char Frame[8];      //Each frame is an index into the
____.TAB file;
        			     // The frames is the visual part of the Tile,
        			     // If all frames are the same than it's a static image
otherwise it's animated
        unsigned char LOFT[12];      //Line Of Fire Template, The 12
levels of references into GEODATA\LOFTEMPS.DAT
        			     // used to describe the 3D phisical make up of the
Tile
        			     // (more on this later)
        short    int  ScanG;         //an index into the
GEODATA\SCANG.DAT (4x4 bmp images used for the overhead map)
                                     // DaiShiva's PCKView.NET editor
can be used to view thease images
        unsigned char u161D[8];      // UNKNOWN..
        unsigned char UFODoor;       //[On/OFF flag]If it's a UFO door
it uses only Frame[0] until it is walked through,
                                     // then it animates once and
becomes OpenMCD.  It changes back at the end of the turn
        unsigned char StopLOS;       //[On/Off flag]You cannot see
through this tile. (how it blocks is based on TileType)
        unsigned char NoFloor;       //[On/Off flag]If 1, then a
non-flying unit can't stand here (only valid on floor TileTypes)
        unsigned char BigWall;       //[On/Off flag]It's an object
(tile type 3), but it acts like a wall
        			     // Used most often for unwalkable Tiles. IE. Tables
and Solid Rock
        unsigned char Gravlift;      //[On/Off flag] The up/down of a
grav lift is determined if their is
                                     // another gravlift above or
below in the MAP file
        unsigned char Door;          //[On/Off flag]It's a human style
door--you walk through it and it changes to OpenMCD
        unsigned char BlockFire;     //[On/Off flag]If 1, fire won't
go through the tile
        unsigned char BlockSmoke;    //[On/Off flag]If 1, smoke won't
go through the tile
        unsigned char u26;           // UNKNOWN...
        unsigned char TUWalk;        //The number of TUs required to
pass the tile while walking.
                                     // An 0xFF (255) means it's
unpassable.
        unsigned char TUFly;         //The number of TUs required to
fly through tile
                                     // 0xFF means it's impassable!
        unsigned char TUSlide;       //Tu's for Sliding things like
snakemen and silacoids
        unsigned char Armour;        //The higher this is the less
likely it is that a weapon will destroy
                                     // this tile when it's hit.
        unsigned char HEBlock;       //How much of an explosion this
tile will block
        unsigned char DieMCD;        //If the terrain is destroyed, it
becomes this MCD entry.
        unsigned char Flammable;     //How flammable it is (the higher
the harder it is to set aflame)
        unsigned char OpenMCD;       //If "Door" or "UFODoor" is on,
then when a unit walks through it the door it changes to this MCD
entery.
        unsigned char u2F;           // UNKNOWN..
        signed   char VDisplace;     //When a unit or object is on
this tile, the unit is shifted by this number of pixels
        unsigned char SubtractY;     //The pck images are drawn this
many pixels lower when displayed. (used for hills)
        unsigned char u32;           // UNKNOWN..
        unsigned char BlockLight;    //The amount of light it blocks,
from 0 to 10
        unsigned char SoundFX;       //The Sound Effect set to choose
from when footsteps are on the tile
                                     // This is mostlikly an index to
the .CAT file RAW wave
        unsigned char TileType;      //This is the type of tile it is
meant to be --
                                     // 0=floor, 1=west wall, 2=north
wall, 3=object .  When this type of tile is in the
                                     // DieMCD or OpenMCD flags, this
value is added to the tile coordinate to determine
                                     // the byte in which the tile
type should be written.
        unsigned char HEType;        //0=HE  1=Smoke
        unsigned char HEStrength;    //The strength of the explosion
caused when it's destroyed.  0 means no explosion.
        unsigned char SmokeBlockage; //? Not sure about this ...
        unsigned char Fuel;          //The number of turns the tile
will burn when set aflame
        unsigned char LightSource;   //The amount of light this tile
produces
        unsigned char TypeProperties;//The special properties of the
tile (like Aqua plastics.. or Synom device)
                                     // This effects what is salvage
from a UFO/USO or base at the end of combat.
                                     // some settings are used for
combat Win conditions (use MTT_nnn and MT_nnn )
        unsigned char u3C3D[2];      // UNKNOWN.. 
}MCDEntry;

// MCD Tile properties for TFTD
#define MTT_Tile 		0x00  // default, no special properties
#define MTT_StartPoint 		0x01  // abort tile from 2part missions
#define MTT_IonBeamAccel 	0x02
#define MTT_DestroyObjective	0x03
#define MTT_MagnaticNav		0x04
#define MTT_AlienCryo		0x05
#define MTT_AlienClon		0x06
#define MTT_AlienLearn		0x07
#define MTT_AlienImplant	0x08
#define MTT_Unknown9		0x09  // Not used in TFTD
#define MTT_AquaPlastics	0x0A
#define MTT_ExamRoom		0x0B
#define MTT_DeadTile		0x0C  //used for tiles the are the destroyed
version
#define MTT_EndPoint		0x0D  // Exit 'abort' tile
#define MTT_MustDestroy		0x0E  // Ultimate Alien Power Sorces (only
used by final combats)

// MCD Tile Properties for UFO  ** one of the unknows may the
AlienRepoduction **
#define MT_Tile 		0x00  // default, no special properties
#define MT_StartPoint 		0x01  // abort tile from 2part missions
#define MT_UFOPowerSorce 	0x02
#define MT_DestroyObjective	0x03  // This is also used for
UFONavigaion
#define MT_UFONav		0x03  // Also the Destroy objective
#define MT_Unknown4    		0x04  // Not used in UFO
#define MT_AlienFood		0x05
#define MT_Unknown6		0x06  // Not used in UFO
#define MT_AlienEntertain	0x07
#define MT_AlienSurgery		0x08
#define MT_ExaminationRoom	0x09
#define MT_AlienAlloys		0x0A
#define MT_UnknownB		0x0B  // Not used in UFO.
#define MT_DeadTile		0x0C  //used for tiles the are the destroyed
version
#define MT_EndPoint		0x0D  // Exit 'abort' tile
#define MT_MustDestroy		0x0E  // UFO = Alien brain (only used by final
combats)

Line Of Fire Teplates (LOFT)

The LOFT's are stored in loftemps.dat found in the GEODATA dir in UFO
and GEODATA and TERRAIN in TFTD
(I believe the TERRAIN one is not used)

for both games these files are exactly the same. It contains 112 LOFT
entries (0 through 111).

a LOFT entry is 16 unsigned shorts used as a binary mask. this makes a
16x16 bit square.
win 1 being a solid object and 0 being empty space.

for example. Entery number 4:

004: /----------------\
     |0000000000000000|
     |0000000000000000|
     |0000000000000000|
     |0000000000000000|
     |0000000111000000|
     |0000011111110000|
     |0000011111110000|
     |0000111111111000|
     |0000111111111000|
     |0000111111111000|
     |0000011111110000|
     |0000011111110000|
     |0000000111000000|
     |0000000000000000|
     |0000000000000000|
     |0000000000000000|
     \----------------/
     
not very readable. so I'm going to display them with # for 1 and . for
0
(requires a fixed width font)

004: /----------------\
     |................|
     |................|
     |................|
     |................|
     |.......###......|
     |.....#######....|
     |.....#######....|
     |....#########...|
     |....#########...|
     |....#########...|
     |.....#######....|
     |.....#######....|
     |.......###......|
     |................|
     |................|
     |................|
     \----------------/

This defines a solid circle in the middle of the tile.

Each MCD uses 12 LOFTS (starting at the bottom) to create a 16x16x12
bit mask

lets look at a simple object. the barrel from a TFTD Port mission

File: port01.mcd
Entery number 93

Offset: 0x00001686:

 5D 5D 5D 5D 5D 5D 5D 5D

 04 04 04 04 04 04 04 04 00 00 00 00

 0047

 04 00 18 54 04 00 25 54 00 00 00 01 00 00 00 01
 03 FF FF FF 0A 0A 00 0A 00 00 EE 00 00 00 04 03
 00 50 00 03 00 00 00 00

The first line is the 8 images.. all the same because this is not an
animation

The second line is our LOFT enterys. the first eight are 04. the
circle shown above.
the last four are 00. 

000: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

as you can see it's empty space.  This shows that the barel is not as
tall as the whole TILE.

Lets look at a more complex example

Tthe stone staircase along the warf of the TFTD Port terrain
Entery: 20
000004D8:

 14 14 14 14 14 14 14 14

 06 15 14 10 0E 0A 00 00 00 00 00 00

 0074

 04 00 18 54 04 00 25 54 00 00 00 00 00 00 00 00
 03 01 01 01 3C 0F 13 7A 00 00 F8 00 00 00 02 03
 00 00 00 01 00 00 00 00

006: /----------------\    015: /----------------\  014:
/----------------\
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|################|
     |################|         |################|      
|................|
     |################|         |################|      
|................|
     |################|         |................|      
|................|
     |################|         |................|      
|................|
     \----------------/         \----------------/      
\----------------/

010: /----------------\  00e: /----------------\ 00a:
/----------------\
     |################|       |################|     
|################|
     |################|       |################|     
|################|
     |################|       |################|     
|................|
     |################|       |################|     
|................|
     |################|       |################|     
|................|
     |################|       |................|     
|................|
     |################|       |................|     
|................|
     |################|       |................|     
|................|
     |................|       |................|     
|................|
     |................|       |................|     
|................|
     |................|       |................|     
|................|
     |................|       |................|     
|................|
     |................|       |................|     
|................|
     |................|       |................|     
|................|
     |................|       |................|     
|................|
     |................|       |................|     
|................|
     \----------------/       \----------------/     
\----------------/

As you can see the physical shape of the stairs obvious in the solid
parts of the LOFT masks

I hope this information will help others in modifying Terrains for new
maps in UFO and TFTD

Apendix1: 

cense there is not easy to use editor for LOFT files I'm including all
112 entries below

LOFTemps enterys:

000: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

001: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |.......###......|
     |.......###......|
     |.......###......|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

002: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |.......###......|
     |......#####.....|
     |......#####.....|
     |......#####.....|
     |.......###......|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

003: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |.......###......|
     |......#####.....|
     |.....#######....|
     |.....#######....|
     |.....#######....|
     |......#####.....|
     |.......###......|
     |................|
     |................|
     |................|
     |................|
     \----------------/

004: /----------------\
     |................|
     |................|
     |................|
     |................|
     |.......###......|
     |.....#######....|
     |.....#######....|
     |....#########...|
     |....#########...|
     |....#########...|
     |.....#######....|
     |.....#######....|
     |.......###......|
     |................|
     |................|
     |................|
     \----------------/

005: /----------------\
     |................|
     |................|
     |................|
     |......#####.....|
     |....#########...|
     |....#########...|
     |...###########..|
     |...###########..|
     |...###########..|
     |...###########..|
     |...###########..|
     |....#########...|
     |....#########...|
     |......#####.....|
     |................|
     |................|
     \----------------/

006: /----------------\
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     \----------------/

007: /----------------\
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     \----------------/

008: /----------------\
     |################|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

009: /----------------\
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     |##..............|
     \----------------/

00a: /----------------\
     |################|
     |################|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

00b: /----------------\
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     |###.............|
     \----------------/

00c: /----------------\
     |################|
     |################|
     |################|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

00d: /----------------\
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     \----------------/

00e: /----------------\
     |################|
     |################|
     |################|
     |################|
     |################|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

00f: /----------------\
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     \----------------/

010: /----------------\
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

011: /----------------\
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     |#########.......|
     \----------------/

012: /----------------\
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

013: /----------------\
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     \----------------/

014: /----------------\
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |................|
     |................|
     |................|
     |................|
     \----------------/

015: /----------------\
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |................|
     |................|
     \----------------/

016: /----------------\
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     |##############..|
     \----------------/

017: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |################|
     |################|
     \----------------/

018: /----------------\
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     |..............##|
     \----------------/

019: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |################|
     |################|
     |################|
     |################|
     \----------------/

01a: /----------------\
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     \----------------/

01b: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     \----------------/

01c: /----------------\
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     |.........#######|
     \----------------/

01d: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     \----------------/

01e: /----------------\
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     |.......#########|
     \----------------/

01f: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     \----------------/

020: /----------------\
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     \----------------/

021: /----------------\
     |................|
     |................|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     \----------------/

022: /----------------\
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     |..##############|
     \----------------/

023: /----------------\
     |##..............|
     |###.............|
     |.###............|
     |..###...........|
     |...###..........|
     |....###.........|
     |.....###........|
     |......###.......|
     |.......###......|
     |........###.....|
     |.........###....|
     |..........###...|
     |...........###..|
     |............###.|
     |.............###|
     |..............##|
     \----------------/

024: /----------------\
     |..............##|
     |.............###|
     |............###.|
     |...........###..|
     |..........###...|
     |.........###....|
     |........###.....|
     |.......###......|
     |......###.......|
     |.....###........|
     |....###.........|
     |...###..........|
     |..###...........|
     |.###............|
     |###.............|
     |##..............|
     \----------------/

025: /----------------\
     |#...............|
     |#...............|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |#...............|
     |#...............|
     \----------------/

026: /----------------\
     |##............##|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

027: /----------------\
     |##..............|
     |##..............|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

028: /----------------\
     |###.............|
     |###.............|
     |###.............|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

029: /----------------\
     |####............|
     |####............|
     |####............|
     |####............|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

02a: /----------------\
     |................|
     |................|
     |................|
     |................|
     |################|
     |################|
     |################|
     |################|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

02b: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |################|
     |################|
     |################|
     |################|
     |................|
     |................|
     |................|
     |................|
     \----------------/

02c: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |################|
     |################|
     |################|
     |################|
     \----------------/

02d: /----------------\
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     |....#####.......|
     \----------------/

02e: /----------------\
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     |........####....|
     \----------------/

02f: /----------------\
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     \----------------/

030: /----------------\
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     |..############..|
     \----------------/

031: /----------------\
     |................|
     |................|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |................|
     |................|
     \----------------/

032: /----------------\
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |................|
     |................|
     |................|
     |................|
     \----------------/

033: /----------------\
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

034: /----------------\
     |#...............|
     |#...............|
     |#...............|
     |#...............|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

035: /----------------\
     |................|
     |................|
     |................|
     |................|
     |......#####.....|
     |.....#.....#....|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

036: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |.....#..........|
     |....#...........|
     |....#...........|
     |....#...........|
     |....#...........|
     |....#...........|
     |.....#..........|
     |................|
     |................|
     |................|
     |................|
     \----------------/

037: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |...........#....|
     |............#...|
     |............#...|
     |............#...|
     |............#...|
     |............#...|
     |...........#....|
     |................|
     |................|
     |................|
     |................|
     \----------------/

038: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |.....#.....#....|
     |......#####.....|
     |................|
     |................|
     |................|
     \----------------/

039: /----------------\
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |###############.|
     |##############..|
     |#############...|
     \----------------/

03a: /----------------\
     |...#############|
     |..##############|
     |.###############|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     \----------------/

03b: /----------------\
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |.###############|
     |..##############|
     |...#############|
     |....############|
     |.....###########|
     |......##########|
     \----------------/

03c: /----------------\
     |##########......|
     |###########.....|
     |############....|
     |#############...|
     |##############..|
     |###############.|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     |################|
     \----------------/

03d: /----------------\
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |................|
     |................|
     |................|
     \----------------/

03e: /----------------\
     |................|
     |................|
     |................|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     \----------------/

03f: /----------------\
     |................|
     |................|
     |................|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |...##########...|
     |................|
     |................|
     |................|
     \----------------/

040: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |............#...|
     |...........###..|
     |............#...|
     |................|
     |................|
     \----------------/

041: /----------------\
     |................|
     |................|
     |................|
     |................|
     |...#............|
     |..###...........|
     |...#............|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

042: /----------------\
     |................|
     |....#...........|
     |...###..........|
     |....#...........|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

043: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |..............#.|
     |.............###|
     |..............#.|
     |................|
     |................|
     |................|
     |................|
     \----------------/

044: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     \----------------/

045: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |.....###########|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

046: /----------------\
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

047: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

048: /----------------\
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |................|
     |................|
     |................|
     |.....#....#.....|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

049: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |#####....#......|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####....#......|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

04a: /----------------\
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |.....######.....|
     |................|
     |................|
     |................|
     |................|
     |................|
     |.....#....#.....|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

04b: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |#####......#....|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####...........|
     |#####......#....|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

04c: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |#...............|
     |#...............|
     \----------------/

04d: /----------------\
     |..............##|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

04e: /----------------\
     |................|
     |.#............#.|
     |................|
     |........#.......|
     |................|
     |................|
     |................|
     |................|
     |...#....#....#..|
     |................|
     |................|
     |................|
     |................|
     |........#.......|
     |.#............#.|
     |................|
     \----------------/

04f: /----------------\
     |#...............|
     |##..............|
     |###.............|
     |####............|
     |#####...........|
     |######..........|
     |#######.........|
     |########........|
     |#########.......|
     |##########......|
     |###########.....|
     |############....|
     |#############...|
     |##############..|
     |###############.|
     |################|
     \----------------/

050: /----------------\
     |################|
     |.###############|
     |..##############|
     |...#############|
     |....############|
     |.....###########|
     |......##########|
     |.......#########|
     |........########|
     |.........#######|
     |..........######|
     |...........#####|
     |............####|
     |.............###|
     |..............##|
     |...............#|
     \----------------/

051: /----------------\
     |################|
     |###############.|
     |##############..|
     |#############...|
     |############....|
     |###########.....|
     |##########......|
     |#########.......|
     |########........|
     |#######.........|
     |######..........|
     |#####...........|
     |####............|
     |###.............|
     |##..............|
     |#...............|
     \----------------/

052: /----------------\
     |...............#|
     |..............##|
     |.............###|
     |............####|
     |...........#####|
     |..........######|
     |.........#######|
     |........########|
     |.......#########|
     |......##########|
     |.....###########|
     |....############|
     |...#############|
     |..##############|
     |.###############|
     |################|
     \----------------/

053: /----------------\
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |............####|
     |################|
     |################|
     |################|
     |################|
     \----------------/

054: /----------------\
     |##............##|
     |##............##|
     |................|
     |......#####.....|
     |.....#######....|
     |....#########...|
     |...###########..|
     |...###########..|
     |...###########..|
     |...###########..|
     |...###########..|
     |....#########...|
     |.....#######....|
     |......#####.....|
     |##............##|
     |##............##|
     \----------------/

055: /----------------\
     |##............##|
     |##............##|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |##............##|
     |##............##|
     \----------------/

056: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |...............#|
     |.............###|
     |.............###|
     |............####|
     \----------------/

057: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |#...............|
     |###.............|
     |###.............|
     |####............|
     \----------------/

058: /----------------\
     |............####|
     |.............###|
     |.............###|
     |...............#|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

059: /----------------\
     |............####|
     |..........######|
     |........########|
     |.......#########|
     |......##########|
     |.....###########|
     |....############|
     |...#############|
     |..##############|
     |..##############|
     |.###############|
     |.###############|
     |################|
     |################|
     |################|
     |################|
     \----------------/

05a: /----------------\
     |################|
     |################|
     |################|
     |################|
     |###############.|
     |###############.|
     |##############..|
     |##############..|
     |#############...|
     |############....|
     |###########.....|
     |##########......|
     |#########.......|
     |########........|
     |######..........|
     |####............|
     \----------------/

05b: /----------------\
     |################|
     |################|
     |################|
     |################|
     |.###############|
     |.###############|
     |..##############|
     |..##############|
     |...#############|
     |....############|
     |.....###########|
     |......##########|
     |.......#########|
     |........########|
     |..........######|
     |............####|
     \----------------/

05c: /----------------\
     |####............|
     |######..........|
     |########........|
     |#########.......|
     |##########......|
     |###########.....|
     |############....|
     |#############...|
     |##############..|
     |##############..|
     |###############.|
     |###############.|
     |################|
     |################|
     |################|
     |################|
     \----------------/

05d: /----------------\
     |................|
     |..........##....|
     |.........####...|
     |.........####...|
     |...........#....|
     |................|
     |................|
     |................|
     |................|
     |................|
     |.....##.........|
     |.....####.......|
     |.....####.......|
     |......##........|
     |................|
     |................|
     \----------------/

05e: /----------------\
     |................|
     |............###.|
     |...........####.|
     |.###........###.|
     |.####...........|
     |.###............|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

05f: /----------------\
     |................|
     |................|
     |................|
     |.............##.|
     |............####|
     |............####|
     |.............##.|
     |.......###......|
     |.......####.....|
     |........##......|
     |................|
     |...##...........|
     |..####..........|
     |..####..........|
     |..###...........|
     |................|
     \----------------/

060: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |.......###......|
     |......#####.....|
     |......#####.....|
     |......#####.....|
     |.......###......|
     |................|
     |................|
     |................|
     \----------------/

061: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |.......###......|
     |......#####.....|
     |......#####.....|
     |......#####.....|
     |.......###......|
     |................|
     \----------------/

062: /----------------\
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |................|
     |................|
     |................|
     |................|
     \----------------/

063: /----------------\
     |........########|
     |........########|
     |........########|
     |........########|
     |........########|
     |........########|
     |........########|
     |........########|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

064: /----------------\
     |............####|
     |............####|
     |............####|
     |............####|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

065: /----------------\
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |................|
     |................|
     |................|
     |................|
     \----------------/

066: /----------------\
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

067: /----------------\
     |####............|
     |####............|
     |####............|
     |####............|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

068: /----------------\
     |................|
     |................|
     |................|
     |................|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     |############....|
     \----------------/

069: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     |########........|
     \----------------/

06a: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |####............|
     |####............|
     |####............|
     |####............|
     \----------------/

06b: /----------------\
     |................|
     |................|
     |................|
     |................|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     |....############|
     \----------------/

06c: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |........########|
     |........########|
     |........########|
     |........########|
     |........########|
     |........########|
     |........########|
     |........########|
     \----------------/

06d: /----------------\
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |............####|
     |............####|
     |............####|
     |............####|
     \----------------/

06e: /----------------\
     |##..##..##..##..|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     |................|
     \----------------/

06f: /----------------\
     |................|
     |................|
     |#...............|
     |#...............|
     |................|
     |................|
     |#...............|
     |#...............|
     |................|
     |................|
     |#...............|
     |#...............|
     |................|
     |................|
     |#...............|
     |#...............|
     \----------------/



Glosory:

Tile: MCD entry using Tile Images to define one placeable map item
(wall, floor, animated object).

Tile Set: colection of Tile's from one MCD file

Tile Image: pck image enterys used to make a tile

Terrain (set): A group of 1 to 5 Tile Sets used for a series of maps.

Map: A single .map file 

Map Tile: a group of 4 tiles, each tile representing a ground, north,
west and content

Map Set: a group of map files with the same first 6 letters and
numberd 00 to 99 That all use the same terrain.

World Texture: the image used for geoscape quads representing real
world climates or sea depths

World Map set: a group of Map Sets that can be use on a specific World
Texture. (ie Farms on grass land.)

Ship Map: A single .map file for a UFO/USO with it's corispoinding
Terrain.

Default Ship: the original Ship Map from the Release version of
UFO/TFTD

Ship Set: a group of ship maps that are posible reandom replacments
for a single default ship. (terrain does not have to be the same)
Technical Details
Message-ID: <2e8ed39f.0311011256.47ddff61@posting.google.com>
Path: mbox-mo1.pugleaf.net!text1.nnrp.aus1!firehose2!nntp4!intern1.nntp.aus1.giganews.com!border1.nntp.aus1.giganews.com!nntp.giganews.com!newsfeed.freenet.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!fu-berlin.de!postnews1.google.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!text1.nnrp.aus1!firehose2!nntp4!intern1.nntp.aus1.giganews.com!border1.nntp.aus1.giganews.com!nntp.giganews.com!newsfeed.freenet.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!fu-berlin.de!postnews1.google.com!not-for-mail
From: kid3@usa.net (BladeFireLight)
Newsgroups: alt.games.x-com
Subject: Map Control Data (MCD) *Warning Long Post*
Date: 1 Nov 2003 12:56:29 -0800
Organization: http://groups.google.com
Lines: 2539
Message-ID: <2e8ed39f.0311011256.47ddff61@posting.google.com>
NNTP-Posting-Host: 12.224.164.190
X-Trace: posting.google.com 1067720190 18762 127.0.0.1 (1 Nov 2003 20:56:30 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Sat, 1 Nov 2003 20:56:30 +0000 (UTC)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit