Where (if at all) would the "channel data" be stored in a GSFLib file? by TheUltimateKoopa at 8:52 PM EDT on July 31, 2012
For example:
I want to mute the channels (<_<) in Stilt Village from Donkey Kong Country 3 (GBA version obviously). After opening "AGB-BDQE-USA.gsflib" in HexEdit, at what address are the hex values for Stilt Village's channels? Stilt Village is the first track, i.e. AGB-BDQE-USA-0000.minigsf
And, if anyone knows, does it follow a similar pattern to 2SF, i.e.: Channel 1 = 0001 Channel 2 = 0002 Channel 3 = 0004 Channel 4 = 0008 Channel 5 = 0010 Channel 6 = 0020 and so on, until Channel 16 = FFFF?
So if I wanted to play Channels 3, 5, and 6, would I simply add 0004 + 0010 + 0020 and put the value at 0034?
Wait, so there's no way of muting individual channels? They're all "mixed together"? I assume PCM A is simply "left audio" and PCM B is "right audio"?
The only reason I wanted to know if you could mute channels in this, is because I wanted to see if I could then, after outputting the song to a WAV for each channel as individual files, I was going to open them up in Audacity, and then change the panning, to basically make them stereo, because the mono is one of the main things that make the quality of the soundtrack suck.
applications that plays back gsf files will not work
unless you somehow tell the app wath to do with the values of specific adresses...
since some of these Xsf players render the sound before its send to the output channel, there is no way you are going to find the channel related adresses in most cases
So, if I open DKC3 in a GBA emulator, what exactly am I "looking" for? I'm assuming, as soon as an instrument starts playing, then some byte will 'change value'? How do you know when a value has changed, and when? (I hope I'm making sense)
most often, the values for the channels decrease when you hit start, so then you know, the values have decreased, after you have done your first, set the scan type to `decreased value`, after scannin, increase the values by leavin the start screen, now the abluues have iinicreased, so do a increased value scan
repeat this for a good 40 times and you will probebly are left with 16 adresses, depending on the game you are emulating
once you found them and checked if they are the right adresses, you can now do wathever you want
also, if possible, limit the FPS down to 1 FPS too slow the music down, cause sometimes, the values for the channels decrease [when sounds fading out and such], if you are stuck at 1 FPS, this will likely be far ahead of you so you will have enough time to do your scans
in most emulators, the music speed is completely depended on the FPS, if the FPS limit somehow manages to not slow down the music, you will have to find and other way to do it
It doesn't really help that DKC3 keeps the same volume when paused :(
But if I used the "music volume" option, set unknown initial value with full volume, then turned the volume down, then scanned for a decreased value, and then turned it back up, and done an increased value, enough times, should this work?
Not necessarily. It might, certainly, but what you're looking for is the specific channels that are software mixed down to two. In other words, you're looking for sequence data. The method you propose assumes that when you change the volume, it's changing the volume of all those individual channels (at least, that's what it sounds like to me). Since they have a software mixer in place, it makes more sense to me to control the volume after all those channels are mixed into one. Therefore, changing the volume might only find you the value for changing the volume, and not the individual channels themselves.
In other words, although I've never done this type of stuff before (cheat engine. I've used TTsearch, which is similar, but only with very specific instructions for a specific game), Dutchie's method sounds like it will most likely work, whereas your proposed method sounds like you'd result in finding volume control, which could be something completely different.
That said, your best option here is to try (anything, really). You may find that Cheat Engine is a useful tool, and that you can use it elsewhere to do something similar on a different game/system. It may turn out that your method works. Basically what I'm saying is, this is a learning experience, and right now, you're best off experimenting, and seeing where that takes you. Good luck. Mouser X over and out.
Dutchie's method was basically to search for an unknown value initially (obviously), then make the entire sound lower in volume by pausing, in his case, or in my case, lowering the volume in game (Not the emulator volume ... DKC3 has options for turning down either music volume of SFX volume, like in Brawl and some other games).
What's the difference between be lowering the volume, and Dutchie's method of erm... lowering the volume? The only difference is that his suggestion involves pausing, as a lot of games decrease the music when the game is paused, if not stop completely.
Also Dutchie's method doesn't work.
At least I can't get any less than still over 300 values. Why didn't Dave Wise just fucking make the soundtrack stereo in the first place?
previously i was actually thinking about putting a tutorial on the `Dutchie's method` here on hcs64, but didnt cause then it would be a tutorial for muting channels in either mario kart 64 or 1080 snowboarding
maybe you get it, maybe you dont
there is no `global` muting channels in cheat engine, every game has different values and every game requires different methods of actually muting channels
Mouser X is right, you cannot simpeley pickup cheat engine and start doing stuff that some random guy on the internet managed to do
the best way of muting channels in your game using cheat engine is to use your brain
but since Lunar taught me some stuff about TUK, i doubt if TUK will actually get what i mean
what Mouser X said was right
...
wait, where did he find that information?!?!?
...Mouser X actually uses his brain instead of saying `oh, it doesnt work, how do i do it blah blah`
no, it wont, to succesfully mute channels, there must be a way to change the values of the channels volume, like hitting pause
Xsf applications dont have have anything simiar to this, Xsf files are copies of the RAM that only include the music playback, it doesnt have any controller related adresses, wich in this case change the values of the channels up on pressing
Look, I know it's REALLY REALLY hard to imagine, but some people are, as really odd as it sounds, clueless when it comes to this. So STOP with your stupid "DO IT YOURSELF" attitude.
Did you walk into a classroom, and then before they even taught you, tell you to just "work out 5+52-5x/5-3+7-6/5x^3 = 67"? No!
"Use your brain".
I bet you use your brain, but it doesn't exactly mean you can make a program/application that makes coffee splatter all over your screen, while a random song is played. "Using my brain" isn't exactly going to be helpful on its own. If I don't know what to do, I don't know what to do. Stop assuming everyone on the internet knows everything about everything.