mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00

* initial (broken) commit * small work on init * Update Items.py * beginning work, some rom patches * commit progress from bh branch * deathlink, fix soft-reset kill, e-tank loss * begin work on targeting new bhclient * write font * definitely didn't forget to add the other two hashes no * update to modern options, begin colors * fix 6th letter bug * palette shuffle + logic rewrite * fix a bunch of pointers * fix color changes, deathlink, and add wily 5 req * adjust weapon weakness generation * Update Rules.py * attempt wily 5 softlock fix * add explicit test for rbm weaknesses * fix difficulty and hard reset * fix connect deathlink and off by one item color * fix atomic fire again * de-jank deathlink * rewrite wily5 rule * fix rare solo-gen fill issue, hopefully * Update Client.py * fix wily 5 requirements * undo fill hook * fix picopico-kun rules * for real this time * update minimum damage requirement * begin move to procedure patch * finish move to APPP, allow rando boobeam, color updates * fix color bug, UT support? * what do you mean I forgot the procedure * fix UT? * plando weakness and fixes * sfx when item received, more time stopper edge cases * Update test_weakness.py * fix rules and color bug * fix color bug, support reduced flashing * major world overhaul * Update Locations.py * fix first found bugs * mypy cleanup * headerless roms * Update Rom.py * further cleanup * work on energylink * el fixes * update to energylink 2.0 packet * energylink balancing * potentially break other clients, more balancing * Update Items.py * remove startup change from basepatch we write that in patch, since we also need to clean the area before applying * el balancing and feedback * hopefully less test failures? * implement world version check * add weapon/health option * Update Rom.py * x/x2 * specials * Update Color.py * Update Options.py * finally apply location groups * bump minor version number instead * fix duplicate stage sends * validate wily 5, tests * see if renaming fixes * add shuffled weakness * remove passwords * refresh rbm select, fix wily 5 validation * forgot we can't check 0 * oops I broke the basepatch (remove failing test later) * fix solo gen fill error? * fix webhost patch recognition * fix imports, basepatch * move to flexibility metric for boss validation * special case boobeam trap * block strobe on stage select init * more energylink balancing * bump world version * wily HP inaccurate in validation * fix validation edge case * save last completed wily to data storage * mypy and pep8 cleanup * fix file browse validation * fix test failure, add enemy weakness * remove test seed * update enemy damage * inno setup * Update en_Mega Man 2.md * setup guide * Update en_Mega Man 2.md * finish plando weakness section * starting rbm edge case * remove * imports * properly wrap later weakness additions in regen playthrough * fix import * forgot readme * remove time stopper special casing since we moved to proper wily 5 validation, this special casing is no longer important * properly type added locations * Update CODEOWNERS * add animation reduction * deprioritize Time Stopper in rush checks * special case wily phase 1 * fix key error * forgot the test * music and general cleanup * the great rename * fix import * thanks pycharm * reorder palette shuffle * account for alien on shuffled weakness * apply suggestions * fix seedbleed * fix invalid buster passthrough * fix weakness landing beneath required amount * fix failsafe * finish music * fix Time Stopper on Flash/Alien * asar pls * Apply suggestions from code review Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * world helpers * init cleanup * apostrophes * clearer wording * mypy and cleanup * options doc cleanup * Update rom.py * rules cleanup * Update __init__.py * Update __init__.py * move to defaultdict * cleanup world helpers * Update __init__.py * remove unnecessary line from fill hook * forgot the other one * apply code review * remove collect * Update rules.py * forgot another --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
54 lines
3.1 KiB
Markdown
54 lines
3.1 KiB
Markdown
# Mega Man 2 Setup Guide
|
|
|
|
## Required Software
|
|
|
|
- [Archipelago](https://github.com/ArchipelagoMW/Archipelago/releases)
|
|
- An English Mega Man 2 ROM. Alternatively, the [Mega Man Legacy Collection](https://store.steampowered.com/app/363440/Mega_Man_Legacy_Collection/) on Steam.
|
|
- [BizHawk](https://tasvideos.org/BizHawk/ReleaseHistory) 2.7 or later
|
|
|
|
### Configuring Bizhawk
|
|
|
|
Once you have installed BizHawk, open `EmuHawk.exe` and change the following settings:
|
|
|
|
- If you're using BizHawk 2.7 or 2.8, go to `Config > Customize`. On the Advanced tab, switch the Lua Core from
|
|
`NLua+KopiLua` to `Lua+LuaInterface`, then restart EmuHawk. (If you're using BizHawk 2.9, you can skip this step.)
|
|
- Under `Config > Customize`, check the "Run in background" option to prevent disconnecting from the client while you're
|
|
tabbed out of EmuHawk.
|
|
- Open a `.nes` file in EmuHawk and go to `Config > Controllers…` to configure your inputs. If you can't click
|
|
`Controllers…`, load any `.nes` ROM first.
|
|
- Consider clearing keybinds in `Config > Hotkeys…` if you don't intend to use them. Select the keybind and press Esc to
|
|
clear it.
|
|
|
|
## Generating and Patching a Game
|
|
|
|
1. Create your options file (YAML). You can make one on the
|
|
[Mega Man 2 options page](../../../games/Mega%20Man%202/player-options).
|
|
2. Follow the general Archipelago instructions for [generating a game](../../Archipelago/setup/en#generating-a-game).
|
|
This will generate an output file for you. Your patch file will have the `.apmm2` file extension.
|
|
3. Open `ArchipelagoLauncher.exe`
|
|
4. Select "Open Patch" on the left side and select your patch file.
|
|
5. If this is your first time patching, you will be prompted to locate your vanilla ROM. If you are using the Legacy
|
|
Collection, provide `Proteus.exe` in place of your rom.
|
|
6. A patched `.nes` file will be created in the same place as the patch file.
|
|
7. On your first time opening a patch with BizHawk Client, you will also be asked to locate `EmuHawk.exe` in your
|
|
BizHawk install.
|
|
|
|
## Connecting to a Server
|
|
|
|
By default, opening a patch file will do steps 1-5 below for you automatically. Even so, keep them in your memory just
|
|
in case you have to close and reopen a window mid-game for some reason.
|
|
|
|
1. Mega Man 2 uses Archipelago's BizHawk Client. If the client isn't still open from when you patched your game,
|
|
you can re-open it from the launcher.
|
|
2. Ensure EmuHawk is running the patched ROM.
|
|
3. In EmuHawk, go to `Tools > Lua Console`. This window must stay open while playing.
|
|
4. In the Lua Console window, go to `Script > Open Script…`.
|
|
5. Navigate to your Archipelago install folder and open `data/lua/connector_bizhawk_generic.lua`.
|
|
6. The emulator and client will eventually connect to each other. The BizHawk Client window should indicate that it
|
|
connected and recognized Mega Man 2.
|
|
7. To connect the client to the server, enter your room's address and port (e.g. `archipelago.gg:38281`) into the
|
|
top text field of the client and click Connect.
|
|
|
|
You should now be able to receive and send items. You'll need to do these steps every time you want to reconnect. It is
|
|
perfectly safe to make progress offline; everything will re-sync when you reconnect.
|