2025-08-03 12:39:08 -04:00
2025-08-03 12:39:08 -04:00
2025-07-27 11:49:23 -04:00
2025-07-27 11:50:54 -04:00
2025-07-25 16:11:17 -04:00

RomHack Races Downloader and Patcher

Scripts to download and patch Super Mario World ROM hacks from RomHack Races.

Note: This is entirely vibe coded and may have quality issues.

Requirements

Python Dependencies

  • Python 3.6+
  • Required packages in requirements.txt

Install Python dependencies with:

pip install -r requirements.txt

Other Requirements

  • Flips - ROM patching utility
  • Original Super Mario World ROM (.smc format)

Setup

  1. Clone this repository
  2. Install Python dependencies
  3. Ensure flips is installed and available in your PATH
  4. Place your original Super Mario World ROM somewhere accessible

Usage

Downloading Patches

The downloader.py script will download all ROM patches from RomHack Races and organize them by season:

python downloader.py

Patches will be downloaded to the patches directory, organized in season folders (Season1, Season2, etc.).

Patching ROMs

The patch_roms.sh script applies the downloaded patches to your original ROM:

# Show help
./patch_roms.sh

# Do a dry run (shows what would be patched without actually patching)
./patch_roms.sh --dry-run /path/to/original.smc

# Actually patch the ROMs
./patch_roms.sh /path/to/original.smc

Patched ROMs will be created in the patched directory with filenames like Week001.smc, Week002.smc, etc.

The script will:

  • Only patch ROMs that don't already exist in the output directory
  • Show a summary of new and skipped patches
  • Maintain correct week numbering from the original patches

Directory Structure

.
├── downloader.py           # Patch downloader script
├── patch_roms.sh          # ROM patcher script
├── requirements.txt       # Python dependencies
├── patches/              # Downloaded patches (created by downloader.py)
│   ├── Season1/
│   ├── Season2/
│   └── ...
└── patched/              # Patched ROMs (created by patch_roms.sh)
    ├── Week001.smc
    ├── Week002.smc
    └── ...

Updating

To get new patches and ROMs:

  1. Run the downloader:
python downloader.py
  1. Patch new ROMs:
./patch_roms.sh /path/to/original.smc

The scripts will only download new patches and create new ROMs that don't already exist.

Notes

  • The original ROM is not included and must be provided separately
  • Patches are downloaded from RomHack Races (https://www.romhackraces.com/)
  • ROMs are organized by week numbers for easy reference
Description
romhackraces.com downloader and patcher
Readme 48 KiB
Languages
Python 76.7%
Shell 23.3%