1
Fork 0
A template for a Super Mario World ROM hack project
  • PowerShell 39.8%
  • Shell 33.9%
  • Batchfile 26.3%
Find a file
2026-04-06 10:52:11 -02:30
backups Add backup action to toolbar and user script 2025-01-21 13:22:36 -03:30
setup Update text files 2026-04-06 10:48:04 -02:30
tools cleanup 2024-02-21 20:05:55 -03:30
workspace Rework baserom template to use powershell and Lunar Magic user toolbar 2024-02-21 20:05:09 -03:30
.gitattributes Rework the setup for cross-platform setup 2026-03-31 10:49:45 -02:30
.gitignore Rework the setup for cross-platform setup 2026-03-31 10:49:45 -02:30
Readme.md Update readme 2026-04-06 10:52:11 -02:30
setup.bat Rework the setup for cross-platform setup 2026-03-31 10:49:45 -02:30
setup.sh Rework the setup for cross-platform setup 2026-03-31 10:49:45 -02:30
Tips.md Update text files 2026-04-06 10:48:04 -02:30

SMW Project Template

A blank Super Mario World project template that uses some scripts to initialize a project and makes use of Lunar Magic's user toolbar functionality for building your project.

image

This resource is simply an organizational aide and doesn't teach you how to use custom resources or use the various tools within, nor any level design and doesn't come preloaded with any resources. It is just a folder structure with a handful of useful scripts and exists to help you get better organized when starting a Super Mario World hack project or as a blank canvas for creating a base ROM.

Getting Started

Provide Super Mario World

First, put a copy of your (headered) Super Mario World ROM and put it in "workspace" folder of this template. You can rename it to whatever you like, e.g. MyHack.smc, since the build processes are indifferent to the file name. If your ROM has a file extension of .sfc rename it to .smc this prevents minor headaches elsewhere.

This doesn't have to be a clean ROM, it can be a resource that already has some resources in it, but I would recommend a relatively clean ROM.

Setup the Tools

This resource comes with a first-run script setup.bat to setting up you project. It will automatically download all the common tools, if they aren't detected, and set them up for your convenience in the "tools" folder.

If you're on Linux/Mac you can run setup.sh instead. The script has a few dependencies you will need to install: 7z patch curl sed jq.

Initialize Your ROM in Lunar Magic

If you're using a clean ROM, before getting started with building, make any small change and save your ROM in Lunar Magic. When you do this, Lunar Magic will perform some small hijacks and setup its restore function.

Next, extract all Graphics and ExGraphics from your ROM using File > Graphics > Extract GFX from ROM and File > Graphics > Extract ExGFX from ROM this will populate the 'Graphics' and 'ExGraphics' folders in the "workspace" folder with graphics files as well as install some more hijacks into the ROM.

Using the Template

Lunar Magic User Toolbar

To make life easier for you as a hacker, this project template comes with a custom User Toolbar for Lunar Magic. It has several of buttons to quickly automate applying additional custom assets to your ROM right from Lunar Magic without the need for scripts or dragging your ROM around, and some other helpful actions. You just need to open your project using the Lunar Magic that is set-up in the "tools" folder and it'll show up automatically.

Tools

The common tools each have their own folder in "tools", where you can put custom assets, and while you can use them as normal by running the executables individually using the one-click Lunar Magic toolbar buttons is recommended.

Project Folders

backups

The scripts as part of this resource have some functionality for backing up various parts of your project using Lunar Magic export.

setup

This contains the resources used to initialize the project. This includes some template list files that replace the default tool list files, the User Toolbar files, and setup scripts. You can delete this after getting set-up.

tools

Folder where all the baserom tools will be "installed" by the setup script. All documentation from the various tools is also moved here to a "Docs" subfolder, if they have any, for easy access.

workspace

This is your project's main folder. It will contain the ROM for your project, any auxiliary files generated by tools, and the graphics files extracted from your ROM.