Skip to content

Conversation

@rainthefrog
Copy link

@rainthefrog rainthefrog commented Dec 2, 2025

Got an Analogue 3d recently and saw a ton of cool SM64 rom hacks. Probably spent more time building this than it would have taken to patch them all, but oh well. Here it is.

This pull request adds a Docker-based workflow for patching ROMs using RomPatcher.js. The changes include:

  • A Dockerfile and docker-compose configuration to run RomPatcher.js in a container.
  • An entrypoint.sh script that:
    • Creates input and output directories if they do not exist.
    • Automatically extracts ZIP patch files if necessary.
    • Applies multiple BPS patches to ROMs in the input directory and outputs them to the output directory, naming the output files based on the patch name.
  • Volume mounts for input and output to persist data between the host and container.
  • README updates with instructions for building and running the container using docker-compose up --build.

These changes allow users to patch ROMs in a reproducible environment without requiring Node.js or RomPatcher.js installed locally, and ensure commits and patches are isolated from the host filesystem.

@rainthefrog
Copy link
Author

tried using the -v flag for the node cli, but doesn't seem to work. Neither does the -s to remove (patched). Not a huge issue.

The -v flag is bigger issue. I ran into a problem where my source rom was invalid. So long as patch and source rom are valid, this works nicely

@rainthefrog rainthefrog changed the title Adding support to run patches in a docker container Adding support to run multiple patches on a single rom in a docker container Dec 3, 2025
@rainthefrog rainthefrog changed the title Adding support to run multiple patches on a single rom in a docker container Adding docker setup to run multiple patches on a single rom in a docker container Dec 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant