A Super Metroid patching utility
Project description
NOTE: This project has no relation to the romhack of the same name.
Super-Duper-Metroid
Super Duper Metroid is a Super Metroid patcher and interface program, intended for use with randomizer programs. SDM is a work in progress, and is likely very broken in its current state. SDM requires an installation of Python 3 to work, although I haven't done any testing to determine which versions precisely work, and requires a Headerless ROM file to modify. Remember that video game piracy is a crime - only use legally obtained copies of the game Super Metroid with this program. Has been tested for NTSC.
Building
Requires an adequate version of python
Steps:
- Clone this repository
- Open a terminal in the repository's root
- Create a virtual environment by running
python -m venv venv
- Activate the virtual environment with
call venv/bin/activate
on Windows orsource venv/bin/activate
on Unix-based systems - Install requirements by running
python -m pip install -r requirements.txt
- Install as editable by running
python -m pip install -e .
You can now run scripts from the project from terminal, using the virtual environment. Or run python -m Super-Duper-Metroid
to patch the game via a CLI interface.
Credit
Credit goes to Samuel Roy for writing most of this code.
Kazuto wrote the More Efficient Item PLMs Hack, which is recreated in parts of this code.
Metroid Construction and Kejardon provided a lot of documentation which I made use of.
PHOSPHOTiDYL wrote the Skip Intro Saves hack, which is included in this program.
Smiley and Flo wrote the Cheap Charge IPS patch.
n00btube wrote the Save Refill patch.
Total, Fusda, and Leodox were responsible for most of the other IPS patches.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for SuperDuperMetroid-2.3.3-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dbd7925b3e582004c17d6a12a012a8ab178a9929f836f05eecd1ca34a0689ad |
|
MD5 | dcefdc8c0d82e1c2f135fe9c40169b79 |
|
BLAKE2b-256 | 2d6d67112fa3b87551be43f9e42dea1251a2a914c736185085a4fc0b9408939b |
Hashes for SuperDuperMetroid-2.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f1c294d041cef83b5f1cc0834f5726ff230c5a28273cf29c8352f671e961b66 |
|
MD5 | 81aef1246e86a733c0f5816bb0e98ff4 |
|
BLAKE2b-256 | caf7196009c348c42a50b9e96c00ea413627c64a6f6aecf3a5a77becbc1074ef |
Hashes for SuperDuperMetroid-2.3.3-cp312-cp312-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a9dce78c1244babff652c54b2e25d6c13f7d2c4fafa291f76b1fa738b077b97 |
|
MD5 | bd6d369a98b3271c2a2c1591be50005f |
|
BLAKE2b-256 | 47d5e15fa7e4ead1ffc30c5b205cb3b12b411f8cade9a4149198ec59a9089083 |
Hashes for SuperDuperMetroid-2.3.3-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60b739799667f9b51ecc6561a5b3b704044d7e020fce1c9693dd40a05b5a37f6 |
|
MD5 | 405c4eccfb6d96684aa7627f6d04ac8c |
|
BLAKE2b-256 | 6d9888b2318d73bfcba26863444be9bff1caddab4e97a6eaf9f4b9328774ff96 |
Hashes for SuperDuperMetroid-2.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a354b06c5233819c2bb408cf98461eeb7a16f9c5fd6e1f927ea3ee0e6af01600 |
|
MD5 | 5db3536289a02604d287dbf95a3ca57e |
|
BLAKE2b-256 | bad21c29329a599dc5670c23be098c5fef8add7d4f44b7ac10a0fd304328cc4d |
Hashes for SuperDuperMetroid-2.3.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b91caa80d7e3e3d654f6a27ca378b7bf6aff836b8414537f861bc7b6b3bef195 |
|
MD5 | cd60c52d9b85ced216512bcc799a953b |
|
BLAKE2b-256 | 43523a9d7d98ce3b9812c01ec673bd53780042ffa924f32a330b469d1cb2a61c |
Hashes for SuperDuperMetroid-2.3.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9f2dcdcd3e47fe1192d6ff3e494568d74e88ce3a69a44309f68409426d57e3d |
|
MD5 | ebcd37477a3cd8c748215f62b7bc2eb5 |
|
BLAKE2b-256 | 411bff9cd68b3ddcbb0c718a27aee4be0ea368c93906a736c541e94b4aae304f |
Hashes for SuperDuperMetroid-2.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fcabbbb0ee74e396f168f9a0d7e1828ac1529dc4b73c01f7e4d5a7fc2fea812 |
|
MD5 | 551de7ee5b9f0b78cb78c5e2c0269913 |
|
BLAKE2b-256 | a96f47f62cbaae29b488f4e075398f9a37c58f83f130a95ea4b9d8c7e95b1749 |
Hashes for SuperDuperMetroid-2.3.3-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3b7d7c0a6ee9ad594782b2ee2ac0b179125b166271ad818413fe061d86abb3a |
|
MD5 | 48ef91c3e3355e3d47355383a462dab0 |
|
BLAKE2b-256 | fd7809bcc5c54a39e80417adbced758d7d4e180ebd22851fd434ac36c15a1d49 |
Hashes for SuperDuperMetroid-2.3.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b78341c797904c191a7a49dcce752d0376e548308e1eae40c899f670c13aac4 |
|
MD5 | 7115ada1e57f1f6af4f50fb9eb6202b4 |
|
BLAKE2b-256 | 086f5abb30a6bc899c3116d5b81f48ec14c8c8d0c7151412b431748d386be39e |
Hashes for SuperDuperMetroid-2.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1be592c322ff2a5e06b951b986c4a4aadf71bb5ae717a2867d1776e2de3ec176 |
|
MD5 | c89ad3854ac35bc99cd976970a166025 |
|
BLAKE2b-256 | 6608d01654c13717ea63c7880cc0f89fd4e21cd5e0a5fe501d0e315aee42c2b6 |
Hashes for SuperDuperMetroid-2.3.3-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 036dff250a2d0c29d1629b0a6bc39ac2ff6ab5f8ddbdab5a76a9a33ca4463ff9 |
|
MD5 | 9b9b8f8d187f4cf9f3f4ec48f7728706 |
|
BLAKE2b-256 | 2206a1cad655f35684cc7c307986c30f74921549ae3b77f5c40abd2f83af77e6 |
Hashes for SuperDuperMetroid-2.3.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d87756e2f0796c0962c3adba56292a24cfd4560cd7bbb34d4ae9fe11f6b6e47f |
|
MD5 | 319e767738e333549ef02522aadd4bfa |
|
BLAKE2b-256 | 7a1e8f171427cb14e4eacf566f799421ebadb1e2b561979a82552bf314894995 |
Hashes for SuperDuperMetroid-2.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ae780ee68425c56952615c52d8d7bf438c42533a74298c5a5864b81d8029074 |
|
MD5 | 66b40c4dc737d3a96e669c4a67edcbec |
|
BLAKE2b-256 | 272f2f366050e34ce37d12a21546cea145a793b986a856b9f05ba0e005ba9350 |
Hashes for SuperDuperMetroid-2.3.3-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3850c63fba33dcbe310392f33ffb91dc95f81753d555cbd07146262d22340ff |
|
MD5 | e0ab2e12668b4bc77db9ce4b252d65a9 |
|
BLAKE2b-256 | 7a896fc24b5bb4abf007c337b313a97155f12dac6e9263d39f386e7eab9733bf |