Dolphin, the GameCube and Wii emulator - Forums

Full Version: Turn off Xenoblade Chronicles music?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
(06-21-2017, 09:58 AM)ReNext Wrote: [ -> ]Thank you, I solved this problem by replacing the music contained in adx.pkb with empty audio files Smile

I'm trying to turn off the music to Xenoblade, too. Would you be able to guide me through how to replace the adx.pkb file with empty audio file? I have no idea how to go about doing that.

After wandering through many websites, I learned to extract the game files with WiiScrubber. Now, how do I interact with adx.pkb and replace it with empty audio files? I've stumbled upon extracting tools in this website, but I am having a lot of trouble using them.
https://tcrf.net/Notes:Xenoblade_Chronicles#Xenoblade_File_Editing_and_Extracting_tools

If anyone can give me a hand here, I would really appreciated. Smile
I'm not particularly experienced with file replacements, so hopefully someone else can help with that.  But do the gecko codes I posted not work for turning off music?

Also I totally forgot to look for character battle dialogue frequency.
(05-28-2018, 04:46 AM)One More Try Wrote: [ -> ]I'm not particularly experienced with file replacements, so hopefully someone else can help with that.  But do the gecko codes I posted not work for turning off music?

Also I totally forgot to look for character battle dialogue frequency.

The AR code you posted does work. However, it yielded a slightly different result than what I was looking for. When I use your AR code, any music and voice acting were turned off. I am only looking to turn off the background music, leaving all voice lines intact.

Following your AR code example, I tried to turn off the music by looking for the memory address using Cheat Manager. However, I am not having any luck with my limited experience and knowledge. If you can find the memory address for turning off just the music, that should solve my problem, too. Smile
Darn ok. Yeah the straightforward and reliable way is to just replace the files, it's just tricky to figure out.

The technique to narrow it down is to use the debugger and input a read breakpoint for 8066A510 - from the volume code. When it triggers, you can right click -> nop the instruction to prevent the read. You also should check the register tab to make sure the register being read into doesn't have an unwanted value, since it won't be replaced by the volume read anymore. We see values of 1 or 0 sticking around in the registers. which is fine because it wants to load 100. Then you do something to reset the music and see if it turns off. If it doesn't, nop something else and try again. Once that works you test to see if other things also got disabled.

If you nop the load instruction at 8045ff64, it seems to stop music but not battle music. Codifying -> 0445ff64 60000000
You can repeat the same steps for battle music to find it here: 8046080c, but unfortunately many sounds pass through it. So you start over with a new breakpoint at this new code spot and watch it at the start of a battle. Looking at the callstack (which tells us what branches into this code) we see that there's a fairly unique (only seen once) branch accessing this code at 8018a8a0 when the music starts. So we nop the branch and it works. There's still a worry that it'll break something else, but it'ls worth a try. -> 0418a8a0 60000000.

The one problem with AR code nops (skips) is that they don't always take effect immediately if turned on in the middle of play. So you may need to start the game with it and load a save normally (no savestate).

$No Music Bugs Possible
0418a8a0 60000000
0445ff64 60000000
(05-28-2018, 06:56 AM)One More Try Wrote: [ -> ]Darn ok. Yeah the straightforward and reliable way is to just replace the files, it's just tricky to figure out.

The technique to narrow it down is to use the debugger and input a read breakpoint for 8066A510 - from the volume code. When it triggers, you can right click -> nop the instruction to prevent the read. You also should check the register tab to make sure the register being read into doesn't have an unwanted value, since it won't be replaced by the volume read anymore.  We see values of 1 or 0 sticking around in the registers. which is fine because it wants to load 100. Then you do something to reset the music and see if it turns off. If it doesn't, nop something else and try again.  Once that works you test to see if other things also got disabled.

If you nop the load instruction at 8045ff64, it seems to stop music but not battle music. Codifying -> 0445ff64 60000000
You can repeat the same steps for battle music to find it here: 8046080c, but unfortunately many sounds pass through it. So you start over with a new breakpoint at this new code spot and watch it at the start of a battle. Looking at the callstack (which tells us what branches into this code) we see that there's a fairly unique (only seen once) branch accessing this code at 8018a8a0 when the music starts.  So we nop the branch and it works.  There's still a worry that it'll break something else, but it'ls worth a try. -> 0418a8a0 60000000.

The one problem with AR code nops (skips) is that they don't always take effect immediately if turned on in the middle of play. So you may need to start the game with it and load a save normally (no savestate).

$No Music Bugs Possible
0418a8a0 60000000
0445ff64 60000000

Hmm, I'm not sure I'm following. Like I said, I have very limited experience and knowledge on the subject. When I use your new code, I don't see any difference in music. All music, voice acting, and sound effects are still there.

I'm assuming debugger is the Cheat Manager, right? How do you insert a read breakpoint?
Create a shortcut to dolphin and in the properties' target line add -d. In newer versions of dolphin you can skip that and do config -> interface -> Show Debugging UI.

You don't really have to follow my guide, since I did all of the stuff I said. In the code tab of the debugger you can double check 8018a8a0 and 8045ff64 to see if replacing them with a nop affects music turning on.

Here's a different one to try:
$No Music except intro
04460180 60000000
0418a8a0 60000000
(05-28-2018, 09:31 PM)One More Try Wrote: [ -> ]Create a shortcut to dolphin and in the properties' target line add -d. In newer versions of dolphin you can skip that and do config -> interface -> Show Debugging UI.

You don't really have to follow my guide, since I did all of the stuff I said. In the code tab of the debugger you can double check 8018a8a0 and 8045ff64 to see if replacing them with a nop affects music turning on.

Here's a different one to try:
$No Music except intro
04460180 60000000
0418a8a0 60000000

Hmm. Thank you for the response and explanation. I feel like I'm gaining a little more understanding though still very much confused. With a little more thorough testing, I found that your code does work to an extent. Since it's not fully tested, I know that it may not work 100% of the time. Here are a couple of things I notice when testing, and I hope these findings make sense to you.

First, it doesn't work on the opening cutscenes. I don't see any difference during the Titans fight or the battle in Sword Valley. It does start taking effect after the first battle using Shulk and Ryen. There is no background music when walking from Mechon Wreckage Site to Colony 9.

Second, the effect can be unstable. If you go to the wii menu by mistake and go back to the game, the music will be activated again. I haven't encounter any other trigger that will turn the music back on, but this is one of them. The music can be easily turned off, though, by targeting an enemy. The music will be stopped upon targetting an enemy without the need to actually fight. In addition, some cutscenes will keep the background music, but some cutscenes won't. For example, the cutscene where Fiora brought food to Dunban's bedside kept the music in the background. The cutscene where Fiora brought food to Shulk at Outlook Park does not keep the music.

I'm not sure what the condition is for background music getting call in the code, and I'm not familiar enough with it to figure this out yet. With that being said, what I'm trying to accomplish is to turn off background music during all cutscenes while keeping the voice acting lines. Is there some sort of trigger for background music before playing a cutscene? I would really appreciate if you can continue help me out figuring this out. Thanks
hm, interesting thread.
Do you guys think it would be possible to swap "on the fly" some in-game audio files/sounds for some other on the hard drive? Or that just totally sci-fi? Smile
Not immediately. The game has to reload it
So there would be some noticeable delay in what you see and what you hear, right?
Pages: 1 2 3