Map Editor¶
Overview¶
Map edit mode provides a tile-based editor, capable of handling scrolling playfields much wider than the screen.
Currently it has mostly been testing with Getaway! level editing, but it can edit arbitrary maps. It needs a segment that exactly fits the dimensions of the map, so some number of bytes wide times the number of rows. If it does recognize the disk image as a Getaway! disk, it will set up some extra features.
Selecting a segment will then show the map on a scrolling window. There are tools available in the toolbar, such as line and rectangle drawing, that can help speed up the process of creating areas. Cut and paste of rectangular areas is supported. The basic usage of the draw tools is to select a tile and use that as the drawing tile for whatever shape was selected. Holding down the left mouse button while moving extends the shape and releasing the mouse ends the shape. Full undo/redo support is available.
In addition to the main map window, there is a drawing toolbar and three supporting panes, all of which are described below.
Getaway¶
I interviewed Mark Reid in Player/Missile episode 19 and he subsequently located the original floppy disks containing his original source code. He generously placed the code in the public domain, and I have set up a github repository to further development.
Wade of the Inverse ATASCII and 1632 Atari PodcaST created the first new map for Getaway using the map editor in Omnivore. He discovered some limitations with custom maps that the original game didn’t handle because the original game wasn’t meant to have different maps. For instance, the hideout was hardcoded in a certain position, and the game would freeze if a cop reached a dead end because the original game didn’t have any dead ends.
AtariAge user itaych fixed those bugs that caused custom maps to freeze the game, and I added the ability to place the hideout at any location.
Toolbar¶
Choosing any tool on the toolbar palette keeps that mode active until a new toolbar icon is selected.
Selection¶
The default mode is selection. Click the left button to place the cursor at a location, and drag while holding down the left button to select a rectangular region.
Multiple selection is supported: hold down the Control key (Command on Mac) while clicking and dragging and new rectangular areas can be selected.
Tile Picker¶
This mode will set the current drawing tile from a location on the screen. Click the left mouse button on a tile and that tile will be highlighted in the Tile Map and the Character Set, and therefore will be used as the current drawing tile.
Freehand Drawing¶
The current tile will be used to replace the tile at the mouse pointer location when the left button is held down.
Line Drawing¶
To start drawing a line with the current tile, left click on the starting location and hold the mouse button. As you move the mouse, a preview of the line will be drawn between the starting location and the current mouse position. When you release the mouse button, the line will be copied to the map.
Square¶
The process for drawing a square is much the line: left click on a point (this will become a corner) and hold the mouse button while you choose a point that will become the opposite corner. Like the line, it is a preview until you release the button, whereupon it will be copied to the map.
The border is one tile wide, and the interior is not filled.
Filled Square¶
This is the same the square above, except the interior is filled with the tile.
Dockable Windows¶
Character Set¶
From this grid of all 256 possible tiles, you can select a tile to use as the drawing pattern. All of the drawing commands in the toolbar above will use the selected tile.
For the Atari, it includes the inverse characters in the second 128 positions.
Tile Map¶
This pane also shows tiles, but in this case they are grouped together in sections. Use the drop-down list at the top to choose a section, which will scroll the tiles belonging to that section into view.
So far, this is only used for Getaway maps, and it is hardcoded. Eventually there will be a way to define custom sections.
Overview Map¶
This is a small version of the map, showing a view at one pixel per character. Note that the page map is just greyscale; it uses the tile number (i.e. the byte value) at a particular location as the intensity.