Skip to content

Changelog

First versioned release. The following changes are relative to vanilla Paper Mario.

  • DX settings can be configured in src/dx/config.h:
    • Quick launch into first save file on boot with DX_QUICK_LAUNCH.
    • Change ‘First Play’ map with NEW_GAME_MAP_ID.
    • Adjust the title screen with DX_SKIP_LOGOS, DX_SKIP_STORY, DX_SKIP_DEMO.
    • Debug/cheat menu, disable with DX_DEBUG_MENU.
    • Profiler, enable with USE_PROFILER.
  • Abstracted memory overlay API with ovl_load. Supports maps and actors, with more overlay types to come in future releases.
  • Backtrace (call stack) on crash screen including file names and line numbers.
    • You can call debug_backtrace to print a backtrace in any function.
    • Failed assertions (ASSERT) will trigger the crash screen and print a backtrace instead of hanging.
    • Backtraces provide filenames and line numbers for files with debug symbols.
  • assets/star_rod_build directory for Star Rod to write assets to.
  • Maps build from Star Rod map sources, which sit next to the map’s code, such as src/world/area/kmr/kmr_02/map.xml.
  • Link with libgcc_vr4300 to provide compiler intrinsics.
  • EVT script instructions ExecOnActor and ExecWaitOnActor, which are similar to Exec and ExecWait but execute the script as a specific actor.
  • EVT API function DoesActorExport to query whether an actor’s overlay exports a symbol.
  • Modern compiler toolchain (GCC).
  • Enemy max HP increased to 32767.
  • Badges can cost negative BP.
  • Message file improvements:
    • Messages are automatically discovered at assets/*/msg/*.msg.
    • You can now override a message using its name, e.g. #message:0C:(CH1_0000).
    • It is now an error to have duplicate message names or IDs (within the same layer of the asset stack).
  • US is the only supported version for now (no JP, PAL, or iQue).
  • Removed dead (unused) code.
  • Fixed lag spike due to blur effect when pausing in certain emulators, disable with DX_PAUSE_LAG_FIX.
  • Fixed many bugs / incorrect behaviour.