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

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Is there a way to swap animations between characters without outright using a full moveswap code? That'd give characters a LOT more options when it comes to editing their movesets.
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Program received signal SIGILL, Illegal instruction.

haha, typo mesees :p
SIGKILL
As I suspected, I'll probably need to setup a distro and build it myself to see the backtrace with symbols and such. Or someone else.

It is SIGILL. SIGKILL is an unignorable kill from init (unless it's a zombie process, then even the kernel can't touch it). Other signals you can hijack the signal handler and ignore them (Or run whatever function you want). I have some exposure to UNIX thanks to Operating Systems. For the first assignment, we had to write a C program that ran loops when specific SIGs were received. The 2nd was to write a UNIX shell. Ugh, ****ing pipes.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
sorry I took so long to respond... trying to figure out an issue with games that hijack your mouse (such as FPS games or Minecraft)...
basically, if my CPU is maxed, there's a high chance my mouse driver will kill itself.
(I was literally able to kill my mouse within seconds on RedEclipse thanks to a CPU-eater I wrote)
here's the dmesg if you wanna see: https://copy.com/Sj3YbOKI0N6mZJY9 (blah blah)

anyways, I can probably help better with further instruction :)
 

MagicScrumpy

Smash Journeyman
Joined
Feb 25, 2015
Messages
251
Location
Ann Arbor, Michigan
Hi, I'm pretty new to all of this, I started out with crazy hand and have no idea how to use hex edit. If anyone can show me a step by step tutorial on how to edit any projectiles, for example, make mario's fire a stream of fireballs or slow fire a massive fireball, a bunch of newbies and I would be really glad.
It's easiest to change the firing speed for projectiles by playing around with frame speed modifiers (you can easily edit FSMs in Crazy Hand), and as far as I know we don't know how to change the size of the projectiles (though there may be a scale value somewhere).
 

pmilkosky

Smash Cadet
Joined
Sep 24, 2015
Messages
32
It's easiest to change the firing speed for projectiles by playing around with frame speed modifiers (you can easily edit FSMs in Crazy Hand), and as far as I know we don't know how to change the size of the projectiles (though there may be a scale value somewhere).
Thanks, it also helped that I was on v1.22 and not v1.23 of crazyhand hahaha. I've modified the entire cast, everyone is either really good or really stupid.
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Thanks, it also helped that I was on v1.22 and not v1.23 of crazyhand hahaha. I've modified the entire cast, everyone is either really good or really stupid.
Are you me? I've been doing literally the exact thing, and I had 1.22 instead of 1.23. Pretty cool or creepy, whichever you pick :p Anyway, yes FSM's are the best way to modify speed and Projectile hitbox sizes can be edited but seemingly not the projectiles size itself, unless there was something under "Character Specific Values" or w/e it is. I can't seem to find one because I've wanted to make Doc's a really big slow moving pill but only have a few at a time. That's another thing, some characters don't have values for how many projectiles they can have at a time, so my Pichu for example, who has slow moving electric thingies in the air can have like infinite amounts of them. The only way I can think is to make the projectile lifetime short, but that'd defeat the purpose. Anyway, good luck modding!

Edit: Oh and while we're on the topic of noobish things, it's kind of annoying how moves only have a certain amount of space, is there anyway to expand the amount of bytes you can use? Also still wondering about my animation swap question, but I assume if it was a thing I'd know because I've been scrounging threads for it and haven't found anything. R.I.P.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Are you me? I've been doing literally the exact thing, and I had 1.22 instead of 1.23. Pretty cool or creepy, whichever you pick :p Anyway, yes FSM's are the best way to modify speed and Projectile hitbox sizes can be edited but seemingly not the projectiles size itself, unless there was something under "Character Specific Values" or w/e it is. I can't seem to find one because I've wanted to make Doc's a really big slow moving pill but only have a few at a time. That's another thing, some characters don't have values for how many projectiles they can have at a time, so my Pichu for example, who has slow moving electric thingies in the air can have like infinite amounts of them. The only way I can think is to make the projectile lifetime short, but that'd defeat the purpose. Anyway, good luck modding!

Edit: Oh and while we're on the topic of noobish things, it's kind of annoying how moves only have a certain amount of space, is there anyway to expand the amount of bytes you can use? Also still wondering about my animation swap question, but I assume if it was a thing I'd know because I've been scrounging threads for it and haven't found anything. R.I.P.
Dr. Mario Pill Size (PlDr.dat)
0x17a08 = X scale
0x17a0c = Y scale
0x17a10 = Z scale

Floating point numbers.
http://www.h-schmidt.net/FloatConverter/IEEE754.html
 
Last edited:

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Dr. Mario Pill Size (PlDr.dat)
0x17a08 = X scale
0x17a0c = Y scale
0x17a10 = Z scale

Floating point numbers.
http://www.h-schmidt.net/FloatConverter/IEEE754.html
Wow. Really should educate myself on this stuff more before assuming. I don't really know anything about whatever floating point numbers and all are but I'm sure I can figure it out. Thanks a bunch. :ness:

Edit: (Why do I keep forgetting stuff) Is there any reason that stuff like this doesn't show up in Crazy Hand? I'm assuming they just haven't added it, but maybe I'm missing something.
Edit (again again): I'm stupid, there's totally a value for projectile lifetime on Doc's pills. Also I was able to make them bigger, woohoo!
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
I'll put the tl;dr at the top: If you start using the following naming convention now, it could save yourself and others time later! I'd consider it good practice if you're going to release textures to others online.


I've been using a specific standard convention for texture file names for a while now, and I just realized I should already be sharing it, because it would make sense if developers/artists out there want to start using it now (especially those working on more involved projects). Here's why:

1) More logical than Dolphin's dump feature file naming convention (the first of several reasons to not use that)
2) Provides anyone looking at the file all the information they need for putting it into the game.
3) Extra functionality available when DTW3.0 comes out (saving you extra steps and work).

This is the naming convention: [fileOrigin]_[offset]_[imageType].[fileExtension]
e.g. "MnMaAll.usd_0x71f80_0.png"
That's basically it. But I imagine there are times you'll want to add your own description too, like "Link's shield (backside)" or something, which is fine. You can optionally just add it to the front of the name like so: "Link's shield (backside)_PlLkNr.dat_0x25580_14.png"

Pretty simple. But more useful that you may realize.

Point 2 is extremely useful. No need to look up textures in placements files to figure out where exactly they're supposed to go. For example, if you got the file from online or someone else, and don't even know what file it goes into to start with.

Point 3 is arguably even more useful. First of all, I want to point out that working with textures with DTW3 won't require special file naming beyond the usual of including the image type at the end, just like is already required for the current scripts/programs (technically I could eliminate this need, but it's more work than it's worth right now; and not as simple as just pulling the image type from a tpl). However, there will be optional, additional features available in DTW3 for streamlining things, which will require this naming convention. Such as importing files without having to specify an offset, and without using a placements file. Not so important when doing just one or two images, but this could be extremely useful for importing lots of textures, like a whole stage, or a mass of textures that belong in totally different files. Textures that are exported from the program will have this standard naming convention by default (though you can still change it in the export dialogue box if you want). So the main source of files that wouldn't have this naming convention would be Dolphin or other users (and Dolphin won't be as needed anymore).

So the point of this is, if you start naming your files this way now, then later if you need this functionality you don't have to go through and rename a bunch of files. Plus, I'm sure those you share textures with will appreciate it if this is how you named them, for both points 2 and 3.

@_glook (for our last conversation on automating modding processes)
 
Last edited:

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Achilles1515 Achilles1515 , how exactly did you know that would change Doc's pill size? Magic? or is there some kind of resource or website that I'm missing. Usually I just screw around with things around the area of the offset for the beginning of the move, look around in CrazyHand, or use this website.
:079:
I'd take a wild guess and say he hooked the article loading function and went from there.

According to my notes:
LoadArticle - 8000B1CC
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
I'd take a wild guess and say he hooked the article loading function and went from there.

According to my notes:
LoadArticle - 8000B1CC
Oh so that's what generate article is in Crazy Hand. I'm gonna have to assume you're right, that makes sense. I really need to get debug dolphin and mess around with it.
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Oh so that's what generate article is in Crazy Hand. I'm gonna have to assume you're right, that makes sense. I really need to get debug dolphin and mess around with it.
Just open the Dolphin shortcut and add "/debug" to the path.

I don't even use the Debugfast version.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
Achilles1515 Achilles1515 When you guys play with the stage initialization functions are those things that can be done in the files themselves. I really want to get rid of the shooting stars on battlefield.
GALE01-115.png
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Just open the Dolphin shortcut and add "/debug" to the path.

I don't even use the Debugfast version.
Yeah I just figured that out, thought it was a whole different version.
I found the thing that you're talking about, but I don't really understand how it relates to his pills or how you found out that it relates to his pills. I copied the hex and its 7c0802a6. Sorry I don't know this stuff, lol.

Edit: Also, when I unpause Dolphin the code does this, but when I pause it it goes back to normal, like this. I honestly don't understand any of this :u
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Achilles1515 Achilles1515 , how exactly did you know that would change Doc's pill size? Magic? or is there some kind of resource or website that I'm missing. Usually I just screw around with things around the area of the offset for the beginning of the move, look around in CrazyHand, or use this website.
:079:
I recently found a function that controls something with displaying bone structures.
http://smashboards.com/threads/dat-file-research.417755/#post-20163309

I figured the pill was a bone structure (like, something that has it's own size and textures, etc.).

So in a Debug version of Dolphin, I set a breakpoint at the beginning of that function mentioned above. Shot a pill. Game paused at breakpoint. An input into that function (register 4) is the RAM address for the bone structure it will display. The function was executed a couple times the frame the pill came out. Every time the function was executed and the breakpoint was hit, I took the bone structure offset in r4 and went to the RAM location of it's floating point scale values (see the HAL dat page), and changed them, then resumed the game. So when I changed the scale of one of them, the pill changed scale as well. Bingo, my hunch was right.

I then searched the PlDr.dat file for what I changed in the RAM and found a match. I then copied this offset, went back on Smashboards, and responded to your post.
 
Last edited:

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
I recently found a function that controls something with displaying bone structures.
http://smashboards.com/threads/dat-file-research.417755/#post-20163309

I figured the pill was a bone structure (like, something that has it's own size and textures, etc.).

So in a Debug version of Dolphin, I set a breakpoint at the beginning of that function mentioned above. Shot a pill. Game paused at breakpoint. An input into that function (register 4) is the RAM address for the bone structure it will display. The function was executed a couple times the frame the pill came out. Every time the function was executed and the breakpoint was hit, I took the bone structure offset in r4 and went to the RAM location of it's floating point scale values (see the HAL dat page), and changed them, then resumed the game. So when I changed the scale of one of them, the pill changed scale as well. Bingo.

I then searched the PlDr.dat file for what I changed in the RAM and found a match. I then copied this offset, went back on Smashboards, and responded to your post.
Thanks for the reply. I'm gonna have to go to bed and look at this when it doesn't look like giberish to me. Seriously thanks, not trying to be rude haha.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
I have no idea how to do it in the file. Just spent hours....
Its all good. Its isn't even that noticeable once everything is there.
GALE01-116.png
After I do PS neutral stage Ill release all of the wips I have. I might take a crack at FoD first though.
 

pmilkosky

Smash Cadet
Joined
Sep 24, 2015
Messages
32
Dr. Mario Pill Size (PlDr.dat)
0x17a08 = X scale
0x17a0c = Y scale
0x17a10 = Z scale

Floating point numbers.
http://www.h-schmidt.net/FloatConverter/IEEE754.html
I can't figure out how to open PlDr.dat without extracting it, and if I extract it, how I put it back in? Can someone make a quick video of them opening debug dolphin and changing the scale of the pill size and putting everything back? You don't need sound or to voice tutorial it, I just need to see how it is done. If anyone can explain it in the comments that'd be awesome as well.

Also how do you change Kirby's B vacuum size?
 
Last edited:

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
I can't figure out how to open PlDr.dat without extracting it, and if I extract it, how I put it back in? Can someone make a quick video of them opening debug dolphin and changing the scale of the pill size and putting everything back? You don't need sound or to voice tutorial it, I just need to see how it is done. If anyone can explain it in the comments that'd be awesome as well.

Also how do you change Kirby's B vacuum size?
Just export the file with GCR and then use a hex editor to change those floats, then import it back into the ISO with GCR.
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
I can't figure out how to open PlDr.dat without extracting it, and if I extract it, how I put it back in? Can someone make a quick video of them opening debug dolphin and changing the scale of the pill size and putting everything back? You don't need sound or to voice tutorial it, I just need to see how it is done. If anyone can explain it in the comments that'd be awesome as well.

Also how do you change Kirby's B vacuum size?
Just export the file with GCR and then use a hex editor to change those floats, then import it back into the ISO with GCR.
Okay, to make this a bit more user friendly, since I'm assuming you don't know much, look up a program called Gamecube Rebuilder, or GCR. Use it, click on Image (one of the tabs in the top right) and open up your iso. Scroll down until you see the file PlDr.dat, right click on it, click extract. Open it in a hex editor (I use HxD, as many awesome peeps on smashboards do) and press Crtl+G. Paste in 17a08 first, go to it, and you wanna change the byte after 3F to something that would make it bigger. Personally I changed it to D5 because that's pretty huge. Then go over to the next 3F you see, change the byte next to it, do the same for the next 3F. Then stop. It should look something like this. Afterwards, save it, close your hex editor, then open up GCR again. Select your ISO, blah blah blah, then scroll down to Doc's PlDr file. Right click, click import, then save changes. Open up Melee, and voila, his pills should be pretty big. But then you have to edit the hitbox sizes, and I'm too tired to show you how to do that. It involves the program Crazy Hand v1.23. Look stuff up. :p Tell me if you need anymore help. Also Kirby's vacuum size involves Crazy Hand as well, I'm like 99% sure. It's under Character Specific Attributes.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Okay, to make this a bit more user friendly, since I'm assuming you don't know much, look up a program called Gamecube Rebuilder, or GCR. Use it, click on Image (one of the tabs in the top right) and open up your iso. Scroll down until you see the file PlDr.dat, right click on it, click extract. Open it in a hex editor (I use HxD, as many awesome peeps on smashboards do) and press Crtl+G. Paste in 17a08 first, go to it, and you wanna change the byte after 3F to something that would make it bigger. Personally I changed it to D5 because that's pretty huge. Then go over to the next 3F you see, change the byte next to it, do the same for the next 3F. Then stop. It should look something like this. Afterwards, save it, close your hex editor, then open up GCR again. Select your ISO, blah blah blah, then scroll down to Doc's PlDr file. Right click, click import, then save changes. Open up Melee, and voila, his pills should be pretty big. But then you have to edit the hitbox sizes, and I'm too tired to show you how to do that. It involves the program Crazy Hand v1.23. Look stuff up. :p Tell me if you need anymore help. Also Kirby's vacuum size involves Crazy Hand as well, I'm like 99% sure. It's under Character Specific Attributes.
The three 0x3F800000 values are floating point numbers. It's important to understand what they actually mean.
http://www.h-schmidt.net/FloatConverter/IEEE754.html

Type in "1" in the Decimal Representation, then hit enter.

1 = 0x3f800000
1.5 = 0x3fc00000
2 = 0x40000000

etc.

So the normal X,Y,Z scale for the pill is 1,1,1.
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
The three 0x3F800000 values are floating point numbers. It's important to understand what they actually mean.
http://www.h-schmidt.net/FloatConverter/IEEE754.html

Type in "1" in the Decimal Representation, then hit enter.

1 = 0x3f800000
1.5 = 0x3fc00000
2 = 0x40000000

etc.

So the normal X,Y,Z scale for the pill is 1,1,1.
My tiny brain still cannot comprehend all of this plus I don't really have time rn to sit down and watch tutorials and look up info.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
My tiny brain still cannot comprehend all of this plus I don't really have time rn to sit down and watch tutorials and look up info.
Its incredibly straight forward. Youd only not get it if you didnt try. Go to http://www.h-schmidt.net/FloatConverter/IEEE754.html and enter a number in the decimal spot. It will then give you the float representation you need for the dat file. Or the other way around. Enter the float value it and it will tell you the decimal.
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Its incredibly straight forward. Youd only not get it if you didnt try. Go to http://www.h-schmidt.net/FloatConverter/IEEE754.html and enter a number in the decimal spot. It will then give you the float representation you need for the dat file. Or the other way around. Enter the float value it and it will tell you the decimal.
Oh no no no, not that, I was talking about the actual stuff in the files. Guess I just misunderstood. I was very tired lol. I figured out the floating point converter a while ago, that's how I was able to change it to a larger value.
 
Last edited:

oscat

Smash Journeyman
Joined
Apr 29, 2014
Messages
240
Location
So Cal
NNID
drlnklngmars
3DS FC
0318-9801-6641
Where can I find luigi's dair and mario's fair? I want to add a coin effect to them.
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Where can I find luigi's dair and mario's fair? I want to add a coin effect to them.
Well if you're using Crazy Hand it'd be in Subactions (attacks only) then you scroll through the list till you find those moves respectively.
If you're using a Hex Editor or want the offsets for some reason, here they are for version 1.02
(These would be found in their Pl**.dat files)
Mario Forward Air Offset:
0x487c
Luigi Down Air Offset:
0x4abc

Tell me if you need more info.
 
Last edited:

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Hey so I was looking on GCR, and I just noticed, everyone has an extra file named Pl**AJ.dat. Can anyone tell me what this does? I know it's not a color, so what does it do for the characters?
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
Hey so I was looking on GCR, and I just noticed, everyone has an extra file named Pl**AJ.dat. Can anyone tell me what this does? I know it's not a color, so what does it do for the characters?
Animations. Its in pretty much every dat file documentation.
 

Doq

Smash Lord
Joined
Dec 28, 2012
Messages
1,037
Location
The Lab, Sweet Home, OR
Just gonna leave this here...
SDRE32-2.png


So here's what happened:
I was playing SD Remix when I accidentally loaded a savestate which was on the All Star selection screen. Upon hitting B to return to the main menu I got this. I feel it's because some textures aren't loaded in the menu at the time the save state was loaded but it returned to normal when I entered a Selection Screen and returned to the menu a second time.

I have no idea how to replicate this as a file but this would totally be cool as a menu replacement.

Even more bizarre: I also have a state save on the menu itself. When I load that state in a match I get the same result, but with the border changing colors.
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
I made some scripts to help with image editing; Check 'em out (and make some CSPs!). I thought I'd share elsewhere too because the first script isn't just for CSPs, it's a good general-purpose tool if you ever want to remove the background from a character or other stuff.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Subcolors

PlCo.dat

0xa6bc = FFFFFF50 (white with transparency)
0xa6c0 = 00000050 (black with transparency)
0xa6c4 = 000000FF (black)
0xa6c8 = 808080FF (gray)
0xa6cc = FF8080FF (salmon-ish)
 

jacob91

Smash Cadet
Joined
Feb 4, 2005
Messages
39
So I've had this idea for a while now and I feel like now is as good a time as ever to finally get around to learning how to design a personalized melee hack. My problem now is that I'm unfamiliar with the fine points behind some of the things I'd like to implement - I'm not sure what I can feasibly put together from the ideas for modifications I came up with. Can anyone guide me along or give me tips pertaining to any of the following hacks?

I'd like to put together a small mod pack containing as many of the following features as possible.

- Enable use of C-stick in 1-player mode (In conjunction with hacks which do not risk softlock in 1-p mode)

- Provide 20xx training features (excluding those which risk game crash in 1-P mode) - example features include: L-cancel flash, color overlays, dpad macros, alternate stages - disable extended name feature from 20xx hack pack; l-cancel flash most importantly to be included

- Ability to toggle items on/off for 1-P mode

- Ability to switch between CPU opponent AI type (20xx AI -> Vanilla Melee AI)


Can anyone help verify if these are possible modifications and if so how to approach designing this mod?

Please and thank you )
 
Top Bottom