GSUB
Smash Lord
HPS Music Hacking in SSBM! Simple Step-By-Step Guide!
Step 1: Getting What You Need!
a. Download this pack of tools: http://www.megaupload.com/?d=GAE510W9
b. Once downloaded, open that file, and drag and drop the folder called "Audio" (within the folder, "Tools") somewhere convenient!
c. Search google for "hssbm.rar" DOWNLOAD THAT FILE!
d. Now open hssbm.rar, and place the file "spqr.iso" in your new Audio folder (as created above!).
e. Find and download the song you would like to hack into Melee! Place that .mp3 into our "Audio" folder.
f. Use your computer's "Search" function to find the program, "cmd.exe" Once you find it, right-click it, then hit, "copy." Now go to your audio folder and press ctrl-v to paste it in there.
Step 2: Picking The Stage!
a. Pick a stage to hack! Only some (most tournament legal stages) can be music-hacked to their fullest extent, due to some modifications made by Sleepy-K. Once you know the stage you want, find its file name here and remember it:
[collapse=Show Stages]Rainbow Cruise | rcruise.hps
Jungle Japes | kongo.hps
Great Bay | greatbay.hps (song must be 45.8 secs or less here)
Brinstar | zebes.hps
Yoshi's Story | ystory.hps
Yoshi's Island | yorster.hps
Fountain of Dreams | izumi.hps
Green Greens | greens.hps
Corneria | corneria.hps
Pokemon Stadium | pstadium.hps
Poke Floats | purs.hps
Mute City | mutecity.hps
Kongo Jungle 64 | old_dk.hps
Dream Land 64 | old_kb.hps
Battlefield | sp_zako.hps
Battlefield Alternate | hyaku.hps
Final Destination | sp_end.hps
Final Destination Alternate | hyaku2.hps
Menu 1 | menu01.hps
Menu 2/Menu Alternate | menu3.hps[/collapse]
b. In the Audio folder, run the program GC-Tool-gamecube. Click File -> Open GC ISO. Under Files type, choose All. Find you iso (spqr) in the Audio folder, where you saved it, and hit open.
c. Press the "+" next to GCM Root on the right side of the screen. Now hit the "+" next to Audio. Under that list, find the filename of the stage I asked you to memorize (file_name_here.hps).
d. Now right-click your file, and choose Extract File. Save the file to your Audio folder (don't try and make separate folders here, everything needs to be in that one folder.)
Step 3: Getting Your MP3 Ready!
a. Open the program Wavosaur.1.0.4.0 inside your Audio folder. Once the program has started, hit File -> Open. Choose your .mp3.
b. Trim the song here as to how you would like it to be looped.
c. Now to make the song melee compatible! Click Process -> Resample. In this window, uncheck every box there, leaving them all blank. In the available space to type, replace the number there, with the number, 32000. Hit okay, and wait for it to finish processing. Listen to the song to make sure it sounds right! (if it sounds slow or sped up, you didn't uncheck the boxes when resampling! reopen your file and do that again). After that, hit Process -> Bit Depth Converter. If the song isn't 16 bits, convert it to 16 bits here. Hit okay.
d. Now we need to create a Left Audio file, and a Right Audio file for the song. Click Process -> Convert to Mono -> Left Only. Now hit File -> Save. Save it in your audio file as something recognizable, making sure to note if it's left or right. So I'd recommend, songnameL.wav. Hit save. Now, back in Wavasaur, hit ctrl-z to undo your changes, making the song stereo again. Click Process -> Convert to Mono -> Right Only. Now save it as songnameR.wav, inside your audio folder.
e. Okay! See near the play button? [>], there's a button like THIS [>>|], click inside of your audio track, then CLICK THAT BUTTON! Good. Now right under your audio track, you should see the songs total time! Convert that to seconds, and write it down in notepad or on paper! If it was 3:30:134, now it's 210.134.
f. Close Wavasaur!
Step 4: Making Your New HPS Music File!
a. Remember that cmd.exe I had you paste in your Audio folder? Open it!
b. Inside that command console, right-click and paste this line!:
d. Open up the newly created My_Offsets.txt in your audio Folder. Look in the total secs column. Find the closest point of your starting time for the song (presumably, 0.000). Record in that notepad or piece of paper, the offset and total secs from that line, it will look similar to this:
Step 5: The "Hard" Part!!! Editing your HPS to fit properly in Melee!
a.Open the program within the Audio folder called, HxD. Once running, click File -> Open. Open up "temp.hps" from your Audio folder. Don't be intimidated by all the numbers!!! hahaha.
b. Okay, I'm sure the word offset at least looks comforting in there, because you've seen it before. Now, hit Search -> Go To. Inside that box, make sure hex is checked. In the search, paste your ending times offset (from your notepad or paper). Our examples ending time offset is 00750f20. If it says that number does not exist, close the Go To box, then open it and try again.
c. At your offset, you'll see 16 blocks of two numbers stretching horizontally. Let's pretend it's really 4 blocks of 8 numbers!!! In the third block of 8, replace the numbers with your starting times offset (presumably 00000080). Make sure you TYPE it in, not paste it in. It shoud look now look like this:
d. The intimidating part! Don't worry though! It's not that bad. Take your ending points time, and place it in THIS equation:
e. My converted number is now, 74f8c5. Because it is only 6 characters, add two zeros to the front -> 0074f8c5.
f. Now go back to the hex editor for the last time!!! =D
At the top of the program, you'll see the number 16 in a little drop down box. Change that number to 8. Good! Now scroll to the top of the list. At offset 00000018, replace the first 8 characters with our newly hex converted number. Now it will look like this:
[collapse=Optional Step for Added Quality! HIGHLY RECOMMENDED!]a. Open up that Hex Editor again!
b. If you remember correctly, some .dsp files were spat out by Step 4 in this guide. Open both of those in the Hex Editor, along with your temp.hps.
c. SELECT "8" bytes per row at the top of each tab.
d. In "songnameL.dsp," highlight starting halfway through the line offset 00000018, all the way through the end of offset 00000038. If you look at the bottom of the tab, make sure it says 24 bytes (that's how many you're copying). Now Copy those numbers
e. In temp.hps, highlight starting at offset 00000020, through halfway of offset 00000040 (make sure it's 24 bytes again) Then paste over it!
f. In "songnameR.dsp," highlight starting halfway through offset 00000018, all the way through the end of offset 00000038. If you look at the bottom of the tab, (making sure it says 24 bytes). Now Copy those numbers.
g. Lastly, in temp.hps, highlight starting at offset 00000058, through halfway of offset 00000078. (check the 24 bytes!). Now Paste!!! Hit File -> Save, while in the temp.hps tab. Close the Hex Editor! You're done here! You won't be experiencing any crackles or pops in your song like people who skipped this step might! Good Job![/collapse]
[collapse=Optional Step to test the song!]a. Run the cmd.
b. paste this in there, and then hit enter:
Step 6: Stickin Dat HPS File up Inside of Melee!
a. In your Audio folder, rename temp.hps, to whateveryouwant.hps. Making it the name of your song would be a good idea.
b. Open the program GC-Tool-gamecube, and load up the iso like we did last time.
c. Drop the folders open using the "+" until you find the hps you originally extracted.
d. Right-Click the file, choose Replace File. Find the whateveryouwant.hps you just renamed and edited in the hex editor, and hit okay to replace. When a window pops up, asking if you want to change the files size, hit NO. Make sure you hit NO!!!!!!! Okay, good. Now close the GC Editor.
e. Your iso is done! You have successfully placed your song inside melee!!!
f. You can test it with Dolphin, or by burning the iso as an image, and playing it on your properly hacked Wii! (or hacked gamecube)
Much credit to SleepyK, GodFed, and Tichinde925 for figuring all this out!!!
Step 1: Getting What You Need!
a. Download this pack of tools: http://www.megaupload.com/?d=GAE510W9
b. Once downloaded, open that file, and drag and drop the folder called "Audio" (within the folder, "Tools") somewhere convenient!
c. Search google for "hssbm.rar" DOWNLOAD THAT FILE!
d. Now open hssbm.rar, and place the file "spqr.iso" in your new Audio folder (as created above!).
e. Find and download the song you would like to hack into Melee! Place that .mp3 into our "Audio" folder.
f. Use your computer's "Search" function to find the program, "cmd.exe" Once you find it, right-click it, then hit, "copy." Now go to your audio folder and press ctrl-v to paste it in there.
Step 2: Picking The Stage!
a. Pick a stage to hack! Only some (most tournament legal stages) can be music-hacked to their fullest extent, due to some modifications made by Sleepy-K. Once you know the stage you want, find its file name here and remember it:
[collapse=Show Stages]Rainbow Cruise | rcruise.hps
Jungle Japes | kongo.hps
Great Bay | greatbay.hps (song must be 45.8 secs or less here)
Brinstar | zebes.hps
Yoshi's Story | ystory.hps
Yoshi's Island | yorster.hps
Fountain of Dreams | izumi.hps
Green Greens | greens.hps
Corneria | corneria.hps
Pokemon Stadium | pstadium.hps
Poke Floats | purs.hps
Mute City | mutecity.hps
Kongo Jungle 64 | old_dk.hps
Dream Land 64 | old_kb.hps
Battlefield | sp_zako.hps
Battlefield Alternate | hyaku.hps
Final Destination | sp_end.hps
Final Destination Alternate | hyaku2.hps
Menu 1 | menu01.hps
Menu 2/Menu Alternate | menu3.hps[/collapse]
b. In the Audio folder, run the program GC-Tool-gamecube. Click File -> Open GC ISO. Under Files type, choose All. Find you iso (spqr) in the Audio folder, where you saved it, and hit open.
c. Press the "+" next to GCM Root on the right side of the screen. Now hit the "+" next to Audio. Under that list, find the filename of the stage I asked you to memorize (file_name_here.hps).
d. Now right-click your file, and choose Extract File. Save the file to your Audio folder (don't try and make separate folders here, everything needs to be in that one folder.)
After your first music hack, you can re-use this .hps for any stage music you want. So after this guide, I recommend you name this file, STAGEMUSIC.hps. If you're doing menu music, then rename it MENUMUSIC.hps, after completion of this guide. (As in, you can skip this step when coming back to make more hps music files, seeing as you already have one downloaded).
Step 3: Getting Your MP3 Ready!
a. Open the program Wavosaur.1.0.4.0 inside your Audio folder. Once the program has started, hit File -> Open. Choose your .mp3.
b. Trim the song here as to how you would like it to be looped.
c. Now to make the song melee compatible! Click Process -> Resample. In this window, uncheck every box there, leaving them all blank. In the available space to type, replace the number there, with the number, 32000. Hit okay, and wait for it to finish processing. Listen to the song to make sure it sounds right! (if it sounds slow or sped up, you didn't uncheck the boxes when resampling! reopen your file and do that again). After that, hit Process -> Bit Depth Converter. If the song isn't 16 bits, convert it to 16 bits here. Hit okay.
d. Now we need to create a Left Audio file, and a Right Audio file for the song. Click Process -> Convert to Mono -> Left Only. Now hit File -> Save. Save it in your audio file as something recognizable, making sure to note if it's left or right. So I'd recommend, songnameL.wav. Hit save. Now, back in Wavasaur, hit ctrl-z to undo your changes, making the song stereo again. Click Process -> Convert to Mono -> Right Only. Now save it as songnameR.wav, inside your audio folder.
e. Okay! See near the play button? [>], there's a button like THIS [>>|], click inside of your audio track, then CLICK THAT BUTTON! Good. Now right under your audio track, you should see the songs total time! Convert that to seconds, and write it down in notepad or on paper! If it was 3:30:134, now it's 210.134.
f. Close Wavasaur!
Step 4: Making Your New HPS Music File!
a. Remember that cmd.exe I had you paste in your Audio folder? Open it!
b. Inside that command console, right-click and paste this line!:
c. Hit the Enter key. It will look like nothing happened! But a lot is going in actuality! Inside your Audio folder, you'll notice some new files. To know when cmd.exe is finished doing its thing, compare the file size of the newly created, temp.hps, with the files size of your original .hps, when they are the same size, it's done. This may take some time. (you might have to refresh your folder to notice the change in file size) Also, cmd.exe will have gone back to its neutral typing position. You can now close the command console.hps_insert file_name_here.hps songnameL.wav songnameR.wav > My_Offsets.txt
Key:
file_name_here = replace with the .hps file name I had you memorize, the one you extracted, for your stage.
songnameL = replace with whatever you named your left audio file
songnameR = replace with whatever you named your right audio file
d. Open up the newly created My_Offsets.txt in your audio Folder. Look in the total secs column. Find the closest point of your starting time for the song (presumably, 0.000). Record in that notepad or piece of paper, the offset and total secs from that line, it will look similar to this:
Now do the same thing for your ending time (the total seconds of your song I had you write down earlier). Pretending your time was 210.134, like our example was, you'd put THIS line in that notepad or paper. (notice that I take the smaller time closest to my total time, as opposed to the longer time. This prevents a small audio gap between your total time, and the games closest total time.)offset:00000080 total secs:0.000
e. Close My_Offsets.txtoffset:00750f20 total secs:209.613
Step 5: The "Hard" Part!!! Editing your HPS to fit properly in Melee!
a.Open the program within the Audio folder called, HxD. Once running, click File -> Open. Open up "temp.hps" from your Audio folder. Don't be intimidated by all the numbers!!! hahaha.
b. Okay, I'm sure the word offset at least looks comforting in there, because you've seen it before. Now, hit Search -> Go To. Inside that box, make sure hex is checked. In the search, paste your ending times offset (from your notepad or paper). Our examples ending time offset is 00750f20. If it says that number does not exist, close the Go To box, then open it and try again.
c. At your offset, you'll see 16 blocks of two numbers stretching horizontally. Let's pretend it's really 4 blocks of 8 numbers!!! In the third block of 8, replace the numbers with your starting times offset (presumably 00000080). Make sure you TYPE it in, not paste it in. It shoud look now look like this:
the x's being other numbers we don't care about. The point of this is showing the hps file where to loop back to (the beginning), once it reaches our ending time (which is why it's in the ending offset).offset:
00750f20 | xxxxxxxx xxxxxxxx 00000080 xxxxxxxx
d. The intimidating part! Don't worry though! It's not that bad. Take your ending points time, and place it in THIS equation:
For our example, we place 209.613 in place of EndTime. So our total is 7665861 (if you have decimals just forget about em). Now take THAT total, and convert it to hexidecimal using this website: http://www.statman.info/conversions/hexadecimal.html[(32000*EndTime)(16/14)]+15
e. My converted number is now, 74f8c5. Because it is only 6 characters, add two zeros to the front -> 0074f8c5.
f. Now go back to the hex editor for the last time!!! =D
At the top of the program, you'll see the number 16 in a little drop down box. Change that number to 8. Good! Now scroll to the top of the list. At offset 00000018, replace the first 8 characters with our newly hex converted number. Now it will look like this:
Now do the same thing for offset 00000050.offset:
00000018 | 0074f8c5 xxxxxxxx
g. Good news! You're done with this thing! hit File -> Save. Close the Hex Editor!offset:
00000050 | 0074f8c5 xxxxxxxx
[collapse=Optional Step for Added Quality! HIGHLY RECOMMENDED!]a. Open up that Hex Editor again!
b. If you remember correctly, some .dsp files were spat out by Step 4 in this guide. Open both of those in the Hex Editor, along with your temp.hps.
c. SELECT "8" bytes per row at the top of each tab.
d. In "songnameL.dsp," highlight starting halfway through the line offset 00000018, all the way through the end of offset 00000038. If you look at the bottom of the tab, make sure it says 24 bytes (that's how many you're copying). Now Copy those numbers
e. In temp.hps, highlight starting at offset 00000020, through halfway of offset 00000040 (make sure it's 24 bytes again) Then paste over it!
f. In "songnameR.dsp," highlight starting halfway through offset 00000018, all the way through the end of offset 00000038. If you look at the bottom of the tab, (making sure it says 24 bytes). Now Copy those numbers.
g. Lastly, in temp.hps, highlight starting at offset 00000058, through halfway of offset 00000078. (check the 24 bytes!). Now Paste!!! Hit File -> Save, while in the temp.hps tab. Close the Hex Editor! You're done here! You won't be experiencing any crackles or pops in your song like people who skipped this step might! Good Job![/collapse]
[collapse=Optional Step to test the song!]a. Run the cmd.
b. paste this in there, and then hit enter:
c. In your Audio folder, you'll see a new file, songtest.wav. Go a head and give it a listen! If it sounds good, it's probably gonna work in the iso![/collapse]test -o songtest.wav temp.hps -i
Step 6: Stickin Dat HPS File up Inside of Melee!
a. In your Audio folder, rename temp.hps, to whateveryouwant.hps. Making it the name of your song would be a good idea.
b. Open the program GC-Tool-gamecube, and load up the iso like we did last time.
c. Drop the folders open using the "+" until you find the hps you originally extracted.
d. Right-Click the file, choose Replace File. Find the whateveryouwant.hps you just renamed and edited in the hex editor, and hit okay to replace. When a window pops up, asking if you want to change the files size, hit NO. Make sure you hit NO!!!!!!! Okay, good. Now close the GC Editor.
e. Your iso is done! You have successfully placed your song inside melee!!!
f. You can test it with Dolphin, or by burning the iso as an image, and playing it on your properly hacked Wii! (or hacked gamecube)
Much credit to SleepyK, GodFed, and Tichinde925 for figuring all this out!!!