Map16.exe
	The Map16.exe program is the map editor used for generating all the maps in 
Final Liberation. With it, you can edit the base tiles, add, subtract, or edit buildings, and 
add, or subtract sprites like smoke or windmills.

Tiles
	The tiles represent the physical ground. They may contain small debris as well, 
but usually nothing capable of blocking line of sight. (Although, a lava flow could block 
movement!) The right panel of buttons (which mostly read !empty!), indicates which 
terrain sets are loaded. Terrain sets vary in the types and number of tiles they contain. 
Also, certain tile sets are base sets or foundation sets. These will only load in the first 
slot.

	You may paint with a tile set by left clicking on the set name in the right panel. 
Then just left click on the map or left drag on the map to place the default tiles of that 
type. This will draw transitions between the current set and adjacent sets and fill in 
appropriate slope tiles if the set contains slope tiles. The transitions are to the default tile 
of the foundation set normally, so if you place a special crater down, it will not be 
transitioned to properly. This mode is displayed by a white border around the selected 
terrain set.

	You may access and place special tiles by right clicking on the set name in the 
right panel. The button should now show a red border. You may now use the listbox in 
the top right corner to select any special tiles which exist in the set. These may include 
dead bodies, roads, and craters. They are placed by left clicking on the map at the desired 
location. By right clicking on the location, the tile may be rotated and flipped to any of 
four possible positions.

	You may load a new tile set by Control Left clicking on any of the tile set names 
in the right panel. (Note: if you load a different set over an old set currently in use on the 
map, the behavior is undefined. The foundation set can always be replaced as long as 
none of its special tiles are in use.)

The buttons below the panel of tile sets control the zoom level, whether the grid is 
on or off, elevation mode, and dead sprite mode.

Elevations may be added to areas drawn with tile sets containing slope tiles by left 
clicking the top left button below the tile set buttons until it changes from Normal to 
Elevation. In this mode, hills may be painted by left or right clicking or left clicking 
and dragging. Left click raises the area one level, right click lowers the area. By 
dragging, you are dragging the current elevation to every square the mouse passes over. 
The editor will try to fill in slope tiles around the new hills or depressions, but cannot if 
the tile set in use does not contain slope tiles. This creates errors in the visual 
representation of the map which can only be fixed by replacing those tiles which a set 
which does contain slopes.

Special tiles are never represented in slope form. If you place a special tile on an 
existing slope square you will create visual errors.

	The Dead Sprite Mode (Kill Sprite) toggles between viewing every sprite on the 
map in its normal state versus its destroyed state. Sprites switch to destroyed state during 
game play if a building in the same square is destroyed. (i.e. a smoking canister can stop 
smoking if it is destroyed.)

Buildings
	Buildings are any static structure which rises above the ground level terrain. This 
does not include slopes. They are loaded into the background buffer and are relatively 
cheap processor time-wise. They are only re-drawn during scrolls. Use the Building menu 
described below to add them to your map.

Expanding the Building file:

	Use the UNRES.EXE to create the individual building files to add to maps as 
follows:
1. Create a BDG directory underneath your Final Liberation directory.
2. Copy the BDG.MUK file into this directory.
3. At a DOS command line in this directory, type 
..\Unres BDG.MUK BDG.LST

	Without expanding the BDG.MUK file you will not be able to add buildings to 
maps.

Sprites
	Sprites are any animated feature of the map at all. Examples include smoking 
wrecks and wind mills. Use the Sprite menu described below to add them to your map. 
Sprites are relatively processor intensive, so use them sparingly. Also, try to avoid 
overlapping them with other sprites as this is an even heavier processor penalty.

File Menu
	Just like any other file menu, it allows you to load existing maps, save maps, clear 
the current map, or exit.

Edit Menu
	You may enter a tile region into the paste buffer by selecting copy and then left 
clicking and dragging a rectangular region. The selected region should highlight. By 
selecting paste and then left clicking in the map region, the rectangular region selected 
will be copied to a new destination. This does not copy buildings or sprites. (Note: this 
section is not perfectly coded. If you click outside the map at the wrong time, the editor 
may fail to recognize the region. In this case, just try again.) The undo is not 
implemented.

Building Menu
	To place a building, select Load Bldg from the Build Menu, select a file, and 
left click on the map to place. The building normally will center on your click. However, 
first you must enter various information about the building.

	The Building Type indicates the terrain type the building will change the ground 
to. This would usually be building for a building infantry can enter. (It must have an 
opening.) For a solid structure or a building with no entrance, select No Ground. For 
trees or light posts, select No Vehicles. The After Death Type, is what the terrain type 
becomes after the building is destroyed, usually difficult.

	Destroyed types indicate the ways the building can be destroyed. Cant be 
destroyed and Destroyed by fire/artillery are the only modes currently supported. This 
simply indicates whether artillery shells can destroy the building. A building can not be 
destroyed if destroyed versions of the building do not exist. Building names ending in 0 
are usually the intact version. Names ending in 1 are the destroyed versions. So, only 
mark a building as destroy-able if you loaded the version ending in 0 and another 
version ending in 1 is in the directory. Failure to do this will result in an error during 
game play when the building is destroyed.

In flags section, the flag Is a bridge is the only flag implemented. Use it for 
buildings a tank can drive over.

	The page number and action set is which sprite to use for the explosion graphic 
when the building is destroyed.

	The strength is the relative strength of the building if it can be destroyed by 
artillery. Normal values are 1 to 12.

	Select Done when all values are set correctly. The building should now appear 
on the map.

	You may select Show Bldg to temporarily hid all buildings on the map. Select it 
again to show them.

	Delete All deletes all buildings. Select Delete One and then left click on the 
base of a building to delete a single building.

	You may edit the values of a building by selecting Mark and left clicking on its 
base. Reload Last is just like Load Bldg and then selecting the most recently placed 
building from the load dialog.

	DO NOT use either destroy function and then save the map. They may corrupt the 
building info and permanently destroy buildings. Select Destroy and then left click on 
the base of a building to view it being destroyed. Select Destroy All to view all 
currently placed buildings in their destroyed state.

	Lastly, buildings may be placed over slope tiles, the editor does NOT check for 
validity. This may be appropriate for some buildings like bridges, but most look 
ridiculous on anything but flat terrain.

Sprites Menu

	Select New Sprite to load a sprite. Most of the fields are similar in effect to the 
Building dialog. Sprites are numbered, instead of named. (You may view the .cel 
directory to see which numbers are in use. Generally, the 1000s are imperial units, the 
2000s are Space Marine Units, the 3000s are Ork units, and below 1000 are effects like 
smoke or void shields.) 

Warnings: Using this function, you could place an Imperial tank in the center of 
the battlefield. Dont! This will only confuse the players. The unit you placed will be 
treated as art, NOT a game play piece. You will not be able to move it or shoot at it. Also, 
avoid using sprites which move around. They will just move off the map and become 
irrelevant. In most cases, no one will ever even see them.

	Sprites may be placed slightly offset in a square using the offset fields and the 
height field. (The height field affects their draw sort position.)

	Action Set, Dying Set, and Dead Set all indicate which sprite action to play 
when the sprite is displayed, as it dies, and after the Dying Set is finished.

	You may edit or delete a sprite by selecting the appropriate menu choice and left 
clicking on the visual representation of the sprite regardless of where movement or 
offsets place it.

	The Misc menu allows you to view a zoomed out overhead view of the map 
you created. Buildings and sprites are NOT draw here.

Unit2Dat

	Enclosed in all the files is the Unit.txt file. You may edit this and recompile it 
with the Unit2Dat command line utility. Type Unit2Dat Unit at a DOS command 
prompt in the same directory as these utilities. This will create a Unit.dat file. (Or on 
screen errors you may need to fix!) Copy this .dat file into the Final Liberation DAT 
directory for the changes to appear in the game. (Note: network players should always 
use the same set of .Dat files. Failure will cause sync errors and lock ups.)

	The values in the Unit.txt are summarized at the beginning of the file behind the 
// comment delimiters. Where #define text is used for numeric values, refer to the .hpp 
files listed at the top of the Unit.txt file as #include files.
Weap2Dat

	Enclosed in all the files is the Weapon.txt file. You may edit this and recompile it 
with the Weap2Dat command line utility. Type Weap2Dat Weapon at a DOS 
command prompt in the same directory as these utilities. This will create a weapon.dat 
file. (Or on screen errors you may need to fix!) Copy this .dat file into the Final 
Liberation DAT directory for the changes to appear in the game. (Note: network players 
should always use the same set of .Dat files. Failure will cause sync errors and lock ups.)

	The values in the Weapon.txt are summarized at the beginning of the file behind 
the // comment delimiters. These weapons are referred to by number (or #define) in the 
Unit.txt file. (The #define text values are listed in Weapon.hpp.)
Sup2Dat

	Enclosed in all the files is the Support.txt file. You may edit this and recompile it 
with the Sup2Dat command line utility. Type Sup2Dat Support at a DOS command 
prompt in the same directory as these utilities. This will create a Support.dat file. (Or on 
screen errors you may need to fix!) Copy this .dat file into the Final Liberation DAT 
directory for the changes to appear in the game. (Note: network players should always 
use the same set of .Dat files. Failure will cause sync errors and lock ups.)

	The values in the Support.Txt file indicate which detachments or platoons are 
available for purchase in the game. You may create new platoons for purchase in this file. 
The values in the Support.txt are summarized at the beginning of the file in between the 
/* and */ comment delimiters.

Warning regarding abuse of these files:

You can not cheat in a network game by editing these files on your machine only. 
For example, if you give 100 movement to one of your tanks it will move across the map 
on your machine. On the other end of the network though, the other machine will still 
have the original movement rate. The result is that the tank will end up in a completely 
different position on the other machine. Usually, this eventually results in a lock-up when 
someone tries to move or shoot at a unit which got destroyed on another machine.

So, please dont try to cheat using this. You will not have a fun experience. Likely 
the game will simply lock-up and even if it doesnt, the other players wont ever see how 
clever you were.

Warning Regarding Support:

	Due to the nature of our development agreement, Holistic Design Inc. can in no 
way profit from the release of these utilities. Under these circumstances, we can not 
afford to support them. Feel free to report bugs in case we ever get the opportunity to 
commercialize them with a solid GUI interface. However, realize we absolutely can not 
afford to post any fixes. The utilities are being released because you asked for them, and 
it doesnt cost us anything to do so. (OK, I had to spend a few days putting them together 
and creating this document, but it didnt cost much.)

	Happy Game Hacking!

Ken Lightner
Holistic Design Inc.



