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.


File Menu

New

A list of supported file types that can be created by Omnivore.

Choosing an item in this list will open up a new tab in the current window showing a new blank template of the selected file format.

Available templates include:

  • Apple DOS 3.3 (140K) AUTOBRUN image
  • Apple DOS 3.3 (140K) blank image
  • Atari DOS 2 DD (180K) blank image
  • Atari DOS 2 ED (130K) blank image
  • Atari DOS 2 SD (90K) blank image
  • Atari DOS 2.0S SD (90K) system disk
  • Atari DOS 2.5 ED (130K) system disk
  • Getaway Map
  • Jumpman Level

Open

Open a file using a file select dialog box.

Open Recent

This submenu contain a list of the files most recently loaded or saved.

You can limit the number of items to remember in the General tab of the Preferences dialog.

Insert File

Insert binary data at the cursor

The data from the loaded file will overwrite data starting at the cursor, so it’s not inserted in the text editor sense where space is created in the existing data.

Save

Save the file, overwriting the previously saved version

Save As

Save the file to a new filename, leaving the originally loaded unchanged on disk.

Save Segment As

Raw Data (.dat)

Save As Image

Save the current view as an image (if possible with this editor)

Revert

Reverts the file to the last saved version on disk

This throws away any edits and is not undoable.

Page Setup

Choose options for printing

Print

Print the current view to a printer

Export as XEX

Create an Atari 8-bit executable from a set of segments.

Opens a dialog window providing a list of segments to be added to the new executable and a starting address at which the Atari will begin executing the program on completion of the load.

Export as Boot Disk

Create an Atari 8-bit boot disk from a set of segments.

Opens a dialog window providing a list of segments to be added to the boot disk and a starting address at which the Atari will begin executing the program after reading all the sectors written to disk.

This creates a smaller-than-normal ATR image with a custom bootloader. Any sectors beyond the number fo sectors required to create the image are not included in the image.

Quit

Quit the program

Edit Menu

Undo

Undo the last action

Actions that modify data are undoable; some that modify the metadata are but movement commands are not stored in the undo list, so for example cursor moves or changes to selection regions are not undoable.

Redo

Redo the last operation that was undone. See Undo.

The commands in this menu operate on the current selection to change the byte values to:

Revert to Baseline Data

Restore the selection to the data contained in the `Baseline Data`_ file.

Cut

Cut and remove the current selection

Copy

Copy the current selection

Paste

Paste from the clipboard

Select All

Select the entire document

Select None

Clear selection

Invert Selection

Inverts the selection; that is, select everything that is currently unselected and unselect those that were selected.

Preferences

Open a window to change program settings and defaults.

View Menu

Colors

This list sets the color encoding standard for all bitmapped graphics of the disk image. Currently supported are:

  • NTSC
  • PAL

ANTIC Powerup Colors

Changes the color palette to ANTIC Powerup Colors

Use ANTIC Colors

Open a window to choose the color palette from the available colors of the ANTIC processor.

Font

8x8 Atari Default Font

8x8 Atari Custom Computer Font

7x8 Apple ][ Default Font

7x8 Apple ][ Font w/Mouse Text

mountainking.fnt

mountainking.fnt

mountainking.fnt

mountainking.fnt

getaway.var

Load Font

Get Font From Selection

Character Display

Character Display Modes

This submenu contains a list of all available font renderers. Selecting an item in this list will change how the text is displayed in the character map window.

  • Antic 2 (Gr 0)
  • Antic 4 (40x24, 5 color)
  • Antic 5 (40x12, 5 color)
  • Antic 6 (Gr 1) Uppercase and Numbers
  • Antic 6 (Gr 1) Lowercase and Symbols
  • Antic 7 (Gr 2) Uppercase and Numbers
  • Antic 7 (Gr 2) Lowercase and Symbols
  • Apple ][

Character Mappings

This submenu contains a list of all available character mappings. Most platforms use a regular ASCII mapping, but some like the Atari 8-bits have different character mappings depending on the usage: the ANTIC mapping if looking at screen memory and the ATASCII mapping for normal usage.

  • ATASCII Characters
  • Antic Map

Map Width

Set the number of bytes per row of the character display.

Show Baseline Differences

Toggle whether differences to the `Baseline Data`_ are highlighted or not.

Text Font

Open a font selection window to choose the font and size used to display the values in the hex grid and the disassembly text.

Pane Visibility:

Toggles whether or not the named extra pane is shown or hidden in the current window.

Current Task:

Changes the view in the entire window to a new editing task. The files in the current task are not lost, it’s just a way to edit different types of files while using the same top level window on the desktop.

Segment Menu

View Segment

This submenu contains a list of all segments in the disk image. Selecting one of these items will change the view to the selected segment.

Documents Menu

This menu contains a list of all documents open in the current session, across all windows and tabs. Selecting an item in this list will switch the view to that document, using the editor that was being used the last time it was edited.

Window Menu

New View In

This menu will contain a list of all editors that can modify this file. Selecting an item in this list will add a new view into this file using the selected editor. For instance, you can have a map editor and a hex editor on the same file; they point to the same data and modifying data in one window will show up in the other window.

New Window

Open a new, blank Omnivore window that can be used to load new files or to provide a second view on a currently loaded file.

Help Menu

About

Display window with version number and author info

User Guide

Display the user guide in a new window

Open Log Directory in File Manager

Open the log directory in the desktop file manager program.

The log directory will contain debug logs (if enabled) and other files, most of which are generally only useful for developers or to get more information to send to the developers in the event of a problem.

Show Debug Log

Displays a window that can be used to turn on debugging of particular parts of the program.

The log levels shown initially are the default log levels for each logger. Using the Filter text entry box, you can enter a string or a comma separated list of strings that will be used to select which loggers get switched to DEBUG mode. Everything else gets set to its default state, usually either INFO or WARNING.

The string is not a regular expression, but will match partial strings.

More Debugging

Widget Inspector

Open the wxPython Widget Inspector

Raise Exception

Raise an exception to test the error reporter