Skip to content

Releases: ISSOtm/rgbds-structs

v4.0.1

17 Aug 19:24
Compare
Choose a tag to compare

Small bugfix release that fixes an oversight:

    dstruct Bar, wThing, X == Y

Because of the = within the third argument, this would be considered a “named instantiation” and complain.
This has been fixed by changing the criterion to “third argument must contain a = and start with .”.

This will still trip with e.g.

    dstruct Bar, wThing, .local == .other

...but that can now be worked around by adding parentheses:

    dstruct Bar, wThing, (.local == .other)

v4.0.0

08 Mar 00:19
Compare
Choose a tag to compare

This release changes no functionality from the previous version, but renames the file from structs.asm to structs.inc. This is a breaking change, so the major version number has been bumped!

One bug was fixed: struct instances can now have dots in their names; this however prevents the constants (sizeof_... etc.) from being defined, as constants cannot have dots in their names.

v3.0.1

10 Aug 15:45
Compare
Choose a tag to compare

This release removes the use of __LINE__, which generated warnings starting with RGBDS 0.6.0. See #10 for details.

v3.0.0

10 Jun 19:12
Compare
Choose a tag to compare

Changelog:

  • The usage of all macros is now properly documented in the README
  • dstruct will only use a single argument for "multi-unit" members (e.g. bytes 3) and pad any space not covered by it; this makes them more useful
  • Designated initialization (.YBox=42) is now case-sensitive, as is RGBDS with symbol names
  • extends lets you "include" a struct inside of another one (by @eievui5)
  • Struct fields can be aliased, providing UNION-like functionality (by @eievui5)
  • The separator between the "root" and member name in dstruct can now be customized
  • Struct constants can now be exported by default
  • Using dstructs with the wrong number of arguments will yield an error
  • More internal consistency error-checking
  • Performance has been improved somewhat (thanks for the help @Rangi42!)
  • The examples are now tested, so they are guaranteed to compile (at least with the latest RGBDS as of this release)

v2.0.0

09 May 21:55
Compare
Choose a tag to compare

This is a cleanup / bugfix release, bringing the minimum required version of RGBDS to 0.5.1, brought to you by @Rangi42!
It fixes many minor bugs, so they won't be listed here.

This project is now in maintenance mode; don't expect any new major updates.
Please keep an eye on gbdev/rgbds#98, which should see this macro pack's functionality natively supported by RGBASM in the near future.

RGBDS-structs v1.3.0

29 Dec 14:04
Compare
Choose a tag to compare

Fixed:

  • Errors when using 2+ named instantiations in the same RGBASM invocation
  • Spaces were incorrectly removed from args in named instantiations
  • Some error messages reported the wrong macro name
  • Now compatible with RGBDS 0.4.0 to 0.4.2

RGBDS-structs v1.2.1

27 Jun 14:39
39b4cd6
Compare
Choose a tag to compare

Added:

  • Named instantiations!
  • dstructs to define an array of structs (in RAM only, doesn't make sense in ROM)
  • More error checking to avoid confusing/unhelpful RGBDS errors
  • Warning about readability

Modified:

  • Minor code readability improvements

Fixed:

  • Named instantiations were broken in v2.0.0, hence why that version was skipped

RGBDS-structs v1.1.0

03 Feb 19:58
Compare
Choose a tag to compare

WARNING: this version works around what might be a bug with the way SHIFT interacts with REPT. It works with RGBDS 0.3.7, but might stop doing so with later versions! A version of RGBDS-structs will be released if the bug gets fixed, but will conditionally keep the old workaround.

[EDIT] Works in 0.3.8

Added:

  • It's now possible to dstruct in ROM, and specify data for the members
  • A new macro for version checking has been added. It's rgbds_structs_version

RGBDS-structs v1.0.0

03 Feb 19:51
8e848fe
Compare
Choose a tag to compare

First release of rgbds-structs