' Here is the Map Maker documentation text file
' Each line can be 60 characters long 
'
'
MAP MAKER - 1995 Didier Dambrin


* KEYS
In the Choose Tile section, use the middle/right mouse button
 to change the tile group (this can also be done
 in each section with the +- keys).

Here are the keys of the Edit Map section:
F12         : help (oh really?)
F1          : change current menu mode (parameters,
              objects, change map size, etc...)
TAB or middle mouse button
            : select map area
F3          : fill the map area with
              the current tile/selected tiles
F4          : copy the map area to another map place
F5          : =F4 but for the three planes at the same time
F6          : replace a tile by another one within
              the selected area
F7          : flood tool
D           : delete tile at current map position/map area
              (fill with the empty tile)
F8-F9-F10   : change current active plane (FORE/BACK/BONUS)
F11         : change the current active plane 
              to the extra LIGHT PLANE
CTRL+B or ENTER
            : show/hide Status Bar
CTRL+M      : toggle program to tile maker
CTRL+A      : quit program
ESC         : main menu
Z or SMALL 2: active the zoomed map 
              (can be used for fast moves)
              (can also be used when changing the map size)
1           : view a larger SVGA screen
SHIFT       : higher speed when scrolling the map
CTRL+L      : load a tile map (.MAP)
CTRL+S      : save the current tile map
              don't forget that a backup file (BACKUP.MAP) 
              is created before the map is saved
I           : get info window (memory available)
S           : change the starting position in the Parameters 
              section
CTRL+X/Y    : freeze/unfreeze the X/Y mouse position
SCROLL LOCK : simply lock the viewport scrolling
PRINT SCREEN: make a sprite test (to check foreground colors)


In the Objects section:
ARROWS      : move the current object/element
              (use SHIFT for fast moves)
INSERT      : insert a new element
DELETE      : delete the current element
ENTER       : enter a new object element (word/integer value)
I           : get an element from the OBJECTS.TXT list
              You can get a help text (F1 or F12) when 
              a red sign follow the item.
L/H         : enter a new object byte element (Low or High)
X           : put the X position in the current element
Y           : put the Y position in the current element
Z           : put the X and Y positions in
              the following elements
P           : put the current map position in
              the current element
ALT+C       : copy the current object
ALT+P       : paste the stored object
F2          : turn on/off the special mouse centering
S           : show/don't show the objects on the screen
A           : (ACQUIRE) go directly to the closest object 
              on the map




* BEFORE READING THIS...
- objects are defineable from the OBJECTS MENU only (F1 once)
- objects are made of elements that can be set by pressing the ENTER
  key or the H/L keys to set their HI/LOW values
- (presets) means that you must select it in the PRESETS MENU (i key)
- speeds are commonly set in 1/16 pixel
- angles are commonly set in 1/16 degree
- delays are set in 1/70 second (=frame)




* WORKING WITH THE MAP...
- please keep in mind that the map can't be extended anymore after you
  entered your first map objects (unless you want them to be lost).
  In fact it CAN be extended DOWNWARDS. So if your map is too small
  you can just add more sectors downwards...
- the D (delete) and G (get) keys can greatly speed up your work
- the same for the F3 (fill), F4 and F5 keys (copy)
- remember the S key to set the hero starting position
- map sectors can be defined by splitting your map into rectangles
  using the STOP tiles (FRONT plane) (see examples)
- most enemies can be placed by simply adding their icon tiles in
  the bonus plane
- the hero can hang up to a 4 tiles wall
- please test your map deeply. The hero should not be stuck anywhere
  cause of the tiles
- remember there is an icon tile that's a wall just for enemies
- most of the actions the hero can do are set by tiles (pipes, ladders,
  etc...)
- some of the enemies (huge/small aliens, small droids, barrels) 
  can drop bonuses when they die.
  To give them a bonus just put the bonus tile over their icon tile
  in your map.




* SO HERE ARE THE MAP OBJECTS...

* ADDING LEVER ACTIONS
- move the cursor to the lever position
- select single lever action (presets)
OR
- select multiple levers action (presets)
- select the number of levers to be pulled
- now enter the list of lever map positions (P) 
  and lever states (usually 0 or 1) in the next elements

- a lever action can be done once only if specified (presets)
- now in the next elements are the actions to be performed,
  one by one

- to change a single tile (presets), ensure that the right tile
  and plane was selected and you placed the cursor at the right 
  position
- to change a single tile with a delay it's just the same but
  you still have to set the delay in the next element
- to fill a map area with a tile, simply select the right tile
  and the right area to be filled and then enter the FILL 
  option (presets)
- to send a game anim, just place the cursor at the anim
  position and select the option (presets). Then enter the anim
  number in the next element
- to make a map area move, select the area to be moved and 
  select the correct option (presets). 
  Now enter the number of posts in the next element ONLY 
  if you choosed the BETWEEN MORE POSITIONS option.
  Then enter the list of ending coordinates (Z) and speeds 
  (16=1 pixel/frame) in the next elements (don't worry about 
  the starting position, it has been set to the upper left 
  corner of the map area you've selected). 
  Note: for falling map areas, 80 speed is a good speed.
- you will commonly set the moving sound for the map areas
  by just selecting them (presets) BEFORE entering the
  MOVE MAP AREA preset
- the same way you can also clip the next map area to its source
  or destination window (to make a map area disappear/appear)
- there is an icon wall tile that's not taken by moving areas
- the OPEN DOOR preset simply set the tile number 0 (close)
  or 1 (open) at the door upper left corner. So you can even
  open a door with a delay...
- to send a game message simply write it in the map script.
  Then select the option (presets) and enter the message
  number in the next element

* ADDING A PUSHABLE ZONE
- select the zone to be pushable
- add it (presets)
- (OPTIONAL) the element 10 is the movement speed
- (OPTIONAL) the element 11 is the kind of area (sound, ect.)

* ADDING A WALL GUN
- place it (presets)
- (OPTIONAL) synchro value=element 5
- (OPTIONAL) start angle=element 6
- (OPTIONAL) lever position=element 7

* ADDING A SOUND
- move the cursor to the sound source position or select the 
  sound rectangle source then select it (presets)
- choose the sound to be played (presets)
- you may also change the sound base volume (element 8) which
  has been set to 256 (the middle volume) by default
- you may also want the sound to be activated by a lever.
  Simply place the cursor at the lever position & select 
  it (presets)
- element 10 is the pitch (middle=256)
- (REMOVED) - the sound can also pulsate. You can define 
  a time value in the item number 11

* ADDING A PARALLAX MAP
Additional maps can be loaded from the script.
These maps will only save the BACKGROUND plane - so draw only in this plane.
- place it (presets) (you will find the right position through tests)
- element 5 is the extra map number (load it from the script)
- element 6 is the speed (<256=back, >256=front)
- (OPTIONAL) elements 7 and 8 are the sector position
- (OPTIONAL) element 9 is the minimum game detail to show it

* USING DOORS
- place black tiles behind the door (BACK plane)
- place your door (FRONT plane)
- place UP ARROW TILES for back doors (BONUS plane) (see examples)
- place an OPENED DOOR tile to set an automatic door
  (BONUS plane) (see examples)

* ADDING A TELEPORTATION GATE
- place the cursor on the lower left tile of a door
- select simple/double or exit gate (presets)
- now enter the second door position (P)

* ADDING A MISCELLANEOUS OBJECT
- they are exploding barrels, fire loops, etc...
- simply put your cursor to their position
- select them (presets)




* ADVANCED USERS ONLY...

* ADDING A LINEAR PLATFORM
- select the linear platform ID in the item menu (element 0)
- select the kind of movement (element 1)
- select the platform GFX (element 2-low byte)
- select the platform width (in segments) (element 2-hi byte)
    you can skip this step if the platform is one segment wide
- select the platform speed (element 3-low byte)
- select the kind of lever if the platform is activated by a
  lever (element 3-hi byte)
- !!! ONLY IF A LEVER ACTIVATES THE PLATFORM:
  enter the lever map position (P) in the next element
- enter every platform post coordinates (Z)
  in the next elements
- (OPTIONAL) enter the first post of the linear movement
  in the next element
- you MUST enter the chain starting Y coordinate in the LAST
  element when using a platform GFX that contains a chain

* ADDING A CIRCULAR PLATFORM
- select the circular platform ID in the item menu (element 0)
- select the GFX, width, speed, lever position like the linear
  platform
- enter the circle center coordinates (Z) in the next elements
- enter the chain length in segments in the next element
- (OPTIONAL) enter the starting+ending angles in the next
  two elements to make a limited trajectory
  OR
  (OPTIONAL) enter the starting angle in the next element
- you MUST enter the chain starting Y coordinate when using
  a platform GFX that contains a chain

* ADDING A FALLING PLATFORM
- select the falling platform ID in the item menu (element 0)
- select the GFX and width like the linear platform
- enter the time the hero can stay on the platform before it
  falls (element 3-low byte) (you can skip this step - 
  a default value will then be set)
- enter the platform position (Z) in the next two elements
- (OPTIONAL) enter the falling height in tiles (16 pixels) in 
  the next element
- you MUST enter the chain starting Y coordinate when using
  a platform GFX that contains a chain

* ADDING A ROLLING PLATFORM
- select the rolling platform ID in the item menu (element 0)
- select the GFX and width like the linear platform
- enter the ON+OFF frequencies (element 3-low/hi bytes)
  (you can skip this step - default frequencies will then 
  be set)
- enter the platform position (Z) in the next two elements
- (OPTIONAL) enter the synchronization delay in the next 
  element




* NOT TO BE USED AT THIS TIME...

* ADDING A HAMMER (NOT YET FINISHED)
- move the cursor to the starting position then
  select the kind of hammer
- enter the ending position (Z)
- enter the duration
- (OPTIONAL) enter the synchro value in the last element

* ADDING A GUN (NOT SUPPORTED IN EAT THIS ANYMORE)
- move the cursor to the gun position then select the kind of gun
- enter the duration
- (OPTIONAL) enter the synchro value in the last element