Skip to content
Choose a tag to compare

This release contains several critical fixes for broken things in 3.0. They include:

  • Include SaltySD files that do not crash after the character select screen in Smash (taken from the SaltySD 1.2 release page at
  • Correct the updater not working, at all, when trying to grab stuff from GitHub.
  • Also correct, in the actual release builds, the lack of a #define for BUILTFROM3DSX- this will allow the updater to work properly for 3dsx files from now on. The readme has also been updated to reflect this.
  • Fix an edge case where the user may be unable to write a SaltySD file using ModMoon.
  • Fix a bug that prevented the user from skipping the updater.
  • Add a version string within the title selection menu.
Choose a tag to compare

Full codebase completed, from scratch. This release includes the following features:

This is a fully functional, excellently realized 2D graphics engine for the 3DS. Although immensely powerful (take a look at ModMoon's UI), it has major API (and internal) flaws that cause its usage to be more difficult than it should be. ModMoon version 3.1 aims to correct all of these flaws to make it truly one of the best engines for the 3DS. It is still excellent reading material if you are aiming to learn to use citro3d.

Main Menu:

  • Launch: Applies and launches mods for the selected game.
  • Tools: Opens up the tools menu, which provides access to more functionality.
  • Selector Bar: Changes the currently selected mod for the current game.

Tools Menu:

  • Active Title Selection: This menu allows you to change the titles currently "active" (which titles are available in the title selection menu). This is to minimize clutter by only displaying the titles the user actually uses.
  • Smash Controls Modifier: This code is taken straight out of Smash Selector 2.4 with no changes. It allows you, like Smash Selector, to modify the controls of the game with much greater customization than the game itself allows- including mapping two buttons to the same action, changing the controls of the D-Pad, and even changing the actions of the New 3DS buttons/C-Stick!
  • Tutorial: This replays the tutorial that was shown at the first start of ModMoon.
  • Migrate Mods: This allows you to migrate mods that were used in Smash Selector. This action is done automatically at first start.
  • Dark/Light Mode: This option allows you to change between two "themes"- dark mode and light mode! To you dark theme master racers out there, this one is for you.

Major Features:

  • Error Checking: ModMoon supports checking, displaying, and sometimes even automatically fixing errors when moving mods around. This is a significant source of information for users and helpers, as earlier mod tools were very opaque about what went wrong (and even if something went wrong at all), thus breaking quite a bit. Anyone who has ever used Smash mods knows this aggravation- this feature alone makes Smash Selector obsolete.
  • Help Pop-up: At any time, you can press X while hovering over a button or in a menu to get some helpful information about that feature- what it is, how to use it, and helpful tips!
  • Title Selection Menu: Press Y to open this from any menu. Allows you to select the current game from your list of active titles.
  • Built-in SaltySD files: For Smash players, ModMoon contains a set of built in IPS files for SaltySD, just like its predecessor Smash Selector. These files will be copied when you select Smash from the Active Title Selection menu. (If Smash is automatically selected for you, these files will also be copied automatically.)
  • Background title loader: All titles, both active and non-active, installed on the system will be loaded immediately in the background, with no lag to the rest of the system.
  • Auto-updater (ModMoon): If you're connected to the internet, ModMoon will check for updates for itself. This system runs in the background, which means you'll experience no lag while it does its thing. If an update is available, it will prompt you to update (and give you an opportunity to skip it) and install the update.
  • Auto-updater (SaltySD): This is a big one for Smash players. Smash Selector, like ModMoon had built in SaltySD IPS files. However, those files were very old, and there was never a system in place to update them. This is, of course, solved with ModMoon. Alongside updating itself, it will check for updates to the aforementioned SaltySD files used to run Smash mods, and download them seamlessly without rebooting.
  • Not a fan of auto-updaters? Understandable. Just open the config file (/3ds/ModMoon/settings.txt) and set "ShouldDisableUpdater" to "True", but keep in mind that you'll miss out on any improvements I ever make until you either update manually or re-enable the updater. I highly recommend against this, but the choice is there.
  • Flexible Cartridge System: This system automatically detects if you've inserted/ejected a cartridge, and reacts based on that, just like the HOME menu. Unfortunately, there seems to be a bug with either the 3DS homebrew development system (libctru) or Luma3DS which makes this code, when enabled, take upwards of 30 seconds to exit ModMoon. It is disabled by default, and you can try it out by, in the config system, setting "EnableFlexibleCartridgeSystem" to "True". When a solution is found, I will release an update with the fix and enable this for all users.
  • Configurable Highlighter Colors: ModMoon, as a modding tool, has some customization tools for itself as well. Alongside the Dark Mode functionality, a user can change the highlighter colors used in each of the menus! Open the config file (/3ds/ModMoon/settings.txt), and inside the "HighlighterColors" option (where * is the menu you want to change) write the red, blue and green values (in 0-255 format) with commas separating them. Google has a nice tool to do this for you (use the rgb(, *, *) output).
  • Custom SaltySD: For Smash mod creators, this one is pretty nice. It allows you to provide a custom code.ips file within the /codes folder of your modpack, and it will automatically be moved to the correct location. LayeredFS games need not worry about this since the file structure will allow you to do this anyway.