Adding breaks and callouts: an x_voice.zss editing tutorial

Started by Nicaras, May 01, 2021, 07:51AM

Previous topic - Next topic
Hey everyone! This is an attempt to make a more visual, step-by-step tutorial on how to edit the x_voice.zss file and add character callouts and character breaks to it (using the Zsm Editor software). I'm just following instructions from Outsider's extremely helpful Guide to Modding and adding up my own comments and images to help depicting the process a little more.

Now, if you'd rather watch a video tutorial of this process to help you approach it from a yet new perspective, you should definitely consider this one, made by UltraMegaMagnus.

Notice that now we've got the option to do this editing procedure using another software, which has been reported to be even safer regarding the sound quality preservation achieved: the Zsnd Tool. Luckily we've got a very thorough tutorial (made by Lags) to cover that up as well. You'll find it right here.

STEP 1: locate the x_voice.zss file you've been using currently to play your game (instead of using the one from the original game, I think you'll have more success if you edit an already updated x_voice file, like the one from this thread). If you're already using un updated x_voice file without the aid of the Mod Organizer 2 software, it would be found following this path:



Now, if this is your first attempt and your game doesn't have an updated x_voice file, I strongly recommend you download one from the thread I just mentioned (as I really haven't achieved any success while trying to edit the original x_voice file).

STEP 2: copy your x_voice.zss file and paste it elsewhere so you can edit it (you can paste it at your Desktop area, for example)

STEP 3: open the Zsm Editor software (if you don't have it installed, here's the free download link)



STEP 4: hit File > Open and choose the x_voice file you pasted on step 2. Wait for the file to load. Here's how it will look like:



STEP 5: since the software is very sensitive, try not to ever click on any line that already exists inside that file. Just hit the tab called "Files" and then the button "Add file" so you'll add the sound of your choice:



Remember: the sound file you're going to add must be in .wav format, saved as PCM Uncompressed, 22050 Hz, 16-bit, Mono. (If the file's been provided by a modder or a MarvelMods admin, there's a very high chance this has been already taken care of. If you're the one converting the sound file to this format, Wavepad Sound Editor would be the recommended software.)

Next up, Section 1 is for adding your character's callout sound. Section 2 is for adding your character's break sound.


Section 1: adding callouts

If you wish to add a character callout (when the hero is selected on the game's Character Selection Screen and the announcer calls out his/her name), in theory you'd be looking for a sound file named like "an_charactername.wav". After you add it, it'll appear at the end of the list of sound files, on the "Files" tab. In this example, I'm adding the file "an_banshee.wav" to the list.



To generate a Hash number for your character callout, hit F3 and an "Input text" window will pop up. On the "Text:" field, type in COMMON/MENUS/CHARACTER/AN_banshee. The end of this line will always be "AN_charactername", the "charactername" part being the actual "name" you find on your character's entry inside the heroestat.engb file. For example:


(in the example above, the line would be COMMON/MENUS/CHARACTER/AN_drstrange)

After you typed in that line, hit the "Convert" button right next to it.



Copy the number it will be generated on the "Result" area, hit the "Close" button and go back to the "Files" tab where you added Banshee's wav file.



Go to the line where your new sound is at, click inside the "Hash" field until it becomes highlighted/editable and paste the number you've copied on the previous step. Then click just one time on any area of your sound line, just to leave the Hash field. Pay attention to this Hash number and also to your sound's ID number (it's the first column, on the left), for we'll use them next.



Now go to the "Events" tab:



Type in your new sound's Hash number inside the "Event" field, its ID inside the "ID" field (delete any zeros that might still appear), and "31" inside the "Data" field. Then hit the "Add" button.



If successfully added, your character callout entry will look like this at the end of the events list:



Then finally, go to the "File" main menu and click on "Save".



Save the x_voice file as a .zss file. Overwrite the file you were working at.



Choose the "PC" format when the next window appear. Hit the "Ok" button when the software tells you the file was saved successfully. Exit the Zsm Editor software. Copy your new x_voice file and paste it inside the game's proper sound folder so it's replaced and updated.




Section 2: adding breaks

Now, if you wish to add a "break line" (that's when your character would say something before leaving the Character Selection Screen and entering the stage), you have to edit this same x_voice.zss file using the Zsm Editor software, so go back to the begining of this tutoturial and follow steps 1-5 all over again, then come back here. The sound file you'll be looking for to add as a break line would have a name like "break_charactername.wav" or something like that. In this example, we'll use Banshee one more time, so here is how is going to look when you add his break sound file to the Files tab:



To generate an event/hash number for your character break, hit F3 and an "Input text" window will pop up. On the "Text:" field, type in COMMON/MENUS/CHARACTER/BREAK_banshee. The end of this line will always be "BREAK_charactername", the "charactername" part being the actual "name" you find on your character's entry inside the heroestat.engb file. For example:


(in the example above, the line would be COMMON/MENUS/CHARACTER/BREAK_drstrange)
After you typed in that line, hit the "Convert" button right next to it.



Copy the number that will come out at the "Result" field, hit the "Close" button and go back to the "Files" tab where you added Banshee's wav file. Replace the Hash number of its line by clicking inside it until it becomes highlighted/editable and pasting the Hash number you've copied in its place. Pay attention to this Hash number and its ID since we'll use both of them next.



Now go to the "Events" tab:



Paste the Hash number in the "Event:" blank field, the ID number inside the "ID:" blank field (deleting any zeros that might still appear) and type in "255" inside the "Data:" blank field. Hit the "Add" button. After that, your new break sound should appear at the end of the list like this:



Then finally, go to the "File" main menu and click on "Save".



Save the x_voice file as a .zss file. Overwrite the file you were working at.



Choose the "PC" format when the next window appear. Hit the "Ok" button when the software tells you the file was saved successfully. Exit the Zsm Editor software. Copy your new x_voice file and paste it inside the game's proper sound folder so it's replaced and updated.



Ant that's it! Do let me know if any questions come up.
My released mods: http://bit.ly/39aogu6
My released skins: https://bit.ly/3i4Tdoy
My released huds and loading screens: http://bit.ly/2LPMnWi
My ongoing projects: http://bit.ly/3anXT3s


I agree: Excellent guide!

Can you confirm that lowercase works for hashes? The old x_voice guide taught us to use all uppercase letters...

It might be cool to include steps on how to do this with nikita488's new ZSND program that he released on the Discord

Quote from: BaconWizard17 on May 02, 2021, 11:51AM
This is very helpful! Thank you for making this!

I'm very glad I could help the community, really. When a player wrote to me asking for help after not being able to make it work no matter what he tried, I felt like it was the least I could do after learning so much from you all. I honestly never thought I'd be able to release mods and other content to a game that's so dear to my past (and present!).

Quote from: BaconWizard17 on May 02, 2021, 04:42PM
It might be cool to include steps on how to do this with nikita488's new ZSND program that he released on the Discord

Agreed! I hope I'll learn how to use this new program in a near future so I can come back here and update the tutorial. :)


Quote from: ak2yny on May 02, 2021, 02:13PM
I agree: Excellent guide!

Can you confirm that lowercase works for hashes? The old x_voice guide taught us to use all uppercase letters...

I'm so happy you guys found it helpful! And yeah, I'm glad to confirm that it's safe to type in the character's "name" all in small caps (just tested it with Cannonball :cball:). I'm not so sure about all of the rest of the text that comes before the name, though, so I always proceed this way:

COMMON/MENUS/CHARACTER/AN_name
COMMON/MENUS/CHARACTER/BREAK_name
My released mods: http://bit.ly/39aogu6
My released skins: https://bit.ly/3i4Tdoy
My released huds and loading screens: http://bit.ly/2LPMnWi
My ongoing projects: http://bit.ly/3anXT3s

Thanks for confirming this.

I don't think we need to worry about the other part. In zsm-editor you can select this part from the drop-down menu, and in Zsnd, you can copy/paste it from another callout/break hash.

I agree as well as this is an excellent tutorial. I have placed a link to this in my modding guide (in the sounds lesson) in case people would like a more visual tutorial. Well done.


Quote from: ak2yny on May 02, 2021, 11:45PM
In zsm-editor you can select this part from the drop-down menu, and in Zsnd, you can copy/paste it from another callout/break hash.
Whoa, I didn't notice that about Zsm Editor! I usually copy/paste and then edit the lines when I add a new sound, but I'll definitely check that out.

Quote from: Outsider on May 03, 2021, 07:05AM
I agree as well as this is an excellent tutorial. I have placed a link to this in my modding guide (in the sounds lesson) in case people would like a more visual tutorial. Well done.
That's pretty amazing, Outsider, thanks a lot! I'm very happy I've managed to help out somehow. I feel like sometimes it helps when you read guidelines from two different sources on how to do one same thing, as views may complement each other and people learn in different ways.

That video posted by UltraMegaMagnus, for example, would possibily be the one thing there's left to demonstrate this process. I think I'll mention it by the end of my first post here, if that's ok.
My released mods: http://bit.ly/39aogu6
My released skins: https://bit.ly/3i4Tdoy
My released huds and loading screens: http://bit.ly/2LPMnWi
My ongoing projects: http://bit.ly/3anXT3s