Romhacking.net

Romhacking => Newcomer's Board => Topic started by: Salem the Engineer on July 22, 2014, 11:18:32 PM

Title: Mega Man X4 PC Voice Mod Help
Post by: Salem the Engineer on July 22, 2014, 11:18:32 PM
One thing that always bothered me was how bad the voices are in-game. I always wanted to change them.

I came across this video:
http://www.youtube.com/watch?v=8OMm3l_0V90

It showed that it was possible. So the guy said that he used a hex editor in order to do it, I asked how did he do it, but he never responded (oh well).

So my question is: How do I use a hex editor to change the voices in-game?

The sounds come from a file labeled VO_PL00.SEZ but I don't know what to do when I open it in a hex editor (I'm using HxD).

Here's the file:
https://mega.co.nz/#!l1I0CYzC!w_0-w7JJM4n1ydAVrW5i-Nk_4h8NPcrFkNAS0I5nQxI (https://mega.co.nz/#!l1I0CYzC!w_0-w7JJM4n1ydAVrW5i-Nk_4h8NPcrFkNAS0I5nQxI)

I already have the sound files (in WAV format), I just wanna know how to put them in!
Title: Re: Mega Man X4 PC Voice Mod Help
Post by: Jorpho on July 23, 2014, 01:23:23 AM
Saying you need a hex editor to make the change is kind of like saying you need a wrench to fix a car.

This looks like what you need:
QuoteHI is very simple, the file sez are very similar to WAV Filetype but in the case of SEZ Filetype are multiple Files WAV files in one SEZ Files like a compress files, now if you open a SEZ file in a hex editor you see firs a list with names of file in format WAV, second various parameter similar to WAV Filetypes just remember in one SEZ Files contain multiples WAV files. now one thing to do each files on wav files created must be match wiht the each files compress on the SEZ

So... If I understand this correctly, you'll want to open up your WAV file in your hex editor, select all the data, and paste it into the appropriate spot in VO_PL00.SEZ.  You'll notice that any WAV file you open will start with the word "RIFF", so the location where you paste the data will likewise start with the word RIFF.  The first block that starts with "RIFF" will correspond to X_DAMAG1.WAV, the second block corresponds to X_DAMAG2.WAV, and so on, following the list of names that appears at the start of the SEZ file.

The tricky part is that the size of your WAV data has to exactly match the size of the data in the SEZ file that you're overwriting.  Or at least, that's what I understand from the above.

P.S. For anyone else reading this: The linked file is about 200 kb, so if you want to have a look, download that instead; the full pack linked to in the Youtube video is over a hundred megs.
Title: Re: Mega Man X4 PC Voice Mod Help
Post by: Salem the Engineer on July 23, 2014, 02:32:51 AM
Are you sure about the file size? The original is 11kb, while the modded one is 13kb. I did the whole replacing RIFF thing, but every single time I started up the game it would crash (Although that might be because of file size).

Also is there a software that can output WAV's at a fixed file size?
Title: Re: Mega Man X4 PC Voice Mod Help
Post by: Jorpho on July 23, 2014, 09:10:33 AM
Quote from: Salem the Engineer on July 23, 2014, 02:32:51 AMI did the whole replacing RIFF thing, but every single time I started up the game it would crash (Although that might be because of file size).
Yes, that would be a bad idea.

All right, I took another look.

You will notice at the start of the file after X_DAMAG1.WAV you will find the hex codes 00 1D 2B 00.  Before that you will find E1 00 00 00.  If you go to http://www.binaryhexconverter.com/hex-to-decimal-converter (or use whatever hex-to-dec converter you have handy) and convert "2B 1D" (note that the order is reversed) and "E1", you get 11037 and 225. Your hex editor will tell you that the first occurrence of "RIFF" appears at byte 225 and the second occurrence is at 11037.

So, if you want to insert a longer file, you'll have to insert the new data, delete the old data, and then find the new locations of each occurrence of "RIFF" and then update the appropriate hex codes that appear between the file names at the start of the file.  (Remember to get the order correct!)  The last number before the first occurrence of "RIFF" is "12 41 03"; this appears to be the total size of the file plus one.  (Covert "03 41 12" and you get 213266.)  You'll need to update that too.

Alternatively, if you already have all your WAV files, you can paste them together on the Windows command line by using
copy /b file1.wav + file2.wav + file3.wav VO_PL00.SEZ

Then you can copy the first 225 bytes of the original VO_PL00.SEZ (everything before the first occurrence of "RIFF") and insert it at the start of your new VO_PL00.SEZ.  Then find the locations of each occurrence of "RIFF" and update the hex codes.

This is about as easy as it ever gets.

Also, your WAV files probably have to be uncompressed 8-bit 22050 Hz Mono.
Title: Re: Mega Man X4 PC Voice Mod Help
Post by: Salem the Engineer on July 23, 2014, 10:53:32 AM
Damn that sounds complicated.
Title: Re: Mega Man X4 PC Voice Mod Help
Post by: justin3009 on July 23, 2014, 11:14:40 AM
Try doing it step by step the way he has listed on the previous voice as a test.  Do just ONE voice to see if you can get it to work using anyone's voice from anything.  Once you figure out how to do it at least once without really any problems and understand it, then try more.

It SOUNDS complicated but as you go step by step, it's not horribly difficult.
Title: Re: Mega Man X4 PC Voice Mod Help
Post by: Salem the Engineer on July 23, 2014, 04:53:08 PM
Alright! I'll give it a try.
Title: Re: Mega Man X4 PC Voice Mod Help
Post by: Salem the Engineer on September 10, 2014, 03:19:28 PM
Sorry for the double post, I just thought I should update you guys. I think if I just keep trying I'll get it to perfection  :)

Here's what I did so far:
http://www.youtube.com/watch?v=oKmV5EEbBFc
Title: Re: Mega Man X4 PC Voice Mod Help
Post by: justin3009 on September 10, 2014, 03:46:58 PM
VERY good job!  I'm glad you took the initiative and went for it!  It's going great so far from the looks of it!
Title: Re: Mega Man X4 PC Voice Mod Help
Post by: Salem the Engineer on September 11, 2014, 01:16:48 AM
Thanks dude!

Here's one with no Bgm:

Mega Man X4 Voice Mod Attempt 1 (NO BGM): http://youtu.be/EHJ9vQqbQWo