Skip to content

Releases: YAL-GameMaker-Tools/GmxGen

GM2024 support

21 Mar 22:30
Compare
Choose a tag to compare

And there is now a sample/ folder showcasing the various ways of tagging functions.

I should set up automatic builds sometime

05 Mar 14:39
Compare
Choose a tag to compare

Till then, here are the recent changes

Tweaks and basic C# support

19 Oct 15:28
Compare
Choose a tag to compare
  • Now running Haxe 4.2 (not that you can tell the difference in a binary release)
  • .h/.c/.hpp files are now accepted as alternatives for looking up functions for DLL/DyLib/SO files.
  • .cs files are now accepted as alternative for DLL/DyLib/SO files (note: just functions - no macros/enum/struct conversions)

Multi-version GML, struct syncing, and GMS2.3 improvements

22 Feb 20:35
Compare
Choose a tag to compare
  • Added support for --copy source dest, where
    • dest can be a relative path in the extension files directory.
    • dest may have an :arch suffix (a.dll:x86 -> a.dll, a.dll:x64 -> a.x64.dll)
    • source and dest may contain * for basic pattern matching (like steam_*.gml)
  • Added support for version-specific GML code, so you can do
    // GMS >= 2.3:
    ... code for 2.3
    /*/
    ... code for pre-2.3
    //*/
    
    and it will flip the first comment into /* for pre-2.3, allowing to reuse GML files across versions.
    (generally used in conjunction with above)
  • Expanded support for <extension path>.base a little - if the extension file doesn't exist at all, but .base does, that will be used instead of throwing an error.
    This allows to gitignore the extension entirely if auto-generated functions being added to it bother you.
  • Added support for /// @autostruct relative_path.gml to C++, which will update the chosen GML file so that
    struct MyStruct { int x; uint8_t y; }
    will repopulate arguments for
    global.MyStruct = my_struct_create("x", buffer_s32, "y", buffer_u8);
    
    see here for an example

GMS2.3 support and .gmx.base/.yy.base support

16 Nov 16:58
Compare
Choose a tag to compare
  • The tool now processes GameMaker Studio ≥ 2.3 extensions (which are technically invalid JSON) correctly.
  • If there is a .gmx.base or a .yy.base file for the extension, the tool will use that instead of the regular file, allowing for templates.