Forum Announcement, Click Here to Read More From EA_Cade.

Request: Propx and Audio Resource Info

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.

Comments

  • Options
    ScumbumboScumbumbo Posts: 148 Member
    I managed to decode one propx enough to track down the instance id of what actual SNR sound it points to (computer startup) and was able to finally decode it using a seriously old version of ealayer3 but in order to do so I had to use an offset of 12 bytes into the file (that took some experimentation!)

    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.
    $ ./ealayer3 -i 12 -v ../S4_01A527DB_001407EC_407CC2614687D0C0%%+_AUD.snr
    EA Layer 3 Stream Extractor/Decoder 0.7.0. Copyright (C) 2010-11, Ben Moench.
    
    L: single block loader incorrect because of compression
    L: header B loader incorrect because of block type
    L: headerless loader correct
    P: EAL3 ver. 6 and 7 incorrect with exception: Ver. 6 and 7 header: granule size set incorrectly.
    P: EAL3 ver. 5 correct
    Parsing blocks...
    Writing output file...
    Auto setting the output format
    Output file: ../S4_01A527DB_001407EC_407CC2614687D0C0%%+_AUD.mp3
    Done.
    

    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?
  • Options
    LimpBiscuitLimpBiscuit Posts: 2 New Member
    edited February 2016
    Yeah, i tried to figure out the file after seeing your thread too, and i got this(almost the same as you):
    [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 !!
    Post edited by SimGuruEugi on
  • Options
    LimpBiscuitLimpBiscuit Posts: 2 New Member
    Oh, the bbcode didn't work.....
    @SimGuruModSquad
  • Options
    pboxpbox Posts: 630 Member
    @LimpBiscuit you cannot tag people or use formatting until you are "Member" (that takes a certain amount of posts and likes and such, right now you're still "New Member") ..

    I'm going to second/third the .bt request though, @SimGuruModSquad
    Stuff for TS2 · TS3 · TS4
  • Options
    ScumbumboScumbumbo Posts: 148 Member
    @LimpBiscuit A valiant effort but yeah, I'm definitely seeing some different things with the propx's I'm looking at, some of the empty space has data in mine and things don't seem to line up. Probably right about that AudioCount though, and I figured those first two bytes were a version identifier also as the propx's seem to chain using that entry - I followed the one I was looking at to a null entry which still has 01 00 at the start. That last one seems to have a lot of fairly repetitive flags (00 28 39, then 01 29 39, then 01 2A 39, etc. with some gap in between, then a ton more data with no immediately recognizeable pattern. Best to wait for the .bt I think unless you at least have some clue what these things are supposed to be accomplishing.

    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.
  • Options
    SimGuruModSquadSimGuruModSquad Posts: 597 Member
    Hello,

    BT file for BROBX (aka PROPX) posted here.

    Thanks,
    SGMS
Sign In or Register to comment.
Return to top