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.
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.
Choosing any tool on the toolbar palette keeps that mode active until a new toolbar icon is selected.
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.
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.
The current tile will be used to replace the tile at the mouse pointer location when the left button is held down.
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.
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.
This is the same the square above, except the interior is filled with the tile.
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.
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.
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.
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:
Open a file using a file select dialog box.
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 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 the file, overwriting the previously saved version
Save the file to a new filename, leaving the originally loaded unchanged on disk.
Save the current view as an image (if possible with this editor)
Reverts the file to the last saved version on disk
This throws away any edits and is not undoable.
Choose options for printing
Preview the pages to be printed
Print the current view to a printer
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.
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 the program
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 the last operation that was undone. See Undo.
The commands in this menu operate on the current selection to change the byte values to:
Restore the selection to the data contained in the `Baseline Data`_ file.
Cut and remove the current selection
Copy the current selection
Paste from the clipboard
Select the entire document
Clear selection
Inverts the selection; that is, select everything that is currently unselected and unselect those that were selected.
Open a window to change program settings and defaults.
This list sets the color encoding standard for all bitmapped graphics of the disk image. Currently supported are:
Changes the color palette to ANTIC Powerup Colors
Open a window to choose the color palette from the available colors of the ANTIC processor.
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.
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.
Set the number of bytes per row of the character display.
Toggle whether differences to the `Baseline Data`_ are highlighted or not.
Open a font selection window to choose the font and size used to display the values in the hex grid and the disassembly text.
Toggles whether or not the named extra pane is shown or hidden in the current window.
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.
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.
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.
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.
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.
Display window with version number and author info
Display the user guide in a new window
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.
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.
Open the wxPython Widget Inspector
Raise an exception to test the error reporter