Last updated: 7/26/2021

This is a utilty to generate movelist.dat files. from existing .cmd files, intended for use with IKEMEN GO, a free open-source fighting game engine that supports MUGEN content.
It accomplishes this by trying to read the .cmd file and, using the information provided by the state controllers, generates a list of commands and moves.

NOTE: Due to the highly variable and inconsistent nature of MUGEN/IKEMEN content, you'll want to double-check the generated list with its corresponding character (as there will certainly be false positives). See the "For Best Results" section below for situations that create false positives, and how to modify .cmd files to avoid them.

It's worth noting that the generator in it's current state is not very accurate, especially with more intricately-coded characters.

.cmd Contents

Generated Movelist

Formatting Options

Remove AI Commands
Removes entries containing the word 'AI'.
Custom character A.I. logic works by having two of every
state controller, one for the A.I. and one for the player.

Remove One-Button Commands
Removes entries containing only one button.
This removes normals, but may also remove specials and supers that only use one button (some otherwise-4-button characters do this).

Compress Motions
Compresses directional motions to single symbols.
This may cause issues with unorthodox motions (such as the half-circle in the original Sagat's Tiger Knee command).

Use Comment-Based Move Names
Names moves after a comment placed above their state controller.
When disabled, or if no comment is found, the name in the state controller itself is used instead.

Apply Button Remap
Applies the settings in the [Remap] section to the movelist.
[Remap] allows for rebinding button inputs on a per-character basis, without having to modify every command input to accomodate.

Specialized Button Labels
Uses LK, MK, HK, LP, MP, and HP for buttons.
This is purely for visual purposes, as these buttons typically correspond to A, B, C, X, Y, and Z respectively.

Annotate Palette Requirements
Adds palette requirements to moves that have it.
These are added after power requirements, and are displayed in a unique color specified below.

Debug Console Logging
Logs the conversion progress in the browser console.
Serves little purpose besides debugging and looking cool.
Disabled by default for performance purposes.

Color Options

Movetype Header

Powerbar Annotation

Palette Annotation

For Best Results

Direction commands should be in uppercase, and buttons should be in lowercase.
This is because IKEMEN GO adds two extra buttons (D and W), the former of which conflicts with down.

name = "TripleKFPalm"
command = ~D, DF, F, D, DF, F, x

name = "TripleKFPalm"
command = ~d, df, f, d, df, f, x

AI-specific state-controllers should be labelled as such, and/or not include any command triggers.
Otherwise, you'll end up with duplicated moves. ("Remove AI Commands" only works if the move is labelled properly.)

[State -1, Triple Kung Fu Palm]
type = ChangeState
triggerall = command = "TripleKFPalm"

[State -1, Triple Kung Fu Palm AI]
type = ChangeState
triggerall = AILevel != 0

[State -1, Triple Kung Fu Palm]
type = ChangeState
triggerall = command = "TripleKFPalm"

[State -1, Triple Kung Fu Palm AI]
type = ChangeState
triggerall = command = "TripleKFPalm"

As of right now, commands should be separated into their own trigger lines, not grouped together with other logic.
(A lot of characters do this for efficiency; good for MUGEN, bad for this generator.)

[State -1, Triple Kung Fu Palm]
type = ChangeState
triggerall = command = "TripleKFPalm"
trigger1 = NumHelper(4200) < 1

[State -1, Triple Kung Fu Palm]
type = ChangeState
triggerall = command = "TripleKFPalm" && NumHelper(4200) < 1