Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smashedr/rom-patcher
SNES ROM Patcher for IPS and BPS Patch Files
https://github.com/smashedr/rom-patcher
gui inno-setup linux pyinstaller pyqt5 python3 romhacking windows
Last synced: 21 days ago
JSON representation
SNES ROM Patcher for IPS and BPS Patch Files
- Host: GitHub
- URL: https://github.com/smashedr/rom-patcher
- Owner: smashedr
- License: gpl-3.0
- Created: 2018-09-30T22:53:08.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-12-31T12:37:18.000Z (about 6 years ago)
- Last Synced: 2024-11-10T15:50:52.090Z (3 months ago)
- Topics: gui, inno-setup, linux, pyinstaller, pyqt5, python3, romhacking, windows
- Language: Python
- Homepage:
- Size: 146 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ROM Patcher
[![Build Status](https://build.cssnr.com/buildStatus/icon?job=rom-patcher%20Release%20Builder%20Master)](https://build.cssnr.com/job/rom-patcher%20Release%20Builder%20Master)
This is a Beta product and may contain bugs or lack functionality. Please open issues for any major bugs.
## Download
To download a binary head over to the [Releases Page](https://github.com/smashedr/rom-patcher/releases)
#### Windows
| Package | Details | Filename |
| --- | --- | --- |
| Installer | **Recommended package** | rom-patcher-installer.exe |
| Zipped | Main package archived | rom-patcher.zip |
| Portable | Single executable, slower loading | rom-patcher.exe |If you get an error about "MSVCP140.dll" missing you may need the latest Visual C++ Libraries:
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads#### Linux
| Package | Details | Filename |
| --- | --- | --- |
| Tarball | Main package archived | rom-patcher.tar.gz |
| Portable | Single executable, slower loading | rom-patcher-onefile.tar.gz |If you get an error about "flips-linux" not found on a 64-bit OS you may need to install 32-bit glibc++ libs.
## About
This tool allows you to copy download URL's from SMW Central (and some other platforms) and paste it into the source box; and will download the remote resource, unarchive it, and patch it with 1 click of a button.
https://www.smwcentral.net/?p=section&s=smwhacks
![Screen Shot](https://i.imgur.com/zSej6xD.jpg)
## Usage
1. Find a ROM Hack from SMW Central (or anywhere else) and copy the download link. It also may work with the URL from your address bar but is guaranteed to work with the download link. You may also specify an already downloaded patch file or zip containing an patch file. This goes in the first box.
Example: https://dl.smwcentral.net/17289/GPW1.2.zip
2. This is the location to the source ROM from which the patch file will be used with. This file will not be modified, a new output file will be created in the directory specified below.
Example: C:/ROMS/Super Mario World (USA).sfc
3. The output directory where the new patched ROM hack will be generated.
Example: (anywhere you want, maybe the desktop?)
4. Click "Patch ROM". The final rom location will display in the status box then you can click open directory to find it.
## Building
You will need the required `bin` directory with flips for your OS.
#### Windows
Install the requirements.txt plus pyinstaller then build with:
```
powershell.exe .\scripts\build.ps1
```After building you can create an installer with inno setup by running:
```
ISCC.exe rom-patcher.iss
```- `bin`: https://jenkins.imgg.site/static/rom-patcher-gui/bin.zip
#### Linux
Install the requirements.txt plus pyinstaller then build with:
```
bash scripts/build.sh
```- `bin`: https://jenkins.imgg.site/static/rom-patcher-gui/bin-linux.zip
#### macOS
This app currently does **not** function on macOS due to missing `flips` binary; otherwise will compile just fine.
If anyone wants to write working python code for bps and ips that would be amazing!
## Third Party Software
The following open source software was used in the creation of this tool.
#### Floating IPS
This software uses Floating IPS to patch roms which is bundled with pre-built binaries.
More information and source here: https://www.smwcentral.net/?p=section&a=details&id=11474
#### PyQt5
This software was built using PyQt5 by Riverbank Computing Limited.
More information and source here: https://www.riverbankcomputing.com/software/pyqt/intro
#### Inno Setup
The installer was built using Inno Setup by Jordan Russell’s Software.
More information and source here: http://jrsoftware.org/isinfo.php