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

Crazy Hand v1.31 - Character editing program

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Character data is allocated after the stage is selected, in the order of Stage, P1 + Shiek/Nana, P2, P3, and P4.

If a match has already been played with Shiek, sometimes is does or doesn't reallocate her for no forseeable reason.
 

TragicGameplay

Smash Cadet
Joined
Sep 26, 2015
Messages
30
With this being said, you can just use Debug Dolphin to edit changes live in the RAM without having to close Dolphin.

Dump the RAM, copy the data from the DAT file you are looking for and search for it in the dumped RAM, then you have your address. This would make finding things like Bone IDs really simple. Do an attack, pause and look at the collision bubble attachment, edit the RAM with the next value, unpause, and then repeat. Each one would take like 10 seconds.
how would i do debug dolphin
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
ok so the closest thing i found is talking about running it in -d or something and i have no clue what that means im not the absolute most tech savey person but i do well
Create a shortcut to Dolphin. Right-Click, go to Properties. Add /debug to the Target path.

So, it will look like "Drive:\Path\To\Dolphin.exe /debug".

 
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
Anybody know how you would make "turbo" characters like in this video? I've tried editing the IASA frames down to one which is what I'd assume you do but it doesn't work. And if it involves messing around with the interrupt data in the .dol then I guess I'm screwed lol.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Anybody know how you would make "turbo" characters like in this video? I've tried editing the IASA frames down to one which is what I'd assume you do but it doesn't work. And if it involves messing around with the interrupt data in the .dol then I guess I'm screwed lol.
Couldn't you just edit the IASA to start on frame 1 so you could cancel it into any action at any point during the move?
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Couldn't you just edit the IASA to start on frame 1 so you could cancel it into any action at any point during the move?
I did just that with all of Kirby's aerials, and they just act as normal. You can't cancel into other aerials, jumps, air dodges, or anything. Here's a pic for reference. That's the same position the IASA was in in the normal files so I just changed the frames and yet it still doesn't work. Originally I had 1 but I tried some different numbers (such as 2) and it still didn't work. Do I need to move the asynchronous timer and the IASA to the first part of the subaction?
 

TragicGameplay

Smash Cadet
Joined
Sep 26, 2015
Messages
30
ok so right now im changing animations for attacks and making attacks based off that what im wondering is that is their a way to add more [bytes] or slots to the attacks to make more hitboxes or anything
 

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
I did just that with all of Kirby's aerials, and they just act as normal. You can't cancel into other aerials, jumps, air dodges, or anything. Here's a pic for reference. That's the same position the IASA was in in the normal files so I just changed the frames and yet it still doesn't work. Originally I had 1 but I tried some different numbers (such as 2) and it still didn't work. Do I need to move the asynchronous timer and the IASA to the first part of the subaction?
If you want a move to be interruptable at any point, put the IASA script at the very top of the subaction.
The reason your IASA wasn't working properly is likely from the asynchronous timer above it that you mentioned. Asynchronous timers behave differently than Synchronous timers

Synchronous timers wait X amount of frames from the point they are called
Asynchronous timers wait until X frame in the animation of the subaction to continue onward.

Subactions run on one straight line so if you do something like:

1. Synchronous timer(5)
2. Asynchronous timer(15)
3. IASA

Your subaction won't have IASA until the 15th frame in its animation.

ok so right now im changing animations for attacks and making attacks based off that what im wondering is that is their a way to add more [bytes] or slots to the attacks to make more hitboxes or anything
You can change where subactions start and end using a hex editor; I think Itaru Itaru covers this on his thread http://smashboards.com/threads/new-melee-syntax-school-you-can-write-character-commands-now.402587/

Crazy Hand *might* have a feature added that can expand/detract subaction sizes for you, but I'm not sure at this time if it'll behave properly.
 

TragicGameplay

Smash Cadet
Joined
Sep 26, 2015
Messages
30
If you want a move to be interruptable at any point, put the IASA script at the very top of the subaction.
The reason your IASA wasn't working properly is likely from the asynchronous timer above it that you mentioned. Asynchronous timers behave differently than Synchronous timers

Synchronous timers wait X amount of frames from the point they are called
Asynchronous timers wait until X frame in the animation of the subaction to continue onward.

Subactions run on one straight line so if you do something like:

1. Synchronous timer(5)
2. Asynchronous timer(15)
3. IASA

Your subaction won't have IASA until the 15th frame in its animation.



You can change where subactions start and end using a hex editor; I think Itaru Itaru covers this on his thread http://smashboards.com/threads/new-melee-syntax-school-you-can-write-character-commands-now.402587/

Crazy Hand *might* have a feature added that can expand/detract subaction sizes for you, but I'm not sure at this time if it'll behave properly.
reading the thread i dont think it talks about how to make the size bigger but also i would like to know if you know how to make things jump cancelable like foxes shine and stuff
 
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
If you want a move to be interruptable at any point, put the IASA script at the very top of the subaction.
The reason your IASA wasn't working properly is likely from the asynchronous timer above it that you mentioned. Asynchronous timers behave differently than Synchronous timers

Synchronous timers wait X amount of frames from the point they are called
Asynchronous timers wait until X frame in the animation of the subaction to continue onward.

Subactions run on one straight line so if you do something like:

1. Synchronous timer(5)
2. Asynchronous timer(15)
3. IASA

Your subaction won't have IASA until the 15th frame in its animation.



You can change where subactions start and end using a hex editor; I think Itaru Itaru covers this on his thread http://smashboards.com/threads/new-melee-syntax-school-you-can-write-character-commands-now.402587/

Crazy Hand *might* have a feature added that can expand/detract subaction sizes for you, but I'm not sure at this time if it'll behave properly.
Oh wow thanks so much Tater Tater ! I forgot about the difference between synchronous and asynchronous and thought that they were they had the properties of the wrong one. (IE asynchronous>synchronous) So would putting a synchronous timer at the end instead of asynchronous also work? I'm still gonna do the one where you put the asynchronous timer at the top anyway.
 

Aerros11

Smash Journeyman
Joined
Sep 5, 2009
Messages
284
Popo's "Thrown" Hitbox Data (PlPp.dat)
0x3220

View attachment 78307

Are these hitboxes already discovered?
Opponents become "projectiles" if thrown. Every grab has a release and a throw command as far as I have seen, this includes Ganondorf's/Falcon's UpB. These opponents of course cannot be air-grabbed like other items. I feel like this isn't what you're referring to though; my answer was too simple.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Opponents become "projectiles" if thrown. Every grab has a release and a throw command as far as I have seen, this includes Ganondorf's/Falcon's UpB. These opponents of course cannot be air-grabbed like other items. I feel like this isn't what you're referring to though; my answer was too simple.
I realize we understand the mechanic, but did we know where the actual hitbox data was contained in the player files? Idk if it's in Crazy Hand or not, I haven't checked.
 

Aerros11

Smash Journeyman
Joined
Sep 5, 2009
Messages
284
I realize we understand the mechanic, but did we know where the actual hitbox data was contained in the player files? Idk if it's in Crazy Hand or not, I haven't checked.
It's in crazy hand and you can check it yourself. I hope we're not thinking of the same thing. There are many, including myself, who want you to discover more and more XD thanks btw

EDIT: I'm not on my PC else I would've posted evidence : \

Did you have any concepts in mind btw now that you know this exists?
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
It's in crazy hand and you can check it yourself. I hope we're not thinking of the same thing. There are many, including myself, who want you to discover more and more XD thanks btw

EDIT: I'm not on my PC else I would've posted evidence : \

Did you have any concepts in mind btw now that you know this exists?
Ok. I just wanted to make sure that Crazy Hand had it.

I did find something interesting, though.

Every time a character is sent flying, their "throw hitbox" is checked to be displayed and activated, even if the attack was not from a throw. But as we know, the only time the "throw hitbox" exists is after being thrown. The game knows to execute this check from a single bit within the hitbox data.

1) Extract byte 15 from hitbox data
2) Check to see if the 4th bit is high (00000008)
  • If so, only activate this hitbox if the last attack was from a grab throw
  • Else, activate hitbox

As seen in Popo's "Throw Hurtbox":

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 24 06 04 B0 00 00 02 AA 00 00 B4 99 00 08 0F 00 00 87
..............................................^
Formatting stolen from Magus

Remember how I said that throw hurtboxes are checked to display everytime you are launched?...Well if you change that 0x08 from above to 0x00, then check #2 will fail and the hitbox will be activated by default, even if the last attack was not a grab.

Capture.PNG


This was one of the "unknowns" from Magus' post.
Tater Tater Ampers Ampers
 
Last edited:

Itaru

MasterGanon
Joined
Jun 25, 2014
Messages
279
Location
日本 茨城県
Ok. I just wanted to make sure that Crazy Hand had it.

I did find something interesting, though.

Every time a character is sent flying, their "throw hitbox" is checked to be displayed and activated, even if the attack was not from a throw. But as we know, the only time the "throw hitbox" exists is after being thrown. The game knows to execute this check from a single bit within the hitbox data.

1) Extract byte 15 from hitbox data
2) Check to see if the 4th bit is high (00000008)
  • If so, only activate this hitbox if the last attack was from a grab throw
  • Else, activate hitbox

As seen in Popo's "Throw Hurtbox":

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 16 17 18 19
.C .. .N .. .. .. .. .. .. .. .. .. .. A. G. WQ .. BE .L .F
CI IN ND DD SS SS ZZ ZZ YY YY XX XX AA GG WW QP BB EL LF FT
2C 00 24 06 04 B0 00 00 02 AA 00 00 B4 99 00 08 0F 00 00 87
..............................................^
Formatting stolen from Magus

Remember how I said that throw hurtboxes are checked to display everytime you are launched?...Well if you change that 0x08 from above to 0x00, then check #2 will fail and the hitbox will be activated by default, even if the last attack was not a grab.

View attachment 78360

This was one of the "unknowns" from Magus' post.
Tater Tater Ampers Ampers
From my experience, Change B4990008 to B4990053, hitbox become always same knock back hitbox.
 

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
I'm sure it's already been answered, but I've skimmed the past few pages of the thread and haven't seen any explicit mentions... does Crazy Hand still rely on isos being 20xx to inject fsm?
 

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
I'm sure it's already been answered, but I've skimmed the past few pages of the thread and haven't seen any explicit mentions... does Crazy Hand still rely on isos being 20xx to inject fsm?
Nope. You can now patch your ISO with the FSM engine directly through Crazy Hand.
 

Absolome

Smash Cadet
Joined
Jan 3, 2014
Messages
68
Location
Asheville, NC
I'm also trying to figure out if it's possible to modify the stats of items, the duration they stay out, damage they do, etc. Does anyone know the offsets for item data?
 

TragicGameplay

Smash Cadet
Joined
Sep 26, 2015
Messages
30
well for kirby i found out what the first 2 unknown variables are for character specific moves
the 4th box under midair jump horizontal momentum forward is the time kirby takes to be able to change airstrafe after jump lower number means longer time
the 5th box above midair jump 1 vertical momentum is how much of a boost you get from the initial airjump (takes a long time to end seems like normal strafe but is not)
(incase you are wondering i use strafe as horizontal movement)
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Meteor Attack Stuff

PlCo.dat
Offset: 0xa7c8 = 260 = lower meteor attack angle limit
Offset: 0xa7cc = 280 = upper meteor attack angle limit
Offset: 0xa7d0 = 8 = frames for player to meteor cancel
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Meteor Attack Stuff

PlCo.dat
Offset: 0xa7c8 = 260 = lower meteor attack angle limit
Offset: 0xa7cc = 280 = upper meteor attack angle limit
Offset: 0xa7d0 = 8 = frames for player to meteor cancel
We really need an ultimate PlCo.dat google doc or something to keep track of all of this stuff. and by this stuff I mean your stuff. It's scattered everywhere.
 

Ampers

Smash Journeyman
Joined
Feb 2, 2015
Messages
237
Location
St. Louis, MO
We really need an ultimate PlCo.dat google doc or something to keep track of all of this stuff. and by this stuff I mean your stuff. It's scattered everywhere.
I was actually thinking something similar. If there is a list out there of all these known general game-mechanic tweaks, I would consider adding a new panel to Crazy hand that will read and write these values.
 
D

Deleted member

Guest
That would be inside Pichu's subactions. If you click on the menu on the right and select subactions(attack only) you'll be able to edit a large chunk of his move's data including removing the scripts that damage him.

Moves that damage Pichu are:

Forward-smash(Middle)
Forward-air
Down-air
Forward throw
Neutral-B(Ground and Air)
Side-B hold
Side-B
Up-B start
Up-B start(2)
Down-B loop(2)

Look for a script that is titled Self-Damage in those subactions. The textbox below it should look like
CC 00 00 XX

XX is the amount of damage(in hexadecimal) that Pichu does to himself from this script. Changing the damage value to 00 essentially makes the script do nothing.
To add to this, there are some more for self damage.

Subactions (All)
LandingAirLw
SpecialLwLoop

With that, I made Pichu take no self-damage under any of his attacks. Sweet.
 

Itaru

MasterGanon
Joined
Jun 25, 2014
Messages
279
Location
日本 茨城県
Meteor Attack Stuff

PlCo.dat
Offset: 0xa7c8 = 260 = lower meteor attack angle limit
Offset: 0xa7cc = 280 = upper meteor attack angle limit
Offset: 0xa7d0 = 8 = frames for player to meteor cancel
Probably, 0xA7D0 is about Up-B meteor cancel. About jump-meteor cancel is not here. I couldn't find it.

And...

Offset: 0xA790 = 150 = loupe damage max
Offset: 0xA78C = 60 = loupe damage is added every 60 frames
Offset: 0xA794 = 1 = loupe damage

Achilles1515 Achilles1515 , How did you find that stuff?
All I did is "staring contest" with hex editor around offset you found.
 
Last edited:

Bakasama

Smash Apprentice
Joined
Feb 10, 2013
Messages
120
Location
Massachusetts
I'm trying to make a move autocancel on landing, and moves be jump-cancellable. So far, I can get Doc's pills to autocancel, but they aren't restricted to auto-cancelling on landing only, so they end up being pretty busted and you can follow them with other moves and stuff. I've been staring at Fox / Falco's neutral B to try and see how I can shoehorn the data into Doc's neutral B, but I can't seem to get the right combination. Any help? I'm a novice, but I want to learn.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Probably, 0xA7D0 is about Up-B meteor cancel. About jump-meteor cancel is not here. I couldn't find it.

And...

Offset: 0xA790 = 150 = loupe damage max
Offset: 0xA78C = 60 = loupe damage is added every 60 frames
Offset: 0xA794 = 1 = loupe damage

Achilles1515 Achilles1515 , How did you find that stuff?
All I did is "staring contest" with hex editor around offset you found.
Haha I love this use of "staring contest".
I randomly found it by looking at the assembly code of the function that checks if an attack is a meteor attack. I can step through the code and see it pull those values. I forget what I was looking for at the time, but it wasn't that. I just stumbled upon it while following assembly branches, and Flieskiller just so happened to have posted some things about meteor canceling a few days earlier.
 

AmericanTrailMix

Smash Rookie
Joined
Apr 15, 2015
Messages
9
Peach doesn't like Crazy Hand.
When I try to edit her moves, it starts lagging and glitching out. In the editor box, it shows a glitched out thing that I think is supposed to be it detecting a move, but it's all wrong.
After this, it won't let me do anything with the program anymore and I have to close it out.

Kirby's specials are also un-editable in the "attacks only" section.
 
Last edited:

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
Peach doesn't like Crazy Hand.
When I try to edit her moves, it starts lagging and glitching out. In the editor box, it shows a glitched out thing that I think is supposed to be it detecting a move, but it's all wrong.
After this, it won't let me do anything with the program anymore and I have to close it out.

Kirby's specials are also un-editable in the "attacks only" section.
What moves are you trying to edit when the program starts malfunctioning? Is it Peach in general, or a specific set/category of moves? Also, has Peach been edited in any way on the ISO you're using?

As far as Kirby's specials being un-editable in the "attacks only" section, that is intentional. Mainly because I have to manually enter in certain information regarding each special move.

This is an example
new SubAction(0x127, "(Ground)Neutral-B"),
new SubAction(0x128, "(Air)Neutral-B"),
//and so on for every stage of every special move the character has

It wasn't so bad for normal characters; Most were around 12 entries like the above. (The worst being Game and Watch, with 27 entries because of his hammer)

But Kirby has at least two entries for every neutral-B in the game. When I include his own special move entries(side-B,up-B,etc), this adds up to a total of 173 special move entries that I'd have to manually type out in the format above. I take pride in my work on this program and try to make it as user-friendly as possible, but ya'll can look up your own special moves for Kirby.
 

Lennox247

Smash Rookie
Joined
Oct 4, 2015
Messages
3
I know this might be a REALLY dumb question, but how can you make this program work with windows 10? whenever I try to open melee with crazy hand, it just tells me that this program can't run on my PC? Any help is appreciated
 

Ampers

Smash Journeyman
Joined
Feb 2, 2015
Messages
237
Location
St. Louis, MO
I know this might be a REALLY dumb question, but how can you make this program work with windows 10? whenever I try to open melee with crazy hand, it just tells me that this program can't run on my PC? Any help is appreciated
I'm running Crazy Hand on Windows 10, so it definitely should work. Unfortunately I don't really know what could be the problem in your case. Does it let you get to the ISO select screen? And have you tried it on any other operating system?
 

Lennox247

Smash Rookie
Joined
Oct 4, 2015
Messages
3
I'm running Crazy Hand on Windows 10, so it definitely should work. Unfortunately I don't really know what could be the problem in your case. Does it let you get to the ISO select screen? And have you tried it on any other operating system?
Nope, I cant get to the iso select screen, and I havent tried any other OS
 

pmilkosky

Smash Cadet
Joined
Sep 24, 2015
Messages
32
Hey Tater Tater , I just want you to know about something I did using CrazyHand-- Although it might not have been used for what you wanted, quite a few people now know about melee modding, and when they investigated my channel they learned about CrazyHand... and now use it. I made this modification using your tool which is being showcased in this video to over 27,000 people https://www.youtube.com/watch?v=J32W6ngg3UMite it was also live streamed.

I don't really know what to say but thanks, I hope you don't hate me for it.

EDIT: My channel is Cheezball8, you can see me in the comment section. Also it isn't available for download if anyone is wondering.
 
Last edited:
Top Bottom