Unreal Engine SoundNodeWave
Jump to navigation
Jump to search
Back to index | Edit this page
SoundNodeWave
- Format Type : Audio / Text / Misc
- Endian Order : Little Endian
Format Specifications
// A Story About My Uncle (PC Steam)
// SoundNodeWave file format (Unreal Engine 3)
// Version: 868
// Engine version: 12097
// Cooker version: 136
4 bytes (uint32) - file ID number
// UE3 properties
num_of_properties *
{
// Note: name ID mapping can be found in "NameTable.log"
// after using "UPKunpack.exe" tool
// Mapping can be different for each game
// Note: "None" property should be the last one
8 bytes (uint64) - property name ID // 2 - bLoopingSound
// 3 - bManualWordWrap
// 14 - Duration
// 19 - LocalizedSubtitles
// 45 - None
// 46 - NumChannels
// 49 - RawPCMDataSize
// 51 - SampleRate
// 54 - SourceFilePath
// 55 - SourceFileTimestamp
// 58 - Subtitles
8 bytes (uint64) - property type ID
8 bytes (uint64) - property length
x bytes - property data
// Data type depends on property name ID, for example:
// for bLoopingSound = 1 byte (bool), e.g. false
// for bManualWordWrap = 1 byte (bool) e.g. true
// for Duration = 4 bytes (float) e.g. 15.69950
// for NumChannels = 4 bytes (uint32) e.g. 2
// for SampleRate = 4 bytes (uint32) e.g. 48000
// for RawPCMDataSize = 4 bytes (uint32)
// for LocalizedSubtitles = x bytes
// for SourceFilePath = x bytes (string + null)
//
// for SourceFileTimestamp = x bytes
// 4 bytes (uint32) - timestamp length
// x bytes (string) - timestamp e.g. "2014-04-14 12:01:51"
// 1 byte - null
//
// for None = x bytes
// 8 bytes (uint64) - nulls
// 4 bytes (uint32) - nulls
// 4 bytes (uint32) - pointer1?
// 4 bytes (uint32) - nulls
// 4 bytes (uint32) - audio compressed size
// 4 bytes (uint32) - audio uncompressed size
// 4 bytes (uint32) - pointer2?
// x bytes - OGG audio data
// x bytes - unknown
//
// for Subtitles = x bytes
// 4 bytes (uint32) - number of subtitle properties
//
// // subtitle properties
// num_of_sub_properties *
// {
// 8 bytes (uint64) - nested property name ID // 59 - Text Type
// // 60 - Time Type
// // 45 - None
// 8 bytes (uint64) - nested property type ID
// x bytes - subtitle property data
// // for Text Type:
// // 4 bytes (uint32) - string size
// // x bytes (string) - string entry
// // for Time Type:
// // 4 bytes (float) - timestamp (can be empty)
// // for None:
// x bytes - nested subtitle entries (Text Type + Time Type)
// }
}
Other Structures
Some structures inside SoundNodeWave files may be different for other games.
Below is example of LocalizedSubtitles structure which contains text strings and other text-related data.
// Killer is Dead (PC Steam)
// LocalizedSubtitles Type file format
4 bytes (uint32) - ID
num_of_properties *
{
8 bytes (uint64) - nested name ID // 25 - LanguageExt Type
// 40 - Subtitles Type
// 2 - bMature Type
// 1 - bManualWordWrap Type
// 4 - bSingleLine Type
// 27 - None Type
8 bytes (uint64) - nested type ID
8 bytes (uint64) - property size
x bytes - property data
// for LanguageExt Type:
// 4 bytes (uint32) - size of the language code
// x bytes (string) - language code // e.g. INT, DEU, ESN etc.
//
// for Subtitles Type:
// 4 bytes (uint32) - number of subtitles
// num_of_subtitles *
// {
// 8 bytes (uint64) - nested name ID // 41 - Text Type
// // 42 - Time Type
// // 27 - None Type
// 8 bytes (uint64) - nested type ID
// 8 bytes (uint64) - property size
// x bytes - property data
// for Text Type:
// 4 bytes (uint32) - subtitle length
// x bytes (string) - subtitle
// for Time Type:
// 4 bytes (float) - time in seconds
// for None Type:
// x bytes - nested Text Type
// x bytes - nested Time Type
// x bytes - nested empty None Type
// }
//
// for bMature Type:
// 1 byte (bool) - mature type flag
// for bManualWordWrap Type:
// 1 byte (bool) - word wrap flag
// for bSingleLine Type:
// 1 byte (bool) - single line flag
// for None Type:
// x bytes - nested entries
}
MultiEx BMS Script
Not written yet.
Notes and Comments
- This file format is commonly used in games built using Unreal Engine 3.
Games
List of games using this file format:
- A Story About My Uncle
- Killer is Dead
- Many more...
Compatible Programs
See List of Unreal Engine Tools article on this wiki.
See Also