Generic RWAC Wave Content: Difference between revisions

Added infobox and normalized some content.
(Added infobox and normalized some content.)
Line 1:
{{ParadiseResourceTypeInfobox
Sometimes referred to as RWAC Wave or simply Wave, the '''Generic RWAC Wave Content''' resource type is a container for the EA SndPlayer Plug-In Asset. This is the primary sound asset type used throughout the game.
| name = Generic RWAC Wave Content
| othernames = Generic Wave Content
| id = 0xA020
| category = Sound
| memdist = SNR in Main Memory<br />Audio data in [[Bundle 2/Burnout Paradise#Memory types|secondary]]
| importedby = [[Apt Data]]<br />[[Flapt File]]<br />[[Font]]<br />[[Renderable]]<br />[[SatNav Tile]]<br />[[Texture State]]
| editor = Yes*<br /><sup><small>*EALayer3 codecs only</small></sup><br />Use [[Modding/Burnout Paradise|EALayer3]]
}}
 
Sometimes referred to as RWACsimply Wave or simplyas Wavewaves, the '''Generic RWAC Wave Content''' resource type is a container for the EA SndPlayer Plug-In Asset. This is the primary sound asset type used throughout the game.
=Generating assets=
 
For reference, RWAC ('''R'''ender'''W'''are '''A'''udio '''C'''ore) is the audio library used by Burnout Paradise and other EA games.
 
= Generating assets =
Waves can be generated (without a [[Binary File]] header) by the EA Sound Exchange command-line tool. For more information on specifics, see [[Sounds (Burnout Paradise)]].
 
=== Codec ===
As noted in the [[#EA::Audio::Core::SndPlayerCodec|enumeration]], there are several codecs to choose from when encoding. ''Burnout'' primarily uses EALayer3, a proprietary offshoot of MPEG Layer 3, or its Spike variant. It also uses XAS certain engine sounds, namely ignition, for reasons unknown. The Xbox 360 version uses EA-XMA for all audio except acceleration/deceleration, which is done with [[Ginsu Wave Content|Ginsu]] resources.
 
=== Play location ===
Three play locations are supported: RAM, stream, and gigasample. RAM-targeted assets are self-contained and generally found in engines, [[splicerSplicer|splicers]]s, and [[AEMS Bank|AEMS banks]], while streams have data separate from the header and stored in persistent memory instead of RAM. Gigasamples are like streams, but with a portion in RAM so slow access times on the stream portion do not slow initial playback of the asset.
 
=== Loops ===
When loops are enabled with the <code>-loops</code> (loop start) option, the loop flag is toggled and the specified sample is written to the header. <code>-loope</code> (loop end) may also be specified, though it is unclear where this is stored.
 
=== Data ===
In these assets, sound data is stored in [[#Chunk|chunks]] to be loaded, played, and unloaded in sequence. This is done to minimize RAM usage and increase streaming efficiency. All other data is that of the sound itself.
 
= Structures =
'''Note: Waves begin with a [[Binary File]] resource.''' (Not which are not subject to the following note.)
<br/>
'''Note: Data is stored in big endian byte order regardless of platform.'''
 
=== Header ===
{| class="wikitable"
! Offset (bits) !! Length (bits) !! Constant Name !! Description !! Comments
Line 46 ⟶ 58:
|}
 
==== Example header ====
This represents a typical stream with no additional fields used.
 
{| class="wikitable"
|+ Hex: 05 04 BB 80 40 07 80 AA
|-
! Bit value !! 0 !! 0 !! 0 !! 0 !! 0 !! 1 !! 0 !! 1 !! 0 !! 0 !! 0 !! 0 !! 0 !! 1 !! 0 !! 0 !! 1 !! 0 !! 1 !! 1 !! 1 !! 0 !! 1 !! 1 !! 1 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0
|-
Line 60 ⟶ 71:
 
{| class="wikitable"
|-
! rowspan=3 | (cont.) !! 0 !! 1 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0 !! 1 !! 1 !! 1 !! 1 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0 !! 0 !! 1 !! 0 !! 1 !! 0 !! 1 !! 0 !! 1 !! 0
|-
Line 68 ⟶ 78:
|}
 
=== Chunk ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 77 ⟶ 87:
|}
 
= Enumerations =
=== EA::Audio::Core::SndPlayerCodec ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
Line 118 ⟶ 127:
|}
 
=== EA::Audio::Core::SndPlayerPlayType ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-