bnnm / wwiser-utils

50 stars 15 forks source link

Trying to understand how to reverse file names from .bnk and .wem files #19

Closed cDerv211 closed 3 months ago

cDerv211 commented 3 months ago

Hey there! So I started from this image Then I used an extractor and got thousands of .wem files + .bnk files image

Here I used wwiser.pyz and clicked on "Load banks..." and selected all the banks of the screenshot. Then I clicked on generate TXTP and exported them, now I have thousands of .txtp files as well. I open them with foobar and they play sounds.

What I'm trying to achieve tho is to match those ID numbers with the original file names of the assets. Is this the right way or should I follow your tutorial? I'm a bit lost, sorry!

bnnm commented 3 months ago

I updated the guide a bit so maybe it's slightly clearer. But basically you can't reverse .wem names.

Instead, you want to generate .txtp that play (one or multiple) .wem. Those .txtp with generic names represent Wwise's "events". You can then reverse "event" names using the tutorial, which will usually get you more normal .txtp names such as play_bgm01.txtp.

That kind of play_bgm01 event names are what devs actually use to get audio, so usually they are good enough. Wwise can't actually call .wem directly, it always uses an "event" to play .wem.

cDerv211 commented 3 months ago

Ok, after all these hours I managed to create .txtp files for each .wem files, the problem is that in the game folder I used your script to look a match for the IDs of the .wem files but I only managed to find like 1% of the whole 11000 files. There are no .xml or .txt or .json files so it's very hard to find new matches

bnnm commented 3 months ago

Other than carefully reading and using the guide I don't really have anything better sorry. Usually you can get 20-50% of the names using the basic quick guide and 10-30% more names using advanced stuff like words.py, but some games have less names than others.