Skip to content

v0.6.0-rc2

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 08 Sep 21:24
· 735 commits to master since this release

Our website received a big facelift, please check it out at https://rgbds.gbdev.io! Thanks to @ISSOtm and @avivace for the work on this.
While some pages have been moved around, all URLs under /docs have been preserved.

Deprecated:

  • m: MACRO syntax; use MACRO m.
  • rgbasm -h and -L will soon become the default behavior; please use rgbasm -H and -l respectively to opt into the current behavior.
  • rgbgfx -h has been renamed to the less confusing rgbgfx -Z.

Added:

  • RGBGFX has been massively overhauled! Please check out the new docs for full details, but notably:
    • The alpha channel is now handled in a sensible and useful way.
    • Palettes can be manually specified without having to muck with PNG embedded palettes using -c!
    • rgbgfx -r can also "reverse" the process and generate a PNG from the binary data.
    • "At-files" allow storing the flags e.g. next to the image, instead of centralized within your Makefile/build script.
    • State-of-the-art packing algorithm ensures optimal palette generation 😎
    • Special thanks to @aaaaaa123456789 for randtilegen, used for testing; @eievui5, @MarkSixtyFour, and @Rangi42 for review and testing!
    • There's an egg somewhere in there?
  • Unsigned right shift operator >>>!
  • Binary AND & can now be constant if applied to a symbol with the right alignment.
  • rgbasm -Q or OPT Q configures the fixed-point precision, which is still 16 by default (e.g. -Q8 uses Q24.8).
  • Precise fixed-point literals like 12.34q8 override the current Q option value.
  • FMOD function for fixed-point modulo.
  • rgbasm -r sets the maximum recursion depth, not the minimum failure depth (off by one).
  • OPT r.
  • -Wunmapped-char warning for characters not in the charmap.
  • \@ only increments its expanded value when used, so merely adding or removing MACRO, REPT, or FOR blocks will not affect generated symbols.
  • RGBLINK is able to link SDCC object files.
  • RGBLINK will now report floating sections' names when using -O.
  • RGBLINK will omit symbol names from the .map file when using -M.
  • RGBLINK will report EMPTY space between sections in the .map file.
  • A .clang-format, though it it only applied to C++ files; we are gradually transitioning away from checkpatch style.

Removed:

  • PRINTT, PRINTI, PRINTV, PRINTF (use PRINT/PRINTLN instead)
  • _PI
  • SET as an assignment operator (use = instead)
  • rgbgfx -D, -f, and -F were not useful anymore

Changed:

  • man pages are now all in a single directory; this affects the release tarballs!

Fixed:

  • rgblink -S rejected a lot of valid arguments.
  • rgblink -O could "forget" ROM0 if no such sections were defined, offsetting the entire file.
  • Whitespace is now trimmed in macro arguments, even after line continuations.
  • All *UTC* symbols could contain local time instead on some systems.
  • contrib/gbdiff.bash correctly handles spaces in its arguments (oops)
  • Version number will always be properly updated when building with CMake.
  • Math equations could render incorrectly in rgbasm(5).
  • RGBDS should be portable to more systems now.
  • RGBASM has been optimized slightly yet again.
  • Rephrased some documentation for clarity.