I'm wanting to create a ringer sound for my alarm clocks mod, but the start_audio tags in the XML point to a propx resource. I managed to decode the barest minimum of it (bytes 0x02-0x09 point to a chain of propx, and bytes 0x0E-0x15 in the first propx pointed to the sound), but could use some (well, a lot) more info...
A .bt of the propx resource (0xFD04E3BE) would be most helpful.
1
Comments
However, there's a short gap in the audio and I think it probably did not decode 100% correctly, although the verbose output indicates it did find a correct EAL3 ver 5 stream.
Farther than I hoped to get with this tonight, but far from perfect. I think the .bt for the propx should help immensely as there's a lot of other information in there that I simply had no clue (or desire) to figure out by hand. My guess is that the propx indicates how to playback and loop the portions of the sound that are valid?
[code]
typedef struct
{
BYTE major;
BYTE minor;
} Version <read=ReadVersion>;
string ReadVersion(Version& v)
{
string s;
SPrintf(s, "%d.%d", v.major, v.minor);
return s;
}
Version mVersion; //File Version????(may be a boolean, i doubt it is a propx count because it's too small(2 bytes))
UINT64 PropXInstance <format=hex>; //Sometimes this points to non-existing resources
BYTE AudioCount; //The number of _AUD instances
BYTE Empty[3]; //Empty space?
typedef struct
{
UINT64 AudioInstance <format=hex>;
} AudioInstances;
AudioInstances mAudioInstances[AudioCount];
BYTE Empty2[38]; //Just a lot of empty space again?
BYTE Unknown3[2]; //Usually 32895(ushort)
BYTE Empty3[8];
typedef enum <byte> {
True = 1,
False = 0
} UnknownBool;
UnknownBool UnknownBoolean; //Looks like a boolean(may also be an instancecount)
BYTE Empty4[3];
if (UnknownBoolean==1) //These bytes only exist if the previously mentioned boolean is set to true(1), well, in most cases
{
BYTE Unknown7[5];
BYTE Empty5;
BYTE Unknown9;
BYTE Empty6[3];
}
[/code]
It's VERY incomplete
We need you, @SimGuruModdSquad !!
@SimGuruModSquad
I'm going to second/third the .bt request though, @SimGuruModSquad
Took a quick look through the python scripting and couldn't find any clues, they are just referenced as "Audio Clips" in the tuning descriptions.
BT file for BROBX (aka PROPX) posted here.
Thanks,
SGMS