ROM Hack [Release] Sm4shCommand

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
341
Country
Australia
Would it be possible to include the unparsed name in the front of the names of the files so Windows puts them in the right order automatically?
I had trouble with it before, but just scroll past all the moves starting with 0x, theres not much we can do regarding windows sorting files
 

The_Marcster

Well-Known Member
Newcomer
Joined
Aug 18, 2015
Messages
98
Trophies
0
Age
24
XP
86
Country
Gambia, The
I had trouble with it before, but just scroll past all the moves starting with 0x, theres not much we can do regarding windows sorting files

The problem is that the moves starting with 0x are sometimes exactly the scripts i want to edit. Until now the only way to know what move they describe was to look at the moves above and below them in Sm4shCommand. Now I have no idea what a file like 0x1D07EAAF.acm could possibly contain...
 

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
341
Country
Australia
The problem is that the moves starting with 0x are sometimes exactly the scripts i want to edit. Until now the only way to know what move they describe was to look at the moves above and below them in Sm4shCommand. Now I have no idea what a file like 0x1D07EAAF.acm could possibly contain...
Well maybe you could use sm4shcommand and open the move you wanted to edit but then note the hex code for it idk
 

Sammi Husky

Well-Known Member
OP
Member
Joined
Jul 6, 2014
Messages
312
Trophies
0
Age
29
XP
498
Country
United States
Would it be possible to include the unparsed name in the front of the names of the files so Windows puts them in the right order automatically?

@Sammi Husky Maybe something like 27-0x0C8D3717-SpecialN.acm ([order number in animcmd]-[hex code]-[name if applicable].acm)

I'll probably do something fairly similar to that, yea. Not too sure on the specific naming scheme, but definitely something that helps put things in the right order
 
  • Like
Reactions: The_Marcster

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
341
Country
Australia
@Sammi Husky How much difference is there between 3DS and WiiU scripts? Also, is there a way to write readable in the moves that wont get loaded into anything? maybe after the Script_End()?
 
Last edited by Yudowat,

Sammi Husky

Well-Known Member
OP
Member
Joined
Jul 6, 2014
Messages
312
Trophies
0
Age
29
XP
498
Country
United States
@Sammi Husky How much difference is there between 3DS and WiiU scripts? Also, is there a way to write readable in the moves that wont get loaded into anything? maybe after the Script_End()?

The actual movesets themselves are exactly the same across games. As for writing in movesets scripts, the compiler supports comments. Example:

Code:
MoveDef AttackHi3
{
    // comment1
    // comments are useful!

    // main attack scripts
    Game()
    {
        Asynchronous_Timer(Frames=1)// this is frane one of the move
    }
}
 

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
341
Country
Australia
The actual movesets themselves are exactly the same across games. As for writing in movesets scripts, the compiler supports comments. Example:

Code:
MoveDef AttackHi3
{
    // comment1
    // comments are useful!

    // main attack scripts
    Game()
    {
        Asynchronous_Timer(Frames=1)// this is frane one of the move
    }
}
That's very useful, thanks for the comment information! Will comments still be readable after compiling then decompiling?
Also, if movesets are the same between games, why do we need an option in FITX to compile for the other game (3DS/WiiU)?
 

Sammi Husky

Well-Known Member
OP
Member
Joined
Jul 6, 2014
Messages
312
Trophies
0
Age
29
XP
498
Country
United States
That's very useful, thanks for the comment information! Will comments still be readable after compiling then decompiling?
Also, if movesets are the same between games, why do we need an option in FITX to compile for the other game (3DS/WiiU)?

The options in the FITX compiler for switching endianness is just because the files for 3ds are little endian and wiiu is big endian. The scripting itself is the same, was what i meant.

About the comments, if you compile the script and then decompile the output, the comments arent there. The moveset files only hold the command data so there isnt any way for me to store ascii text in it.
 
Last edited by Sammi Husky,

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
341
Country
Australia
The options in the FITX compiler for switching endianness is just because the files for 3ds are little endian and wiiu is big endian. The scripting itself is the same, was what i meant.

About the comments, if you compile th script and then decompile the output, the comments arent there. The moveset files only hold the command data so there isnt any way for me to store ascii text in it.
Ah I see, my bad. But it's a shame we cant store text in the scripts, would it be possible to do something after the Script_End() like I said earlier? or does FITX disregard anything after that command?
 

Sammi Husky

Well-Known Member
OP
Member
Joined
Jul 6, 2014
Messages
312
Trophies
0
Age
29
XP
498
Country
United States
Ah I see, my bad. But it's a shame we cant store text in the scripts, would it be possible to do something after the Script_End() like I said earlier? or does FITX disregard anything after that command?

It's less that FITX doesnt support it and more that the ACMD filetype doesnt support it, in much the same way that real programming doesnt store the source code in the .exe/executable. The source code is compiled into the binary once, and if you need to make a change you edit the original source and compile again. Same with ACMD.

I dont see much of a reason to store the comments in the binaries anyways since you only ever use the binaries when testing them in game. In every other scenario you can just send someone the source
 

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
341
Country
Australia
It's less that FITX doesnt support it and more that the ACMD filetype doesnt support it, in much the same way that real programming doesnt store the source code in the .exe/executable. The source code is compiled into the binary once, and if you need to make a change you edit the original source and compile again. Same with ACMD.

I dont see much of a reason to store the comments in the binaries anyways since you only ever use the binaries when testing them in game. In every other scenario you can just send someone the source
I understand. I was just hoping there would be some way to distinguish my code from someone else's.
 

HeartBound

Well-Known Member
Member
Joined
Feb 11, 2016
Messages
159
Trophies
0
Age
33
XP
105
Country
Canada
I understand. I was just hoping there would be some way to distinguish my code from someone else's.
you could put a random
Asynchronous_Timer(Frames=1)
Set_Frame_Duration(Speed=1)
that wouldn't change anything and you could know where you put them. I don't see why you would go through such trouble since anyone can decompile, remove it and recompile though.
 

Yudowat

That one guy that shows up occasionally
Member
Joined
Jun 12, 2015
Messages
552
Trophies
0
XP
341
Country
Australia
you could put a random
Asynchronous_Timer(Frames=1)
Set_Frame_Duration(Speed=1)
that wouldn't change anything and you could know where you put them. I don't see why you would go through such trouble since anyone can decompile, remove it and recompile though.
Yeah true, that would work. Thanks!
 
D

Deleted User

Guest
I managed to do some more animation swapping in the name of making a mod for Falco's Melee moveset. However, after also manually copying over the code under 'main', 'GFX' and 'SFX', I no longer hear any noises when using the move. For exmaple, fox's forward air makes a few subsequent "woosh" noises even when he doesn't connect it, but when I copy the move (Main, SFX and GFX) to Falco, I don't hear anything. Is there any reason this might happen? Also, is there any way/anywhere to see what SFX are what? Because in transferring the SFX from Fox to Falco, I lost Falco's voice clips that should play when he uses certain moves.
 
Last edited by ,

Sammi Husky

Well-Known Member
OP
Member
Joined
Jul 6, 2014
Messages
312
Trophies
0
Age
29
XP
498
Country
United States
You probably don't hear anything because the sound call command uses SFX id's to call sounds, and fighters can only use sound effects in their soundbank or the common soundbank. Fox's sound commands that you copied over are still calling fox's sound effects, but since fox isn't in the game his sounds aren't loaded and so it's just silent
 
  • Like
Reactions: Deleted User
D

Deleted User

Guest
You probably don't hear anything because the sound call command uses SFX id's to call sounds, and fighters can only use sound effects in their soundbank or the common soundbank. Fox's sound commands that you copied over are still calling fox's sound effects, but since fox isn't in the game his sounds aren't loaded and so it's just silent
I was guessing it might be something of that manner. I might just revert the SFX until I can find a better solution. I'm aware there is a way to add sounds, but I have no clue how to go about changing/adding/removing any.
 
D

Deleted User

Guest
Would I be correct to say that in the current state of Sm4sh modding, we cannot make moves able to be exclusively jump canceled such as shine in Melee, or auto-cancel upon landing such as Falco's lasers in Melee? I'm aware of Allow_interrupt, but that allows interuption with literally any move, including the one you just used.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: I did use a bot for Diablo III though but no ban there lol