ROM Hack [Release] Sm4shCommand

  • Thread starter Thread starter Sammi Husky
  • Start date Start date
  • Views Views 276,849
  • Replies Replies 1,560
  • Likes Likes 25
What are the parameters for the add/set momentum command? I found an example in Corrin's Bair (Kamui), but I don't understand what the three variables mean...
Code:
Add/Set_Momentum(Unknown=1.2, Unknown=0.25, Unknown=0x1)
I believe the 0x1 is the angle, but that's about as far as I could figure out... anybody know?
 
Code:
Add/Set_Momentum(Vertical=1.2, Horizontal=0.25, Mode=SET)

Hey Sammi, since you're here, I have a question related to this issue. Why are my values showing up as "Unknown"? On Dantarion's website, they have actual names like Vertical, Horizontal, etc. I downloaded the AnimCmd from the front page of this thread but they're displaying Unknown everywhere. Also, when I double click Main under "Command Lists", I get this error:

"Unhandled exception has occurred in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately.

Object reference not set to an instance of an object."

Clicking continue gives me another:

"Unhandled exception ... InvalidArgument=Value of '1' is not valid for 'index'. Paramter name: index"

Any idea about these 2 issues?
 
The current version released has a few issues, one of them being that the release build has an issue opening more than one command list. About things showing as unknown, it's simply that the events.cfg file isn't up to date. The latest one is on my github will fix the problem with certain moves crashing and fill in some info.

I suppose now is better a time than any to get an actual workable version out. You can grab it here. I'll update the OP as well, here is the current changelog

  • Allow parsing all fighter animations by selecting the fighter's "motion" folder (the folder containing the other folders named "body" and such), rather than selecting the main.pac/bch.
  • Restructured the tree view for better usage
  • Renamed Frame_Speed_Multiplier to Set_Frame_Duration to better indicate usage
  • Current tab handle is colored green to easily distinguish from non selected tabs
  • Fix switching / opening tabs causing crashes in release builds
  • Fix Parse Animations throwing errors on certain characters
  • Fix rebuilding ACMD crashing on taunt, crouch, etc
  • Merge new custom codebox branch
  • Add IASA / Allow_Interupt command
  • Add TRUE/FALSE/COMPARE/IS_BIT_SET commands
  • Autocalc TRUE/FALSE/GOTO commands.
  • Autoformat on entering closing bracket '}'.
  • Remove indent level and do indenting based on enclosing brackets.
  • fix save as
  • fix parsing animations in fighter mode
  • fix save in fighter mode
  • add "mode" combo box to file menu to save as either big endian or little endian for wiiu/3ds.
  • display subaction index next to CRC in treeview
  • return to displaying empty event lists in fighter mode to preserve subaction indexes.
  • Update with new 1.1.4 commands
  • parsing animations now preserves subaction index
  • Allow adding commands to empty lists
  • fix infinite loop memory leak when someone mistakenly opens anything other than ACMD
NOTICE: Selection is not working with the new codebox, that's why it's a prerelease
 
Last edited by Sammi Husky,
  • Like
Reactions: I pwned U!
The current version released has a few issues, one of them being that the release build has an issue opening more than one command list. About things showing as unknown, it's simply that the events.cfg file isn't up to date. The latest one is on my github will fix the problem with certain moves crashing and fill in some info.

I suppose now is better a time than any to get an actual workable version out. You can grab it here. I'll update the OP as well, here is the current changelog

  • Allow parsing all fighter animations by selecting the fighter's "motion" folder (the folder containing the other folders named "body" and such), rather than selecting the main.pac/bch.
  • Restructured the tree view for better usage
  • Renamed Frame_Speed_Multiplier to Set_Frame_Duration to better indicate usage
  • Current tab handle is colored green to easily distinguish from non selected tabs
  • Fix switching / opening tabs causing crashes in release builds
  • Fix Parse Animations throwing errors on certain characters
  • Fix rebuilding ACMD crashing on taunt, crouch, etc
  • Merge new custom codebox branch
  • Add IASA / Allow_Interupt command
  • Add TRUE/FALSE/COMPARE/IS_BIT_SET commands
  • Autocalc TRUE/FALSE/GOTO commands.
  • Autoformat on entering closing bracket '}'.
  • Remove indent level and do indenting based on enclosing brackets.
  • fix save as
  • fix parsing animations in fighter mode
  • fix save in fighter mode
  • add "mode" combo box to file menu to save as either big endian or little endian for wiiu/3ds.
  • display subaction index next to CRC in treeview
  • return to displaying empty event lists in fighter mode to preserve subaction indexes.
  • Update with new 1.1.4 commands
  • parsing animations now preserves subaction index
  • Allow adding commands to empty lists
  • fix infinite loop memory leak when someone mistakenly opens anything other than ACMD
NOTICE: Selection is not working with the new codebox, that's why it's a prerelease
Animation parsing is not working with this beta, but the code im running through visual studio still use the selecting main.bch file, while having all of your other functions and work. I don't know if I grabbed a version before you made this one, or if this beta is made from code not pushed on git.
 
beta animation parsing is definitely broken on 3ds ver. That beta/prerelease doesn't have it's code pushed to git yet. Im not at my home computer so i won't be able to publish it for a few days. Only reason i was able to post this at all is because i sent a build to @thatsmash4modder and a few others to test before i left
 
The current version released has a few issues, one of them being that the release build has an issue opening more than one command list. About things showing as unknown, it's simply that the events.cfg file isn't up to date. The latest one is on my github will fix the problem with certain moves crashing and fill in some info.

I suppose now is better a time than any to get an actual workable version out. You can grab it here. I'll update the OP as well, here is the current changelog

  • Allow parsing all fighter animations by selecting the fighter's "motion" folder (the folder containing the other folders named "body" and such), rather than selecting the main.pac/bch.
  • Restructured the tree view for better usage
  • Renamed Frame_Speed_Multiplier to Set_Frame_Duration to better indicate usage
  • Current tab handle is colored green to easily distinguish from non selected tabs
  • Fix switching / opening tabs causing crashes in release builds
  • Fix Parse Animations throwing errors on certain characters
  • Fix rebuilding ACMD crashing on taunt, crouch, etc
  • Merge new custom codebox branch
  • Add IASA / Allow_Interupt command
  • Add TRUE/FALSE/COMPARE/IS_BIT_SET commands
  • Autocalc TRUE/FALSE/GOTO commands.
  • Autoformat on entering closing bracket '}'.
  • Remove indent level and do indenting based on enclosing brackets.
  • fix save as
  • fix parsing animations in fighter mode
  • fix save in fighter mode
  • add "mode" combo box to file menu to save as either big endian or little endian for wiiu/3ds.
  • display subaction index next to CRC in treeview
  • return to displaying empty event lists in fighter mode to preserve subaction indexes.
  • Update with new 1.1.4 commands
  • parsing animations now preserves subaction index
  • Allow adding commands to empty lists
  • fix infinite loop memory leak when someone mistakenly opens anything other than ACMD
NOTICE: Selection is not working with the new codebox, that's why it's a prerelease

Thanks for the help. Actually, I tried to run your new version, but it won't run. I just get the spinning blue "loading" circle next to my mouse in the explorer window but nothing ever shows up.

This might have been answered before, but I searched "dlc" and the search told me the phrase was too short, so I'll ask here. How do I edit DLC characters? They don't show up in the romfs dump. Thanks again!
 
DLC has to be dumped from the updates that contained them. 1.1.4 will contain all of them. As far as your issues running the app, i have no idea what would be causing that. None of the people who tested it durin dev mentioned anything about it. Maybe it's a firewall thing if your using win10, though that shouldn't be an issue afaik
 
When I use the newer version of AnimCMD, I can't parse any animations and it just leaves the movesets without labels. Anything I'm doing wrong?

Oh and how do i edit the taunts?
 
>Sees new build
..oh, hey, this is out suddenly! Guess it's time to get off my ass (and reddit emblem) and start doing work again
 
When I use the newer version of AnimCMD, I can't parse any animations and it just leaves the movesets without labels. Anything I'm doing wrong?

Oh and how do i edit the taunts?

Beta ver can't parse 3ds animations right now. And if your on wiiu ver, you don't select the file anymore. You select the character's entire "motion" folder
 
Alright, so I've been trying to get this to work, and I think I'm on the right track, but when I boot Smash 4, the changes I made aren't sticking. Here's what I'm doing, let me know where I messed up:

Instead of using HANS, I want to mess around with 1.1.4, so I'm using SaltySD.

I used Decrypt9 to decrypt the 1.1.4 update cia, after which I used ShinyQuagsire's new python script to decrypt the dt and ls files into the outdir folder. I want to edit Corrin's data, so I opened Sm4shcommand, file->open->fighter-> and pointed to animcmd/fighter/kamui/ and pressed Select. Then I parsed animations with motion/fighter/kamui/body/main.bch

Say I want to edit Corrin's fair. I scroll to AttackAirF, double click Main. Say I want to make fair do 20 damage, I change all 3 hitboxes' damage values from 8.5 to 20. Now, I want fair to end in half the frames, so I changed the value of that, too. Now I go to File->Save As, and save that somewhere else.

I made the following directory in the root of my SD: F:/saltysd/smash/animcmd/fighter/kamui and pasted the new files in there, of which there are 5.

I go into my 3DS, used BBM to delete the 1.1.4 update data that was already there, and installed the SaltySD 1.1.4 CIA that I found from a tutorial on reddit. I booted Smash 4, noted it was 1.1.4, went into a match, which took a while to load, as the tutorial said it would, but my attack values haven't changed at all. So here's where I'm stuck. Any insight?
 
Btw, you only need to move the game.bin file if all you changed was the "Main" code; It's less likely to crash than if you moved everything over (grabs especially like to crash when moving all five files).

Also, did you use the cachegen.py script at all after you put the files on the SD card?

EDIT: Could someone else respond after his reply? I need to get to bed...
 
Btw, you only need to move the game.bin file if all you changed was the "Main" code; It's less likely to crash than if you moved everything over (grabs especially like to crash when moving all five files).

Also, did you use the cachegen.py script at all after you put the files on the SD card?

EDIT: Could someone else respond after his reply? I need to get to bed...
Hey, thanks for replying. I didn't actually run any py scripts after putting the files on the SD card. Am I missing a bunch of crucial steps, here?
 
I think part of the problem might be that my edits don't seem to be saving? I made my edits to the damage value, closed Sm4shcommand, and then when I reopen the file, the old damage=8.5 values are still there rather than the damage=20 ones. I don't know if I needed to, but I moved all the files from ShinyQuagsire's SaltySD folder (including the py scripts) to the F:/saltysd/smash/ folder on my SD card, and I also ran the cachegen.py script, as well. No dice. It just looks like my edits aren't staying.
 
I think part of the problem might be that my edits don't seem to be saving? I made my edits to the damage value, closed Sm4shcommand, and then when I reopen the file, the old damage=8.5 values are still there rather than the damage=20 ones. I don't know if I needed to, but I moved all the files from ShinyQuagsire's SaltySD folder (including the py scripts) to the F:/saltysd/smash/ folder on my SD card, and I also ran the cachegen.py script, as well. No dice. It just looks like my edits aren't staying.

Are you using the beta ver or the stable one? The stable ver needs you to close the tabs manually before saving. The beta ver might need you to use save instead of save as, i don't recall. I'll end up pushing some fixes and a new beta ver very soon to fix a bunch of stuff
 
I think part of the problem might be that my edits don't seem to be saving? I made my edits to the damage value, closed Sm4shcommand, and then when I reopen the file, the old damage=8.5 values are still there rather than the damage=20 ones. I don't know if I needed to, but I moved all the files from ShinyQuagsire's SaltySD folder (including the py scripts) to the F:/saltysd/smash/ folder on my SD card, and I also ran the cachegen.py script, as well. No dice. It just looks like my edits aren't staying.
cachegen.py must be at the root of your sd card. Then when you are at the root of your sd card, shift+ right-click > open command prompt. Then write cachegen.py saltysd\smash
press enter and it should write a bunch of stuff.
To save your change, close the tab first and then use save. (I always use save and then move the game.bin, never tried save as but should work the same way)
 
  • Like
Reactions: BreakneckWalrus
Are you using the beta ver or the stable one? The stable ver needs you to close the tabs manually before saving. The beta ver might need you to use save instead of save as, i don't recall. I'll end up pushing some fixes and a new beta ver very soon to fix a bunch of stuff

That did it! That was my issue the whole time! Wow. I wasn't closing the tab before saving... what an odd quirk. You're awesome, thanks!

I'm still using the stable one. The beta version still gives me that weird issue where it doesn't ever start up, by the way. Is there a way for me to compile my own version of the beta version?

I've got some more questions, if you don't mind answering them. First, how do I cut ending lag of an attack? I wanted to give back Marth SH double fair, so I tried this edit:

Set_bit(Unknown=0x2100000D)
Asynchronous_Timer(Frames=5)
Defensive_Hitbox(Unknown=0x0, Unknown=0x3EA, Unknown=0, Unknown=0, Unknown=2)
Defensive_Hitbox(Unknown=0x1, Unknown=0x16, Unknown=0, Unknown=0, Unknown=0)
Defensive_Hitbox(Unknown=0x2, Unknown=0x3EA, Unknown=0, Unknown=0, Unknown=6.7)
unk_AC811479(Unknown=0xD, Unknown=0xFFFFFFFF)
Asynchronous_Timer(Frames=6)
Hitbox(ID=0x0, Part=0x0, Bone=0x3EA, Damage=10, Angle=0x169, KBG=0x50, FKB=0x0, BKB=0x28, Size=3.5, Z=0, Y=0, X=2, Effect=0x2, Trip=0, Hitlag=0.7, SDI=1, Clang=0x1, Unknown=0x1, ShieldDamage=0x0, SFXType=0x1, Ground/Air=0x3, Direct/Indirect=0x3, Unknown=0x1, Unknown=0xA)
Hitbox(ID=0x1, Part=0x0, Bone=0x16, Damage=10, Angle=0x169, KBG=0x50, FKB=0x0, BKB=0x28, Size=3.5, Z=0, Y=0, X=0, Effect=0x2, Trip=0, Hitlag=0.7, SDI=1, Clang=0x1, Unknown=0x1, ShieldDamage=0x0, SFXType=0x1, Ground/Air=0x3, Direct/Indirect=0x3, Unknown=0x1, Unknown=0xA)
Hitbox(ID=0x2, Part=0x0, Bone=0x3EA, Damage=13, Angle=0x169, KBG=0x5A, FKB=0x0, BKB=0x28, Size=3.5, Z=0, Y=0, X=7.7, Effect=0x2, Trip=0, Hitlag=1.25, SDI=1, Clang=0x1, Unknown=0x1, ShieldDamage=0x0, SFXType=0x2, Ground/Air=0x3, Direct/Indirect=0x3, Unknown=0x1, Unknown=0xA)
Synchronous_Timer(Frames=3)
Remove_All_Hitboxes()
Asynchronous_Timer(Frames=18) // down from 36
Clear_bit(Unknown=0x2100000D)
Script_End()

I reasoned that it would wait until frame 18 or roundabouts to end the script, but that didn't seem to work.

Second, what's the "defensive_hitbox" I'm seeing up there?

Third, is there also a way to edit things like BK, KG, and angles? Those values were still blue and had weird entries in Sm4shcommand when I tried to edit them.

Finally, for now, anyway, I want to change the landing lag on fair, as well. So I opened LandingAirF, double clicked Main, but it gave me 2 errors, and then all I see is // Empty List //.

Thanks a million Sammi.
 
Last edited by BreakneckWalrus,

Site & Scene News

Popular threads in this forum