v0.8.0
Happy Pride month! π³οΈβπ
This release internally refactored a lot of C code into more idiomatic C++ (partly to fix memory leaks), which *hopefully, knock on wood, fingers crossed* won't have broken anything else.
We're optimistic that the next release will be a 1.0.0 rewritten in Rust. π¦
Added:
- RGBGFX allows
#noneas a "gap color" in-cpalettes (thanks, @eievui5!) - RGBFIX
-L/--logocan specify a custom logo 1bpp instead of the Nintendo logo - RGBASM allows
"\0"as a NUL character in strings - RGBASM
align 16, Nacts likeorg N(soalign 16acts likeorg 0) - RGBLINK
-ppadding applies when output goes past the-Ooverlay file contents
Removed:
- Defining symbols without using
DEF - RGBASM
-H/--nop-after-halt,-l/-auto-ldh,-h/--halt-without-nop, and-L/--preserve-ldoptions (the auto-ld-to-ldhand auto-nop-after-haltbehaviors are now completely removed) - RGBASM
-ifor--include(use-I) - RGBGFX
--output-*long options (use--auto-*or the short-A/-P/-Q/-Toptions)
Changed:
- Strings and symbol names are no longer limited to 255 characters!
expr && 0andexpr & 0are constant 0;expr || 1is constant 1- All warnings/errors refer to input/output file "
-" as "<stdin>/<stdout>" - Documentation switched from reStructuredText to Markdown for ease of contributing
Fixed:
- Increment object file revision number to 10 (since 0.7.0 updated the object file format but didn't increment this)
- Linker scripts infinitely looped when parsing decimal numbers (thanks, @huderlem!)
- Long RGBASM interpolation format specs could segfault
- RGBGFX
--reverse --columnswas incorrect for non-square images (thanks, @sfiera!)!!!! - ACO palette files were not being read correctly
- Specifying an embedded palette to override a previously specified palette crashed (thanks, @ZoomTen!)
- Warning/error file-stack traces for macros inside
REPT/FORloops are complete - Building RGBDS nested in another Git repo won't pick up that repo's tags for the RGBDS version
- Some fixed-point functions could give inconsistent results if they internally gave infinity or NaN (e.g.
FMOD(value, 0.0)) - Formatting
$8000_0000(-2,147,483,648) as a string was omitting the negative sign BANK(NotALabel)is 1, not $4B4E4142 (the numeric value of"BANK"π)\@could change within a macro orREPT/FORif it was first used within anINCLUDE- Some built-in symbols could be misreported as being defined on the command-line