CommunityDragon / CDTB

A library containing everything to extract files from client files.
GNU Lesser General Public License v3.0
119 stars 33 forks source link

Unpack the bnk files #31

Closed modty closed 4 years ago

modty commented 4 years ago

I‘m sorry to ask another bad question. I try to find the script which controll the voices’s play. Such as when a character meets another character,maybe they will conduct a dialogue.I found lots of json files,but it is useless,no script records which events should call which voices. I hava to guess the scripts are in bnk flles which I can`t crack. Like

assets\sounds\wwise2016\vo\zh_cn\characters\aatrox\skins\base\aatrox_base_vo_events.bnk

it is base on BKHD compressed format , I try to crack it ,but it failed. So , is there another files records the events ? if not ,how to crack the bnk files? Thanks.

benoitryder commented 4 years ago

The bnk files only contain the sound files. The events that trigger the voices are in the bin files. There is one bin file per skin, which contains the skin-specific voices (if any). I didn't checked if regular skins used default bin files as fallback.

The bin files are available on raw, converted to json. But you can also convert them using cdtb if you want. (The non-json export contains a bit more information, especially the types.)

For instance, for Star Guardian Jinx (Jinx' skin number 4), the bin file is: https://raw.communitydragon.org/latest/game/data/characters/jinx/skins/skin4.bin.json In the skinAudioProperties > bankUnits data you have sound informations and a list of events (e.g. Play_vo_JinxSkin04_KillChampion3DLulu). Later in the file there is a mSituations field with a lot of entries and "rules" with mRuleName matching the event name (e.g. KillChampion3DLulu). Each rule contains a list of conditions for triggering the voice. The format is not documented nor completely known. Some values have not been reversed and you only have their hash, but it's better thant nothing. You should be able to extract useful information by analyzing those bine files.

modty commented 4 years ago

I'm greatly appreciated your explain , now , at least I know where to find the list of conditions for triggering the voice.it is a perfect development for me.but I still hava a question. After unpacking the voice files,just like

assets\sounds\wwise2016\vo\zh_cn\characters\aatrox\skins\base\aatrox_base_vo_audio.wpk

I got lots of voices .

628589.wav----
1809104.wav----我并不想与你为敌,我是想与世界为敌
9489240.wav----祈祷吧,蠢货,你面对的是暗裔

and I spend months on translating them to Chinese.So I want to know which voice is connected to event names. I know a youtuber names SkinSpotlights ,it is just like his vedios.

benoitryder commented 4 years ago

Maybe the sounds are announced in the bin file in the same order as in the wpk file. I'm not sure and I really don't know anything about bnk content. But you should be able to correlate event names to actual sounds.

modty commented 4 years ago

Thanks,maybe i need to find out in other ways