Zone List: Difference between revisions
Content added Content deleted
(Created page with "=== ZoneList === {| class="wikitable" ! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments |- | 0x0 || 0x4 || Vector2 * || mpPoints || || || |- | 0x4 || 0x4 || Zone * || mpZones || || Zone format || |- | 0x8 || 0x4 || uint32_t * || mpuZonePointStarts || || || |- | 0xC || 0x4 || int16_t * || mpiZonePointCounts || || || |- | 0x10 || 0x4 || uint32_t || muTotalZones || || || |- | 0x14 || 0x4 || uint32_t || muTotalPoints || || || |}...") |
m (Use direct BM link) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{ParadiseResourceTypeInfobox |
|||
⚫ | |||
| name = ZoneList |
|||
| example = [[File:Paradise ZoneList Example.png|frameless|350px]]<br />The PVS map used in Burnout Paradise Remastered<br />viewed in Bundle Manager. |
|||
| id = 0xB000 |
|||
| category = Map |
|||
| memdist = Main Memory only |
|||
| editor = Yes<br />Use [https://github.com/burninrubber0/Bundle-Manager/releases/latest Bundle Manager] |
|||
⚫ | |||
The zone list resource type is used in the PVS (potentially visible segments) bundle. Its purpose is to tell the game which track units to load when the player enters a certain track unit. |
|||
= Structures = |
|||
⚫ | |||
⚫ | |||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x4 || Vector2 |
| 0x0 || 0x4 || [[Vector2]]* || mpPoints || || |
||
|- |
|- |
||
| 0x4 || 0x4 || Zone * || mpZones || |
| 0x4 || 0x4 || [[#CgsSceneManager::Zone | Zone]]* || mpZones || || |
||
|- |
|- |
||
| 0x8 || 0x4 || uint32_t |
| 0x8 || 0x4 || uint32_t* || mpuZonePointStarts || || |
||
|- |
|- |
||
| 0xC || 0x4 || int16_t |
| 0xC || 0x4 || int16_t* || mpiZonePointCounts || || |
||
|- |
|- |
||
| 0x10 || 0x4 || uint32_t || muTotalZones |
| 0x10 || 0x4 || uint32_t || muTotalZones || || |
||
|- |
|- |
||
| 0x14 || 0x4 || uint32_t || muTotalPoints |
| 0x14 || 0x4 || uint32_t || muTotalPoints || || |
||
|} |
|} |
||
⚫ | |||
⚫ | |||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || |
| 0x0 || 0x8 || [[Vector2]]* || mpPoints || || |
||
|- |
|- |
||
| |
| 0x8 || 0x8 || [[#CgsSceneManager::Zone | Zone]]* || mpZones || || |
||
|- |
|- |
||
| |
| 0x10 || 0x8 || uint32_t* || mpuZonePointStarts || || |
||
|- |
|- |
||
| |
| 0x18 || 0x8 || int16_t* || mpiZonePointCounts || || |
||
|- |
|- |
||
| |
| 0x20 || 0x4 || uint32_t || muTotalZones || || |
||
|- |
|- |
||
| |
| 0x24 || 0x4 || uint32_t || muTotalPoints || || |
||
⚫ | |||
=== CgsSceneManager::Zone === |
|||
⚫ | |||
⚫ | |||
⚫ | |||
|- |
|- |
||
| |
| 0x0 || 0x4 || [[Vector2]]* || mpPoints || || |
||
|- |
|- |
||
| |
| 0x4 || 0x4 || [[#CgsSceneManager::Neighbour | Neighbour]]* || mpSafeNeighbours || || |
||
|- |
|- |
||
| |
| 0x8 || 0x4 || [[#CgsSceneManager::Neighbour | Neighbour]]* || mpUnsafeNeighbours || || |
||
|- |
|- |
||
| |
| 0xC || 0x4 || || || padding || |
||
|- |
|- |
||
| |
| 0x10 || 0x8 || uint64_t || muZoneId || || |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
|- |
|- |
||
| |
| 0x18 || 0x2 || int16_t || miZoneType || || |
||
|- |
|- |
||
| |
| 0x1A || 0x2 || int16_t || miNumPoints || || Always 4 |
||
|- |
|- |
||
| || || || || |
| 0x1C || 0x2 || int16_t || miNumSafeNeighbours || || |
||
|- |
|- |
||
| || || || || |
| 0x1E || 0x2 || int16_t || miNumUnsafeNeighbours || || |
||
|- |
|- |
||
| |
| 0x20 || 0x4 || uint32_t || muFlags || || Unused |
||
⚫ | |||
⚫ | |||
|} |
|} |
||
== |
==== 64-bit ==== |
||
⚫ | |||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x8 || Vector2 |
| 0x0 || 0x8 || [[Vector2]]* || mpPoints || || |
||
|- |
|- |
||
| 0x8 || 0x8 || |
| 0x8 || 0x8 || [[#CgsSceneManager::Neighbour | Neighbour]]* || mpSafeNeighbours || || |
||
|- |
|- |
||
| 0x10 || 0x8 || |
| 0x10 || 0x8 || [[#CgsSceneManager::Neighbour | Neighbour]]* || mpUnsafeNeighbours || || |
||
|- |
|- |
||
| 0x18 || 0x8 || |
| 0x18 || 0x8 || uint64_t || muZoneId || || |
||
|- |
|- |
||
| 0x20 || |
| 0x20 || 0x2 || int16_t || miZoneType || || |
||
|- |
|- |
||
| |
| 0x22 || 0x2 || int16_t || miNumPoints || || Always 4 |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
|- |
|- |
||
| |
| 0x24 || 0x2 || int16_t || miNumSafeNeighbours || || |
||
|- |
|- |
||
| |
| 0x26 || 0x2 || int16_t || miNumUnsafeNeighbours || || |
||
|- |
|- |
||
| |
| 0x28 || 0x4 || uint32_t || muFlags || || Unused |
||
|- |
|- |
||
| |
| 0x2C || 0x4 || || || padding || |
||
|} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
|- |
|- |
||
| |
| 0x0 || 0x4 || [[#CgsSceneManager::Zone | Zone]]* || mpZone || || |
||
|- |
|- |
||
| |
| 0x4 || 0x4 || uint32_t || muFlags || || See [[#CgsSceneManager::Neighbour::eNeighbourFlags | eNeighbourFlags]] |
||
|- |
|- |
||
| |
| 0x8 || 0x8 || || || padding || |
||
|} |
|||
==== 64-bit ==== |
|||
{| class="wikitable" |
|||
⚫ | |||
|- |
|- |
||
| |
| 0x0 || 0x8 || [[#CgsSceneManager::Zone | Zone]]* || mpZone || || |
||
|- |
|- |
||
| |
| 0x8 || 0x4 || uint32_t || muFlags || || See [[#CgsSceneManager::Neighbour::eNeighbourFlags | eNeighbourFlags]] |
||
|- |
|- |
||
| |
| 0xC || 0x4 || || || padding || |
||
|} |
|} |
||
⚫ | |||
= Enumerations = |
|||
=== CgsSceneManager::Neighbour::eNeighbourFlags === |
|||
{| class="wikitable" |
{| class="wikitable" |
||
⚫ | |||
⚫ | |||
⚫ | |||
|- |
|- |
||
! Name !! Value !! Comments |
|||
| 0x8 || 0x4 || uint32 || muFlags || || 0x0 = E_RENDERFLAG_NONE || |
|||
|- |
|- |
||
| E_RENDERFLAG_NONE || 0x0 || |
|||
| || || || || || 0x1 = E_NEIGHBOURFLAG_RENDER || |
|||
|- |
|- |
||
| E_NEIGHBOURFLAG_RENDER || 0x1 || |
|||
| || || || || || 0x2 = E_NEIGHBOURFLAG_IMMEDIATE || |
|||
|- |
|- |
||
| |
| E_NEIGHBOURFLAG_IMMEDIATE || 0x2 || |
||
|} |
|} |
Latest revision as of 06:06, 4 October 2023
ZoneList | |
---|---|
The PVS map used in Burnout Paradise Remastered viewed in Bundle Manager. | |
Type ID | 0xB000 |
Category | Map |
Memory distribution |
Main Memory only |
Editor available? |
Yes Use Bundle Manager |
The zone list resource type is used in the PVS (potentially visible segments) bundle. Its purpose is to tell the game which track units to load when the player enters a certain track unit.
Structures
CgsSceneManager::ZoneList
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | Vector2* | mpPoints | ||
0x4 | 0x4 | Zone* | mpZones | ||
0x8 | 0x4 | uint32_t* | mpuZonePointStarts | ||
0xC | 0x4 | int16_t* | mpiZonePointCounts | ||
0x10 | 0x4 | uint32_t | muTotalZones | ||
0x14 | 0x4 | uint32_t | muTotalPoints |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | Vector2* | mpPoints | ||
0x8 | 0x8 | Zone* | mpZones | ||
0x10 | 0x8 | uint32_t* | mpuZonePointStarts | ||
0x18 | 0x8 | int16_t* | mpiZonePointCounts | ||
0x20 | 0x4 | uint32_t | muTotalZones | ||
0x24 | 0x4 | uint32_t | muTotalPoints |
CgsSceneManager::Zone
32-bit
Offset | Size | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | Vector2* | mpPoints | ||
0x4 | 0x4 | Neighbour* | mpSafeNeighbours | ||
0x8 | 0x4 | Neighbour* | mpUnsafeNeighbours | ||
0xC | 0x4 | padding | |||
0x10 | 0x8 | uint64_t | muZoneId | ||
0x18 | 0x2 | int16_t | miZoneType | ||
0x1A | 0x2 | int16_t | miNumPoints | Always 4 | |
0x1C | 0x2 | int16_t | miNumSafeNeighbours | ||
0x1E | 0x2 | int16_t | miNumUnsafeNeighbours | ||
0x20 | 0x4 | uint32_t | muFlags | Unused | |
0x24 | 0xC | padding |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | Vector2* | mpPoints | ||
0x8 | 0x8 | Neighbour* | mpSafeNeighbours | ||
0x10 | 0x8 | Neighbour* | mpUnsafeNeighbours | ||
0x18 | 0x8 | uint64_t | muZoneId | ||
0x20 | 0x2 | int16_t | miZoneType | ||
0x22 | 0x2 | int16_t | miNumPoints | Always 4 | |
0x24 | 0x2 | int16_t | miNumSafeNeighbours | ||
0x26 | 0x2 | int16_t | miNumUnsafeNeighbours | ||
0x28 | 0x4 | uint32_t | muFlags | Unused | |
0x2C | 0x4 | padding |
CgsSceneManager::Neighbour
32-bit
Offset | Size | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | Zone* | mpZone | ||
0x4 | 0x4 | uint32_t | muFlags | See eNeighbourFlags | |
0x8 | 0x8 | padding |
64-bit
Offset | Size | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | Zone* | mpZone | ||
0x8 | 0x4 | uint32_t | muFlags | See eNeighbourFlags | |
0xC | 0x4 | padding |
Enumerations
CgsSceneManager::Neighbour::eNeighbourFlags
Name | Value | Comments |
---|---|---|
E_RENDERFLAG_NONE | 0x0 | |
E_NEIGHBOURFLAG_RENDER | 0x1 | |
E_NEIGHBOURFLAG_IMMEDIATE | 0x2 |