Question Stardew XACT files formatting issue [Updated! if you want to manually replace .xwb files look here? Might have issues though]

SomeoneEls

Sodbuster
Currently trying to challenge myself by only directly changing the files for a personal project (it won't be published), but when testing if it could actually work
by putting the original, unedited .wav files back into a soundbank in XACT, the files were not supported. This could be for a couple reasons...

1. For some reason, the C++ installation of DirectX didn't fully download. This is probably what is wrong, but there might be multiple reasons.
2. My copy of DirectX (June 2010) is incompatible with the files created by unxwb (Luigi Auriemma). The files created by it might have alterations that make it unable to be reinserted.
3. Something with the .wav files had a different format/ XACT needs formatted .wav files..?

Any details would be great! The .wav file I extracted using unwxb and tried is also attached.
 

Attachments

SomeoneEls

Sodbuster
Fixed!!

I ended up using xacttool ( https://shrinefox.com/browse?post=xacttool ) and it worked wonders. If you want to do this yourself...

0. For some weird reason the xacttool file is a .7z zip file. Download this to open it.
--> https://www.7-zip.org
Right click on the .7z file and select 7-Zip, then extract.
(why in the world couldn't you just use zip?! there's probably some good reason but still )


1. https://gamebanana.com/tuts/13383 <-- Use this (not the updated ver, this one)
Specify all and any file directories and replace
"X:\Games\Steam\steamapps\common\Day\SND\BGM.xwb"
with the C: directory.
ex. C:\Users\[usernamehere]
Best to copy the wave bank you want to replace and put it in desktop. Use that directory.

[you only need to download
Wavosaur (aka bootleg audacity where you can actually read the end and start times)
.NET runtime (latest ver, make sure you download both x86 and x64 bc that was a problem for some people)
xacttool ]

2. Make sure you didn't mislabel anything. I spent an hour on that alone.
3. The name of the file is not the index. Look at the wiki and use the decimal value.
https://stardewvalleywiki.com/Modding:Audio <--
 
Last edited:

SomeoneEls

Sodbuster
Actually, I might end up posting the mod by just giving the updated folders or something.
(I could probably try and make a java exe program to do this automatically, but I'm lazy and don't want it getting flagged for a virus)
 

SomeoneEls

Sodbuster
Fixed!!

I ended up using xacttool ( https://shrinefox.com/browse?post=xacttool ) and it worked wonders. If you want to do this yourself...

0. For some weird reason the xacttool file is a .7z zip file. Download this to open it.
--> https://www.7-zip.org
Right click on the .7z file and select 7-Zip, then extract.
(why in the world couldn't you just use zip?! there's probably some good reason but still )


1. https://gamebanana.com/tuts/13383 <-- Use this (not the updated ver, this one)
Specify all and any file directories and replace
"X:\Games\Steam\steamapps\common\Day\SND\BGM.xwb"
with the C: directory.
ex. C:\Users\[usernamehere]
Best to copy the wave bank you want to replace and put it in desktop. Use that directory.

[you only need to download
Wavosaur (aka bootleg audacity where you can actually read the end and start times)
.NET runtime (latest ver, make sure you download both x86 and x64 bc that was a problem for some people)
xacttool ]

2. Make sure you didn't mislabel anything. I spent an hour on that alone.
3. The name of the file is not the index. Look at the wiki and use the decimal value.
https://stardewvalleywiki.com/Modding:Audio <--

UH oh. Seems like the whole thing is outdated now that Xacttool was taken down. I found XWB tool though, so Ill post that when I get it sorted out. Thanks to Propheaker for pointing this out.
 

SomeoneEls

Sodbuster
NEW GUIDE! But also has issues in reading other songs after they have been played? Im not sure if this does this, but be warned.

First, you will need both unxwb and a new tool, that being XWB Audio replacer.
Unxwb --> https://github.com/mariodon/unxwb
XWB Audio replacer -->https://github.com/astrogab42/XwbAudioReplacer

Second, XWB only works in powershell. Download that using the guide Microsoft made.
Powershell --> https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell

The idea is, that you will basically unwrap the files using Unxwb, then replace the files using XWB.

[Unxwb]

You only need to do this once, but basically..
1. Make a new folder that will have all the unpacked files inside. Ill call this the unpacked folder.
2. Open up command prompt.
3. Copy the directory of the unpacked folder (done by copying the folder) and type cd, with a space. then, paste the directory. You are
now in the directory of the folder.
4. Copy and paste the wave bank you want to change into the folder with Unxwb. Change the file name to have no spaces (you'll have to redo this later)
5. Type in the command prompt .\unxwb -d (unpacked folder directory here) (wave bank directory here)
ANnnnnnnd DONE! You have extracted all the files into the unpacked folder.

[XWB Audio replacer]

Q: Why aren't we just using the extract method from XWB?
A: It.. uh.. doesnt work. The replacing works though.

1. Edit the files you want to edit in the unpacked folder. Keep the file names the same though.

2. Open up XWB Audio repacker. Its the .bat file.

3. Fill in the data of everything. Copy and paste directories. You'll want to use the .XWB file that is already in Stardew valley's XACT folder. Should still be there.

4. Edit configuration so that the game does not run. Set It to false.

5. Synchronize the custom audio files, Add all the custom files, then Synchronize the files again just in case. It SHOULD work.
 
Last edited:
Top