Releases: SuperFromND/iguana
v1.3.2
Second minor patch, similar to the first. v1.3.1's solution to the DEF corruption bug wasn't really ideal in my opinion as it ended up putting every commented line on a newline. The INI library I'm using for Iguana doesn't seem to have a good answer to this, and it doesn't appear to be maintained very much nowadays, so I just said "screw it" and wrote a manual DEF file patching function instead. This should hopefully ONLY add one line to DEF files when necessary without screwing with the rest of the file, which is much better IMO.
Aside from that this version should be identical functionality-wise to versions 1.3 and 1.3.1. Hopefully the next major update to Iguana shouldn't be another one of these and I can actually try to improve its heuristics. Enjoy!
Changelog
- Refactored DEF patching function to not modify INI comments
- Iguana will no longer add
movelist
to a DEF file if one already exists
v1.3.1
This is a quick minor update to fix a rather severe bug I discovered where Iguana would corrupt certain DEF files when attempting to patch them, namely the ones described in #10 . Sorry if v1.3 or earlier gave you trouble!
Changelog
Bugfixes
- Fixed Iguana's DEF patcher corrupting certain DEF files by adding garbage quotation marks (") to random fields.
Misc.
- Standardized spelling of the engine's name. It is "Ikemen GO".
v1.3.0
Happy weekend once again! Hope you're all doing well. :)
It's been a little bit slow lately for developement, partly due to waning motivations and partly because there's just not a whole lot left to add or fix to Iguana. That being said, I wanted to try and improve movelist accuracy with this version, fixing a lot of weird output problems that plagued 1.2.0. It's still not in a perfect place, but things should be much improved now thanks to some rewrites of how motion inputs are handled. Enjoy!
Changelog
New Features
- Simplified 360 motions (such as
F, D, B, U
) are now detected. - Rewritten how motion inputs are converted, which generally improves accuracy when moves have multiple conflicting commands. (See #6)
Bugfixes
- Fixed Iguana outputting a nonexistent
_HDB
glyph instead of_FDB
. - Fixed most if not all instances of duplicated simultaneous button prompts (#7).
- Fixed conflicting buttons using a + separator instead of /.
Misc.
- The ASCII logo used when printing help has been updated to better match the vector logo.
- Yes/No prompts will now repeat themselves when given a non-Y/N answer.
- An internal test file is now included in the repository. This isn't very useful outside of those wishing to develop on Iguana, but it's nice to have.
v1.2.0
Happy weekend! <3
This release was mostly focused on qualify-of-life relating to the bulk processing added in v1.1.0, but some pretty good improvements have been made as well. Fighter Factory-style move comments (a very common way of labelling moves internally) is finally supported, which should heavily improve the readability of generated movelists, and Iguana now supports the parsing and patching of .def files!
Next version, I want to try and rewrite how merging commands works to hopefully be more effective (merging entire motions instead of just singular inputs like Iguana is currently set up to do). That'll take quite a bit of rewriting, so I wanted to put this out as a bit of a smaller version bump before taking that on. I might also take a short break after this release since I've been pretty much exclusively hammering away at Iguana for almost a week straight; don't want to get burnout, y'know!
Okay, enough rambling, here's the changelog!
Changelog
New features
- Iguana now supports .def files in addition to raw .cmd files.
- When given a .def, Iguana will read it to figure out where the .cmd file is located, and then create a movelist from that.
- Iguana can also patch .def files to support the movelists it generates. It will ask if you want to do this when giving it a .def file as the input, but you can automatically agree to this by adding the new
-def
argument. - Due to the above two changes, Iguana will now scan for .def files instead of .cmd files when given a folder.
- Added support for Fighter Factory-style move labels (a comment over the
[State -1]
definition). - Added detection for simplified (
D, F, U, B
and similar) 360 motions. - Moves containing solely
_XFF
and_XBB
are now automatically removed. This can be overridden with the-keep1
argument. [Defaults]
is now supported when Iguana is checking command times for AI-only moves.
Bugfixes
- Charge moves are now properly stripped, and no longer leave stray numbers. (Thank you Foobs for letting me know of this!)
_XFF
and_XBB
are now properly classified as motion inputs.
Misc.
- Iguana will now ask if you want to process a file whose file extension it doesn't recognize, instead of outright rejecting it.
- Debug logging has been made a bit more verbose, now including the result of
merge()
among other information. - The Hyper Moves portion of the movelist will now be omitted if no hyper moves are detected.
v1.1.0
Progress has been blooming rather quickly! In just a couple of days I've reimplemented a good chunk of functionality from IGOCLG; movelists should generally look much nicer now thanks to supporting motion inputs and stripping of suspected AI-only moves, and Iguana should also (hopefully) be more tolerant of weirdly-written CMDs thanks to some fixes under the hood.
One big new feature this release also includes - mostly because it turned out to be quite easy to add - is bulk processing. If you pass a folder rather than a single file as input, Iguana can now scan the folder for any command files and run itself on them. This means that you can now potentially generate movelists not just for one character, but an entire roster all at once! As of yet though, I don't recommend trying this without making backups first if you want to give this a go; Iguana's current state is still a bit iffy and there's some other things I'd like to implement first (such as support for FF3-style move labels) before giving it the OK.
This release also marks some changes in how Iguana is released: thanks to Github Actions, Iguana binaries are now automatically built for all three major OSes instead of just Windows. I have yet to test macOS and Linux binaries, but I have no reason to believe they wouldn't work (fingers crossed anyways, haha).
Changelog
New features
- Bulk-processing: When given a folder as input, Iguana can (after prompting the user for confirmation) run itself on every .cmd file it can find within the given folder. Movelists will be created in the same location as each individual .cmd file.
- AI command detection: Iguana can check for WinMUGEN-style impossible command inputs and blacklist them accordingly. This can be disabled with the
-keepai
flag. - Motion inputs are now compressed into single glyphs when appropriate. This can be disabled with the
-nomotion
flag. - Specialized fighting-game-specific buttons can now be used in place of A/B/C/X/Y/Z by using the
-kp
flag. - The hex-colors used for the headers and power usage can now be customized with
-header
and-power
respectively. They take either a three-character or six-character long hex string without the#
prefix, likef6c
or32a852
.
Bugfixes
- Fixed the compiler's working directory being displayed in the event of a panic.
- Fixed a crash when an INI includes a non-key-value, non-comment, non-header line.
- Fixed a crash that occured when a move included only held inputs.
- Iguana now gracefully exits if it's given a file that isn't a
.cmd
.
Misc.
-h
parameter info is now grouped together instead of simply being printed in alphabetical order.- Iguana no longer makes an explicit note if debug logging is enabled.
- Releases are now distributed as a ZIP instead of bare executables, and are built for macOS and Linux in addition to Windows.
v1.0.1
This is a quick patch to fix a rather obvious bug that I'm frankly amazed I didn't catch in testing. Thank you to both PoTS and Lurker for catching this!
Changelog
- Fixed a bug where Iguana would crash if a state controller didn't contain a command trigger.
v1.0.0
This is the initial release of Iguana. It is an extremely bare-bones release which can do its basic functionality but lacks many options to tweak with. Admittedly, I haven't really benchmarked it much, so expect bugs and general weirdness all around.
This is just the starting point though, and I do plan to add more functionality to it and hopefully get it to a better state soon enough. Enjoy! :)
Changelog
- Initial release.