bnnm / wwiser

wwiser - Wwise .bnk explorer and audio simulator.
205 stars 11 forks source link

AttenuationID using uid rather than sid #28

Closed Forsaken-Gaming closed 1 year ago

Forsaken-Gaming commented 1 year ago

While recreating soundbanks in Wwise, I had an issue where the AttenuationID would be a very tiny value. However, I found that if I modified the source code to make it register as an sid rather than an uid, it would work perfectly, allowing me to see the correct id it is assigned to. This happens with v140 banks and v134 banks. Not that big of an issue but I just wanted to let you know anyways!

bnnm commented 1 year ago

Sorry, could you elaborate a bit more? (samples would be helpful) uAttenuationID is set here as TID and I think would refer to some attenuation's SID.

The distinction of tid/sid is just for wwiser to understand when it's a "target ID" (links to another) or regular "Short ID" (semi-unique object identifier). IIRC internally in Wwise it's just an uint32 implicitly used as ID or link depending on field.

Forsaken-Gaming commented 1 year ago

Absolutely! With the attached files (v140) all of the AttenuationIds are super tiny numbers that don't link to anything. I looked at that exact part of the code myself and was thinking the same thing, honestly. Attenuation Example.zip

bnnm commented 1 year ago

Oh, you mean IDs inside AkPropBundles. Those are special in that the value can be a decimal or integer, depending on the pID. Should be detected now: wwiser.zip

Forsaken-Gaming commented 1 year ago

Ah, sorry for not making that clear. Works great! Thank you for fixing that! You're the best!