Static Sound Map

From Burnout Wiki
StaticSoundMap
aka {{{othernames}}}
No Example
Resource names TRK_UNIT*_Passby
TRK_UNIT*_Emitter
*Track unit ID
Type ID 0x10016
Category Game-specific
(Burnout Paradise)
Memory
distribution
Main Memory only
Imports Unknown
Imported by Unknown
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