# Bell Runner - Level Editor

Here are some notes on using the level editor built into Bell Runner.

## Level Names and Level Sets

You can create either individual levels or sets of levels to be played in sequence. A level set is kept in a directory whose name ends in .brset.
Levels in a level set are played in an order determined by sorting their filenames alphabetically. Level file names should be of the form nn-level_name.brlev, where nn is a level number with leading zeroes, separated from the name by a hyphen. The level_name will be displayed at the bottom of the screen while the level is playing, with underscores replaced by spaces.
The default location for saving levels and level sets is the Mods directory, although you can put them somewhere else if you want.

## Editor Menu

The Level Editor command on the main menu screen leads to the editor menu. The following functions are available from the editor menu screen. Most of them are also available from the editing screen using the indicated keyboard shortcuts. (Cmd = Command key on Mac, Ctrl key on Linux or Windows.)

Create Level Set
  Creates a new level set directory with appropriate filename extension and makes it the default location for saving levels.
New Level (Cmd-N)
  Creates a new, empty level and enters the editing screen.
Open Level... (Cmd-O)
  Loads a previously saved level and enters the editing screen.
Resume Editing (ESC)
  Switches to the editing screen.
Test Level (Cmd-T)
  Temporarily starts playing the current level. Pressing ESC or completing the level will return to the editing screen.
Save Level (Cmd-S)
  Saves the level currently being edited. If the level has not been saved before, prompts for a file name.
Save Level As...
  Prompts for a new filename and saves the level being edited.
Exit Editor (Cmd-Q)
  Leaves the editor and returns to the main menu.

## Editing Screen

There is a toolbar at the bottom of the editing screen containing two selectable tools and a set of pop-up menus.

### Tools

Arrow Tool
  This tool is used to select and move objects. Click to select and object. Shift-click to select multiple objects. Drag selected objects to move them.
  Selected objects are surrounded by a rectangle whose colour depends on the object's type and layer: blue = background, cyan = exit, green = platform or wall, yellow = bell or player, red = foreground.
Add Tool
  This tool is used to add instances of the selected object type (see below) by clicking where you want the new object to go.
  This tool is automatically selected when you choose an item from one of the object menus.

### Object Menus

These menus are used to select an object type to be added to the level. A thumbnail of currently selected object type is displayed in the toolbar just to the left of the menus.

Bg and Fg
  These menus contain background and foreground items. These items are purely decorative and have no effect on gameplay. Background items appear behind everything else, and foreground items appear in front of everything else.
Exits
  This menu contains objects that behave as exit doors.
Platforms
  These are objects that the player can stand on.
Walls
  These objects behave as obstacles that the player can't walk through.
Bells
  This menu contains various sizes of bell.

### Adding Objects

To add an object, choose the type of object you want to add from the pop-up menus and click where you want the object to go. Remember to switch back to the Arrow tool if you want to reposition the object.

### Reordering Objects

You can change the ordering of objects within their layers using Cmd-F (Bring to Front) and Cmd-B (Send to Back). (However, the ordering between objects of different types is fixed, e.g. platforms always appear in front of backgrounds and behind foregrounds.)

### Deleting Objects

To delete one or more objects, select them with the Arrow tool and press Delete or Backspace. (The Player can't be deleted, only moved around.)

### Editing Bells

When a bell is selected, it displays a small handle at the end of the rope. You can drag this handle up and down to change the length of the rope.
You can also double-click on a bell to edit the following parameters:

Pitch
  There are eight possible bell pitches, represented by the following letters:
  e f g A B C D E
  It's probably not a good idea to change the pitch of a bell, because the player will expect it to be related to the bell's size, but you can use this to find out the pitch letter to use when setting the exit door's bell sequence (see below).
Low Limit
  The maximum distance that the rope will move down when it is being pulled. This number is normally negative.
High Limit
  The maximum distance that the rope will move up when it is being pulled. This number is normally positive.

### Editing Exits

You can double-click on an exit to edit the following parameters:

Bell Sequence
  The sequence of bells that must be rung to open the door, expressed as a series of pitch letters (see Editing Bells above).

## Adding Artwork

You can add new items by adding image files to the following subdirectories of the Game/Resources/images directory. Images should be in PNG format and have filenames ending with .png.

Images which are intended to fit together will work best if their widths and heights are multiples of 16, although this isn't required.

decorations
  Images placed here will appear as items in the Background and Foreground menus.
platforms
  Images placed here will appear as items in the Platforms menu.
walls
  Images placed here will appear as items in the Walls menu.
exits
  Images placed here will appear as items in the Exits menu. There should be a pair of images for each item, named xxx-closed.png and xxx-open.png.
bells
  Images placed here will appear as items in the Bells menu. Filenames should be of the form xxx-n.png where n is a number from 0 to 7 representing the default pitch of the bell.

---