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

Let's tinker with bone structure!

fortwaffles

Smash Ace
Joined
Jan 20, 2009
Messages
514
well, this is a small program i made. i can edit:
bone index
parent bone
child bone
next bone
previous bone

http://www.mediafire.com/?mzoyygjjdiz

instructions:
save the model file as model.mdl0 in the same directory as bone mods.exe
the rest is self explanitory.
up/down change bone by 1
left/right change bone by 10
after hitting done, the program will automatically close when finished

make sure you have BBox handy, and it sadly doesnt show the name of bones.
feel free to delete bones.bon when finished with everything
 

JoeGrandma

Smash Journeyman
Joined
Dec 11, 2008
Messages
368
So... this edits the hierarchy structure for the bones, right...?

I'm really bad at this kinda stuff.
 

Shadic

Alakadoof?
Joined
Dec 18, 2003
Messages
5,695
Location
Olympia, WA
NNID
Shadoof
Awesome. This would have been extremely helpful when I was working on Isaac. I could look into that again....
 

fortwaffles

Smash Ace
Joined
Jan 20, 2009
Messages
514
well, dont get too excited, cuz it looks like the stucture messes up in Brawlbox after loading it, and saving it. anyone want to find a way to fix tht? :3
 

...:::VILE:::...

Smash Ace
Joined
Apr 15, 2009
Messages
786
Could you give me an overview of the process this goes through to change the bones hierarchy. Im pretty sure i might be able to tell you if it works or not.
 

fortwaffles

Smash Ace
Joined
Jan 20, 2009
Messages
514
Could you give me an overview of the process this goes through to change the bones hierarchy. Im pretty sure i might be able to tell you if it works or not.
i sucessfully got it to change rock lee's bones all to being root bones (none are parented)
so i think the problem is you have to tweak a few other bones to make everything match up. it just changes the hex data in that bone.

i tried again, and it still has hiccups. ill keep looking into it
 

JediKnightTemplar

Smash Lord
Joined
Dec 15, 2009
Messages
1,092
Location
Midland, Michigan
Just wondering, what new stuff will this contribute to Brawl hacking? I know it has significance, but I don't really know what, besides for adding bones to trophy models eventually (note I said eventually I know that currently is impossible) this can do. I can't really see the practicality of renaming bones, though there is some, I'll guess.
 

fortwaffles

Smash Ace
Joined
Jan 20, 2009
Messages
514
this changes where they go. for example, say bone A has B ans C connected to it, and bone C had D connected
A-+
....B
....C-D
you could change it to
A-+
....B-C
....D
or whatever

I found what the problem is with saving them. ill work on fixing it
 

digiholic

Smash Ace
Joined
Nov 13, 2009
Messages
678
Location
Albuquerque, New Mexico
NNID
digiholic
Quick question, do you know what might cause a model with edited boneIndexes to not show any changes in BrawlBox? I swapped out the indexes of two bones with this program, but in BrawlBox they stayed their normal values. I re-opened it in the program, and even in a Hex Editor, and the BoneIndexes were changed to what I wanted them to be, but BrawlBox just won't show the changes, and nothing changes in Brawl (which it should if I did it right)

Is it because I added bones?

EDIT: It looks like that's the reason. I re-did my model, editing the indexes before adding bones, and it worked.
 

superyoshi888

Smash Lord
Joined
Apr 8, 2008
Messages
1,026
Could you please release a fixed version of the bone adder? Or at the very least a tutorial to add them manually? The bone adder seems very finicky about choosing the models it wants to properly add bones to and the models it wants to break. >_>
 

shock44

Smash Journeyman
Joined
Nov 29, 2007
Messages
348
Okay, I don't get this. What happens when I change the parent, the child, the next thing, the previous thing? I don't want to change something randomly without knowing what I'm doing. Can somone help me understand the functions of this program better?
 

ThatGuyYouMightKnow

Smash Champion
Joined
May 12, 2008
Messages
2,373
Location
Baltimore, MD
Yeah....someone told me the top number is what bone you're changing. How am I supposed to know what bone that is? The second number is the bone index, correct? =/

Some of the parent/child bones are negative; none of the bone indexes are negative. o_o

Anyone care to explain?
 

NAMQ_DrunkeNFeasT

Smash Journeyman
Joined
Dec 28, 2007
Messages
429
Location
Puerto Rico
Fort, I need a favor, and I would really appreciate if you can teach me or do it for me

I would like a decapitated character in brawl

I would like bowser, to have he's head not attaches to he's body but an extra bone, so I can move the head on my own, like making the head be on the hand and stuff

I would love this

but in an extra bone it makes more sense, since I want to be able to throw the head with some smashes and tilts

plz do reply to me even in here on via PM

EDIT*

hope that by tomorrow I can get an answer ^^ this thing... Will become my dream come true :) I'm a bowser fan, bowser lover, bowser main and... Bowser is my dad :D

he will definetly be really great :D

I already have a moveset in mind, but just need this to be comfirmed :)
 

Eldiran

Smash Lord
Joined
Jan 8, 2008
Messages
1,707
Location
Pennsylvania
Yeah....someone told me the top number is what bone you're changing. How am I supposed to know what bone that is? The second number is the bone index, correct? =/

Some of the parent/child bones are negative; none of the bone indexes are negative. o_o

Anyone care to explain?
It is rather confusing.

The top number is indeed the Bone Index of the bone you're changing. The second number is what new value to change that Index to.

The Parent, Child, Next, and Previous values are all relative offsets.

In other words, when it says Parent is -1, that means the parent bone is back 1 bone.

If you have something like this:

BoneA
--BoneA1
--BoneA2
--BoneA3

where BoneA1-3 are children of BoneA, BoneA's child value says 1. Child determines the first child's position.

BoneA1's Parent value would be -1, because BoneA is 1 back.
BoneA2's Parent value would be -2, because BoneA is 2 back.
And surprise, BoneA3s Parent value would be -3, because from there BoneA is 3 back.

For BoneA1-3 the Child value would be 0, since they have no children.

Hope that makes sense in my roundabout explanation.
 

shock44

Smash Journeyman
Joined
Nov 29, 2007
Messages
348
It is rather confusing.

The top number is indeed the Bone Index of the bone you're changing. The second number is what new value to change that Index to.

The Parent, Child, Next, and Previous values are all relative offsets.

In other words, when it says Parent is -1, that means the parent bone is back 1 bone.

If you have something like this:

BoneA
--BoneA1
--BoneA2
--BoneA3

where BoneA1-3 are children of BoneA, BoneA's child value says 1. Child determines the first child's position.

BoneA1's Parent value would be -1, because BoneA is 1 back.
BoneA2's Parent value would be -2, because BoneA is 2 back.
And surprise, BoneA3s Parent value would be -3, because from there BoneA is 3 back.

For BoneA1-3 the Child value would be 0, since they have no children.

Hope that makes sense in my roundabout explanation.
Thank you for explaining this. I now understand the whole parent child thing in this program. Now if someone can just explain what happens when someone changes the next part and the previous part then I'll be able to mess with bones better.
 

Eldiran

Smash Lord
Joined
Jan 8, 2008
Messages
1,707
Location
Pennsylvania
Thank you for explaining this. I now understand the whole parent child thing in this program. Now if someone can just explain what happens when someone changes the next part and the previous part then I'll be able to mess with bones better.
Glad to help. I'll share everything I know about Next and Previous as well.

Say you have a bone layout like so,

BoneA
BoneB
BoneC
--BoneC1
--BoneC2
BoneD

The Next value for BoneA is 1, because the the next non-child bone (which I guess you could maybe call a "sibling bone") to it is 1 bone away. The same goes for BoneB.

However, BoneC's Next value is going to be 3. That's because there are two child bones between it and its next sibling bone.

BoneD's Next value is 0, because there are no sibling bones after it. BoneC2 also has a value of 0 for Next, because even though there is a bone after it, it's not a sibling bone.

Previous is the same as Next except for the previous sibling bone.

Values of Previous in the example:

BoneA : 0
BoneB : -1
BoneC : -1
--BoneC1 : 0
--BoneC2 : -1
BoneD : -3
 

shock44

Smash Journeyman
Joined
Nov 29, 2007
Messages
348
Glad to help. I'll share everything I know about Next and Previous as well.

Say you have a bone layout like so,

BoneA
BoneB
BoneC
--BoneC1
--BoneC2
BoneD

The Next value for BoneA is 1, because the the next non-child bone (which I guess you could maybe call a "sibling bone") to it is 1 bone away. The same goes for BoneB.

However, BoneC's Next value is going to be 3. That's because there are two child bones between it and its next sibling bone.

BoneD's Next value is 0, because there are no sibling bones after it. BoneC2 also has a value of 0 for Next, because even though there is a bone after it, it's not a sibling bone.

Previous is the same as Next except for the previous sibling bone.

Values of Previous in the example:

BoneA : 0
BoneB : -1
BoneC : -1
--BoneC1 : 0
--BoneC2 : -1
BoneD : -3
Thanks man. Now I know I'm prepared to use this program. I really apperciate you explaining this.
 

superyoshi888

Smash Lord
Joined
Apr 8, 2008
Messages
1,026
Alright, after doing another test with a different model than the one I was using previously, I think I've figured out the issue.

I suspect that the bone adder writes over unused space instead of inserting the bones in. Normally, this wouldn't be an issue, as there is typically a large amount of empty space between the bones and other important info when looked at through a hex editor. However, if you attempt to add too many bones- it doesn't matter if you do it all at once or in increments of, say, 20 -it will overwrite important information, corrupting the files. For example, in an unmodded mdl0 file, I can find this text string in the hex:

Code:
DolJugem........DrawOpa.....Hosei.......Jugem.......JugemKumo.......JugemKumoM......JugemKumoM__KumoTex.....JugemM......JugemM__JugemTex........JugemTex........KumoTex.....NodeTree........TogeTex.....TogezoM.....TogezoM1........TogezoM2........TogezoM3........TogezoM4.......*TogezoM4__pasted__pasted__pasted__TogeTex1......TogezoM__TogeTex........TopN........pasted__TogeTex.....pasted__TogeTex1........pasted__pasted__TogeTex1....... pasted__pasted__pasted__TogeTex1........polygon0........polygon1........polygon2........polygon3........polygon4........polygon5........polygon6........pos00.......rotN........togezo.1........togezo.2........togezo.3........togezo.4........transN..
However, it is absent from an mdl0 that I added 160 bones to. Could you release a new version that fixes this issue? That would help out with a lot of issues people have with the program.
 

fortwaffles

Smash Ace
Joined
Jan 20, 2009
Messages
514
what the bone adder does, is duplicates data to the end of the file, and repoints all the bones to the bone area of the copied data, so you can overwrite the rest of the stuff with more bones, but too many will get into the strings, which is at the end of the file still, so in theory, adding them in increments should copy the copied data, aswell as the normal data, making it roughly 4x the size, still giving room for more bones, but maybe i will add more...? idk...
 

pikazz

Smash Lord
Joined
Dec 6, 2009
Messages
1,868
Location
Sweden, Umeå (Currently in Seattle)
NNID
pikamaxi
fortwaffles?

my antivirus saying your programs are virus D:
and then I trying to clean away the virus, your program file change the name (like bone adder.0xe or bone adder.exe.arx)
do you know if it are your program or it is my computer are crazy? D:
*scanning my computer for virus!*
 

E-Jolteon

Smash Ace
Joined
Sep 7, 2007
Messages
502
Location
The other side
fortwaffles?

my antivirus saying your programs are virus D:
and then I trying to clean away the virus, your program file change the name (like bone adder.0xe or bone adder.exe.arx)
do you know if it are your program or it is my computer are crazy? D:
*scanning my computer for virus!*
Ever heard of a false positive?
 

NAMQ_DrunkeNFeasT

Smash Journeyman
Joined
Dec 28, 2007
Messages
429
Location
Puerto Rico
reposting ;)

Fort, I need a favor, and I would really appreciate if you can teach me or do it for me

I would like a decapitated character in brawl

I would like bowser, to have he's head not attaches to he's body but an extra bone, so I can move the head on my own, like making the head be on the hand and stuff

I would love this

but in an extra bone it makes more sense, since I want to be able to throw the head with some smashes and tilts

plz do reply to me even in here on via PM

EDIT*

hope that by tomorrow I can get an answer ^^ this thing... Will become my dream come true I'm a bowser fan, bowser lover, bowser main and... Bowser is my dad :D

he will definetly be really great :D

I already have a moveset in mind, but just need this to be comfirmed
/leaves and waits for an answer

*stares* - I'll be back, Reposting may be inevitable
 

OdinOmega

Smash Rookie
Joined
May 23, 2010
Messages
3
Location
Lower Saxony
I'm sorry if this is bumping, but I got a problem.
I am working on a hack for Ness. For that, I need the BatN bone to become ThrowN's child bone.
So, I ran the program, typed 11660 as the offset and 66 as the number of bones.
Then I did this:
.

I replaced Ness's model data with the edited model and everything looked fine:

(The numbers next to them are the BoneIndexes, if needed.

I saved the .pac file but when I reopened it or tried it in Brawl, the bones got messed up like this:


Now I need to know what I did wrong. I tried some other things, but none of them worked. I hope someone can help me. Thanks.

EDIT: Nvm, I didn't see the post about it messing up after saving...
 

Pokechao

Smash Apprentice
Joined
Jan 18, 2010
Messages
151
wait im confused
if i want silver's (from ghz backround) transN node index thats already at 4 but i want to move it to 1 and silver has 59 bones would i type the mdl0 index of TransN or the mdl0 index of the first bone in the model, then put 59 for the amount of bones? then with this index screen how do i change it?
This program is driving me nuts just trying to figure it out ._.
do you think you can explain it alot more in a simpler way?
 

Xigger

Smash Lord
Joined
Sep 18, 2007
Messages
1,117
Location
California
Bleh... I wish I could figure this out already D: But thanks for the continued help FortWaffle!
 

Eldiran

Smash Lord
Joined
Jan 8, 2008
Messages
1,707
Location
Pennsylvania
@Pokechao: type in the offset of the first bone and then the number of bones. It's all very confusing until you figure out that by pressing the arrow keys you can change which bone you're modifying. (The top number is the number indicating which bone you're editing.)
 

FLSHK

Smash Cadet
Joined
May 30, 2010
Messages
32
Location
The USA
Oh, could someone please explain to me why there are decimal numbers? If it helps, I'm editing Electivire's model.
 

Xigger

Smash Lord
Joined
Sep 18, 2007
Messages
1,117
Location
California
Eh.... may as well ask for help. WHY IS THIS SO COMPLICATED :( The saving part needs fixed. Otherwise I'd be using this like crazy.
 
Top Bottom