Static Sound Map: Difference between revisions
(Created page.) |
(Not volume) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{ParadiseResourceTypeInfobox |
|||
Unused in Remastered. |
|||
| name = StaticSoundMap |
|||
| resourcenames = TRK_UNIT*_Passby<br />TRK_UNIT*_Emitter<br /><sup><small>*Track unit ID</small></sup> |
|||
| id = 0x10016 |
|||
| category = Game-specific<br />(Burnout Paradise) |
|||
| memdist = Main Memory only |
|||
}} |
|||
Static sound maps define certain static sounds placed around the map. Each track unit contains two of these resources, one for passby sounds and one for emitters. It is possible the former works in tandem with the [[Trigger Data|triggers resource]]. |
|||
Note that all 64-bit variants contain no data. While this could simply be because an option was accidentally disabled when building the game, it is more likely due to a bug during the creation of the resources. The end result is that Remastered lacks static sounds on every platform except PC. |
|||
Note also that the root type appears to always be passby. Behavioral changes are likely determined by the resource name instead. |
|||
= Structures = |
= Structures = |
||
Line 7: | Line 19: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x10 || [[Vector2]] || mMin || || |
| 0x0 || 0x10 || [[Vector2]] || mMin || Minimum X and Z values required for the sound to play || |
||
|- |
|- |
||
| 0x10 || 0x10 || [[Vector2]] || mMax || || |
| 0x10 || 0x10 || [[Vector2]] || mMax || Maximum X and Z values required for the sound to play || |
||
|- |
|- |
||
| 0x20 || 0x4 || float32_t || mfSubRegionSize || || |
| 0x20 || 0x4 || float32_t || mfSubRegionSize || Diameter of each subregion || |
||
|- |
|- |
||
| 0x24 || 0x4 || [[#BrnSound::World::SubRegionDescriptor|SubRegionDescriptor]]* || mpSubRegions || || |
| 0x24 || 0x4 || [[#BrnSound::World::SubRegionDescriptor|SubRegionDescriptor]]* || mpSubRegions || Subregions || |
||
|- |
|- |
||
| 0x28 || 0x4 || int32_t || miNumSubRegionsX || || |
| 0x28 || 0x4 || int32_t || miNumSubRegionsX || Number of subregions on the X axis || |
||
|- |
|- |
||
| 0x2C || 0x4 || int32_t || miNumSubRegionsZ || || |
| 0x2C || 0x4 || int32_t || miNumSubRegionsZ || Number of subregions on the Z axis || |
||
|- |
|- |
||
| 0x30 || 0x4 || [[#BrnSound::World::StaticSoundEntity|StaticSoundEntity]]* || mpEntities || || |
| 0x30 || 0x4 || [[#BrnSound::World::StaticSoundEntity|StaticSoundEntity]]* || mpEntities || Entities || |
||
|- |
|- |
||
| 0x34 || 0x4 || int32_t || miNumEntities || || |
| 0x34 || 0x4 || int32_t || miNumEntities || Number of entities || |
||
|- |
|- |
||
| 0x38 || 0x4 || [[#BrnSound::World::StaticSoundMap::eRootType|eRootType]] || meRootType || |
| 0x38 || 0x4 || [[#BrnSound::World::StaticSoundMap::eRootType|eRootType]] || meRootType || Root type || Always passby |
||
|- |
|- |
||
| 0x3C || 0x4 || || || |
| 0x3C || 0x4 || || || Padding || |
||
|} |
|} |
||
Line 32: | Line 44: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x10 || [[Vector2]] || mMin || || |
| 0x0 || 0x10 || [[Vector2]] || mMin || Minimum X and Z values required for the sound to play || |
||
|- |
|- |
||
| 0x10 || 0x10 || [[Vector2]] || mMax || || |
| 0x10 || 0x10 || [[Vector2]] || mMax || Maximum X and Z values required for the sound to play || |
||
|- |
|- |
||
| 0x20 || 0x4 || float32_t || mfSubRegionSize || || |
| 0x20 || 0x4 || float32_t || mfSubRegionSize || Diameter of each subregion || |
||
|- |
|- |
||
| 0x24 || 0x4 || || || |
| 0x24 || 0x4 || || || Padding || |
||
|- |
|- |
||
| 0x28 || 0x8 || [[#BrnSound::World::SubRegionDescriptor|SubRegionDescriptor]]* || mpSubRegions || || |
| 0x28 || 0x8 || [[#BrnSound::World::SubRegionDescriptor|SubRegionDescriptor]]* || mpSubRegions || Subregions || |
||
|- |
|- |
||
| 0x30 || 0x4 || int32_t || miNumSubRegionsX || || |
| 0x30 || 0x4 || int32_t || miNumSubRegionsX || Number of subregions on the X axis || |
||
|- |
|- |
||
| 0x34 || 0x4 || int32_t || miNumSubRegionsZ || || |
| 0x34 || 0x4 || int32_t || miNumSubRegionsZ || Number of subregions on the Z axis || |
||
|- |
|- |
||
| 0x38 || 0x8 || [[#BrnSound::World::StaticSoundEntity|StaticSoundEntity]]* || mpEntities || || |
| 0x38 || 0x8 || [[#BrnSound::World::StaticSoundEntity|StaticSoundEntity]]* || mpEntities || Entities || |
||
|- |
|- |
||
| 0x40 || 0x4 || int32_t || miNumEntities || || |
| 0x40 || 0x4 || int32_t || miNumEntities || Number of entities || |
||
|- |
|- |
||
| 0x44 || 0x4 || [[#BrnSound::World::StaticSoundMap::eRootType|eRootType]] || meRootType || |
| 0x44 || 0x4 || [[#BrnSound::World::StaticSoundMap::eRootType|eRootType]] || meRootType || Root type || Always passby |
||
|- |
|- |
||
| 0x48 || 0x8 || || || |
| 0x48 || 0x8 || || || Padding || |
||
|} |
|} |
||
Line 59: | Line 71: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x2 || int16_t || mi16First || || |
| 0x0 || 0x2 || int16_t || mi16First || Start index of the subregion || |
||
|- |
|- |
||
| 0x2 || 0x2 || int16_t || mi16Count || || |
| 0x2 || 0x2 || int16_t || mi16Count || Number of contiguous subregions making up this subregion || |
||
|} |
|} |
||
=== BrnSound::World::StaticSoundEntity === |
=== BrnSound::World::StaticSoundEntity === |
||
The plus portion of <code>mPosPlus</code> contains two 16-bit integers. The first is the [[#AttribSys::Enums::ePassbyTypes::ePassbyTypes|passby type]] if in a passby map or the distance at which the sound can be heard if in an emitter map. The second is the index of the sound in either <code>mPassbyBins</code> or <code>mWorldEmitterList</code> in BurnoutGlobalData. |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x10 || [[Vector3Plus]] || mPosPlus || || |
| 0x0 || 0x10 || [[Vector3Plus]] || mPosPlus || Position and details of the sound || |
||
|} |
|} |
||
Line 81: | Line 95: | ||
|- |
|- |
||
| E_ROOT_TYPE_COUNT || 2 || |
| E_ROOT_TYPE_COUNT || 2 || |
||
|} |
|||
=== AttribSys::Enums::ePassbyTypes::ePassbyTypes === |
|||
{| class="wikitable" |
|||
! Name !! Value !! Comments |
|||
|- |
|||
| PassbyAzimuth || 0 || |
|||
|- |
|||
| PassbyPitch || 1 || |
|||
|- |
|||
| PassbyCutoff || 2 || |
|||
|- |
|||
| TrafficSmall || 3 || |
|||
|- |
|||
| TrafficMedium || 4 || |
|||
|- |
|||
| TrafficLarge || 5 || |
|||
|- |
|||
| LampPost || 6 || |
|||
|- |
|||
| Tree || 7 || |
|||
|- |
|||
| Bridge || 8 || |
|||
|- |
|||
| Tunnel || 9 || |
|||
|- |
|||
| Camera || 10 || |
|||
|- |
|||
| Misc || 11 || |
|||
|- |
|||
| Collision || 12 || |
|||
|- |
|||
| Overpass || 13 || |
|||
|- |
|||
| Warehouse || 14 || |
|||
|- |
|||
| Alley || 15 || |
|||
|- |
|||
| StaticMetal || 16 || |
|||
|- |
|||
| LargeOverheadObject || 17 || |
|||
|- |
|||
| PassbyBoostOffset || 18 || |
|||
|- |
|||
| MaxPassbyTypes || 19 || |
|||
|} |
|} |
Latest revision as of 22:58, 24 January 2024
StaticSoundMap | |
---|---|
Resource names | TRK_UNIT*_Passby TRK_UNIT*_Emitter *Track unit ID |
Type ID | 0x10016 |
Category | Game-specific (Burnout Paradise) |
Memory distribution |
Main Memory only |
Editor available? |
No |
Static sound maps define certain static sounds placed around the map. Each track unit contains two of these resources, one for passby sounds and one for emitters. It is possible the former works in tandem with the triggers resource.
Note that all 64-bit variants contain no data. While this could simply be because an option was accidentally disabled when building the game, it is more likely due to a bug during the creation of the resources. The end result is that Remastered lacks static sounds on every platform except PC.
Note also that the root type appears to always be passby. Behavioral changes are likely determined by the resource name instead.
Structures
BrnSound::World::StaticSoundMap
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | Vector2 | mMin | Minimum X and Z values required for the sound to play | |
0x10 | 0x10 | Vector2 | mMax | Maximum X and Z values required for the sound to play | |
0x20 | 0x4 | float32_t | mfSubRegionSize | Diameter of each subregion | |
0x24 | 0x4 | SubRegionDescriptor* | mpSubRegions | Subregions | |
0x28 | 0x4 | int32_t | miNumSubRegionsX | Number of subregions on the X axis | |
0x2C | 0x4 | int32_t | miNumSubRegionsZ | Number of subregions on the Z axis | |
0x30 | 0x4 | StaticSoundEntity* | mpEntities | Entities | |
0x34 | 0x4 | int32_t | miNumEntities | Number of entities | |
0x38 | 0x4 | eRootType | meRootType | Root type | Always passby |
0x3C | 0x4 | Padding |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | Vector2 | mMin | Minimum X and Z values required for the sound to play | |
0x10 | 0x10 | Vector2 | mMax | Maximum X and Z values required for the sound to play | |
0x20 | 0x4 | float32_t | mfSubRegionSize | Diameter of each subregion | |
0x24 | 0x4 | Padding | |||
0x28 | 0x8 | SubRegionDescriptor* | mpSubRegions | Subregions | |
0x30 | 0x4 | int32_t | miNumSubRegionsX | Number of subregions on the X axis | |
0x34 | 0x4 | int32_t | miNumSubRegionsZ | Number of subregions on the Z axis | |
0x38 | 0x8 | StaticSoundEntity* | mpEntities | Entities | |
0x40 | 0x4 | int32_t | miNumEntities | Number of entities | |
0x44 | 0x4 | eRootType | meRootType | Root type | Always passby |
0x48 | 0x8 | Padding |
BrnSound::World::SubRegionDescriptor
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2 | int16_t | mi16First | Start index of the subregion | |
0x2 | 0x2 | int16_t | mi16Count | Number of contiguous subregions making up this subregion |
BrnSound::World::StaticSoundEntity
The plus portion of mPosPlus
contains two 16-bit integers. The first is the passby type if in a passby map or the distance at which the sound can be heard if in an emitter map. The second is the index of the sound in either mPassbyBins
or mWorldEmitterList
in BurnoutGlobalData.
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | Vector3Plus | mPosPlus | Position and details of the sound |
Enumerations
BrnSound::World::StaticSoundMap::eRootType
Name | Value | Comments |
---|---|---|
E_ROOT_TYPE_PASSBY | 0 | |
E_ROOT_TYPE_EMITTER | 1 | |
E_ROOT_TYPE_COUNT | 2 |
AttribSys::Enums::ePassbyTypes::ePassbyTypes
Name | Value | Comments |
---|---|---|
PassbyAzimuth | 0 | |
PassbyPitch | 1 | |
PassbyCutoff | 2 | |
TrafficSmall | 3 | |
TrafficMedium | 4 | |
TrafficLarge | 5 | |
LampPost | 6 | |
Tree | 7 | |
Bridge | 8 | |
Tunnel | 9 | |
Camera | 10 | |
Misc | 11 | |
Collision | 12 | |
Overpass | 13 | |
Warehouse | 14 | |
Alley | 15 | |
StaticMetal | 16 | |
LargeOverheadObject | 17 | |
PassbyBoostOffset | 18 | |
MaxPassbyTypes | 19 |