Hello there Dojo community, long time no see. Haven’t made a post here in quite some time, but I have never stopped lurking on the discussions every while and then! I hope you’re all doing well!
I’ve been working on a small little mod for Shenmue I on Dreamcast, but hit a roadblock and cannot progress any further. Figured I would ask here, hoping someone would at least have a clue how I should go about it.
Basically, I’m trying to create a “playable Guizhang in 70 Man Battle” kind of mod. I got the model swap and moveset working perfectly, it was just a matter of swapping and renaming files.
For those curious, I’ve made a what if story video on Ryo using Guizhang’s moveset about a year ago, showcasing the Swallow Diving Style in all its glory!
Back on the topic - However, forcing the game to use Guizhang’s voice in battle has proven to be quite a challenge.
According to MAP.INFO in MFBT, the map folder for the 70 Man Battle, the game loads “BATTLE_1.SND” for most of the sound effects used in FREE battle mode, including Ryo’s voice grunts, and “E1BATBAT.SND” for other misc sound effects, which also contains Guizhang’s, likely used by the CPU in the story fight.
I tried the good old “renaming/swapping files” method, but that only resulted in the game playing as normal or with no sound effects at all.
I thought to myself: “If I could extract the sounds, maybe I could swap Ryo’s sounds with Guizhang’s, then find a way to somehow rebuild BATTLE_1.SND?” Well, the first part was easy enough, and I was able to extract all sound effects in “minidsf” format, but for the second part, I couldn’t find any prior research on rebuilding an .snd file with “custom” files. I suppose it’s not as easy as I make it out to be?
Having just hit a roadblock, I decided to take a shot at the swap with a hex editor, and boy, are these .snd files impossible to navigate. Luckily, in the “Sound” folder there’s another .snd file called “E1KISHOU.SND”, which conveniently only contains Guizhang’s FREE voice grunts. The unfortunate thing is… I still can’t exactly locate Ryo’s voice lines in “battle_1.snd”, so performing a perfect data swap seems out of the question.
At this point, I kinda didn’t know what to do anymore and started overwriting random parts of battle_1.snd, hoping I would get lucky and succeed. Of course, this never could have worked and I only ended up breaking the sound effects even further. Despite that though, in one build I’ve made, I did get one of Guizhang’s grunts to play exactly like it does in his FREE battle appearances, but I also broke other sound effects in the process, so I can’t say it was a success...
Here’s a proof of concept of what I’m trying to achieve (edited footage):
Right now, I’ve run out of ideas and I’m starting to think it just can’t be done without having a decent enough understanding on what’s going on behind the scenes, which I clearly lack.
So that’s the gist of it. Does anyone in the Dojo community have any idea how I could get Guizhang’s FREE battle voice grunts to play in place of Ryo’s? Any suggestions are much appreciated!
Thank you for showing interest, have a great day! 🖐
I’ve been working on a small little mod for Shenmue I on Dreamcast, but hit a roadblock and cannot progress any further. Figured I would ask here, hoping someone would at least have a clue how I should go about it.
Basically, I’m trying to create a “playable Guizhang in 70 Man Battle” kind of mod. I got the model swap and moveset working perfectly, it was just a matter of swapping and renaming files.
For those curious, I’ve made a what if story video on Ryo using Guizhang’s moveset about a year ago, showcasing the Swallow Diving Style in all its glory!
Back on the topic - However, forcing the game to use Guizhang’s voice in battle has proven to be quite a challenge.
According to MAP.INFO in MFBT, the map folder for the 70 Man Battle, the game loads “BATTLE_1.SND” for most of the sound effects used in FREE battle mode, including Ryo’s voice grunts, and “E1BATBAT.SND” for other misc sound effects, which also contains Guizhang’s, likely used by the CPU in the story fight.
I tried the good old “renaming/swapping files” method, but that only resulted in the game playing as normal or with no sound effects at all.
I thought to myself: “If I could extract the sounds, maybe I could swap Ryo’s sounds with Guizhang’s, then find a way to somehow rebuild BATTLE_1.SND?” Well, the first part was easy enough, and I was able to extract all sound effects in “minidsf” format, but for the second part, I couldn’t find any prior research on rebuilding an .snd file with “custom” files. I suppose it’s not as easy as I make it out to be?
Having just hit a roadblock, I decided to take a shot at the swap with a hex editor, and boy, are these .snd files impossible to navigate. Luckily, in the “Sound” folder there’s another .snd file called “E1KISHOU.SND”, which conveniently only contains Guizhang’s FREE voice grunts. The unfortunate thing is… I still can’t exactly locate Ryo’s voice lines in “battle_1.snd”, so performing a perfect data swap seems out of the question.
At this point, I kinda didn’t know what to do anymore and started overwriting random parts of battle_1.snd, hoping I would get lucky and succeed. Of course, this never could have worked and I only ended up breaking the sound effects even further. Despite that though, in one build I’ve made, I did get one of Guizhang’s grunts to play exactly like it does in his FREE battle appearances, but I also broke other sound effects in the process, so I can’t say it was a success...
Here’s a proof of concept of what I’m trying to achieve (edited footage):
Right now, I’ve run out of ideas and I’m starting to think it just can’t be done without having a decent enough understanding on what’s going on behind the scenes, which I clearly lack.
So that’s the gist of it. Does anyone in the Dojo community have any idea how I could get Guizhang’s FREE battle voice grunts to play in place of Ryo’s? Any suggestions are much appreciated!
Thank you for showing interest, have a great day! 🖐