ROM Hack [Release] Sm4shCommand

  • Thread starter Thread starter Sammi Husky
  • Start date Start date
  • Views Views 276,842
  • Replies Replies 1,560
  • Likes Likes 25
;-; I'm not quite sure what's gone wrong here. Every other fighter compiles file, but not Jigglypuff
Code:
> FITC v0.77 - Smash 4 Fighter Compiler platform.
> Licensed under the MIT License
> Copyright(c) 2016 Sammi Husky

>       Compiling ACMD.. -> "output\purin"

Unhandled Exception: System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
   at System.String.Substring(Int32 startIndex, Int32 length)
   at SALT.Scripting.AnimCMD.ACMDCompiler.CompileSingleCommand(String line)
   at SALT.Scripting.AnimCMD.ACMDCompiler.CompileCommands(String[] lines)
   at SALT.Scripting.AnimCMD.ACMDCompiler.Compile(String input)
   at SALT.Scripting.AnimCMD.ACMDCompiler.CompileFile(String filepath)
   at FitCompiler.Program.compile_acmd(String mlist, String output)
   at FitCompiler.Program.Main(String[] args)
 
;-; I'm not quite sure what's gone wrong here. Every other fighter compiles file, but not Jigglypuff
Code:
> FITC v0.77 - Smash 4 Fighter Compiler platform.
> Licensed under the MIT License
> Copyright(c) 2016 Sammi Husky

>       Compiling ACMD.. -> "output\purin"

Unhandled Exception: System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
   at System.String.Substring(Int32 startIndex, Int32 length)
   at SALT.Scripting.AnimCMD.ACMDCompiler.CompileSingleCommand(String line)
   at SALT.Scripting.AnimCMD.ACMDCompiler.CompileCommands(String[] lines)
   at SALT.Scripting.AnimCMD.ACMDCompiler.Compile(String input)
   at SALT.Scripting.AnimCMD.ACMDCompiler.CompileFile(String filepath)
   at FitCompiler.Program.compile_acmd(String mlist, String output)
   at FitCompiler.Program.Main(String[] args)

Might be a broken command, i'll have to look into it :/ thanks for lettimg me know
 
Hey again, I've randomly got an issue with compilation. The files from my dump work 100% fine when loading them with SaltySD, but if I decompile then then recompile them with FITC and FITD then they crash my game when trying to load. I can send you files if necessary to look into the issue.
 
Decompiled every fighter recently, and a few had issues.
Bayonetta, Game and Watch, and Palutena all said there was an issue while decompiling, but still outputted some files. I'm unsure if they're safe to edit and compile again.
Dedede had errors too, but nothing was outputted at all. Directories were created for the files, however.
 
I feel bad for spamming, I'm sorry @Sammi Husky

Anyway, I have Marth's base ACMD files, I decompiled them and then recompiled them. The files I ended up with and the files I started with are similar, but every 4 bytes starting from 0x0000004 (in game.bin at least, haven't check other files) are reversed until the end of the file. The first 4 bytes are just ACMD, and they're not reversed into DMCA.
For example, this is before decompilation and recompilation:
Code:
ACMD ABCD EFGH IJKL
This is after:
Code:
ACMD DCBA HGFE LKJI

This is really hindering progress on a mod currently, and it would be great if you could tell me anything about my situation. Sorry again for spamming the thread.

Edit: All 5 outputted files are affected by this. effect.bin, expression.bin, game.bin, sound.bin, and even motion.mtable.
 
Last edited by Yudowat,
  • Like
Reactions: Deleted User
I feel bad for spamming, I'm sorry @Sammi Husky

Anyway, I have Marth's base ACMD files, I decompiled them and then recompiled them. The files I ended up with and the files I started with are similar, but every 4 bytes starting from 0x0000004 (in game.bin at least, haven't check other files) are reversed until the end of the file. The first 4 bytes are just ACMD, and they're not reversed into DMCA.
For example, this is before decompilation and recompilation:
Code:
ACMD ABCD EFGH IJKL
This is after:
Code:
ACMD DCBA HGFE LKJI

This is really hindering progress on a mod currently, and it would be great if you could tell me anything about my situation. Sorry again for spamming the thread.

Edit: All 5 outputted files are affected by this. effect.bin, expression.bin, game.bin, sound.bin, and even motion.mtable.

That's because it's outputting at big endian (WIIU) by default. If you want to change the endianness then FITC has an option for it (the -be or -le switches)
 
  • Like
Reactions: Yudowat
That's because it's outputting at big endian (WIIU) by default. If you want to change the endianness then FITC has an option for it (the -be or -le switches)
Ah okay, I assumed it outputted the same format as it inputted. Thinking about it now, there's nothing to tell the program which format was inputted, so thanks for the clarification.
 
Where is the thing that used to be "events.cfg" in FITX?

I know you're working on MSC, but I would appreciate an animcmd editor that 1. isn't buggy as hell, so you can actually edit consistently and without having to start over and 2. one that gives at least minimal tools, i.e. not "just use a text editor lol"
 
Where is the thing that used to be "events.cfg" in FITX?

I know you're working on MSC, but I would appreciate an animcmd editor that 1. isn't buggy as hell, so you can actually edit consistently and without having to start over and 2. one that gives at least minimal tools, i.e. not "just use a text editor lol"

What is wrong with using a text editor? That is the minimal tooling. It literally is the only tool you need. You're working with fighter programming, it should resemble and behave like programming. Me doing anything else just complicates things.

The reason that SM4SHCommand was buggy was because it was trying to do all the editing itself which is ridiculous.

For your original question, FITX is an initial release and isnt done. it doesnt use events.cfg, everything is internal
 
Hey Sammi, how's MSC going? Good? I found some If-related stuff, so I just want to know if custom subactions and commands/inputs would be possible. Things like a command to allow a wall-jump cancel pr jump cancel or anything cancel could be coded in MSC and then a custom command in ACMD to look for that action in MSC would be possible, right?
 
Yep! Just check the library. I'm also making a WIP spreadsheet that list all commands, and I will be parsing new ones, too!
 
  • Like
Reactions: Deleted User
Hm. It seems the new versions don't have a library. The beta does, but for some reason it was removed... @Sammi Husky That would be a really helpful add-on, but there's no need to re-add it if you don't feel like it.
 
S
Hm. It seems the new versions don't have a library. The beta does, but for some reason it was removed... @Sammi Husky That would be a really helpful add-on, but there's no need to re-add it if you don't feel like it.
Seems pretty necessary to me, seeing as I am going to do more than just copy and paste hitboxes. Can't do much at all without the function names.
Also should need a way to edit the library to get rid of the unknowns, like the previous events.cfg. This is what I meant by tools.
 
You can parse the animations yourself if you want. You can also just use the commands from other moves too y'know. Just experiment to learn the code. It's actually really fun to mess with. You can use GFX, sound effects, and other cool stuff!
 
You can parse the animations yourself if you want. You can also just use the commands from other moves too y'know. Just experiment to learn the code. It's actually really fun to mess with. You can use GFX, sound effects, and other cool stuff!
What do you mean parse them yourself? How would I do that? (Unless you mean just editing the 0xXXXXXXXX.acm title)
 

Site & Scene News

Popular threads in this forum