Skip to content
Igor Seabra edited this page Aug 7, 2020 · 4 revisions

This page will guide you on using Heroes Power Plant's Layout Editor for working with object placement files for both Heroes and Shadow. The workflow is very similar for both games.

Object Layout Files

These are the files you can open in the Layout Editor:

Heroes

Each stage has a total of 7 layout files, each following:

sLL_NN.bin

  • LL is the level number.
  • NN is the player number.
  • Some files start with stg instead of s, as detailed in Level List. The level numbers (LL) are the ones used in the File Names and Data list.

Possible values for player number:

  • DB - Decoration for all teams
  • PB - Objects for all teams
  • P1 - Team Sonic and ForEdit (unused team)
  • P2 - Team Dark
  • P3 - Team Rose
  • P4 - Team Chaotix
  • P5 - Super Hard

DB files contain mostly decoration and objects that don't interact with the players, such as grass patches. PB files contain normal stage objects. Both files are loaded for all teams. The object lists are the same, so there's no restriction for which objects can be placed in any of the files. There isn't any difference in the way each of the files are loaded, so they are most likely separate for organization. Sea Gate, special stages, team battles, Last story and multiplayer levels have only the DB and PB files.

Shadow

Each stage has a total of 4 layout files.

stgLLLL_NNN.dat

LLLL is the level number (see Level List) and NNN is an identifier for the file type:

  • CMN - Common objects, always loaded
  • DS1 - Decoration objects, always loaded
  • HRD - Objects only loaded for Expert Mode
  • NRM - Objects only loaded for normal mode

When opening a Shadow stage in the Level Editor, if no instances of the Layout Editor are open, HPP will automatically open four instances with each of the files for you.

Layout Editor

Layout Editor

Press F5 or open it from the Editors menu. You can open any number of Layout Editor windows at the same time. The object layout editor allows you to add, remove and modify objects.

  • You can open s*_*.bin files (from Heroes) or stg*_*.dat (from Shadow) or create new ones.
  • Objects will mostly be displayed as small cubes. You can click on the objects to select them.
  • To render using their actual models, you must add the ONE archive which contains the DFF to the object ONEs (this is explained in this page, under Resources). This works for Heroes and Shadow files.
  • You can Ctrl + click on the objects to select multiple at once. It's not possible to select multiple objects from different Layout Editors at the same time.
  • The Draw Objects checkbox allows you to choose if the objects from that specific Layout Editor are being displayed or not.

Add/Remove Objects

  • Add: Adds a new object.
  • Duplicate: Duplicates the currently selected objects.
  • Copy: Copies the selected object(s) to clipboard. You can use Paste on another Layout Editor window or even use the code that is copied to save the objects to a text file.
  • Paste: Pastes the objects that are on clipboard.
  • Remove: Deletes the selected object(s).
  • Clear: Deletes all objects in the file.

It's not possible to copy and paste objects between Heroes/Shadow layout files.

Editing Objects

  • Object Type box: select the object from this list. If you place an object that was not available in this level before, you must use the SET ID Table Editor to enable it, and possibly HeroesONE-Reloaded to copy the files from one sLLobj.one file to the other if the object you want to enable is not global.
  • View Here: places the view in HPP at the object.
  • Position: use this to move the object. You can also use the gizmos (pyramids that appear in the 3d view) to move the objects there.
  • Cam-Drop: places the object at the location of HPP's view.
  • Floor-Drop: drops the object to the floor below it.
  • Rotation: use this to rotate the object. Rotation is internally measured in BAMS, so you will lose precision while doing this (18.00 might become 17.98, for example).
  • Link ID: objects with the same link ID (different from 0) will be linked to each other. This is used to link groups of enemies, switches to doors, warp flowers and other items.
  • Render Distance: this will set the distance from which the object will disappear ingame. This is a multiplier which depends on which graphic settings you choose in the Launcher, but at maximum draw distance, this value is multiplied by 100.
  • Misc. Settings box: the values here are dependant on object type. Many misc. settings contain descriptions of their functions, which will appear in the box below. You can use Copy and Paste Misc. to copy just misc. settings across objects, but it does not make sense to do this with objects of different types.
  • Unknown Bytes: the function of these is not known. It is recommended to leave the Auto checkbox checked.

Tips & Tricks

  • In the Sonic Heroes Stuff box you can get player positions from a running instance of SONIC HEROES(TM) or teleport yourself to an object's location (even if you're editing a Shadow layout!)
  • You can right click on the view while holding shift and that will place an object in the world at that position. The object's list and type will be the same as the previously selected object.
  • You can export and import the objects with their information to an INI file (under Edit).
  • You can import objects from another file without overwriting the currently open one (under Edit).
  • You can even import OBJ files (in this case, a ring will be placed in each vertex, this is useful for importing lines of rings, under Edit).
  • You can take a look at the Object Editing pages in Sonic Retro to understand a bit more about this.

SET ID Table Editor

The SET ID Table Editor allows you to edit the object availability setidtbl.bin (Heroes) or setid.bin (Shadow) file.

By default, certain stages only allow for certain items to be placed; editing this file allows you to override that.

  • You can open an existing SET ID Table file, but you can't create a new one. Object entries cannot be added or removed from the file either.
  • You can, however, choose in which stages that specific layout object will be available for placement.
  • If you wish to use a layout object in a level, it must be enabled for that level, otherwise the game will crash.
  • Note that enabling an object in the SET ID Table Editor is not enough for it to work ingame. All of the object's models and animations must be present in the s**obj.one file, and in many cases specific textures are also needed. You must use HeroesONE-Reloaded to copy these files.
  • Also, not all objects will work properly in level slots they were not intended to. They might use different sounds, particle effects, or simply not work at all.
  • The AutoLevel function will get the object entries from the currently opened Layout Editor file and apply them as available on the stage you have selected on the box. Use this with caution, as you might enable an object and forget to put its required files in the s**obj.one.