ROM Hack [Release] Sm4shCommand

  • Thread starter Thread starter Sammi Husky
  • Start date Start date
  • Views Views 276,846
  • Replies Replies 1,560
  • Likes Likes 25
You need to use copy pasta. Pretty much locate the final smash command copy all of its data and paste it in the taunt command. You should not only copy pasta the Main, but also the GFX, SFX, and Expression.
Thanks.
 
You need to use copy pasta. Pretty much locate the final smash command copy all of its data and paste it in the taunt command. You should not only copy pasta the Main, but also the GFX, SFX, and Expression.
But every time I put in any file other than game.bin into the game (and all the cachegen.py stuff, etc., I know I'm doing it right otherwise game.bin wouldn't work on its own), it crashes upon grabbing and even some down tilts, even without me editing anything...
 
But every time I put in any file other than game.bin into the game (and all the cachegen.py stuff, etc., I know I'm doing it right otherwise game.bin wouldn't work on its own), it crashes upon grabbing and even some down tilts, even without me editing anything...
Yeah, that's a bug in Animcmd. Not your fault. It was fixed in the new beta.
 
Yeah, that's a bug in Animcmd. Not your fault. It was fixed in the new beta.
Oh.


The Beta.


.......








(Okay, I really do like the way the beta is going, but at the moment, parsing animations not being available and the lack of the ability to highlight any text at all are the two things preventing me from using it. As soon as these are fixed, I would immediately prefer it over the old one :))
 
Does anyone have a decrypted version of SSb4 1.14 3DS? I don't have enough storage on my SD card to dump the game myself and I want to edit all the DLC characters.
 
Does anyone have a decrypted version of SSb4 1.14 3DS? I don't have enough storage on my SD card to dump the game myself and I want to edit all the DLC characters.
I believe sharing these files would be against the forum rules... being files from a copyrighted game and all
 
Last edited by Mattshark,
I have a problem...

Can you go about swapping animations for a character at all? For example, say I want to replace Ike's side tilt with his neutral attack (or something). I move all the code from Main, GFX, SND, and Expression to his tilt, and it does work/do the same damage/hitboxes/etc, but he still does the side tilt model animation. How would I go about copying the animation itself?
 
Last edited by Mattshark,
I have a problem...

Can you go about swapping animations for a character at all? For example, say I want to replace Ike's side tilt with his neutral attack (or something). I move all the code from Main, GFX, SND, and Expression to his tilt, and it does work/do the same damage/hitboxes/etc, but he still does the side tilt model animation. How would I go about copying the animation itself?
Did you only move the game.bin to your SD card? sounds like only the Main was applied.
 
Did you only move the game.bin to your SD card? sounds like only the Main was applied.
I put on all five, including the motion.mtable and ran cachegen.py correctly and all that; everything except the model motion itself is working, including the special visual effects and whatnot...

EDIT: Isn't all the animation data stored in the model directories anyway, not the animcmd? Because I'm not sure if the animations themselves are triggered from the animcmd or not. (Example: In Yoshi's Neutral Special 1 (the tongue-grab part, I believe), there is no code in anything at all except for Main, where it has a 21-frame timer before doing anything at all, yet Yoshi does have an animation...)
 
Last edited by Mattshark,
Anyone else able to help with the model itself's animation? I'm out of ideas. ^

I can even completely delete the original animation and replace it with the other if I really need to...
 
MSC script triggers animcmd scripts to play alongside the animation iirc. In order to change what move is called where, you need to change the MSC to call the subaction index of the move you want played. Of course MSC editing isn't possible at all yet. It's just barely getting parsed at all. MSC is basically Actions from brawl, just in a different scripting format. MSC is called depending on what buttons are pressed, it reads and sets up the bits and variables for a move and then calls the ACMD subaction using the index of the move in motion.mtable. In order to change what animation plays, the CRC needs to be changed and it's index needs to be changed in the motion.mtable.

From what i understand, MSC takes the index to look up and then uses that index into motion.mtable to retrieve the CRC. Then finds those matching CRC's in ACMD for what event list to play. The animation name doesnt really matter much, at least as far as i know.
 
MSC script triggers animcmd scripts to play alongside the animation iirc. In order to change what move is called where, you need to change the MSC to call the subaction index of the move you want played. Of course MSC editing isn't possible at all yet. It's just barely getting parsed at all. MSC is basically Actions from brawl, just in a different scripting format. MSC is called depending on what buttons are pressed, it reads and sets up the bits and variables for a move and then calls the ACMD subaction using the index of the move in motion.mtable. In order to change what animation plays, the CRC needs to be changed and it's index needs to be changed in the motion.mtable.

From what i understand, MSC takes the index to look up and then uses that index into motion.mtable to retrieve the CRC. Then finds those matching CRC's in ACMD for what event list to play. The animation name doesnt really matter much, at least as far as i know.
In that case, would it be possible to edit the motion.mtable to give a move the same index as a different move, making the second move's model animation play instead of the first one, even if it makes the original animation inaccessible (because you overwrote its index with the other one)?
 
In that case, would it be possible to edit the motion.mtable to give a move the same index as a different move, making the second move's model animation play instead of the first one, even if it makes the original animation inaccessible (because you overwrote its index with the other one)?

If you find the CRC in the motion.mtable for the move you want to replace and overwrite it with the CRC for the move you want to play... it might work. I haven't really tested that, but it might.

For example, the crc for uptilt is 0x211a601b (attackhi3). If you find that in the motion.mtable and change it to 0xbf7ef5b8 (attackhi4) it should change to reference usmash instead..maybe. Also, keep in mind that those CRC's may have to have their bytes reversed depending on whether you doing 3ds or wiiu.
 
Last edited by Sammi Husky,
  • Like
Reactions: I pwned U!
If you find the CRC in the motion.mtable for the move you want to replace and overwrite it with the CRC for the move you want to play... it might work. I haven't really tested that, but it might.

For example, the crc for uptilt is 0x211a601b (attackhi3). If you find that in the motion.mtable and change it to 0xbf7ef5b8 (attackhi4) it should change to reference usmash instead..maybe. Also, keep in mind that those CRC's may have to have their bytes reversed depending on whether you doing 3ds or wiiu.
Would I just edit this with a Hex editor, or is there a tool available for it? and I'm using 3ds; would I reverse it?

EDIT: ...and what is a CRC?

EDITEDIT: Oh, figured it out; thanks for the help! going to try it out real quick...
 
Last edited by Mattshark,
Would I just edit this with a Hex editor, or is there a tool available for it? and I'm using 3ds; would I reverse it?

EDIT: ...and what is a CRC?

Hex editor would be fine. Just search for 211a601b(attackhi3), if you find it then everything is good and you can just use the values that any crc32 website or whatever you use gives you. If you don't find it then you need to swap the endianness. In that case attackhi3 is 0x1b601a21.

CRC = cyclic redundancy checksum. When i say CRC in the context of the moveset stuff however, i'm actually talking about the checksum or hash it produces. More importantly it's a CRC32 of the animation name associated with the move. CRC32 is actually "cyclic redundancy checksum polynomial of 32-bit length"

Any more descriptive and it kinda goes beyond the topic of the thread :P google is your friend and will probably explain things alot better than i
 

Site & Scene News

Popular threads in this forum