Static Sound Map
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 |