The Object Editor is used for editing the layout of the objects within the normal gameplay levels. Objects are placed within levels by full X and Y pixel offsets (coordinates), and also contain a type value, and one or more property values/bitfields, as well as a few generic flags, all of which determine how the Object is displayed and how it behaves. The images and descriptions displayed in the editor are set up through "Object Listing" files that tell the editor what to display for the object, how to display it, and the layout of the property bitfield, how it's handled by the editing keys, and what text to display for each value. The files can be altered to expand on the data that is already included by making use of the instructions provided in the Object Listing files themselves.
Screen Position: The X and Y position of the top-left corner of the screen, shown in hex as with the in-game debug.
Plane Size: The Width and Height of the current plane, measured in chunks, shown in hex.
Solid ???: This entry describes which of the two solidity paths is being drawn over the level, and whether or not the corresponding angle values are shown
Objects ???: This entry describes how the objects are currently being displayed relative to the high/low planes of the level
Scroll Speed: The number of pixels that the screen will move when the arrow keys are used
Snap-To-Grid: This value is the object grid size. Objects being moved by the cursor will only move in steps of this many pixels. This is useful for making sure certain objects are aligned properly
Total ???: These are the total number of each type of object that are placed within the level. "Objs" refers to standard game objects within the Object Placement list, "Rings" refers to Ring objects placed within the Ring Placement list (if applicable), and "Misc" refers to special type objects that reside in their own listings (such as Sonic 2's Casino Night Zone bumpers)
The following status elements are only available when the cursor is hovering over an object:
Object Position: This is the object's position in the level, expressed in hex as in the game
Object Type ID: These are the full values of the object type, it's "Paramater"/"Property" value, and it's flags value
Object Type: This is a small text description of the object's type
Bits: This is a bitfield representation of the "Paramater"/"Property" value
Param Field ?: If bitfields are defined for this object type in the Object Listing file, these fields appear to describe the meaning of the value stored in that bitfield
Draw Dir: Describes the direction in which the object will be drawn (whether it is mirrored and/or flipped)
Unknown Flag: This flag appears in Sonic 2 type games. This entry specifies whether this flag is on or off, but it's function is unknown
Remember Sprite State: If this flag is on, any changes made to an object during gameplay (such as destroying a badnik) will remain in effect throughout the duration of the level. If it is off, the object will return to it's starting state when it leaves the screen
The following status elements are only available when the cursor is hovering over a ring, if rings are stored differently than normal objects:
Ring ??? - This entry specifies whether the ring object is a row or a column, and how many rings it will create
Size Value: This is the property value stored in the ring layout data that causes the effect described by the above information
The following status elements are only available when the cursor is hovering over a "misc" object:
???: This text describes the type of "Misc" object
Type Value: This is the property value assigned to the object
Moving an Object: To move an object that already exists, click and drag the object to it's new location. The object will move along the grid set up by the "Snap-To-Grid" setting. If that setting is 1, the Object will move freely
Adding an Object: To add an object to the level, double-left-click any empty position in a level, and a "null" object will appear, which can be changed into any other type of object. In games who list rings separately, double-right-click any empty position in the level to create a new ring. To create a new "Misc" object, hold ctrl while double-left-clicking.
Removing an Object: To remove an object of any type from the level, double-right-click it, and it will be destroyed
Selecting Object Type: To select the type of an object by using the Object Type Selection List, double-click the desired object. When the list appears, scroll to the description of the desired object type and left-click. To exit the list without changing the object's type, right-click instead.
Object Properties: Object properties may be directly altered by whole value by using the following keys:
Pressing these keys alone changes the value by 1, but holding CTRL will change the value by 16
Object Bitfields: When an object's "Property" value is actually a group of values stored as 1, it can be broken into "bitfields" representing each individual value. There can be up to 8 bitfields depending on how large each one is. To modify the value in a bitfield, press it's corresponding number key (the field's ID + 1, IE: field 0's key is 1) to add 1. Hold ctrl while pressing the key to subtract 1.
Object Flags: All Objects have 4 generic flags, which are slightly different from game to game. Sonic 1 style games seem only to use 2 of them, for drawing direction. To change the drawing direction of an object, press 9. Holding ctrl will cycle through in reverse. Sonic 2 type games use all 4. To modify the "Remember Object State" flag, which causes destroyed objects to stay destroyed, press 0. To modify the "unknown" flag, hold ctrl while pressing 0
Other modes: The "Editors" menu has options to switch to any of other editing modes available to a project using this Level Editor. The following keys also have the same effect:
Altering scroll speed: The H and N keys increase and decrease the number of pixels that the screen will scroll when using the arrow keys or moving the mouse to the screen edges in full-screen mode.
Altering Grid Size: The J and M keys increase and decrease the size of the Object "Snap-To" grid
Viewing Controls: The following keys affect other viewing options: