Skip to content

A repository of Python tools for Rhythm Heaven Megamix modding.

License

Notifications You must be signed in to change notification settings

rhmodding/rupert-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rupert's Tools

This repository contains multiple tools made to help the Megamix modder to make, or merge, mods.

These tools were made with the help of TheAlternateDoctor, patataofcourse, qand Cebola!

This project is public domain under the terms of The Unlicense. You can find a copy at LICENCE.md. sarc3.py also requires attribution to the original creator, ObsidianX.

Table of contents

  1. Console Patcher
  2. Group Maker
  3. Prologue Patcher
  4. MSBT Diff Tool
  5. SARC/ZLIB Archive Tool

consolePatcher.py

This tool allows the modmaker to edit the console displayed in the Museum, for each game.

Usage

usage: consolePatcher.py [-h] [-o OUTPUT] input index console

Changes a specific slot's console in the Museum

positional arguments:
  input                 Original base.bin.
  index                 Index of the game to change.
  console               Console to change to (0:GBA, 1:DS, 2:Wii, 3:3DS)

options:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        File to save the edited base.bin to

Examples

Change Space Dance's console to the Wii

consolePatcher.py base.bin 0x1A 2

Change Lush Remix's console to the GBA, and save it in "newbase.bin"

consolePatcher.py base.bin 5E 0 -o newbase.bin

group.py

This tool allows the modmaker to create a new bcgrp pointing to another id.

Usage

usage: group.py [-h] [-o OUTPUT] group index

Create a group with the specified group ID

positional arguments:
  group                 Any music group. Sick Beat's gate group recommended
  index                 SFX index to point to

options:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT

Examples

Create GROUP_WSD_NEW.bcgrp pointing to Spaceball's id from Big Rock Finish A's group.

group.py GROUP_WSD_NTR_SHORT_LIVE_A.bcgrp 0x1000192

prologuePatcher.py

This tool allows the modmaker to change the music played in a slot's prologue.

The SFXs to use are the ones prefixed with STRM_.

WARNING! If used on an endless game's slot, the resulting base.bin will require a special version of RHMPatch!

Usage

usage: prologuePatcher.py [-h] [-o OUTPUT] input index sfx

Changes a specific slot's prologue music

positional arguments:
  input                 Original base.bin.
  index                 Index of the game to change.
  sfx                   Index of the SFX you want as prologue music.

options:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        File to save the edited base.bin to.

Examples

Changes Working Dough's prologue SFX to Airboarder's (0x1000047)

prologuePatcher.py code.bin 0x37 0x1000047

xmsbtDiff.py

This tool allows the user to create diffs of multiple xmsbt files, as generated by MSBTEditor.

Usage

usage: diff.py [-h] original edited

Create an xmsbt file that includes the differences between an original and an edited file

positional arguments:
  original    Original, unmodified xmsbt file (or folder)
  edited      xmsbt file that contains modifications over the original (or folder)

options:
  -h, --help  show this help message and exit

Examples

Creates a diff of two different ntr.msbt files

diff.py ntr.xmsbt ntr2.xmsbt

This creates a "out" folder with a single "ntr.xmsbt" file.

Creates a diff between two xmsbt folders

diff.py base edited

This matches all input files with edited files of the same name. This also creates a "out" folder containing the diffs of non-matching files.

sarc3.py

This tool allows a modmaker to unpack and extract SARC files, including ZLIB-compressed SARCs such as those used in Megamix.

This is a modified version of ObsidianX's sarc.py, which can be found at https://github.com/ObsidianX/3dstools

Usage

usage: sarc3.py [-h] [-v] [-d] [-y] [-z] [--compression-level LEVEL] (-x | -c | -t)
                [-l | -b] -f ARCHIVE [-D DIRECTORY]
                [file ...]

SARC Archive Tool

positional arguments:
  file                  files to add to an archive

options:
  -h, --help            show this help message and exit
  -v, --verbose         print more data when working
  -d, --debug           print debug information
  -y, --yes             answer "yes" to questions (overwriting files)
  -z, --zlib            use ZLIB to compress or decompress the archive
  --compression-level LEVEL
                        ZLIB compression level (default: 6)
  -x, --extract         extract the SARC
  -c, --create          create a SARC
  -t, --list            list contents
  -l, --little-endian   use little endian encoding when creating an archive (default)
  -b, --big-endian      use big endian encoding when creating an archive
  -f ARCHIVE, --archive ARCHIVE
                        the SARC filename
  -D DIRECTORY, --directory DIRECTORY
                        directory to extract the files to

Examples

Extracts a ZLIB-compressed SARC file, ntrSyncro_long.zlib, into a directory named layout

python sarc3.py -xzf ntrSyncro_long.zlib -D toEdit

Creates a ZLIB-compressed SARC file called ntrSyncro_arrange.zlib

About

A repository of Python tools for Rhythm Heaven Megamix modding.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages