Scriptable Layers (File Format)

Scriptable layers are a data section found in the MREA format, denoted by the fourCC identifier. It contains script object instances which are used to set the object layout of each room. Rooms can contain multiple layers, with each being able to be toggled on and off independently, allowing for the layout of a room to be updated after significant ingame events (this is done using a SpecialFunction in MP1 and a ScriptLayerController in all the games afterwards). Each layer's name and default state is found in the MLVL format. Each instance has a large number of parameters that can be toggled to customize the appearance and behavior of that instance, and they're capable of sending messages to other objects, allowing for fairly complex interactions between objects to be scripted.

There are two versions of this format; the first was used in Metroid Prime, and the second was introduced in Metroid Prime 2 and stayed in use up through Donkey Kong Country Returns. The first version contains all property data in a single binary blob, while the second version includes more metadata by listing a property ID and a size for each individual property. The second version also uses fourCC identifiers for the object ID and for state/message names, while these are represented with simple integers in the first version.

For more info, check the page for the specific version of the format you're interested in:


 * Scriptable Layers (Metroid Prime)
 * Scriptable Layers (Metroid Prime 2)