Reference

Home Reference Index

File Formats


NL2PARK

The NoLimits 2 Park File

File extension: .nl2park

A binary format that stores coasters, terrain and scenery information. Scenery objects, terrain textures, scripts, sounds and the preview picture are referenced by relative file paths. The exact structure of this file format is not public and may change in the future.


NL2PKG

The NoLimits 2 Package File

File extension: .nl2pkg

A binary format (ZIP compatible) that stores an NL2PARK file and additional files referenced by the NL2PARK file. The index.xml file inside the package contains information usefull for analysing the content of the package file. The index file contains a copy of the park description and contains a link to the park's preview image. The preview image is either a png or jpg file and is stored inside the package file. Note that the park file and additional resource files might be encrypted. The preview image and the index file are never encrypted.

Tags inside index.xmlMeaning
filesprefixThe path prefix of all files inside the package
parkfileThe path to the park file (without the prefix) inside the package
previewimageThe path to the preview image (without the prefix) inside the package. Might be empty when there is no preview image.
authorThe author of the park as specified in the park file. Might be empty.
descriptionThe description of the park as specified in the park file. Might be empty.
encryptedtrue: The park file and resources are encrypted, false (or tag is not present): The park is not encrypted.
encryptedlocationOptional tag for encrypted packages, contains the location of the encrypted data file.



NL2ELEM

The NoLimits 2 Element File

File extension: .nl2elem

An XML file format used to store vertex and roll point information. All data (including the preview picture) is embedded into the XML file, no other files are referenced.


NL2FORMELEM

The NoLimits 2 Formula Element File

File extension: .nl2formelem

An XML file format used to store the settings and the formula of formula elements. All data (including the preview picture) is embedded into the XML file, no other files are referenced.


NLTRACK

The NoLimits 1 Track File

File extension: .nltrack

A binary format that is used by NoLimits 1. NoLimits 2 can import those files.


NLELEM

The NoLimits 1 Element File

File extension: .nlelem

A binary format that is used by NoLimits 1. NoLimits 2 can import those files.


NL2TERRAINLAYERS

The NoLimits 2 Terrain Layers Setup File

File extension: .nl2TerrainLayers

An XML file format used to store the settings of the terrain layers. The textures and sounds are referenced using relative paths. The preview image is embedded into the XML file.


NL2TERRAINLAYER

The NoLimits 2 Terrain Layer Setup File

File extension: .nl2TerrainLayer

Same file format as NL2TERRAINLAYERS, but it stores only one layer. The file extension is different to indicate that it contains a single layer only.


NL2TERRAINWATER

The NoLimits 2 Terrain Water Setup File

File extension: .nl2TerrainWater

An XML file format used to store the settings of the terrain water. The textures are referenced using relative paths. The preview image is embedded into the XML file.


NL2SCO

The NoLimits 2 Scenery Object File

File extension: .nl2sco

An XML file format used to store special attributes of scene objects. The 3d model, used materials and the preview picture are referenced by using relative paths.


NL2MAT

The NoLimits 2 Material File

File extension: .nl2mat

An XML file format used to store special attributes of materials, that go beyound the attributes from 3d model materials. All textures and the preview picture are referenced by using relative paths.


NL2ENV

The NoLimits 2 Environment file format

File extension: .nl2env

An XML file format used to store the settings of an environment. All textures, scenery objects, scripts and the preview picture are referenced by using relative paths.


NL2OVL

The NoLimits 2 Overlay Setup file format

File extension: .nl2ovl

An XML file format used to store the setting of an overlay. The overlay image is referenced by using relative paths.


NL2FVD

The NoLimits 2 Force Vector Design setup file format

File extension: .nl2fvd

An XML file format used to store the settings of the Force Vector Designer.


NL2BGP

The NoLimits 2 Background Plant file format

File extension: .nl2bgp

An XML file format used to store the settings of special low poly scenery objects used in the background. Those objects are typically rendered as a simple quad or a single triangle. The file specifies the used texture, the size of the polygon, and a few additional parameters.

Here is an example of an nl2bgp file:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <backgroundplant>
    <description>A simple cedar tree</description>
    <preview>cedar.png</preview>
    <param allowtriangles="true"/>
    <param allowmirror="true"/>
    <param trunksink="0.05"/>
    <param height="20.0"/>
    <param width="13"/>
    <texture>cedar.png</texture>
  </backgroundplant>
</root>

Notes:
The texture and the preview picture are referenced relative to the path of the nl2bgp file.
When the allowtriangles parameter is set to true, a single triangle is rendered instead of a quad. This might be suitable for triangle shaped trees, such as firs, and can be used to reduce the amount of polygons by 50%. For normal more rectangular shaped trees, set allowtriangles to false.
The allowmirror parameter will randomly mirror the objects for an improved perceived variation, when set to true.
The height parameter is in meters. It specifies the height of the polygon.
The width parameter is in meters. It specifies the width of the polygon.
The trunksink parameter (0..1) is optional and will shift the polygons downwards (0=no shift, 1=full shift). This can be used to compensate for textures that have a transparent border at the bottom of the texture which would make it appear as if it would float in air, without any extra shift or texture file editing.



NL2SCRIPT

The NoLimits 2 Script Description File

File extension: .nl2script

An XML file format used to describe a script. All files such as the preview picture, classes and additional resource files are referenced using relative paths. The NLVM class files and resource files are referenced relatively to the the "classpath" property. Please note that the class specified inside the <class> tag is used without the file extension .nlvm. The paths used for classpath and resource files must use forward slashes (/) as folder delimiters.

Here is an example of an nl2script file:

<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
  <script>
    <description>This is a description that will be shown in the Library</description>
    <preview>my_cool_preview_image.jpg</preview>
    <classpath>folder_a/folder_b/folder_c</classpath>
    <class>MyCoolScript</class>
    <resource id="sound_a">coolsound1.ogg</resource>
    <resource id="sound_b">coolsound2.ogg</resource>
  </script>
</root>



NLVM

The NoLimits Virtual Machine File

File extension: .nlvm

An ASCII text file format used to store scripting language classes (one class per file).


NL2ALTPAC

The NoLimits 2 Animated Light Texture Pattern Creator File

File extension: .nl2altpac

An XML file format used to store the settings of the ALTPAC tool. All data (including the bulb pictures) is embedded into the XML file, no other files are referenced.


CSV (Spline Import/Export)

Comma Separated Values file (Text)

File extension: .csv

A text file that stores a table. Each line holds one row of the table. Each cell of one row of the table is separated by a tab character, even though it is called a Comma Separated Values file, this is only the generic name for a file of this kind.

Each data point along the track is stored in a separated line. Each point is specified using 13 columns of data. In detail, each point consists of an ordinal number, a position vector that describes the position of the spline points, and three direction vectors that describe the orientation of the car along the spline. The first line contains the header names of each column:

"No." - The ordinal number of each data point. The first data point starts with 1.
"PosX" - The x-component of the spline position vector.
"PosY" - The y-component of the spline position vector.
"PosZ" - The z-component of the spline position vector.
"FrontX" - The x-component of a normalized tangent vector pointing in the front direction (ride direction) of the virtual car moving along the spline.
"FrontY" - The y-component of a normalized tangent vector pointing in the front direction (ride direction) of the virtual car moving along the spline.
"FrontZ" - The z-component of a normalized tangent vector pointing in the front direction (ride direction) of the virtual car moving along the spline.
"LeftX" - The x-component of a normalized binormal vector pointing in the left direction of the virtual car moving along the spline.
"LeftY" - The y-component of a normalized binormal vector pointing in the left direction of the virtual car moving along the spline.
"LeftZ" - The z-component of a normalized binormal vector pointing in the left direction of the virtual car moving along the spline.
"UpX" - The x-component of a normalized normal vector pointing in the up direction of the virtual car moving along the spline.
"UpY" - The y-component of a normalized normal vector pointing in the up direction of the virtual car moving along the spline.
"UpZ" - The z-component of a normalized normal vector pointing in the up direction of the virtual car moving along the spline.

The front, left, and up vectors are three linear independent unit-length (normalized) vectors that together make up a local coordinate system used to describe the roll/banking of a roller coaster car along the spline.
When importing a spline, the FrontX/FrontY/FrontZ componments can be set to 0. In this case, the front vector will be computed internally using the spline positions. When importing a spline, the LeftX/LeftY/LeftZ values are ignored at all times, because the left vector can be computed internally based on front and up vectors (cross product). Therefore in order to import spline data, only the up vector is required and the front and left vectors can be set to 0.


XML (Supports Import/Export)

Supports Description File

File extension: .xml

An XML file format used to store all supports and their properties of a coaster. In order to understand the file format, it is recommended to simply export a file and inspect its content inside a text editor. The XML file format should be easy to read because most data and properties correspond to the values as seen in the editor. In order to work properly, all support nodes (footers, free nodes, rail connectors, beam nodes) must have a unique id, which can be an arbitrary non-empty text. Beams are referencing two nodes, using the start and end id. The nodes referenced by the beam must be stored inside the file before the beam. Otherwise, there is no specific order in which elements need to be stored.


XML (Scenery Import/Export)

Scenery Description File

File extension: .xml

An XML file format used to store all scenery objects (file path of used objects and scenery instance properties) of a park. In order to understand the file format, it is recommended to simply export a file and inspect its content inside a text editor. The XML file format should be easy to read because most data and properties correspond to the values as seen in the editor. There are two main tags: object and instance. The object tag stores the path of each used object, relative to the exported XML file. The id is a unique id that will be referenced by the instance tags. Each scenery object instance is stored in an instance tag and needs to be stored after the object tag that is referenced. All properties of each instance are stored inside the instance tag. The id is an arbitrary non-empty text.


Coaster Style IDs

Each coaster style has a unique number. The numbers are used inside the Scripting API and Telemetry interface to identify the coaster styles.
NameID
Classic Looping Coaster0
Corkscrew1
Inverted 2-seat2
Twisted Sitdown3
Twisted Inverted4
Hyper5
Twisted Floorless6
Twisted Standup7
Twisted Hyper8
Wooden Trailered 2-seat9
Wooden Classic 4-seat10
Wooden Classic 6-seat11
Wooden Trailered 4-seat12
LIM Launched13
Inverted Face-2-Face14
Inverted Impulse15
Suspended16
Vekoma Flying Dutchman18
Maurer Spinning20
Dive Coaster (10-seat)21
4D22
Twisted Flyer23
Dive Coaster (10-seat) (no water scoops)24
Rocket Coaster33
Vekoma Minetrain without locomotive34
Vekoma Minetrain with locomotive35
Gerstlauer Eurofighter36
Vekoma Motorbike38
Gerstlauer Bobsled39
Gerstlauer Spinning41
Gerstlauer Eurofighter 247
Classic Looping Coaster (Modern)49
Maurer X Car50
Zamperla Spinning55
Mack Launch62
Hyper 4-seat staggered63
Hyper 4-seat staggered with water scoops64
Timberliners71
Gerstlauer Infinity73
Gerstlauer Infinity 274
Twisted Wing76
Hybrid Coaster80
Hybrid Coaster (Launched)81