Formats/SSXTricky:LTG Level File
Overview
This file is used by the game to tell it how to load the objects in by using a tree grouping system.
Structure
Header
| Type | Description |
|---|---|
| Byte | Unknown |
| Byte | Cold Fusion Version |
| Byte | Cold Fusion Revision |
| Byte | Endianess |
| Type | Description |
|---|---|
| Vector3 | World Lowest XYZ |
| Vector3 | World Highest XYZ |
| Vector3 | World Origin XYZ |
| Float32 | Main Box Default Size |
| UInt32 | Pointer List Width |
| UInt32 | Pointer List Height |
| UInt32 | Total List Size |
| UInt32 | Main Box Used Count |
| UInt32 | Main Box Empty Count |
| Float32 | Node Box Default Size |
| UInt32 | Node Box Width |
| UInt32 | Node Box Count |
| UInt32 | Pointer List Offset |
| UInt32 | Main Box Data Offset |
Pointer Offset List
In order to get the best results its better to read this list as a 2D array. Any Offsets that lead to 0x00 have no data
| Type | Description |
|---|---|
| UInt32 | Pointer Offset |
Main Box Data
In order to get the best results its better to read this list as a 2D array.
Within this data set is contained a Main Box Header Data, Node Box Data and Index Lists.
Any offset within this portion of the data structure is relative to the Pointer Offset Used
Main Box Header Data
| Type | Description |
|---|---|
| Vector3 | Main Box Lowest XYZ |
| Vector3 | Main Box Highest XYZ |
| Vector3 | Main Box Origin XYZ |
| UInt16 | Total Node Patch Count |
| UInt16 | Total Nodes Instance And Gem Count |
| UInt16 | Total Nodes Spline Count |
| UInt16 | Total Nodes Light With Sprites Count |
| UInt16 | Total Nodes All Lights Count |
| UInt16 | Total Nodes Particle Instance Count |
| UInt32 | Unknown |
| UInt32 | Total Elements (All Patches, Splines, Instances... ect) |
| UInt32 | Main Box Header Size/Node Data Offset |
| UInt32 | Patch Index Offset |
| UInt32 | Instance And Gem Index Offset |
| UInt32 | Light With Sprites Index Offset |
| UInt32 | All Lights Index Offset |
| UInt32 | Particle Instance Index Offset |
Node Box Data
In order to get the best results its better to read this list as a 2D array
| Type | Description |
|---|---|
| Vector3 | Node Box Lowest XYZ |
| Vector3 | Node Box Highest XYZ |
| Vector3 | Node Box Origin XYZ |
| UInt16 | Total Patch Count |
| UInt16 | Total Instance Count |
| UInt16 | Total Instance And Gem Count |
| UInt16 | Total Spline Count |
| UInt16 | Total Light With Sprites Count |
| UInt16 | Total All Lights Count |
| UInt16 | Total Particle Instance Count |
| UInt16 | Unknown |
| UInt32 | Patch Index Offset |
| UInt32 | Instance And Gem Index Offset |
| UInt32 | Light With Sprites Index Offset |
| UInt32 | Light All Index Offset |
| UInt32 | Particle Instance Index Offset |
Index List
All Lists are read like this and the pointers lead to data within the pbd file
| Type | Description |
|---|---|
| UInt32 | Pointer |