Releases: ISSOtm/rgbds-structs
v4.0.2
v4.0.1
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
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
v3.0.0
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
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
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
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
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
First release of rgbds-structs