Skip to content

PurpBatBoi/NSMB-Editor

 
 

Repository files navigation

NSMB Editor (NSMBe5)

Forked from MammaMiaTeam, originally by Dirbaio.

A feature-rich editor for New Super Mario Bros. (Nintendo DS) ROM hacking.

Download

Community

Requirements

New Additions In This Fork

  • ROM File Browser improvements:
    • Search field for faster file lookup.
  • Zoom and preview quality improvements:
    • Map16 editor zoom controls (with grid/preview scaling improvements).
    • Object editor zoom for editable canvas and Map16 tile picker.
    • Tile behavior preview zoom controls in the Tileset Editor.
    • Pixel-art rendering fixes (nearest-neighbor scaling where applicable).
  • Level editor spriteset and snapping improvements:
    • Yellow dependency warning outline for Swinging/able Vine objects when vine spriteset are valid but Rope spriteset are not set.
    • Configurable snap-size presets (1/2/4/8/16) with persisted setting in the Level Editor toolbar.
  • Graphics tab quality-of-life:
    • Remove Selected Bitmap button.
    • Right-clicking a bitmap focuses that file in the ROM File Browser.
  • New direct file import workflows:
    • Direct Tileset file importing from the Graphics editor.
    • Direct Background file importing from the Tilemap editor.
  • Map16 randomization overlays:
    • Runtime-table-based randomization tile highlighting in Tileset Editor.
    • Toolbar toggle for Map16 canvas overlay (tile picker overlay removed).
    • Outline color picker for randomization highlights with persisted color setting.
  • Ongoing language updates (including French strings for newer UI options).

Building

Linux (Mono)

  1. Install Mono with msbuild support.
  2. Build from the repository root:
    msbuild NSMBe5.sln /t:Build /p:Configuration=Release
  3. Run:
    mono NSMBe5/bin/Release/NSMBe5.exe

Windows

  1. Install Visual Studio 2022 (or newer) with .NET desktop development.
  2. Open NSMBe5.sln.
  3. Select Release | Any CPU.
  4. Build (Build > Build Solution).
  5. Run NSMBe5/bin/Release/NSMBe5.exe.

Build Notes

  • First build may take longer due to NuGet restore.
  • If Mono prints Gtk not found ... using built-in colorscheme, the editor still works and falls back to built-in theming.

Easy Sharing Packages

Use the scripts in scripts/ to generate distributable artifacts in dist/.

1) Windows ZIP Package

Build and package:

./scripts/build-windows-zip.sh

Output:

  • dist/NSMBe5-windows-anycpu.zip

Recommended release note for users:

  • Extract the ZIP and run NSMBe5.exe on Windows.

2) Linux AppImage Package

Build and package:

./scripts/build-linux-appimage.sh

Output:

  • dist/NSMBe5-linux-x86_64.AppImage

Requirements for packaging:

  • msbuild (Mono build tools)
  • appimagetool

Runtime note:

  • The generated AppImage currently uses system mono by default.
  • If mono is not installed on the target machine, the AppImage will show an error and exit.

To bundle Mono in the AppImage (easier sharing):

./scripts/build-linux-appimage.sh --bundle-mono

Output:

  • dist/NSMBe5-linux-x86_64-bundled-mono.AppImage

Bundled mode note:

  • This file is larger, but users usually do not need system Mono installed.

3) Build Everything At Once

Generate both Linux AppImages and the Windows AnyCPU ZIP:

./scripts/build-all-packages.sh

Run:

chmod +x dist/NSMBe5-linux-x86_64.AppImage
./dist/NSMBe5-linux-x86_64.AppImage

Automated GitHub Releases

This repository now includes a workflow at .github/workflows/release-builds.yml that:

  • Builds dist/NSMBe5-windows-anycpu.zip on Windows.
  • Builds both Linux AppImages on Ubuntu.
  • Publishes all three files to a GitHub Release when you push a version tag.

Create and push a tag to trigger publishing:

git tag v1.2.3
git push origin v1.2.3

After the workflow finishes, assets appear under the matching GitHub Release tag.

Screenshots

Credits

  • Treeki - Original developer
  • Dirbaio - Second developer
  • Piranhaplant - Developer
  • MeroMero - Developer
  • RicBent - Developer
  • Mamma Mia Team - Developers and current maintainers
  • Szymbar - Developer, adapted structure to work with MKDS assembly
  • All other contributors

About

The New Super Mario Bros editor!

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C# 99.4%
  • Shell 0.6%