• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Important Melee, Hacks, and You -- New Hackers Start Here, in the OP!

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
I love the laser sounds, SleepyK. Vary nice.
btw, I've been asked to make I'm on a Boat for rcruise.hps...I should have that done by the end of this week. I figure this is one of your less child-friendly ideas.

I.B., nice corneria theme. The loop point is pretty difficult on that - you did a good job with maintaining the continuity.
 

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
Shoot. Been busy with a lot of school stuff; haven't been able to make a hack for a while. I think I may be suffering from withdrawals, LOL.

Just for the record, made a website containing links and whatnot to a lot of the stuff I've made so far... Figured I'd show it here for those interested in keeping tabs on it, or just to see what's up and going with updates.
 

I.B

Smash Lord
Joined
Apr 14, 2007
Messages
1,704
Location
Torontario
^ Raaape. I'll definitely be keeping tabs on that site. Good **** S.!

Also, I was searching for songs I could replace with one of the FD themes and found this: http://www.youtube.com/watch?v=fdNug80HN84

So I went ahead and made an .hps (hyaku2.hps, the alternate FD theme) of it. Turned out ok: the volume is a bit low and the loop point is a little off but still sounds good. Check it out: http://www.megaupload.com/?d=LR100L7Y

I included the original song in the rar file incase anybody wanted to redo the .hps for better results.
 

Anth0ny

Smash Master
Joined
Oct 14, 2007
Messages
4,061
Location
Toronto, Ontario
Shoot. Been busy with a lot of school stuff; haven't been able to make a hack for a while. I think I may be suffering from withdrawals, LOL.

Just for the record, made a website containing links and whatnot to a lot of the stuff I've made so far... Figured I'd show it here for those interested in keeping tabs on it, or just to see what's up and going with updates.
Favourited :)

And holy **** at all of those Zelda textures. I'm about ready to burn another texture/music/sound hacked Melee disc... what characters still don't have a custom texture yet? Just Samus, Peach, Yoshi, DK and Bowser? The entire roster with a texture hack will be awesome.
 

Tichinde925

Smash Legend
Joined
May 4, 2006
Messages
1,391
Location
U.S.A. (Warwick, RI)
I shortened "Lonely Island - I'm on a Boat" so that it would be loop-able front to back and is short enough to fit on Rainbow Cruise.

Here is the .wav I uploaded:

http://www.megaupload.com/?d=CIOPN5FI

It fits perfectly and the only looping points are the very beginning and the very end.

May someone please turn this .wav into a .hps file for use with Rainbow Cruise (rcruise.hps), Many Thanks to anyone who attempts this!
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
hm, I'll try again. I'll update with a link in a half-hour...

edit: well, here's a new one, the old link is now deleted

http://www.megaupload.com/?d=WEYVF7NO

I knew that it cut off part of "mermaid", because I wanted to skip over the final repeating "I'm ona boat" beforeit looped....didn't realize there was silence, though..
This one shouldn't have silence.



Also, do DVD+R's work for burns? 'm planning to burn a copy for my friend's homebrew wii, but I only have DVD+R's...anyone know for sure?
 

SleepyK

Banned via Administration
Joined
Mar 26, 2006
Messages
5,871
dvd+rs work just fine.
burn then at 2x if available.
2.4 works too but it takes longer to load
 

Tichinde925

Smash Legend
Joined
May 4, 2006
Messages
1,391
Location
U.S.A. (Warwick, RI)
I burn everything at 16X with no errors what so ever.

Melee burns instantly lol.

I dont know what you mean about taking longer to load because everything loads normally.

SleepyK, you convert those Lasers and "Bonk" reflector sound to US yet? When you have time to convert them, please post the end results here.

P.S.

There is still a delay when it ends and loops over again.

Is it because I made the .wav one second shorter than the original was? The original was 90.41 secs and my .wav is 89.25 secs?

The guide said that anything bigger is not going to happen so I got scared and made it shorter.

P.P.S.

It seems you trimmed it down even further from 89.25 to 88.87.

Listening to it loop via vgmstream has no delay but I dont understand why there is a delay in the game :(
 

SleepyK

Banned via Administration
Joined
Mar 26, 2006
Messages
5,871
perhaps having it shorter and filling in 0s is read as silence.
uhhh i'll get to it sooner or later.

and that's odd. i attempted 4x and 8x and they wouldn't load on my wii.
do you have homebrew or a modchip?
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
I'm trying 2x now...been like half an hour so far.

@Tichinde: Interesting how there's a pause ingame....I used vgmstream for all my loop testing, and there wasn't any loop.. Is this on dolphin, or on an actual system?

I trimmed a "samples to read" number down, since the WAV was a little short. This is a number that acts like a secondary timer to looping, to finetune loop points. In the guide, this is sort of explained in "Hextastic part 2" at the end.
I made this number a little smaller to get rid of the silence that occurs naturally between 89.25 and 90.41...dunno what's up now, though.
 

Tichinde925

Smash Legend
Joined
May 4, 2006
Messages
1,391
Location
U.S.A. (Warwick, RI)
Are you verifying the burns with ImgBurn?

I only use one brand and type: DVD-R Verbatim 16X discs, with ID MCC03RG20. I have burned everything, every single thing burnable on a DVD at 16X speed with no errors at all. I guess its due to both the harddrive speed and how new the burner is so the buffer between the two is great.

On my Wii, its both Hardmodded and Softmodded. My wii is strange in which if I leave a disc in, then swap, the disc being put in will not be read by the modchip but will be seen by the softmod.

So basically, when I first turn it on, I get the 8X Wii reading speed. If I insert a different game without turning the Wii off, it goes to 4X speed, which is the softmod speed limitation. (Cant really remember if it is indeed 8x/4x for hardmod/softmod reading speeds.)

Both the modchip and the softmod can see my discs burnt at 16x speed.

For gamecube games, reading speed doesnt matter as Gamecube games read at 4X speed.

P.S.

Im using my Wii and not an emulator.
 

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
and that's odd. i attempted 4x and 8x and they wouldn't load on my wii.
do you have homebrew or a modchip?
On the note of that, it probably relates to how your computer performs (as pointed out by Tichinde925)... I know I use DVD-R Sony brand, and create a disc at 1x speed, which takes roughly five minutes (six minutes tops)... Haven't failed me yet.
 

Tichinde925

Smash Legend
Joined
May 4, 2006
Messages
1,391
Location
U.S.A. (Warwick, RI)

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
On a side note, got up another video showcasing some more audio hacking at work. (Sadly, cannot get music down as I just can't figure it out, let alone put aside some time from school for it.)
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
@Tichinde
The delay thing seems very interesting. I have yet to test it on Dolphin. Does the same thing happen with any of the other HPS files (pstadium, pura, etc) I uploaded? If you have them, can you check? I’d like to look deeper into this.
My first idea for fixing the issue is to stretch the length of the audio clip you had there to the exact size of the rcruise.hps one. So exactly 90.41 seconds. Then it should loop like the original, being the same size.

Hm, I might want to get DVD-R instead of DVD+R…get on track with you folks. I’ll see how the DVD+R 2x speed performs tomorrow.
 

Stevo

Smash Champion
Joined
Mar 31, 2004
Messages
2,476
Location
150km north of nowhere, Canada
is there some way to tell what are variables in the hex code?

Im looking at a .DAT file that ends in AJ but I am completely new at this stuff, so any tips as to how I can identify what is a variable?

any other tips in general would be appreciated as well, because im learning from scratch right now.

do the ASCII characters help? it seems to just be a straight conversion, which I dont know if that can help finding things.

sorry if this sounds really newb and/or makes no sense. And feel free not to answer me if it would take too much explaining lol. Im just looking for any quick tips.
 

Tichinde925

Smash Legend
Joined
May 4, 2006
Messages
1,391
Location
U.S.A. (Warwick, RI)
@Tichinde
The delay thing seems very interesting. I have yet to test it on Dolphin. Does the same thing happen with any of the other HPS files (pstadium, pura, etc) I uploaded? If you have them, can you check? I’d like to look deeper into this.
My first idea for fixing the issue is to stretch the length of the audio clip you had there to the exact size of the rcruise.hps one. So exactly 90.41 seconds. Then it should loop like the original, being the same size.

Hm, I might want to get DVD-R instead of DVD+R…get on track with you folks. I’ll see how the DVD+R 2x speed performs tomorrow.
Battlefield (Moonlit Wilderness), Fountain of Dreams (Devastation's Doorway), Hyrule Temple (OoT Medley), and Pokemon Stadium (Lance/Red Battle Theme Remix) all do not have delays but loop perfectly.

Were these pushed to the exact same size as the original ones in terms of length?

The only thing I disliked was Pokemon Stadium, I wanted it to loop back to the very beginning as the very beginning of that song was excellent :)
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
^Hm. Interesting. Actually, I made a lot of them shorter than the maximum, but I think I know the problem now. It's definitely the length of the WAV. It has to be exactly the length of the HPS it's replacing in the case of this hack(rcruise -> I'm on a boat). I'll just do a time stretch on it, it shouldn't affect the speed at all, since it's only a half-second I'm adding.

Haha, I'll see what I can do with the pstadium one to improve it.

@Stevo
Google "quaternions". That would be, more or less, the basis of the AJ files. It's incredibly complex. The hex data represents change over time for specific model points, making an animation. I'm not completely sure how it's represented, though. Nor do I know where hitboxes, hitstun, damage, etc would factor in.
This isn't a "shoo, noob" sort of thing, though. I highly encourage you to see what you can find. Look for matching values, groups of similar looking values, similar-looking blocks of data, values that seem to represent offsets in the file, etc.
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
Looks like this particular song could loop well from around 57 seconds back to the beginning.

When you make your L and R WAVs and run hps_insert, the program displays offset points for the block headers built in to the HPS. These are where you can loop from. So the loop point you might want would be around 57 seconds, so you would find the offset closest to that, and go to it in your new HPS. On that line, find the 8th byte (the third set of four), and change it to 00 00 00 80. So if the line was
00 01 00 00 00 00 FF FF 00 12 FF C0 00 00 00 05
You change 00 12 FF CO to 00 00 00 80 to tell it to loop back to the beginning of the file. Then you change the value at offsets 0x18 and 0x50 (the "samples to read" data) that determine how far to read until looping. Since we shortened the loop point, we have to make the numbers here smaller.
Read "hex-tastic - part 2" in the guide for how to determine this number, it's mathy.

But yeah....that's how I'd go about it.
 

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
Oohright... FINALLY got around to updating my texture page; I've now uploaded just about every texture package I have... But do note that about 90% of the things I supplied do NOT have their TCS files. Trying to put TCS is just way too time consuming for me. And ifever a "Melee ASH" is created, we'd likely not have to worry about them anyway. :p

*whew*
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
Awesome work, Steelia. I'll be sure to check those out.

Update today. I added three new HPS files...I'm borrowing heavily from HG/SS. And I revamped the HPS guide, making it (hopefully) a bit clearer, along with the HPS overview section.
anyway, Game Corner HG/SS replacing menu02
Kanto Trainer Battle HG/SS replacing pokesta
Mario RPG forest replacing old_kb (idea from I.B. - I don't mean to steal)

I'd really like to use Eusine's theme from HG/SS for something, but I'm not sure what yet...

rainbow cruise, I'm on a boat, Tichinde. Hopefully this works.
http://www.megaupload.com/?d=XSLQ09IA
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
MTH Hacks

VIDEO HACKS - MTH FILES
Overview of THP and MTH Format
Well, here we are. The in-game videos, finally. Before I go into structural format, I want to clear up just what are "movie files" in SSBM.

Movies in SSBM have no sound themselves. Sound is provided through the HPS files. So when the opening movie is played, the images you see on the screen come from MvOpen.mth, while the music comes from opening.hps. So if you wanted to change a movie and its sound, you'd have to do both the HPS and the MTH files. That's two hacks, for the slower readers. The MTH movie files include the opening movie, the how to movie, the 15 minute montage movie, and the clips that play when you beat 1P mode (right before the "Congratulations!" part, but after the credits).

The movies for the GameCube follow the THP format. Just like music is HPS and SSM, movies are THP. THP files hold general data about the movie, like FPS (Frames Per Second), number of frames, width and height, etc. The images themselves are just JPG image files, with minor modifications. THP files are structured to also have audio, but none of the movie files in SSBM have the audio in the same file. The THP files in SSBM are the images you see at the end of 1P mode (when the announcer says "Congratulations!"), and they vary between character, and what type of 1P mode you played through (Normal, Adventure, Allstar). MTH files are just "Mute THPs". They don't have audio capabilities, and their structure is a bit different.

Now for a more technical overview. The JPG frames, in particular. Since each frame is a JPG, can you just copy/paste a JPG into the right spot of the MTH/THP file and make it work? NO. The frames of the MTH/THP have a few changes. To quote YAGCD, "A jpeg file is structured by several markers. A marker is a two-byte code, the first of the two bytes is 0xff. The jpeg standard states that if you want to store the value 0xff, you have to store it as 0xff 0x00 (else it would be confused with a marker). This is NOT the case in .thp files, the value 0xff is stored simply as 0xff in the image data." Also worth noting, each JPG frame is seperated by a value for the next frame's size, which makes the JPG data look a little irregular in a hex editor.
Because MTH files and THP files are so similar, I'd like to outline their differences, like so - first the headers, then the frame data. Headers for MTH files are 0x40 bytes long, while headers for THPs are 0x50 bytes long. Mainly, this is because THP files have an extra line to check for audio files. I'm not going to go in any more detail for the headers like I did for HPS files above, because it doesn't seem necessary. Frames, the quasi-JPGs, have only a few differences, too. In THPs, the beginning of each frame has these three values: [size of next frame], [size of previous frame], and [size of actual JPG data]. MTHs have only [size of next frame]. At the end of each frame, the THP file marks it as the end with the FF D9 marker, while MTH marks it with the FF D9 FF marker. Minor differences.

I go into the differences a bit above, because it kind of tells the story of how I went about hacking these files. In the Wii SDK, there is a program called THPConv that makes THP files. What I did was make a THP file out of some JPGs with this THPConv, and then change the THP to a MTH according to the minor differences. Testing was initially done with a program called thpplay by a guy called "thakis". I think I got it from EmuTalk Forums. So I made a program that changes THPs to MTHs, called mth_make (keeping consistent with the names of my other programs :) ), and I replaced the file MvOpen.mth. The thpplay program played the movie no problem, but on checking it with Dolphin, I got frame speeds of about 2 fps, when I ususally get 27 to 40, just on the opening movie. Pressing start got me through to the menu screen, and everything was normal after that (~35 fps). Yes the movie hack worked, to an extent. I'm not sure how it will do on an actual GameCube/Wii, though.


Hacking the MTH Files

What you need:
-THPConv.exe (from the Wii SDK)
-mth_make.exe (DOWNLOAD here)
-a movie editor program that can output movies as JPGs (I used Adobe After Effects)

0. Before you start

Make a new folder, and put THPConv.exe into it, as well as mth_make.exe. No cmd.exe necessary this time, since we can just double click the mth_make.exe and run it.
1. Getting JPGs from the movie
Find the movie you want to put into the game, and open it with whatever program you're using. This is probably the hardest part. Not everyone has access to high-end programs that can export the movie as JPGs. If you do, please post with what the program is, so I can update with it. Anyway, create a JPG sequence out of the movie, into the folder with the rest of the stuff we're using. Make sure the JPGs are sequentially numbered (###1, ###2, ###3, etc).
Technically, you can just make a bunch of JPGs with an image editor like Paint/GIMP, what have you, and call them 1.jpg, 2.jpg, 3.jpg and make your movie. I assume you all want to actually make movies, though.

2. Running the program

So. The JPGs are all in the folder along with THPConv.exe and mth_make.exe. Double click mth_make.exe and watch the magic. mth_make.exe will call THPConv, create a THP file, and then create a MTH file called "temp.mth". The MTH file is the final product. The time it takes to do this may vary depending on your computer. MTH files are the largest files in the whole ISO, and they take a while to process and change, so be patient.

3. GC-Tool etc
I only put this part in because I scared myself when I tried to replace MvOpen.mth with my temp.mth creation. My computer hung for a few minutes, and I thought GC-Tool was acting up and had frozen. But it all worked. As a reference, MTH files are pretty big, like 100 MB big (465 MB for the 15 minute one, 5 MB for the 1P mode movies), while HPS files are 6 MB on average (30 MB for that 15 minute video). And those Pl****.dat player files barely hit 500 KB. So it makes sense that GC-Tool needs more time for these MTH files.

Other Notes
SSBM THP files - A Note
The files with THP extensions in SSBM are not real THP files. They're just single images, and their headers are a bit different. So in short, you can't just run THPConv on a single JPG and use the resulting THP file to replace the one in-game. sorry. i think.

How to use THPConv.exe
Basic usage from command prompt:
"THPConv -j *.jpg -d output.thp"
which will take all the jpgs in the same folder as THPConv.exe and package them into a file called output.thp.
You can also just do one jpg, by replacing the "*.jpg" with, say, "1.jpg" or "armor.jpg" to just make THPs of those individual files.

temp.mth
Interestingly enough, the MTH I made to replace MvOpen.mth is almost half the size of the original, yet only 10 seconds shorter. Huh. Lower quality, I suppose. DOWNLOAD here, if you're interested.

mth_make.exe
temp.mth
 

Tichinde925

Smash Legend
Joined
May 4, 2006
Messages
1,391
Location
U.S.A. (Warwick, RI)
GodFed, if you have the time, can you replace both menu themes with this:

http://www.newgrounds.com/audio/listen/139405

It repeats at the 52 second mark so its easy enough. You can download it from here:

http://www.newgrounds.com/audio/download/139405

I think this sounds better than the Brawl Remix of Melee :p

The files that should be edited are:

"menu01.hps" and "menu3.hps"

If you could do this, I would be grateful.

(Unless you know of another menu song that should be added :p

P.S.

I havent tested "rcruise.hps" yet but looking at it, it says its only 89.94 secs long. I thought you said you were going to extend it to the full size of 90.41 or did you test this with an emulator?
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
This is actually done very well. I'm really pleased that you were able to do it - it's good to see people are getting it :)
The stutter isn't too noticeable, and you can edit the number at 0x18 and 0x50 to be somewhat smaller to help out. Like making it from [00 1F CF 16] to [00 1F 80 00] or something. I'm still not sure how well this method works on an actual system, though...it does help on vgmstream, though.

People are probably anxious for some video tutes from me. All I can say is that I'm working on them. I've got school, among other things, and SSBM can't always come first..but I'm doing them, don't worry. Mainly editing them to make them informative...that's the time consuming bit.
 

Tichinde925

Smash Legend
Joined
May 4, 2006
Messages
1,391
Location
U.S.A. (Warwick, RI)
Quick Question: How do I make my .wav edits be in "surround" sound?

I'm on a boat / and the Menu music .wav edits I did just come out of my center speaker while your edits and the default ones come out of all speakers / surround.

Is there like a special setting I have to do on my .wav files?
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
Good question.

This all depends on your L and R channels. If they're both the same, then they both come out of the same place, more or less, and they sound the same. You need to separate them from the original mp3/wav/whatever into separate mono files. In Soundbooth, there's an option in File->Export->Channels to Mono Files.

I'm not sure what you use, so check to see what you can do, other than just saving the entire thing as a mono file and then copying it to make L and R. The point is getting the L and R channels separately from the stereo.
 

Tichinde925

Smash Legend
Joined
May 4, 2006
Messages
1,391
Location
U.S.A. (Warwick, RI)
Epic Bumpage due to epic awesomeness:

I edited the alternate version of Final Destination to be this:

http://www.youtube.com/watch?v=OHczaI8t7-4

Thats right, its Dr. Wily's theme!

I only edited the alternate version of FD because I dont know what ".hps" file FD is :(

If you know what it is, please tell me.

Here is the "hyaku2.hps" for download:

http://www.megaupload.com/?d=YWDVN2LO

Enjoy the epic song! To listen to it, please Hold L or R when choosing Final Destination.

P.S.

vgmstream showed a delay when there was no delay at all in the actual game. Also, minor stuttering as usual but it seems to be part of the music :D

Also, the music is too loud for the action on screen lol.

P.P.S.

I also edited and fixed the Melee Menu theme to be "surround." though I did not fix the stuttering on that one.

Download here:

http://www.megaupload.com/?d=DVTFXUBP
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
Awesome work, Tichinde.
Looks like you've really got the hang of it.

Final destination should be sp_end.hps
There are alternate versions of Final Destination and Battlefield in those "sp" ones, like for vs Giga Bowser, vs Metal Mario, etc, so check those out too. That's an interesting thing with vgmstream. I'll check out the hyaku2.hps you posted to see why it may have done that.

I'll update the first post with your HPS edits on Friday when I make my update.
 
Top Bottom