Documentation

Home

Important

Most of the content on this site is only applicable to the original NDS version of the game! The 3DS remake, Mario & Luigi: Bowser’s Inside Story + Bowser Jr.’s Journey, is much less understood, but will hopefully be documented soon enough.

Welcome to the documentation for Mario & Luigi: Bowser’s Inside Story (BIS, known in Japan as マリオ&ルイージRPG3!!!/Mario & Luigi RPG 3!!!)! New to modding this game? Then check out:

Tools & Libraries

Tools

  • Spritoglobin [Releases] — Sprite viewer. Currently only supports the US and EU versions. Editing support is being worked on.
  • Cheatoglobin [Releases] — Save editor.
  • mnlscript.py — Compiler and decompiler for the Mario & Luigi scripting language from and to Python, built using mnllib.py. Currently only supports FEvent scripts, but will hopefully support the rest soon.
  • [Outdated] QtMnL [Releases] (pronounced “cute emm-’n’-ell”) — GUI editor, built using Python and mnllib.py. Once again currently only supports editing FEvent scripts, but will hopefully support more soon.

Libraries

  • mnllib — Library for the Mario & Luigi games. Provides things like classes with serializers and deserializers, as well as an implementation of the compression algorithm used by the game. Most development is done on the Python version.
    • mnllib.py — Pure Python implementation.
    • mnllib.rs — Rust implementation. Currently only contains compression/decompression and map functionality.

Useful links

  • Google Drive with extra documentation. Currently contains documentation for the text code and special characters, as well as a backup for the script commands documentation.
  • Script commands documentation. Currently in raw TXT format, built by bisdocs.py:
  • Debug messages left behind by the developers in the footers of the scripts, in Japanese. Currently only messages within FEvent and Battle scripts are dumped. Automatically scraped by dump_notes.py.