14 users online: blackhart, Chavezery, Courage2006, Daizo Dee Von, edgar, JaizePLS, Jazleo, Knetog, Lmao, Mariotag1, menali,  Ringo,  Tahixham, TheJank - Guests: 83 - Bots: 355
Users: 65,998 (2,156 active)
Latest user: Luiz On

Lunar Helper v1.2.0

Tools → Lunar Helper v1.2.0

Submission Details

Name: Lunar Helper v1.2.0
Authors: YMM, underway
Operating System: Windows
Platforms: SNES
Games: SMW
Source Available: Yes
Featured: No
Website: Link

A small build system for SMW hacks originally written by Maddy Thorson.

This version is slightly modified by me (underway), but contains strictly more functionality than the original version.

This tool allows you to extract resources from your ROM and to then re-build it from those extracted resources.

Step by step, what Lunar Helper's build process does is

- Taking a clean SMW ROM
- Applying an initial .bps patch to it (two such base patches are now included in the download!)
- Running GPS and PIXI on it
- Applying your patches to it
- Running UberASM Tool on it
- Running AddmusicK on it
- Inserting various previously extracted SMW data (graphics, map16, overworld, title screen,
title screen moves etc.) into it
- Inserting previously extracted level files into it

As you can see, it basically takes a bunch of resources stored as individual files (i.e. all of your blocks, sprites, patches, graphics, levels, etc.) and creates a single fully functional hacked ROM from them.

Lunar Helper also offers convenient functionality for

- Opening the built ROM in Lunar Magic
- Running it inside an emulator of your choice
- Inserting a test level into the built ROM on demand

Detailed information on how to set the tool up can be found in the included readme.

If you encounter any bugs feel free to open an issue on my forked GitHub repo linked in the Website field above. I can't guarantee I will be able to help you, because I did not write this tool and am not very familiar with C#, but I might give it try if I feel like it and have the time.

Of course anyone can always fork Maddy's or my repo and fix/implement things themselves as well.

Note that my repo includes a different version of the tool in its main branch. If you want the exact source code for this version make sure you're in the "standard_version" branch.

Note that the v1.2.0 version number was assigned by me and may differ from the "official" version number in Maddy's repo if she decides to tag versions at some point.

Version history:

v1.2.0 - Adds "human_readable_map16_directory_path" config variable
v1.1.1 - Works around PIXI <-> Lunar Magic 3.31 conflict by doing a second pass of PIXI at the end of the build process if the Lunar Magic version specified in the "lm_path" config variable has a version number >= 3.31
v1.1.0 - Adds support for human readable map16 format via the "human_readble_map16_cli_path" config variable
Tags: insert inserter insertion
Comments: 11 (jump to comments)
5.0 (1 rating)
No rating
Download 10.50 MiB | 237 downloads


Comments (11)

shedletsky Link
I love this tool, but I'm wondering how to handle overworld edits - these seem to be the only developer edits that are not easy to move in and out of LM with files.
 underway Author Link
They're handled via the global data BPS patch, which also contains credits, the title screen and global exanimation.
Vitor Vilela Link
Notes about SA-1 Pack:
- Keep in mind the tool can receive updates and that will require the tool default BPS get updated too with the latest version.
- After changing the LZ2/LZ3 compression option on Lunar Magic, it's important to reapply SA-1 Pack so the patch will make sure that the decompression will be done on the SA-1 chip side (~2-3x decompression speed up).
Vitor Vilela Link
Oddly, automation tools used to be a very rare thing on SMW hacking. I remember in the 2008-2010 years we used to have a lot of batch scripts over the tools section which assisted the inserting of a few resources, specially tools that required additional software to run such as Java or Perl. These tools eventually got removed, given that they were just 'batch' or 'bash' scripts and technically you could have done yourself, but... that ended up making automation tools disappearing for a while.

I think the Lunar Helper tool is a very nice initiative, specially given the need for building collab ROM hacks and the ease of reconfiguring your ROM hack, in a clean way, whenever you want to make a big change in the configuration part. Hope you continue the nice work, YMM and Underway, in addition my apologies for the long moderation time.
MarsAmPear Link
I've encountered one VERY odd and problematic oversight in this tool: it doesn't detect a code error from UberASMTool properly while building and just continues as normal. So if there's any error in any uberasm file, it ends up building the rom WITHOUT uberasm and doesn't report it.
 underway Author Link
This is not actually really an oversight by the tool, the problem is that UberASMTool doesn't exit with a non-zero exit code when it encounters an error. I've already created an issue regarding this in Vitor's repository and hope it will be fixed in a future update. Working around this could be done by capturing UberASMTool's output and scanning it specifically to figure out if it found an error, but considering this is really an issue with UberASMTool I'd prefer to wait for it to be fixed there.
MarsAmPear Link
Gotcha. Thanks for the explanation.
MarsAmPear Link
This is a total essential for anyone; beginners can benefit from extra pliability and a safety net for trying new stuff, and experienced makers can streamline the hell out of the process and get more organized. Unless for some reason you don’t want the ability to roll back literally any individual change to your hack at will, you can’t go wrong with this.
HammerBrother Link
Originally posted by underway
Yup, could replace a lot of batch scripts and such. Also very useful if you wanna version control your hack with git, since it can build a ROM from the files that you should version control.

Also very cool because many of my ASM resource using uberasm tool usually require some other resource type, like my screen scrolling pipes, which requires asar for patching fixes.asm, and GPS for the blocks.
HammerBrother Link
So, this is an automation tool.
 underway Author Link
Yup, could replace a lot of batch scripts and such. Also very useful if you wanna version control your hack with git, since it can build a ROM from the files that you should version control.