If it's one thing that's bothering me when I'm modifying the client. It's that I can't find what function, either in Client.exe or BSEngine_Shipping.dll that gets triggered when a sound is played in BNS
Sounds are very important for me to find certain functions. I like to keep most things i've found as references. For example, having the ability to decode any translated text string by hooking a function up in Client.exe, finding out what accesses a TSingleton address in BSEngine_Shipping in order to get all the graphical functions that the Client triggers. Changing font type in real time, etc etc.
But what urks me the most, that I've been spending on finding for months already. Is finding the function that gets triggered on my tracer/breakpoint everytime a sound is played. This is very important if I want to find certain XREF types of functions just like what I do when I decode a translation string.
Some thing's ive tried/found out.
*Sound Files are in UPKs. Obviously, But there is no way to dump out the sound files (unless I'm missing something, as of right now we're only able to dump graphical related files and edit them back to the UPKs, and a russian found out how to dump font files in UPKs by pure hex editing.)
*They might be .OGG or .WAVs, There seems to be some UE3 Strings related to WAVs, I've put a breakpoint on every single one of them and no trigger from there.
*They don't have a filename (may have an ID System?). (Please someone correct me on this, Because that has to be completely false)
*The only value I can find out, when it comes to sound. Would be at Options when you're changing the Sound Effects volume, I'd figured that if you get the value of the volume, the game client would read this everytime a sound is played. However this did not work out the way I wanted to be as well. (gets triggered every millisecond, sometimes the value's location changes which invloves me to hooking at the pointer instead. If you skip whatever gets triggered every millisecond, Nothing happens as in sound is still playing and it stops triggering the value.)
*There appears to be at least 2 or 3 other DLLs that handles sound (ogg.dll, audiores.dll, vorbis.dll???) However I assume that, these are system files that shouldn't be altered and might lead me to nowhere anyways. But I may be wrong on that, just not enough information and time to explore around here.
I doubt anyone else will know where else to look at, but I am at lost here, and if there's any ideas you guys might want to share, or if there's any information that I'm missing out.