• 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!

SleepyK

Banned via Administration
Joined
Mar 26, 2006
Messages
5,871
just so you guys know this isn't a request thread, it's a tutorial thread.
 

XACE-K

Smash Master
Joined
Oct 28, 2007
Messages
4,106
Location
New York
There are 3 things i can think of:

1. Try installing the MIOS patcher and cIOS again, then try loading the game.

2. Make sure the disc you're burning to is DVD-R. I haven't tried any other discs so I don't know which will work.

3. There may be errors when burning the disc. Have you been seeing any alert messages when burning with IMGBurn? Please describe any you've come across.
I think 1 or2 might be the problem. When installing the MIOS and cIOS, I wasn't sure which one to use so I picked the first one that was there. As for 2, I'm using a DVD+R disc (which the guide said is okay) for this.
 

luigiman1928

Smash Ace
Joined
Feb 1, 2008
Messages
648
WII SDK is the reason that Google loves Smash Hackers. SEARCH IT. THat or look on RapidShare. I remember seeing it somewhere.
 

DanteFox

Smash Champion
Joined
Apr 4, 2006
Messages
2,628
Location
Santa Barbara, California
ok so I run texconv.exe. it works. now I input the name of the texture I want to convert, press 'y' and enter, and the name of the tpl file I want to create, and press 'y' and enter, then it gives me an error that looks like this:

Code:
error: 
ImNew: no alpha layer in file 'fullpathname\filename.TGA' for image 0

total alloc: 99130
total freed: 99130
press <enter> to quit
help me. ':[
 

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
^ The program says that there is no Alpha Layer for the texture . . .

What kind of program are you using to edit the textures? Programs like GIMP, if I'm correct, erase the alpha layers of textures... which is not a good thing, to say the least.
 

DanteFox

Smash Champion
Joined
Apr 4, 2006
Messages
2,628
Location
Santa Barbara, California
wait, just to make sure, I'm supposed to edit the tga file after I convert it to tpl or before?

and I just got the textures from the file called "orange fox" in the rar posted called "foxes."

at this point I haven't edited the textures at all.
 

SleepyK

Banned via Administration
Joined
Mar 26, 2006
Messages
5,871
oh wow, i just checked and the converter i used to convert the TGAs is wonky, guh.
just open it in photoshop, save it again at the 3200 or whatever. i'll redo it in a minute
 

DanteFox

Smash Champion
Joined
Apr 4, 2006
Messages
2,628
Location
Santa Barbara, California
I don't know what you mean by 'the 3200'. I'm a noob. :[

someone upload fox's and sheik's textures so I can edit them. :)

My gfx card is way too weak to run dolphin so I gotta rely on you guys for textures. <3
 

SleepyK

Banned via Administration
Joined
Mar 26, 2006
Messages
5,871
imo you could just wait for S. to finish his posts as they'll be comprehensive and work with godfed's program
but if you really want i'll do it.
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
Update with HPS stuff, check it out.

I made a program that creates DSPs with dspadpcm.exe, then inserts them into the HPS of your choice. Looping is explained in the guide.

I also provided links to some background music hacks I did, namely
-Moonlit Wilderness replacing hyaku.hps (Battlefield bg?)
-Devastation's Doorway OCRemix replacing izumi.hps (Fountain of Dreams)
-Pokemon Crystal West Coast Radio OCRemix replacing pura.hps (Poke Floats)

Ideas for future ones
-Brawl Oot Medley to replace akaneia.hps (one of Hyrule Castle's themes)
-Vectorman Overflow OCRemix to replace uh...anything, really
-Brawl Melee theme remix to replace menu1.hps (menu 1)

Huh, the only video footage I can get is on Dolphin...I need a capture card :p
 

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
^ Ahh, blast it, GodFed, had I seen this before I JUST burned another disc. XD

I'll get right to checking out how this HPS program works, and probably use a theme or two you've created (specifically the Pkmn Crystal one catching my eye).

EDIT: All right, so the whole conversion process isn't too bad, nor is creating two mono Left and Right music channels. Even using the hps_insert is all right.
But, of course, I'm having trouble trying to grasp the looping process.

I'm currently using "pokesta.hps" as my dummy, and I want to replace that with a custom theme (in my case, Lugia's theme from Pokemon HeartGold/SoulSilver). When I go through the process naturally and use hps_insert without a care, I get the file inserted with a huge blank spot after where the file ends, then a random point where the file automatically repeats. No problem; I kind of figured it'd do that, as it was just a dummy test.

However, the whole header process... has me totally perplexed. What is a "counter," and when did that start being used for anything? And subtracting... What am I subtracting from? I don't see anything inside the header worth subtracting from when trying to create my custom end-loop point.
 

I.B

Smash Lord
Joined
Apr 14, 2007
Messages
1,704
Location
Torontario
Great thread you got going here guys. I was doing some searching and came across a great re-creation of Samus' texture from Brawl (for Melee use):



Download (only TGA files)

Credit goes to Vanit from EmuTalk.net
 

I.B

Smash Lord
Joined
Apr 14, 2007
Messages
1,704
Location
Torontario
You mean already edited ones? Nah I couldn't find any.

If you're looking for the originals check the main post.
 

I.B

Smash Lord
Joined
Apr 14, 2007
Messages
1,704
Location
Torontario
I got no idea.

You can either wait for S. to upload the Fox/Sheik texture packs or dump them yourself.
 

DanteFox

Smash Champion
Joined
Apr 4, 2006
Messages
2,628
Location
Santa Barbara, California
nm i think i got them to work. It's fine. S. probably won't get to uploading those for a while anyway.

Ok so now I opened up the dat file and a tpl file in hex workshop.

now I can't find the offset. Would anyone care to elaborate on how to do this? The tutorial says to use the search function to find it. I highlight some code after the first four lines, I copy it, go to the dat code, use the search function, paste the code in, and search. The program says it found nothing. Obviously I'm doing it wrong, but I'm not sure how, since the tutorial is vague regarding this.

nm again lol. I guess I must have fundamentally altered the hex code in some way by manually adding an alpha layer, because the search function works, but it doesn't find similarities between the tpl file and the dat file.

dang. Looks like I'm gonna have to wait for someone to upload the textures. :/
 
Last edited by a moderator:

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
However, the whole header process... has me totally perplexed. What is a "counter," and when did that start being used for anything? And subtracting... What am I subtracting from? I don't see anything inside the header worth subtracting from when trying to create my custom end-loop point.
Ooh, sorry. I seem to skip out on important info a bit here. I tried to keep things a little shorter, but I skimped out on some explanations..


HPS files are like a stack of bricks. Each brick is a piece of the final stack. Each brick has a label on it that states its size, and the location of the next brick.
Back to computer-speak. HPS files are built out of blocks of audio data. Each block has a one-line header that has the relative size, and the location of the next block to be read. So the first block calls the second, the second calls the third, etc....until the last one calls the first block and loops back to the beginning to start all over again. This is the simplest loop. A more complex loop would be the last block calling the third block, instead of the first, so it loops to a point a little past the beginning. Or even, you can forget the last block entirely, and make the second-to-last or third-to-last block call one of the first few. There are a lot of possibilities with loops.

Now, the last block calls a previous block. It must somehow be a specific point in time in the audio, like 3.257 seconds. The first block will start at 0 seconds, and play the audio until it runs out of block room. The next block will start where the previous one left off (at 1.792 seconds), and play until the end of the block, and so on. What determines the time that each block takes up? That would be its relative file size. I have a general formula for calculating it, but it's a bit complex, so I'll save space for it later.

The "counter" is just a number you keep on your calculator that you add to as you go through the headers - it counts. Starting at 0, you check the first header - oh, it says 00 01 00 00, which is 1.792 secs - so you add 1.792 to your "counter", which is now 1.792. The next header also reads 00 01 00 00, so you add 1.792 to the counter, which is now 3.584. And we keep going, adding seconds based on the size of the blocks, until we get close to our desired loop point. Before we started this "counter" business, we had loop points in mind, generally, for where we wanted the audio to loop. The counter addition is just to find the loop point that's preset into the HPS that we can base our audio off of.

I'm not going to go into detail about subtracting with the counter because....hps_insert does it for you. When I was writing the guide, before actually posting it, I didn't have hps_insert to help me. In the guide, I wrote what I did to find the points without the program. When I finished the program, I wrote about it in the guide, but I didn't take out the part about the manual addition and subtraction that was necessary to find the times that could be looped to/from. Once again, hps_insert does it for you. The data that it tells you is "offset...length...secs...total secs". The total secs one is the point in time at that block. So if you wanted to loop from 35.441 seconds for some reason to 123.321 seconds, you check hps_insert with the dummy test run and find that you can loop from 36.894 to 122.998 seconds, since the total secs option tells you what numbers are close to yours (I'm not actually looking at hps_insert, so I made those numbers up). You're limited by the HPS structure, and the loop points that you set up in your audio have to fit with the loop points that were set up in the HPS originally.

Hopefully that's cleared it up a bit..I'll update the guide to try and make it clearer. In the meanwhile, here's the formula I use to calculate seconds based on block size.
Given B (block size in decimal),
(((B/2)+8) * 1.792)/32776 = time
Round time to three decimal places.

Another note - usually if I think I'm done with a HPS hack, and I test it with vgmstream and I find it doesn't work right, I take the last header, which is usually 0xFE00 bytes from the end of the file, and I replace it with FF bytes. This somehow makes things work right.

Once again, sorry I confused you. I'm finding it difficult to manageably display my thought process for the hacking.
 

SleepyK

Banned via Administration
Joined
Mar 26, 2006
Messages
5,871
nm again lol. I guess I must have fundamentally altered the hex code in some way by manually adding an alpha layer, because the search function works, but it doesn't find similarities between the tpl file and the dat file.

dang. Looks like I'm gonna have to wait for someone to upload the textures. :/
idk, chaddd managed to get them to work by simply saving them again in photoshop as 32 bits per pixel and they worked fine.
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
interesting thing I found....some of the HPS files I made do work with Dolphin, some just make it crash. And some that worked before just crash now in random places. I'm not sure what the issue is; they work with vgmstream no problem. However, I might need to make a few more tweaks to the hacking process in order to make it Dolphin compatible.
Since it doesn't work with Dolphin, I'm dubious as to how it might works on an actual system.
Anyone have ideas?
 

SleepyK

Banned via Administration
Joined
Mar 26, 2006
Messages
5,871
are you willing to test them? if not, just put them up and i'll run them real quick
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
Naw, I figured it out. I made a mistake with the block headers in the program. It's fixed, and I redid all the old hps hacks I did, and some new ones. These ALL work on Dolphin

izumi - devastations doorway - fountain of dreams
http://www.megaupload.com/?d=C9CP4H98

pstadium - lance battle remix - pokemon stadium
http://www.megaupload.com/?d=ZM7S0IAF

hyaku - moonlit wilderness - multiman melee theme 1
http://www.megaupload.com/?d=F7WGSLAS

akaneia - oot medley from brawl - fire emblem theme
http://www.megaupload.com/?d=D1NGHZVK

pura - wc crystal pokemon remix - poke floats
http://www.megaupload.com/?d=LRJP2YFE

NEW AND IMPROVED program
-fixed header problem, now edited HPSs work correctly
hps_insert - v1.1
http://www.megaupload.com/?d=V3235020
 

billbaggins

Smash Rookie
Joined
Sep 16, 2009
Messages
20
Do this for each HPS....or wait for wonderful batch programming magic from billbaggins to speed this up :)
Sounds like I'm needed to cut down on times for hacks! Will pump out a batch file soon.

Just gotta get caught up on homework for the weekend.
 

I.B

Smash Lord
Joined
Apr 14, 2007
Messages
1,704
Location
Torontario
So I tested out pstadium, akaneia, pura with dolphin and the only one that made dolphin crash was pura. The stage would load fine and the music would start, but then it crashes like 2 seconds in.
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
Sounds like I'm needed to cut down on times for hacks! Will pump out a batch file soon.

Just gotta get caught up on homework for the weekend.
haha, just a suggestion, like the DSP-> WAV batch conversions, to get all of the WAVs for all of the HPS files


@I.B.
Good to see they work. I'll take a look at the pura.hps one.
How do they sound? I hear a few blips in the audio at times, but I think it's good overall..

edit: fixed the pura.hps, am updating the first page link now (edit edit: fixed the link)
http://www.megaupload.com/?d=WEG1M365
 

I.B

Smash Lord
Joined
Apr 14, 2007
Messages
1,704
Location
Torontario
Yea they do sound good overall. I'll try the updated pura in a sec.

edit: It works fine.
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
^They're audio hacks, not model or texture hacks yet. So it's just the background music. A picture wouldn't show anything different. A video might, though..
 

billbaggins

Smash Rookie
Joined
Sep 16, 2009
Messages
20
Just finished the HPS -> WAV batch file

You can choose whether or not to loop files and lets you loop them all the same way or go through one at a time to decide. Also prints output to txt files.

get it here

Code:
@echo off

echo HPS to WAV extractor
echo.
echo by Billbaggins
echo.
echo Put this along with the HPS files and
echo test.exe (the vgstream executable) in the same folder
echo.
PAUSE
CLS

:200

mkdir hps
mkdir wav\hps
mkdir txt\hps


:201

CLS
echo Do you want to have loops in your WAV files?
echo.
SET /P C=[Y,N]?
if /I "%C%" == "y" GOTO 202
if /I "%C%" == "n" GOTO 203
echo Please type y or n
Pause
GOTO 201


:202

CLS
echo How do you want your wav files to loop?
echo.
echo [1] Loop all files the same number of times
echo [2] Specify number of loops for each file
echo.
SET /P C=[1,2]?
if /I "%C%" == "1" GOTO 204
if /I "%C%" == "2" GOTO 205
echo
echo Please type 1 or 2
Pause
GOTO 202


:204

CLS
echo How many times do you want to loop each file?
echo.
SET /P N=
FOR %%A IN (*.hps) DO (
	test -o wav\hps\%%~nA.wav %%A -l %N% >txt\hps\%%~nA.txt
	move %%A hps\%%A
)
GOTO END


:205

FOR %%A IN (*.hps) DO (
	CLS
	call :test "%%A"
)
GOTO END
:test
echo How many times do you want to loop %~1?
echo.
SET /P M=
test -o wav\hps\%~n1.wav %~1 -l %M% >txt\hps\%~n1.txt
move %~1 hps\%~1
GOTO :eof


:203

CLS
FOR %%A IN (*.hps) DO (
	test -o wav\hps\%%~nA.wav %%A -i >txt\hps\%%~nA.txt
	move %%A hps\%%A
)
GOTO END

:END
CLS
echo Done!
Pause
 

Tichinde925

Smash Legend
Joined
May 4, 2006
Messages
1,391
Location
U.S.A. (Warwick, RI)
Quick question, are audio .hps files similar to .dat files where you cannot simply rename the file to replace a different file?

Like say I wanted to rename "hyaku.hps" to "hyaku2.hps" and replace the "hyaku2.hps" file. Would that work or not work?
 

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
Quick question, are audio .hps files similar to .dat files where you cannot simply rename the file to replace a different file?

Like say I wanted to rename "hyaku.hps" to "hyaku2.hps" and replace the "hyaku2.hps" file. Would that work or not work?
It's possible that it MIGHT work, MIGHT. I mean, I've replaced some songs in Melee with other Melee songs, without even changing the names, and they work fine (like changing one of the Battlefield/Multi-Man Melee themes with the Metal Battle theme). Since you created an HPS file, it should follow the same rules as any other HPS file: So long as your custom HPS doesn't exceed the size limit of the file you are trying to replace, you SHOULD be fine. (I'd recommend saving a back-up of whatever music file you're trying to replace, in case it doesn't work out. This is all just a hunch on my part.)

And billbaggins, you never cease to amaze. Thank you so very much for the in-depth HPS->WAV converter. :)
 

SleepyK

Banned via Administration
Joined
Mar 26, 2006
Messages
5,871
just to let people know, if you want some custom audio stuff and you're too lazy/can't be bothered to do it, i'll do it for you.

excellent work on the hps hacks.
chaddd has been trying to get together a melee that SF and MvC2 players wouldn't mind playing (custom colors, less um, child-friendly music). i'm sure he'll be more than happy with the amazing progress you guys have made!

btw i've done some silly audio stuff
if anyone is interested i've
changed fox's shine to the BONK from puppet pals (From dexter's laboratory)
changed fox and falco's lasers to star wars lasers
http://www.youtube.com/watch?v=GPBEJX76RSs
etc.

idk if anyone cares but i can provide the .ssm files if anyone is interested
 

I.B

Smash Lord
Joined
Apr 14, 2007
Messages
1,704
Location
Torontario
Kinda confused here... with billbaggin's HPS -> WAV converter, which steps does this allow us to skip?

And can it be used in conjunction with GodFed's WAV -> HPS?
 

GodFed

Smash Apprentice
Joined
Mar 25, 2009
Messages
160
Location
Hendrick House, Urbana, IL
billbaggin's batch program would be for this:
-you copy all the HPS files from the game's audio folder into a different one
-put the batch program in there, as well as vgmstream test.exe
-double click the batch program
Then it makes WAVs out of them. It's for reference for you when you want to see your limit on how long of an audio clip you can insert. Look at the length of the HPS WAV file you want to replace - that's the max
 
Top Bottom