3DS:ModMoon: Difference between revisions

Mod manager for LayeredFS & SaltySD
m (fix universaldb link)
(obliterate the needless boasting, other style fixes, add manual install instructions, add short description)
Line 2: Line 2:
* {{Done}} Homebrew infobox does not support the website tag (https://gbatemp.net/threads/519080/)
* {{Done}} Homebrew infobox does not support the website tag (https://gbatemp.net/threads/519080/)
* {{Done}} Needs a feature list, maybe copy from GBATemp thread?
* {{Done}} Needs a feature list, maybe copy from GBATemp thread?
* Needs manual installation instructions
* {{Done}} Needs manual installation instructions
* Needs info on configuration and SD layout
* Needs info on configuration {{Done}} and SD layout {{WIP}}
}}
}}


Line 19: Line 19:
}}
}}


'''ModMoon''' is a LayeredFS/SaltySD manager for the 3DS. It supports every title in existence, even homebrew. It also includes many awesome easter eggs and features for the user to discover, but core functionality is its main goal. Switching mods is painless, and the user-interface is beautifully simple. What makes ModMoon especially unique is its UI, built off of the sDraw rendering engine- an original, immensely flexible graphics core created for ModMoon. This is much, much more impressive than it sounds. For end users, the result will be a UI experience superior and better looking to nearly all homebrew on the 3DS. sDraw is the reason ModMoon started development. ModMoon is [[3DS:Smash Selector|Smash Selectors]]' successor, and superior, in every way possible.  
'''ModMoon''' is a manager for LayeredFS/SaltySD mods for the 3DS. Because it supports LayeredFS, it can do mods for any title on the 3DS - including system software and homebrew. ModMoon is a successor to [[3DS:Smash Selector|Smash Selectors]].  


== Features ==
== 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.
* '''Error Checking''': ModMoon supports checking, displaying, and sometimes even automatically fixing errors when moving mods around.
* '''Help Pop-up''': At any time, you can press {{B|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!
* '''Help Pop-up''': At any time, you can press {{B|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 {{B|Y}} to open this from any menu. Allows you to select the current game from your list of active titles.
* '''Title Selection Menu''': Press {{B|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 on an SD card is automatically selected for you, these files will also be copied automatically. If you have Smash on a cartridge, just tap it like you would any other title to trigger the copy.)
* '''Built-in SaltySD files''': ModMoon contains a set of built in IPS files for SaltySD. These files will be copied when you select Smash from the Active Title Selection menu. (If Smash on an SD card was automatically selected for you, these files will also be copied automatically. If you have Smash on a cartridge, just tap it like you would any other title to trigger the copy.)
* '''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.
* '''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. Not a fan of auto-updaters? Understandable. Just open the config file (<code>/3ds/ModMoon/settings.txt</code>) 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.
* '''Self-updater''': If you're connected to the internet, ModMoon will check for updates for itself on launch. If an update is available, it will prompt you to either install it or skip it. To disable this function entirely, see the Configuration section.
* '''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.
* '''Automatic SaltySD updater''': ModMoon also checks for updates to the SaltySD IPS files used to run Smash mods, and can apply updates to them without rebooting.
* '''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 Colors''': ModMoon has a dark mode, and in the config file a user can change the highlighter colors used in each of the menus. See the Configuration section for how to do this.
* '''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 (<code>/3ds/ModMoon/settings.txt</code>), 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''': If you place a custom code.ips file within the <code>/codes</code> folder of a SaltySD modpack, ModMoon will automatically place it in the correct location. Note that LayeredFS mods allow you to add code.ips files by default, and this workaround is not needed for them.
* '''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.


== Installation ==
== Installation ==
Line 39: Line 38:


=== Manually ===
=== Manually ===
WIP
# Download the <code>.3dsx</code> or <code>.cia</code> from [https://github.com/Swiftloke/ModMoon/releases/latest the latest release]
# If you downloaded the <code>.3dsx</code>, copy this file to the <code>3ds</code> folder on your SD card
# If you downloaded the <code>.cia</code>, copy this file to any place on your SD card and install it with [[3DS:FBI|FBI]]


== Usage ==
== Usage ==
Line 50: Line 51:
=== Tools Menu ===
=== 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.
* '''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!
* '''Smash Controls Modifier''': Allows you to modify the controls of the game to a far larger degree than in-game settings allow - including mapping two buttons to the same action, changing the controls of the D-Pad, or changing the actions of the New 3DS buttons/C-Stick.
* '''Tutorial''': This replays the tutorial that was shown at the first start of ModMoon.
* '''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.
* '''Migrate Mods''': This allows you to migrate mods that were used in Smash Selector. This action is done automatically on first launch.
* '''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.
* '''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.


== Configuration ==
== Configuration ==
=== Config file ===
ModMoon's configuration file, found at <code>/3ds/ModMoon/settings.txt</code>, has multiple settings that are not configurable via its settings menu. The most notable of these are as follows:
* <code>ShouldDisableUpdater</code>: When set to "True", disables the self-updater. This is not advised, but since ModMoon can be updated from the system using Universal-Updater as well, there is no harm in enabling this.
* <code>EnableFlexibleCartridgeSystem</code>: When set to "True", enables an experimental system for detecting cartridge insertions/ejections in realtime. This is config-only because of a software issue that makes it take 30 seconds to exit ModMoon with this active. Once a solution to that issue is found, this will be universally enabled and removed from the config file.
* <code>HighlighterColors</code>: Changes menu colors. For any menu - where * is the menu you want to change - write the red, blue and green values (in 0-255 format) separated by commas. Several tools can generate RGB values that are usable for this - if the one you choose offers multiple output formats, choose the rgb(*, *, *) format.
=== SD file layout ===
WIP
WIP
{{Short description|Mod manager for LayeredFS & SaltySD}}

Revision as of 02:01, 5 January 2023


ModMoon is a manager for LayeredFS/SaltySD mods for the 3DS. Because it supports LayeredFS, it can do mods for any title on the 3DS - including system software and homebrew. ModMoon is a successor to Smash Selectors.

Features

  • Error Checking: ModMoon supports checking, displaying, and sometimes even automatically fixing errors when moving mods around.
  • 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: ModMoon contains a set of built in IPS files for SaltySD. These files will be copied when you select Smash from the Active Title Selection menu. (If Smash on an SD card was automatically selected for you, these files will also be copied automatically. If you have Smash on a cartridge, just tap it like you would any other title to trigger the copy.)
  • 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.
  • Self-updater: If you're connected to the internet, ModMoon will check for updates for itself on launch. If an update is available, it will prompt you to either install it or skip it. To disable this function entirely, see the Configuration section.
  • Automatic SaltySD updater: ModMoon also checks for updates to the SaltySD IPS files used to run Smash mods, and can apply updates to them without rebooting.
  • Configurable Colors: ModMoon has a dark mode, and in the config file a user can change the highlighter colors used in each of the menus. See the Configuration section for how to do this.
  • Custom SaltySD: If you place a custom code.ips file within the /codes folder of a SaltySD modpack, ModMoon will automatically place it in the correct location. Note that LayeredFS mods allow you to add code.ips files by default, and this workaround is not needed for them.

Installation

With Universal-Updater

ModMoon is available on Universal-DB and can be installed and updated with Universal-Updater.

Manually

  1. Download the .3dsx or .cia from the latest release
  2. If you downloaded the .3dsx, copy this file to the 3ds folder on your SD card
  3. If you downloaded the .cia, copy this file to any place on your SD card and install it with FBI

Usage

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: Allows you to modify the controls of the game to a far larger degree than in-game settings allow - including mapping two buttons to the same action, changing the controls of the D-Pad, or 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 on first launch.
  • 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.

Configuration

Config file

ModMoon's configuration file, found at /3ds/ModMoon/settings.txt, has multiple settings that are not configurable via its settings menu. The most notable of these are as follows:

  • ShouldDisableUpdater: When set to "True", disables the self-updater. This is not advised, but since ModMoon can be updated from the system using Universal-Updater as well, there is no harm in enabling this.
  • EnableFlexibleCartridgeSystem: When set to "True", enables an experimental system for detecting cartridge insertions/ejections in realtime. This is config-only because of a software issue that makes it take 30 seconds to exit ModMoon with this active. Once a solution to that issue is found, this will be universally enabled and removed from the config file.
  • HighlighterColors: Changes menu colors. For any menu - where * is the menu you want to change - write the red, blue and green values (in 0-255 format) separated by commas. Several tools can generate RGB values that are usable for this - if the one you choose offers multiple output formats, choose the rgb(*, *, *) format.

SD file layout

WIP