Formats/SSXTricky:LTG Level File: Difference between revisions

From SSX Modding Wiki
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Overview ==
== Overview ==
This file is used by the game to tell it how to load the objects in by using a tree grouping system.


== Structure ==
== Structure ==

=== Header ===
=== Header ===
{| class="wikitable"
{| class="wikitable"
Line 68: Line 68:
|Main Box Data Offset
|Main Box Data Offset
|}
|}

=== Pointer Offset List ===
=== 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
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
Line 79: Line 78:
|Pointer Offset
|Pointer Offset
|}
|}

=== Main Box Data ===
=== Main Box Data ===
In order to get the best results its better to read this list as a 2D array.
In order to get the best results its better to read this list as a 2D array.
Line 86: Line 84:


Any offset within this portion of the data structure is relative to the Pointer Offset Used
Any offset within this portion of the data structure is relative to the Pointer Offset Used

==== Main Box Header Data ====
==== Main Box Header Data ====
{| class="wikitable"
{| class="wikitable"
Line 111: Line 108:
|-
|-
|UInt16
|UInt16
|Total Nodes Light Count
|Total Nodes Light With Sprites Count
|-
|-
|UInt16
|UInt16
|Total Nodes Light Crossing Count
|Total Nodes All Lights Count
|-
|-
|UInt16
|UInt16
Line 135: Line 132:
|-
|-
|UInt32
|UInt32
|Light Index Offset
|Light With Sprites Index Offset
|-
|-
|UInt32
|UInt32
|Light Crossing Index Offset
|All Lights Index Offset
|-
|-
|UInt32
|UInt32
|Particle Instance Index Offset
|Particle Instance Index Offset
|}
|}

==== Node Box Data ====
==== Node Box Data ====
In order to get the best results its better to read this list as a 2D array
In order to get the best results its better to read this list as a 2D array
Line 161: Line 157:
|UInt16
|UInt16
|Total Patch Count
|Total Patch Count
|-
|UInt16
|Total Instance Count
|-
|-
|UInt16
|UInt16
Line 169: Line 168:
|-
|-
|UInt16
|UInt16
|Total Light Count
|Total Light With Sprites Count
|-
|-
|UInt16
|UInt16
|Total Light Crossing Count
|Total All Lights Count
|-
|-
|UInt16
|UInt16
Line 187: Line 186:
|-
|-
|UInt32
|UInt32
|Light Index Offset
|Light With Sprites Index Offset
|-
|-
|UInt32
|UInt32
|Light Crossing Index Offset
|Light All Index Offset
|-
|-
|UInt32
|UInt32
|Particle Instance Index Offset
|Particle Instance Index Offset
|}
|}

==== Index List ====
==== Index List ====
All Lists are read like this
All Lists are read like this and the pointers lead to data within the pbd file
{| class="wikitable"
{| class="wikitable"
!Type
!Type
Line 203: Line 201:
|-
|-
|UInt32
|UInt32
|Pointer Offset
|Pointer
|}
|}

Latest revision as of 14:40, 14 December 2022

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

Magic Words
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