Been messing around with these, haven't gotten far because it's not my forte. For the car audio fb3decoder is only picking up sounds in the 'renders' folder, I'm assuming everything else is able to be decoded with the GIN tool, but I don't know how to get the chunk id to attempt.
I'm not a hex genius but the files that fb3decoder can detect contain 'SoundWaveAsset' and the others do not, and their file structure looks very different.
https://mega.nz/#F!W4cQlYKT!jHe3Lyf3V0OWwUjJ_34KRg here's a link to the full folder of a car if somebody smart wants to take a look at the differences.
Edit: Did some more digging, the some other car sounds come under 'OctaneAsset' and I've been able to get the chunk ids using the code already there just with a simple if statement. Going to see if I can get it to open with the Gin decoder now and rename when it's done.
I'm no python genius either
Edit 2: Well it half worked. Some files that contain the 'OctanceAsset' are not decoded by GIN, but it just skips over them so no biggie, the main problem is that on some chunks the tool hangs, this is the first one it hits '144837870e001922903387d43fb710d2' which is 'Audio/Cars/CarEngine/Dodge_Viper_SRT/OctaneData/Dodge_Viper_Accel_ENG_Noise'. I'm no python genius and I can't figure out how to timeout a subprocess on 2.7 properly to just skip over it as a soft fix. Instead I'll just show you my edits on how to get the chunk id for those files.
Code: Select all
if not self.prim.desc.name=="SoundWaveAsset": return
changes to:
there is probably a better way for this but whatever
Code: Select all
if not self.prim.desc.name=="SoundWaveAsset":
if not self.prim.desc.name=="OctaneAsset": return
Code: Select all
chnk.ChunkId=i.value.get("ChunkId").value
underneath this add:
Code: Select all
if self.prim.desc.name=="OctaneAsset":
print self.trueFilename+ " | "+hexlify(chnk.ChunkId)
That will output the chunk id as well as the file it corresponds too.