Skip to content

v0.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 28 Jun 19:10
· 200 commits to master since this release

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 like org N (so align 16 acts like org 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 and expr & 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 or REPT/FOR if it was first used within an INCLUDE
  • Some built-in symbols could be misreported as being defined on the command-line