• 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

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
Okay, Crazy Hand v130 is live!

I'm not going to lie, it's been a while and I'm not the best at keeping track of everything so this changelog might not include everything.
Changelog:
-Added "Wipe Subaction" button to the file menu. This allows the user to fill all the data in the subaction they are currently editing with blank self-damage scripts. Useful for when you want to build a subaction from scratch.

-Added "Revert Subaction" button to the file menu. This allows the user to revert whatever subaction they are currently editing to the default data (Note that this will not revert the subaction to the last edit you made personally, but to the game's default data)

-Added "bone attachment" parameter to Graphic Effect scripts. When not set to 0, this will attach the graphic effect to a specified bone on the character, in the same way that hitboxes are assigned bones.

-Changed the look of self-damage scripts with damage values of 0 (CC 00 00 00) to make them stand out in a subaction, since they're essentially free data.

-Changed "Generate Article?" script name to "Rumble" to reflect on its actual function.

UNFINISHED FEATURE(Singular.)

-Added "move logic" menu. This menu currently reads the character move logic tables in the ISO's Start.dol and displays the data in a text box. Every text box listed here can be edited, saved, and reverted to its original state in the event that you screw up a move. The move logic data displayed is dependant on what character you have selected from the drop-down list.
In this state the menu is honestly a slightly more convenient hex editor. Use with caution, and don't expect positive results if you're not sure what you're doing.

Link to the "safe" release: http://www.mediafire.com/download/m62r8z56x5a38cd/Crazy+Hand+v1.30.zip

Link to the "dev" release: http://www.mediafire.com/download/w7fbiy7o6coy9mu/Crazy+Hand+v1.30unfinished.zip
 

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
So I know you can swap between PAL and NTSC characters in 20XX but I have no idea how the code works or what code it even is. I want to be able to switch between different custom characters at the CSS with a button press. Achilles1515 Achilles1515 You have some magical code for this? :yeahboi:
 

Ampers

Smash Journeyman
Joined
Feb 2, 2015
Messages
237
Location
St. Louis, MO
Good stuff Tater Tater ,
I'll update the link on the front page too. (I never updated it for 1.23 lol...)

Also, will you be committing your changes on Github soon?
 
Last edited:

Aerros11

Smash Journeyman
Joined
Sep 5, 2009
Messages
284
Oh i thought it was ver 130.0 XD from Tater's typo. Huge understatement but thanks for this
 

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
Good stuff Tater Tater ,
I'll update the link on the front page too. (I never updated it for 1.23 lol...)

Also, will you be committing your changes on Github soon?
Yes I will. I meant to do it yesterday but I had to rush out of the house immediately after making the changelog lol.

However, "disordered" is a nice word for the state that my additions are currently in, so it's gonna be hard to follow in some spots :p
I plan to clean up my code before adding new features, but both those things are on the back burner for the moment.
 

AmericanTrailMix

Smash Rookie
Joined
Apr 15, 2015
Messages
9
How does the frame speed modifier work? Like, how do I use it to, say, make marth's forward air faster?
 
Last edited:

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
How does the frame speed modifier work? Like, how do I use it to, say, make marth's forward air faster?
First you'll need to put the FSM engine on your ISO. To do that, go to the menu up at the top of Crazy Hand and click ISO patches -> (DOL)FSM Engine[Magus420] and select "apply".

Then, use the menu on the right of the screen and select "Frame Speed Modifiers".

Click the "Add New Modifier" button and a new FSM modifier will be created.
Click the menu on the left where it says "Captain Falcon" and change it to whatever character you want the frame speed modifier for(In this instance, Marth.)

You can choose which frame the frame speed modifier starts at using the "Starting Frame" textbox. This will let you control exactly when your modifier takes effect I.E you could make his forward air slower starting at frame 10 with one modifier, then make it faster at frame 15 with another modifier. This isn't necessary for just a simple speedup though.

Next click the menu that lists all of the character's subactions.(A newly created modifier should list EscapeAir(0x2C) originally.) For forward air, you'll want to select AttackAirF(0x45). It's very high up on the list and grouped with most of the other attacks, so it shouldn't be too difficult to find.

Next, simply enter what multiplier you want for the move. It takes "float" values as well, so you can put in values like 1.2, 0.3, etc.

Once your modifier is edited to your liking be sure to hit the save button at the bottom of the window.

Once that's done, you've got your modifier! :)
 

AmericanTrailMix

Smash Rookie
Joined
Apr 15, 2015
Messages
9
First you'll need to put the FSM engine on your ISO. To do that, go to the menu up at the top of Crazy Hand and click ISO patches -> (DOL)FSM Engine[Magus420] and select "apply".

Then, use the menu on the right of the screen and select "Frame Speed Modifiers".

Click the "Add New Modifier" button and a new FSM modifier will be created.
Click the menu on the left where it says "Captain Falcon" and change it to whatever character you want the frame speed modifier for(In this instance, Marth.)

You can choose which frame the frame speed modifier starts at using the "Starting Frame" textbox. This will let you control exactly when your modifier takes effect I.E you could make his forward air slower starting at frame 10 with one modifier, then make it faster at frame 15 with another modifier. This isn't necessary for just a simple speedup though.

Next click the menu that lists all of the character's subactions.(A newly created modifier should list EscapeAir(0x2C) originally.) For forward air, you'll want to select AttackAirF(0x45). It's very high up on the list and grouped with most of the other attacks, so it shouldn't be too difficult to find.

Next, simply enter what multiplier you want for the move. It takes "float" values as well, so you can put in values like 1.2, 0.3, etc.

Once your modifier is edited to your liking be sure to hit the save button at the bottom of the window.

Once that's done, you've got your modifier! :)
Yeah, I ended up figuring that out. Thanks, anyway.

On another note, we really need a way to sort all of those out and make them easier to use. Every time a modifier is made or modified, it sends you to the top, so you have to scroll all the way down again. Not only that, but when trying to modify every single character in the game (me), it gets unbelievably cluttered and near impossible to manage, since it shows the modifier of every character. I'd like this fixed, is all. :l
 

Aerros11

Smash Journeyman
Joined
Sep 5, 2009
Messages
284
You mean make it more convenient . It's easy enough thanks to the efforts put into the programming.
 

BleuShado

Smash Rookie
Joined
Jan 10, 2014
Messages
21
3DS FC
0318-8298-0666
It wont open for me and Im using windows 7. Suggestions on how to fix
 

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
Can someone tell me how to make a particular move jump cancelable? I know Achilles1515 Achilles1515 made a post on move interrupts but I didn't understand it. The move I'm trying to make jump cancelable is ness's PK Magnet
For moves like that you'll want to read his(or maybe Magus's idk) notes on special interrupts. They are at http://smashboards.com/threads/help...-inspired-mod-for-melee.365920/#post-19089095 iirc. Also in that thread is stuff needed to find the current action and subaction easier. Anyways the jist of what those notes say is (from what I remember), find the action(or was it subaction? idk) number of the move (there is a neat little code on that page that can help). Open up the start.dol, (you'll have to extract it from GCR or some other tool) Search for Pl** for your respective character. (Also I have all the dol offsets near the bottom of this file,I have some of the character ids in there, and I have some commonly used interrupts.)
Here is an image showing where the interrupts are, the interrupts are found below where the characterid is stated iirc.

Jump Cancel Interrupt (1.02):

Grounded:

0x800CAED0

Aerial:

0x800CB870

(Anyways just try what I said, or search through the depths of the melee workshop for more information if mine was incorrect!)
 
Last edited:

BleuShado

Smash Rookie
Joined
Jan 10, 2014
Messages
21
3DS FC
0318-8298-0666
It says could not find the main class. idk if I missed something or not
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
For moves like that you'll want to read his(or maybe Magus's idk) notes on special interrupts. They are at http://smashboards.com/threads/help...-inspired-mod-for-melee.365920/#post-19089095 iirc. Also in that thread is stuff needed to find the current action and subaction easier. Anyways the jist of what those notes say is (from what I remember), find the action(or was it subaction? idk) number of the move (there is a neat little code on that page that can help). Open up the start.dol, (you'll have to extract it from GCR or some other tool) Search for Pl** for your respective character. (Also I have all the dol offsets near the bottom of this file,I have some of the character ids in there, and I have some commonly used interrupts.)
Here is an image showing where the interrupts are, the interrupts are found below where the characterid is stated iirc.

Jump Cancel Interrupt (1.02):

Grounded:

0x800CAED0

Aerial:

0x800CB870

(Anyways just try what I said, or search through the depths of the melee workshop for more information if mine was incorrect!)
I'm like 99% I fixed it. I also ended up completely restarting my hack because I needed to anyway. I took all characters from SD Remix (Pl**.dat Pl**AJ.dat Interupt stuff from the DOL and FSM data) And to be honest I'm not even annoyed that I have to restart cause I wanted to anyway and it'll be better off around this time. Also I checked the differences in the DOL from my file and SD Remix's file and found that indeed some of the data at these offsets were different. Thanks a bunch!
 

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
It says could not find the main class. idk if I missed something or not
You might not be using the right command to open it.

Open up notepad, and type in
@Echo on
java -jar "whateveryourcrazyhandfileisnamedgoeshere.jar"
pause

Hit save, and save it as run.bat inside Crazy Hand's folder. Make sure to save it as all files, not just text files.

Double-click run.bat and things should work fine.

Thanks for the update Tater Tater !

How do I change the size of the hitbox for kirby's neutral B?
No problem, I like the challenge of reverse-engineering paired with programming c:

As for changing the size of Kirby's neutral B hitbox... He's got about 90 neutral-B's haha.
I'd imagine you're talking about his swallow though.

Under subactions[All], look for SpecialN(0x131) and SpecialNLoop(0x132). The hitboxes in those subactions should be his swallow hitboxes.
If that doesn't work, there appear to be duplicate entries of SpecialN/SpecialNLoop a little lower down (0x140 and 0x141). Chances are those entries are the aerial version of swallow.
 

pmilkosky

Smash Cadet
Joined
Sep 24, 2015
Messages
32
No problem, I like the challenge of reverse-engineering paired with programming c:

As for changing the size of Kirby's neutral B hitbox... He's got about 90 neutral-B's haha.
I'd imagine you're talking about his swallow though.

Under subactions[All], look for SpecialN(0x131) and SpecialNLoop(0x132). The hitboxes in those subactions should be his swallow hitboxes.
If that doesn't work, there appear to be duplicate entries of SpecialN/SpecialNLoop a little lower down (0x140 and 0x141). Chances are those entries are the aerial version of swallow.
Awesome thanks! That worked, I found more SpecialN's which was weird so i just made them all max size lol.

Does anyone know where I can find a list of the sound fx ids? I know there's item ids earlier on, and i know you can go to another character and find a sound effect, but what about item sound fx like mr saturn?
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
Awesome thanks! That worked, I found more SpecialN's which was weird so i just made them all max size lol.

Does anyone know where I can find a list of the sound fx ids? I know there's item ids earlier on, and i know you can go to another character and find a sound effect, but what about item sound fx like mr saturn?
Bump for the Mr. Saturn sound effect especially. I've been wondering this myself.
 

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
Awesome thanks! That worked, I found more SpecialN's which was weird so i just made them all max size lol.

Does anyone know where I can find a list of the sound fx ids? I know there's item ids earlier on, and i know you can go to another character and find a sound effect, but what about item sound fx like mr saturn?
Bump for the Mr. Saturn sound effect especially. I've been wondering this myself.

@Dan Salvato actually made a helpful code for figuring out what sound effects IDs are.

Err, here it is. I didn't forget to add it the first time I posted.
This code is designed to let you browse internal SFX IDs. It is used for development purposes only, in case you are looking for a specific SFX ID for a sound you want to play in your code. More info and usage in the document.



Document
I actually helped out some others with this code and its usage a while back on the new Melee Syntax School thread.
(http://smashboards.com/threads/new-melee-syntax-school-you-can-write-character-commands-now.402587/)

If you're interested in more melee hacking, it's definitely worth a read. There are hidden gems all over this forum :)


To read/write sound effect IDs with this code you need to be using Dolphin's debugger. To run Dolphin's debugger all you need to do is open notepad and paste this text into it:

start "" /wait Dolphin.exe -d

And then save it as a .bat file in the same folder as Dolphin.exe
Double-click your new .bat file and you'll run Dolphin's debugger. It's a lot like normal Dolphin but with extra tools on the left side. You'll need to enable the memory viewer, so click the "View" button at the top of the screen and make sure Memory is checked. Once that's done, Load Melee as normal(You might have to hit the 'play' button if you load Melee and there's just a black screen.)
Find whatever sound effect you want to get the ID of, and then click the "memory" tab on the left side of Dolphin, paste 80578004 into the top-rightmost text box, and press the "Search" button. Now the list of memory addresses will include the value at 80578004(Which stores the ID of the last sound effect played).

It's a little awkward to use, and I'm not the best at explaining things so if anyone needs further help let me know c:
Maybe I should write a FAQ for Crazy Hand/general hacking
 
Last edited:

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
so what does it mean when it says 361 is that just 1 or is it something else also thank you

361 has been dubbed "The Sakurai Angle". It launches them up and away, in a way unique to any other angle(I think). As you've probably seen, it's used in a large amount of hitboxes.

Also, I made this to show some (rough) examples of different angles in character's moves.



I need less free time.
 

TragicGameplay

Smash Cadet
Joined
Sep 26, 2015
Messages
30
361 has been dubbed "The Sakurai Angle". It launches them up and away, in a way unique to any other angle(I think). As you've probably seen, it's used in a large amount of hitboxes.

Also, I made this to show some (rough) examples of different angles in character's moves.


Thanks thats awesome man
I need less free time.
Now make a version that has every hitbox in the game. :)
That would be insanely cool.
Is their something that hits outward in all directions like if they are on top of the hitbox it hits them up and if they are on the bottom it spikes?
 

TragicGameplay

Smash Cadet
Joined
Sep 26, 2015
Messages
30
Also is their a bone chart to find out what bone number is what for every character or something similar to that?
 

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
Also is their a bone chart to find out what bone number is what for every character or something similar to that?
To my knowledge there's no bone chart/bone mapping because... There are so many bones in melee, dude. I think it's haunted.

The best I can do for you is this list that I was making for bowser while I was trying to find where bone IDs were specified in animations. It didn't seem to help, really.
Fingers are categorized as (higher # = farther from thumb) I.E in a character with 5 fingers, finger 4 would be the ring finger. //The highest finger is always the pinky.

In a similar fashion, the higher number a section is, the farther from the base of the finger it is. The highest section is always the tip.

*:Not confirmed via hitbox bone ID testing, but most likely the value considering the pattern I had found at that point.


Bowser bones

7 = nothing?
8 = left foot OR left toe 2 base
9 = left foot OR left toe 2 segment (1?)
10 = left toe 2 segment (1?)
11 = left toe 1 segment (2?)

17 = right foot base
18 = right foot toe 3 base
19 = right foot toe 2 base
20 = right foot toe 1 base
21 = right foot toe 3 segment 1
22 = right foot toe 2 segment 1*
23 = right foot toe 1 segment 1*
24 = tail base
25 = tail segment 1
26 = tail segment 2
27 = ?
30 = left mid-torso area
31 = left shoulder / left segment of neck?
32 = left shoulder* / left arm segment 1?
33 = left shoulder* / left arm segment 2?
34 = left arm segment 3
35 = left wrist/ arm segment 4
36 = left finger 1 section 1*
37 = left finger 1 section 2
38 = left finger 2 section 1
39 = left finger 2 section 2
40 = left finger 3 section 1
41 = left finger 3 section 2
42 = left bracelet
46 = neck(or upper middle torso?)
47/48 = head*

52 = right horn(?)

60 = inner right arm
61 = ?
62 = right wrist
If you aren't looking to give Bowser a sweetspot on his right middle finger then you're going to have to do some testing of your own. The most efficient way to do this is:

1. Enter the debug menu and set DBLEVEL: to DEVELOP
2. Go to Versus mode -> Mode : Dairantou
3. Under char select, select whatever character you're wanting to learn the bones of in the CHARA_1 slot
4. Set a save state(Shift + F1/F2/F3/etc) so you can easily access this point again.
5. Open the ISO in Crazy Hand, navigate to your character's jab(It doesn't HAVE to be jab, it's just the most convenient for this)
6. Go to File -> Wipe Subaction and then make 4 hitboxes that look something like this



Obviously, change the bones to whatever bones you want to test the location of.

There are a couple of important things to note here.
First off, you need to be sure that each hitbox has a different ID ranging from 0-3. This is because if multiple hitboxes have the same ID, the newest hitbox with that ID overwrites the previous one with that ID. Additionally, I'm pretty sure you can only have 4 hitboxes maximum at any given time. I could be wrong on that though.

Secondly, I'm going to explain why the last two hitboxes have different attributes.

When you're in the debug menu, you can toggle displaying hitboxes. Most hitboxes are red because they're angry and want to hit something. But you might have seen some hitboxes that are pink, grey, or blue. We're going to make one of our hitboxes pink and one grey so that we can more easily tell which hitbox is which.

Attribute:Unknown is actually used for grabs(Grabs have special mechanics which I haven't fully work out though, so I'm not sure how to make a subaction that isn't already a grab capable of being a grab at the moment. It's being worked on.) and grab bubbles are pink.

Attribute: Empty(Doesn't hit) is what I like to call a "search box". The best example of this box's use is in Captain Falcon/Ganon's side-B start. The subaction uses these boxes to "search" for a target, and if it finds one it switches to the side-B subaction that does the hitting part. Similarly to grabs, these hitboxes won't do anything unless their subaction logic knows what to do with them. But unlike grabs, they're much easier to make usable in a subaction you desire but that's the topic of another rambling essay. Point is hitboxes with this attribute are grey, so it'll stick out like a sore thumb among the less monochrome hitboxes.

The first two hitboxes have different sizes so that you can tell which bone is which despite the boxes having the same color.


ANYWAYS once you've got your hitboxes set up save the subaction and load your save state in dolphin. Start the match and hit R+D-Pad right two times so you can see your character's model with their hurtboxes/hitboxes overlaying it.
Hit jab and press start to freeze the game so you can examine where the hitboxes are. If you're missing one, try turning your character in the other direction and try again. Write down which bone is where and repeat if necessary.

It's a process that takes longer to read about than do, but it's kinda boring. That's the best we've got right now, though.
 

TragicGameplay

Smash Cadet
Joined
Sep 26, 2015
Messages
30
To my knowledge there's no bone chart/bone mapping because... There are so many bones in melee, dude. I think it's haunted.

The best I can do for you is this list that I was making for bowser while I was trying to find where bone IDs were specified in animations. It didn't seem to help, really.
Fingers are categorized as (higher # = farther from thumb) I.E in a character with 5 fingers, finger 4 would be the ring finger. //The highest finger is always the pinky.

In a similar fashion, the higher number a section is, the farther from the base of the finger it is. The highest section is always the tip.

*:Not confirmed via hitbox bone ID testing, but most likely the value considering the pattern I had found at that point.


Bowser bones

7 = nothing?
8 = left foot OR left toe 2 base
9 = left foot OR left toe 2 segment (1?)
10 = left toe 2 segment (1?)
11 = left toe 1 segment (2?)

17 = right foot base
18 = right foot toe 3 base
19 = right foot toe 2 base
20 = right foot toe 1 base
21 = right foot toe 3 segment 1
22 = right foot toe 2 segment 1*
23 = right foot toe 1 segment 1*
24 = tail base
25 = tail segment 1
26 = tail segment 2
27 = ?
30 = left mid-torso area
31 = left shoulder / left segment of neck?
32 = left shoulder* / left arm segment 1?
33 = left shoulder* / left arm segment 2?
34 = left arm segment 3
35 = left wrist/ arm segment 4
36 = left finger 1 section 1*
37 = left finger 1 section 2
38 = left finger 2 section 1
39 = left finger 2 section 2
40 = left finger 3 section 1
41 = left finger 3 section 2
42 = left bracelet
46 = neck(or upper middle torso?)
47/48 = head*

52 = right horn(?)

60 = inner right arm
61 = ?
62 = right wrist
If you aren't looking to give Bowser a sweetspot on his right middle finger then you're going to have to do some testing of your own. The most efficient way to do this is:

1. Enter the debug menu and set DBLEVEL: to DEVELOP
2. Go to Versus mode -> Mode : Dairantou
3. Under char select, select whatever character you're wanting to learn the bones of in the CHARA_1 slot
4. Set a save state(Shift + F1/F2/F3/etc) so you can easily access this point again.
5. Open the ISO in Crazy Hand, navigate to your character's jab(It doesn't HAVE to be jab, it's just the most convenient for this)
6. Go to File -> Wipe Subaction and then make 4 hitboxes that look something like this



Obviously, change the bones to whatever bones you want to test the location of.

There are a couple of important things to note here.
First off, you need to be sure that each hitbox has a different ID ranging from 0-3. This is because if multiple hitboxes have the same ID, the newest hitbox with that ID overwrites the previous one with that ID. Additionally, I'm pretty sure you can only have 4 hitboxes maximum at any given time. I could be wrong on that though.

Secondly, I'm going to explain why the last two hitboxes have different attributes.

When you're in the debug menu, you can toggle displaying hitboxes. Most hitboxes are red because they're angry and want to hit something. But you might have seen some hitboxes that are pink, grey, or blue. We're going to make one of our hitboxes pink and one grey so that we can more easily tell which hitbox is which.

Attribute:Unknown is actually used for grabs(Grabs have special mechanics which I haven't fully work out though, so I'm not sure how to make a subaction that isn't already a grab capable of being a grab at the moment. It's being worked on.) and grab bubbles are pink.

Attribute: Empty(Doesn't hit) is what I like to call a "search box". The best example of this box's use is in Captain Falcon/Ganon's side-B start. The subaction uses these boxes to "search" for a target, and if it finds one it switches to the side-B subaction that does the hitting part. Similarly to grabs, these hitboxes won't do anything unless their subaction logic knows what to do with them. But unlike grabs, they're much easier to make usable in a subaction you desire but that's the topic of another rambling essay. Point is hitboxes with this attribute are grey, so it'll stick out like a sore thumb among the less monochrome hitboxes.

The first two hitboxes have different sizes so that you can tell which bone is which despite the boxes having the same color.


ANYWAYS once you've got your hitboxes set up save the subaction and load your save state in dolphin. Start the match and hit R+D-Pad right two times so you can see your character's model with their hurtboxes/hitboxes overlaying it.
Hit jab and press start to freeze the game so you can examine where the hitboxes are. If you're missing one, try turning your character in the other direction and try again. Write down which bone is where and repeat if necessary.

It's a process that takes longer to read about than do, but it's kinda boring. That's the best we've got right now, though.
Thank you and tbh this is good to know i thought of trying that with debug but thought id ask just in case because of the melee community being what it is (m2k,superdodleman,etc.) and i didnt want to reinvent the wheel i might go into testing and try that is their also anyway of finding out how many bones any character has or would i have to find that out on my own also. Thanks again for writing that post i had forgotten about the save states and stuff and thank you about telling me about the pink and grey hitboxes also do when know what the blue hitboxes are.?
 

MagicScrumpy

Smash Journeyman
Joined
Feb 25, 2015
Messages
251
Location
Ann Arbor, Michigan
I'm still a little confuzzled.
How? Are you having a problem making the batch file or getting it to work or something like that, or does the batch file still not work (assuming you made it correctly)?

The more specific you are about the problems you're having, the more likely it is that someone will be able to help you out.
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
To my knowledge there's no bone chart/bone mapping because... There are so many bones in melee, dude. I think it's haunted.

The best I can do for you is this list that I was making for bowser while I was trying to find where bone IDs were specified in animations. It didn't seem to help, really.
Fingers are categorized as (higher # = farther from thumb) I.E in a character with 5 fingers, finger 4 would be the ring finger. //The highest finger is always the pinky.

In a similar fashion, the higher number a section is, the farther from the base of the finger it is. The highest section is always the tip.

*:Not confirmed via hitbox bone ID testing, but most likely the value considering the pattern I had found at that point.


Bowser bones

7 = nothing?
8 = left foot OR left toe 2 base
9 = left foot OR left toe 2 segment (1?)
10 = left toe 2 segment (1?)
11 = left toe 1 segment (2?)

17 = right foot base
18 = right foot toe 3 base
19 = right foot toe 2 base
20 = right foot toe 1 base
21 = right foot toe 3 segment 1
22 = right foot toe 2 segment 1*
23 = right foot toe 1 segment 1*
24 = tail base
25 = tail segment 1
26 = tail segment 2
27 = ?
30 = left mid-torso area
31 = left shoulder / left segment of neck?
32 = left shoulder* / left arm segment 1?
33 = left shoulder* / left arm segment 2?
34 = left arm segment 3
35 = left wrist/ arm segment 4
36 = left finger 1 section 1*
37 = left finger 1 section 2
38 = left finger 2 section 1
39 = left finger 2 section 2
40 = left finger 3 section 1
41 = left finger 3 section 2
42 = left bracelet
46 = neck(or upper middle torso?)
47/48 = head*

52 = right horn(?)

60 = inner right arm
61 = ?
62 = right wrist
If you aren't looking to give Bowser a sweetspot on his right middle finger then you're going to have to do some testing of your own. The most efficient way to do this is:

1. Enter the debug menu and set DBLEVEL: to DEVELOP
2. Go to Versus mode -> Mode : Dairantou
3. Under char select, select whatever character you're wanting to learn the bones of in the CHARA_1 slot
4. Set a save state(Shift + F1/F2/F3/etc) so you can easily access this point again.
5. Open the ISO in Crazy Hand, navigate to your character's jab(It doesn't HAVE to be jab, it's just the most convenient for this)
6. Go to File -> Wipe Subaction and then make 4 hitboxes that look something like this



Obviously, change the bones to whatever bones you want to test the location of.

There are a couple of important things to note here.
First off, you need to be sure that each hitbox has a different ID ranging from 0-3. This is because if multiple hitboxes have the same ID, the newest hitbox with that ID overwrites the previous one with that ID. Additionally, I'm pretty sure you can only have 4 hitboxes maximum at any given time. I could be wrong on that though.

Secondly, I'm going to explain why the last two hitboxes have different attributes.

When you're in the debug menu, you can toggle displaying hitboxes. Most hitboxes are red because they're angry and want to hit something. But you might have seen some hitboxes that are pink, grey, or blue. We're going to make one of our hitboxes pink and one grey so that we can more easily tell which hitbox is which.

Attribute:Unknown is actually used for grabs(Grabs have special mechanics which I haven't fully work out though, so I'm not sure how to make a subaction that isn't already a grab capable of being a grab at the moment. It's being worked on.) and grab bubbles are pink.

Attribute: Empty(Doesn't hit) is what I like to call a "search box". The best example of this box's use is in Captain Falcon/Ganon's side-B start. The subaction uses these boxes to "search" for a target, and if it finds one it switches to the side-B subaction that does the hitting part. Similarly to grabs, these hitboxes won't do anything unless their subaction logic knows what to do with them. But unlike grabs, they're much easier to make usable in a subaction you desire but that's the topic of another rambling essay. Point is hitboxes with this attribute are grey, so it'll stick out like a sore thumb among the less monochrome hitboxes.

The first two hitboxes have different sizes so that you can tell which bone is which despite the boxes having the same color.


ANYWAYS once you've got your hitboxes set up save the subaction and load your save state in dolphin. Start the match and hit R+D-Pad right two times so you can see your character's model with their hurtboxes/hitboxes overlaying it.
Hit jab and press start to freeze the game so you can examine where the hitboxes are. If you're missing one, try turning your character in the other direction and try again. Write down which bone is where and repeat if necessary.

It's a process that takes longer to read about than do, but it's kinda boring. That's the best we've got right now, though.
Another way you can figure out bones that are already used is to simply go to a certain move... let's say Mario's Jab. It uses his right and left hands, and I don't remember which foot. You just take the bones from that move and then you can use them in other spots. However all bones *certainly* aren't used for any character so you will definitely have to experiment a lot still.
 

TragicGameplay

Smash Cadet
Joined
Sep 26, 2015
Messages
30
also does anyone know why if i load from a savestate it will undo the changes ive made sorry if it a dumb setting i put on
 

WinterWonter

Smash Apprentice
Joined
Sep 13, 2015
Messages
101
Location
Louisiana (I wish I wasn't here)
NNID
mikael72202
3DS FC
5241-2891-3126
also does anyone know why if i load from a savestate it will undo the changes ive made sorry if it a dumb setting i put on
Because that's just how savestates work. It saves everything, including character data, but not actually to the disk... I think. I don't really know what I'm talking about.
 

Tater

Smash Journeyman
Joined
Apr 10, 2014
Messages
201
Location
Socal
NNID
Taternater
3DS FC
2406-5307-2936
also does anyone know why if i load from a savestate it will undo the changes ive made sorry if it a dumb setting i put on
Because that's just how savestates work. It saves everything, including character data, but not actually to the disk... I think. I don't really know what I'm talking about.
Winter is mostly correct; Save states save all the data loaded in the game's memory(To my knowledge).
If you make a save state in an ongoing match (Let's say Bowser vs Yoshi) and then make changes to either character and load the save state to test out the changes that were made, it won't work. This is because character data is loaded into the game's memory after the character select screen(I'm not sure if it's loaded in stage select or while the match is loading).

However, if you make a save state at the character select screen itself, then when you start a new match all changes made to characters should be loaded.

One important thing to note is that no matter what, if you make a DOL edit(In Crazy Hand, this includes any changes to Frame Speed Modifiers and any changes to move logic) save states will overwrite that edit. This is because all the data in Start.dol is loaded into the game's memory as soon as it starts, and as a result of that, is saved in your save state.


TL:DR Make your save states at the debug menu screen or character select screen if you want to see your edits in a more timely fashion
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Winter is mostly correct; Save states save all the data loaded in the game's memory(To my knowledge).
If you make a save state in an ongoing match (Let's say Bowser vs Yoshi) and then make changes to either character and load the save state to test out the changes that were made, it won't work. This is because character data is loaded into the game's memory after the character select screen(I'm not sure if it's loaded in stage select or while the match is loading).

However, if you make a save state at the character select screen itself, then when you start a new match all changes made to characters should be loaded.

One important thing to note is that no matter what, if you make a DOL edit(In Crazy Hand, this includes any changes to Frame Speed Modifiers and any changes to move logic) save states will overwrite that edit. This is because all the data in Start.dol is loaded into the game's memory as soon as it starts, and as a result of that, is saved in your save state.


TL:DR Make your save states at the debug menu screen or character select screen if you want to see your edits in a more timely fashion
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.
 
Top Bottom