# --------------------------------------------------------- #
# Type:             Requirement Paper
# Title:            Draw Maps
# Version:          1.0
# Date:             2001/08/16
# Author:           Selim Issever
# --------------------------------------------------------- #

# --------------------------------------------------------- #
# Abstract
# --------------------------------------------------------- #

This paper lists the requirements for how maps should be and
are drawn in SMM++. It will also cover some design specs.
Some terms are explained at the end of this paper.

# --------------------------------------------------------- #
# Requirements
# --------------------------------------------------------- #

= --------------------------------------------------------- =
= General
= --------------------------------------------------------- =
 G1) The smallest unit on a map is a room.
 G2) Rooms are placed on a 2-dimensional grid.
 G3) Each room has a x-y coordinate within this grid.
 G3) Distances and positions for drawing are measured in
     pixels. 
 G4) The default grid is 32x32 pixels.
 G5) Maps should support colors.

= --------------------------------------------------------- =
= Colors
= --------------------------------------------------------- =
 C1) default background color: #daceaf
 C2) ligther bg color:         #ffffff
 C3) darker bg color:          #a59575

= --------------------------------------------------------- =
= Exits
= --------------------------------------------------------- =
 E1) A Room can have the 8 usual (u-exits) and 4 exeptional
     (x-exits) exits.
 E2) An u-exit can be DRAW-connected with a room R in 3 ways:
     i)   Don't draw.
     ii)  Draw, but the room R has no u-exit pointing back.
     iii) Draw and the room R has a u-exit pointing back
 E3) An existing x-exit is indicated by an icon within the
     grid. 
 E4) An existing u-exit type i) is indicated by a short line
     (RE-line) within the grid
 E5) An existing u-exit type ii) is indicated like 6c) plus
     this line is extended to the middle of the destination
     grid point with an arrow head.
 E6) An existing u-exit type iii) is indicated like 6c) and
     and extended to the RE-line of the u-exit in room R
     pointing back.

= --------------------------------------------------------- =
= Items
= --------------------------------------------------------- =
 I1) A room can contain up to 9 item icons, that indicate
     that there is something special with this room.
 I2) The icons are placed in a 3x3 grid within the room.
 I3) The default icon size is 10x10 pixels
 I4) The used image format is gif.
 I5) Transparency sould be used for areas, which the icon
     does not overlap.

= --------------------------------------------------------- =
= Text
= --------------------------------------------------------- =
 T1) Each room can display a piece of text.
 T2) Color and font can be adjusted on per room basis.
 T3) Horizontal and vertical orientation is supported.
 T4) The x/y-offset, relative to the center of the room
     can be adjusted on per room basis.

= --------------------------------------------------------- =
= Backgrounds
= --------------------------------------------------------- =
 B1) A background is an icon or image, which will 
     - indicate the existance of this room and
     - give a first idea what the room is, e.g. a road, 
       an inn, the city center, etc.
 B2) Each existing room must have a background.
 B3) The default bg-size is 32x32 pixels
 B4) The used image format is gif.
 B5) Transparency sould be used for areas, which the icon
     does not overlap.
 B6) The default background is a dot.

# --------------------------------------------------------- #
# Terms
# --------------------------------------------------------- #

 TT1) u-exit: An exit placed at the position north, south, 
      west, east, northwest, northeast, southwest or 
      southeast.
 TT2) RE-line: A line-segment. A room containing an u-exit
      will indicate with this line-segment the existance
      of this u-exit. This line-segment is drawn within the
      room.

