GlitcherOG (talk | contribs) No edit summary |
GlitcherOG (talk | contribs) 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 |
|Total Nodes All Lights Count |
||
|- |
|- |
||
|UInt16 |
|UInt16 |
||
Line 135: | Line 132: | ||
|- |
|- |
||
|UInt32 |
|UInt32 |
||
|Light Index Offset |
|Light With Sprites Index Offset |
||
|- |
|- |
||
|UInt32 |
|UInt32 |
||
| |
|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 |
|Total All Lights Count |
||
|- |
|- |
||
|UInt16 |
|UInt16 |
||
Line 187: | Line 186: | ||
|- |
|- |
||
|UInt32 |
|UInt32 |
||
|Light Index Offset |
|Light With Sprites Index Offset |
||
|- |
|- |
||
|UInt32 |
|UInt32 |
||
|Light |
|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 |
|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
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 |