EditorLevel is a structured representation of .nxlv files.
TITLE,AUTHOR,VERSION,IDSTYLE,THEME,MUSICLEMMINGS,SAVE_REQUIREMENT,TIME_LIMITMAX_SPAWN_INTERVAL,SPAWN_INTERVAL_LOCKEDWIDTH,HEIGHT,START_X,START_Y,BACKGROUND
- Stored as
Mapkeyed by classic skill names. - NeoLemmix skills not in classic Lemmings are currently ignored.
skillsetUnknownLinespreserves section-local comments/unknown lines.
- Each entry is
{ props, order, unknownLines }. - Common props:
STYLE,PIECE,X,Y,ROTATE,FLIP_HORIZONTAL,FLIP_VERTICAL,WIDTH,HEIGHT. - Editor UI snaps
ROTATEto 0/90/180/270 for classic preview. - Terrain flags:
NO_OVERWRITE,ERASE,ONE_WAY. - Gadgets can define
SKILL,LEMMINGS,PAIRING.
terrainGroupsholds group-level props and nested terrain entries.STEELin group props marks a steel-only group.
steelholds editor steel rectangles as{ props, order, unknownLines }.- Each entry uses
X,Y,WIDTH,HEIGHT. - Serialized as
$STEELsections for classic tooling and preview parity.
- Unknown lines and sections are preserved to avoid data loss.
StyleRegistry links style names to classic ground set IDs and piece lists.
groundSetmaps toGROUNDxO.DAT/VGAGRx.DAT.terrainPiecesandgadgetPiecesprovide piece names and IDs.- Registry can be extended later for NeoLemmix style packs.
Editor asset metadata is loaded from classic DAT files and used for:
- Palette lists (piece names, trigger flags).
- Hit testing (piece width/height).
- Determining entrance and exit pieces (by trigger metadata).
The editor mapping converts EditorLevel to classic runtime data:
STYLE->graphicSet1viaStyleRegistryground set.- Terrain and gadget entries ->
LevelElementwithDrawProperties. - Terrain
ONE_WAYis an editor/NXLV terrain flag and does not lower into classic.lvlterrain data. Classic arrow behavior comes from one-way object triggers, so preserving it requires explicit arrow gadgets rather than a terrain flag round-trip. TIME_LIMITofINFINITE-> 6039 seconds (99:99) for classic runtime.- Steel rectangles are projected into classic
Level.steelranges.