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
#none
as a "gap color" in-c
palettes (thanks, @eievui5!) - RGBFIX
-L/--logo
can specify a custom logo 1bpp instead of the Nintendo logo - RGBASM allows
"\0"
as a NUL character in strings - RGBASM
align 16, N
acts likeorg N
(soalign 16
acts likeorg 0
) - RGBLINK
-p
padding applies when output goes past the-O
overlay file contents
Removed:
- Defining symbols without using
DEF
- RGBASM
-H/--nop-after-halt
,-l/-auto-ldh
,-h/--halt-without-nop
, and-L/--preserve-ld
options (the auto-ld
-to-ldh
and auto-nop
-after-halt
behaviors are now completely removed) - RGBASM
-i
for--include
(use-I
) - RGBGFX
--output-*
long options (use--auto-*
or the short-A/-P/-Q/-T
options)
Changed:
- Strings and symbol names are no longer limited to 255 characters!
expr && 0
andexpr & 0
are constant 0;expr || 1
is 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 --columns
was 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
/FOR
loops 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
/FOR
if it was first used within anINCLUDE
- Some built-in symbols could be misreported as being defined on the command-line