Jul 7, 2018
- Added more typed externs for built-in functions (matrices, clipboard, gml.sys.*, room manipulation, cameras...)
- Added @:noRefWrite for mapping global arrays that should be written to without [@] (such as built-in ones).
- Added @:dsMap for mapping typedefs to ds_maps (sample).
- You no longer need to manually set sfgml_next when targeting GMS2 - if the output file is a .yy, the compiler directive is added automatically.
- The library now automatically sets a few compiler directives based on target version features,
- sfgml_array_create: whether array_create is supported (GMS2 and >1.4.1763)
- sfgml_array_decl: whether [...] array initializer is supported (GMS2 and extensions in >1.4.1763)
- sfgml_ternary: whether ternary operator is supported (GMS2 and extensions in >1.4.1763)
- sfgml_copyset: whether copy-on-write array behaviour is safe to use (currently isn't)
- sfgml_version: target version, as set by you or automatically set based on file extension (current 1.4/2.x)
- sfgml_extension: whether compiling to an extension (rather than a script-set GML file)
- sfgml_next: whether targeting GMS2.
- Target GM version is now mentioned in the timestamp header (which can be disabled via -D sfgml_timestamp=false)
- sfgml_version is now in GM-style format (e.g. "1.4.1763" or "2.2").
- Fixed (a == b) == c compiling incorrectly (not enough parentheses in generated code).
- Fixed an occasional issue with postfix inline ++ being printed as += 1.
- Fixed a few mismatches in gml.net.* and asset externs.
- The extension now prefers array_copy over copy-on-write trick because there's this strange YYC bug.
- Fixed @:nativeGen enums reporting field paths ("my_enum_field") instead of names ("field") for getName.
- Fixed SfEnumTools.setTo crashing on nativeGen enums in debug mode.
- Fixed js.Boot not having a std-prefix.
sfgml.zip 393 kB
Version Jul 7, 2018 Jul 07, 2018
Leave a comment
Log in with itch.io to leave a comment.