Skip to content

Changelog

  • Icons aren’t listed in icon/Icons.xml anymore. The build finds every PNG file under icon/, and a CI4 icon with a <name>.disabled.png beside it gets a disabled palette. If you have an Icons.xml in src/icon/, delete it. (Alex)

Fixed build errors on some Windows machines where a broken version of tar was installed. (Alex)

The include/ directory has been merged into src/, so headers now sit next to the sources that use them. Move any headers in include/ into src/.

The debug menu’s Sound Player now has a Music browser that lists songs by name, with play, stop, and paging controls. Sound effect controls have moved under Sound.

The Music browser over Toad Town, listing songs 15 to 1D by name with Ruins Basement selected

Code now uses -Os (optimize for size) instead of -O2, with tighter limits on inlining and loop unrolling. Smaller code fits better in the N64’s small instruction cache, which makes the engine a few percent faster per frame. Mod code is compiled the same way and might show warnings it didn’t before.

Three changes free about 3.6 MB of ROM space:

  • The optimization level change makes code about 0.92 MB smaller.
  • Removing leftover copies and padding near the end of the ROM frees 1.82 MB.
  • Sizing each overlay directory to fit its overlays frees 0.91 MB.

Formatting a file now corrects struct offset and size comments, such as /* 0x04 */ and // size = 0x0C, that no longer match the compiler.

  • In layout.yaml, a segment whose class starts at another segment’s end, through follows or vram_symbol, must now be listed after that segment. (Alex)
  • snprintf is now available. (Alex)

Fixed build errors on some Windows machines where a broken version of tar was installed. (Alex)

Fixed Star Rod on Linux. (Alex)

This is the first release of Paper Mario DX.