Object placement mode

From SRB2 Wiki
Jump to: navigation, search
Object placement mode as it appears in-game

Object placement mode (commonly referred to as objectplace, after the console command that activates it) is a special mode, exclusive to Single Player, that can be used to place new map things in a map, similarly to Debug mode in the classic Sonic games. When activated, it will freeze the entire game except for the player, who now instead takes the appearance of the chosen Thing type to place and can fly around the map at will. Enabling Object placement mode activates the cheat protection, disallowing any secrets to be unlocked for the rest of the SRB2 session. Object placement mode cannot be activated in netgames.

Console commands/variables

A number of console commands and variables are involved with Object placement mode. These include:

Commands

Variables

Controls

In Object placement mode, a number of controls have their functions changed; the player has the same movement controls as those of a spectator in Match/CTF/Tag (with op_speed determining the movement speed in any direction), but with extra controls for cycling through Thing types as well as for placing them in the map. The available Thing types selectable through cycling include only those that exist as Object types (i.e special placement patterns are not included), and are ordered by Object type number. Other Thing types not selectable through cycling include Objects with the Object flags MF_AMBIENT or MF_NOSECTOR set, Objects with the sprite prefix SPR_NULL set for both their SpawnState and SeeState, and the Ideya Drone.

The Throw Ring button is used to place the Thing type selected in the map at the player's coordinates. However, op_mapthingnum can be used to override the Thing type spawned with a different Thing type of the user's choice – using this feature allows the user to place Thing types that are unavailable through the cycling mentioned above. For saving the new Thing types placed in the map afterwards, writethings can then be used to generate "newthings.lmp" in SRB2's directory to be used as the map's new THINGS lump in a WAD.

Rotate Camera L Cycle backwards
Rotate Camera R Cycle forwards
Jump Float up
Spin Float down
Throw Ring Place Object
op_mapthingnum <thing #> Specify Thing to place using "Throw Ring" (console command)
writethings Write Things to lump "newthings.lmp" in the SRB2 directory (console command)

Attributes

Some of the main statistics displayed on the HUD are modified to show stats relevant for use in Object placement mode instead:

  • SCORE now shows the current Thing flags value set for the Object - this is the current value of op_flags combined with the current Z-offset multiplied by 16. (op_flags + Z-offset*16)
  • TIME now shows the number of Objects currently drawn in the map.
  • RINGS now shows the Thing type number of the Object type currently selected.

NiGHTS Objectplace

See also: NiGHTS tutorial#NiGHTS OBJECTPLACE

When playing as NiGHTS Super Sonic in a NiGHTS mode map, a special version of Object placement mode is used instead of the normal behavior, designed to make it far easier to place items on NiGHTS tracks than with use of a map editor.

Instead of freezing the entire game, the player continues to fly around as normal except with the ability to place Objects – whether NiGHTS-related or otherwise – while moving around the track. For the duration that Object placement mode is kept on, the player is given the ability to drill infinitely, but the time left as NiGHTS is set to and kept at 3 seconds.

Controls

The controls for NiGHTS Object placement mode differ from the usual controls; several buttons are reserved for placing standard NiGHTS items such as Rings, Wings and Hoops, while the Spin button is reserved for placing the Thing type determined by op_mapthingnumcircles of rings and wing logos will need to be placed using this feature.

Additionally for placing Hoops in particular, the current direction NiGHTS Super Sonic is flying in determines the angle of the Hoop spawned on the track. This does not work when Hoops are placed with op_mapthingnum however.

Rotate Camera L Place Wing
Rotate Camera R Place Ring
Throw Ring Place Hoop
Toss Flag Place NiGHTS Bumper
Spin Place Custom Thing
op_mapthingnum <thing #> Specify Thing to place using "Spin" (console command)
writethings Write Things to lump "newthings.lmp" in the SRB2 directory (console command)