Commit Graph

45 Commits

Author SHA1 Message Date
PoryGone d5efc71344
Core: SNI Client Refactor (#1083)
* First Pass removal of game-specific code

* SMW, DKC3, and SM hooked into AutoClient

* All SNES autoclients functional

* Fix ALttP Deathlink

* Don't default to being ALttP, and properly error check ctx.game

* Adjust variable naming

* In response to:
> we should probably document usage somewhere. I'm open to suggestions of where this should be documented.

I think the most valuable documentation for APIs is docstrings and full typing.

about websockets change in imports - from websockets documentation:
> For convenience, many public APIs can be imported from the websockets package. However, this feature is incompatible with static code analysis. It breaks autocompletion in an IDE or type checking with mypy. If you’re using such tools, use the real import paths.

* todo note for python 3.11
typing.NotRequired

* missed staging in previous commit

* added missing death Game States for DeathLink

Co-authored-by: beauxq <beauxq@users.noreply.github.com>
Co-authored-by: lordlou <87331798+lordlou@users.noreply.github.com>
2022-10-25 19:54:43 +02:00
Fabian Dill 61e39f355d
Core remove legacy patch (#1047)
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2022-09-30 00:36:30 +02:00
PoryGone 13edfa60be
Super Mario World: Implement New Game (#1045) 2022-09-29 20:16:59 +02:00
Doug Hoskisson c96b6d7b95
Core: some typing and docs in various parts of the interface (#1060)
* some typing and docs in various parts of the interface

* fix whitespace in docstring

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* suggested changes from discussion

* remove redundant import

* adjust type for json messages

* for options module detection:
 module.lower().endswith("options")

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2022-09-28 23:54:10 +02:00
Alchav b45d8bf221
Patch: Save patch file extension in archipelago.json (#968) 2022-09-02 23:37:37 +02:00
PoryGone cabbe0aaf6
Donkey Kong Country 3 Implementation (#798)
* Baseline patching and logic for DKC3

* Client can send, but not yet receive

* Alpha Test Baseline

* Bug Fixes and Starting Lives Option

* Finish BBH, add world hints

* Add music shuffle

* Boomer Costs Text

* Stubbed in Collect behaviour

* Adjust Gyrocopter option

* Add Bonus Coin junk replacement and tracker support

* Delete bad logs

* Undo host.yaml change

* Refactored SNIClient

* Make Swanky Free

* Fix Typo

* Undo SNIClient run_game hack

* Fix Typo

* Remove Bosses from Level Shuffle

* Remove duplicate kivy Data

* Add DKC3 Docs and increment Data version

* Remove dead code

* Fix mislabeled region

* Add Dark Souls 3 to README

* Always force Cog on Rocket Rush Flag

* Fix Single Ski lock and too many DK Coins

* Update Retroarch version number

* Don't send DKC3 through LttP Adjuster

* Comment Location ROM Table

* Change ROM Hash prefix to D3

* Remove redundant constructor

* Add ROM Change Safeguards

* Properly mark WRAM accesses

* Remove outdated region connect

* Fix syntax error

* Fix Game description

* Fix SNES Bank Access

* Add isso_setup for DKC3

* Double Quote strings

* Escape single quotes I guess
2022-07-22 00:02:25 -05:00
strotlog b206f2846a SNES games: use JPN as abbreviation for Japan/Japanese 2022-07-02 12:16:15 +02:00
Fabian Dill f093e90c23 ModuleUpdate: add it to a few more common entry points
MinecraftClient: add requests import to requirements.txt
2022-04-07 15:21:47 +02:00
black-sliver 7d830362a7
Setup, Launcher, Linux Support (#359) 2022-03-31 05:08:15 +02:00
Fabian Dill 7394598aff
Patch: update to version 4 (#312) 2022-03-18 04:53:09 +01:00
lordlou cfa49ee757
Add SMZ3 support (#270) 2022-03-15 13:55:57 +01:00
Robinde67 ad06d9bb4a
Adjuster fixes and added GUI prompt for applying last settings (#173) 2022-01-20 04:19:58 +01:00
Fabian Dill d7509972e4 SNIClient: fix apsoe handling 2021-12-01 01:01:41 +01:00
Fabian Dill 2dc8b77ddc Patch: consolidate some if trees 2021-11-14 21:03:17 +01:00
Fabian Dill fc3b8c40be WebHost: handle SM and SoE 2021-11-13 20:52:30 +01:00
Fabian Dill 4a8ba0575f Post-Merge Cleanup 2021-11-12 14:36:34 +01:00
lordlou 77ec8d4141
Added Super Metroid support (#46)
Varia Randomizer based implementation
LttPClient -> SNIClient
2021-11-12 14:00:11 +01:00
Fabian Dill 299036ecca LttP: move some LttP specific things more towards locations where they belong. 2021-08-10 08:00:53 +02:00
Fabian Dill 19896e1fae prepare webhost for multi-game per-slot downloads 2021-05-14 15:25:57 +02:00
Fabian Dill dc73fa0f33 Factorio integration 2021-04-01 11:40:58 +02:00
Fabian Dill 7333a15f1f handle merge conflicts after plando update 2021-01-17 06:54:38 +01:00
Fabian Dill 8ebd36b5a7 update Archipelago 2021-01-03 14:32:32 +01:00
Fabian Dill 1d58f54101 move ALTTP to its own world folder 2020-10-24 05:38:56 +02:00
Fabian Dill 4f8c737eec squashed commit of many breaking changes
Dropping Support for Python 3.7; adding support for Python 3.9
2020-10-19 08:26:31 +02:00
Fabian Dill 5cd5223ae0 WebHost: Add youtube livestreaming and autogenerated multistream link 2020-07-25 22:40:24 +02:00
Fabian Dill f27d9e904f fix multithreaded import racing condition when frozen 2020-07-10 22:43:54 +02:00
Fabian Dill 346a08c3dd Use EasyModeEscape flag of upcoming Enemizer 2020-07-05 02:06:00 +02:00
caitsith2 e1bfa8780c Create basepatch in proper directory if required. 2020-06-20 19:14:09 -07:00
caitsith2 de9ae7d111 baserom now derived from bmbp file. 2020-06-09 12:18:48 -07:00
caitsith2 91cb0630fa changes
* Allow patch.py to mass adjust roms
* Allow patch.py store target server address for patch.
2020-06-07 12:04:33 -07:00
Fabian Dill 815ec85da9 Patch.py multithreaded sfc->bmbp
bsdiff 4 releases GIL
2020-05-02 13:02:34 +02:00
Fabian Dill 56e57de574 store last used adjuster settings and use them for patching
might use them as gui defaults later
2020-04-26 15:14:30 +02:00
CaitSith2 e60f20ef44
Correct issue with updating host address. (#68) 2020-04-16 18:05:11 +02:00
Fabian Dill 0f94950021 some cleaning in Patch.py 2020-04-15 10:11:47 +02:00
CaitSith2 4a3d941d20
Changes to patch.py (#65)
* Changes to patch.py
* Get hos/port from host.yaml if applicable.
* Extract rom/host information from existing patch files.
* Give users a chance to read the info as required.

* Update patches in zip file with new host.
(Kind of wish I didn't have to create  a new zip file to do this, but unfortunately there is no options in zipfile to overwrite/delete existing files.)
2020-04-15 10:03:04 +02:00
Fabian Dill 9f27a60d90 some gui checking 2020-03-28 21:55:41 +01:00
Fabian Dill 7cab5b5baf encode patch explicitly with utf-8-sig (unicode with marker for unicode 2020-03-22 20:04:30 +01:00
Fabian Dill 57790e7615 Allow running just Patch.py 2020-03-17 19:16:11 +01:00
Fabian Dill 031d6823a1 mostly pathing improvements, mostly to benefit linux 2020-03-15 19:32:00 +01:00
Fabian Dill a29f93045e performance improvements and small adjustments 2020-03-10 00:38:29 +01:00
Fabian Dill 611f4d3fb2 no longer try patching if it's the wrong rom.
People ignore the warning.
2020-03-08 02:18:55 +01:00
Fabian Dill bb2b252623 strip header if it exists, for patching 2020-03-07 00:30:14 +01:00
Fabian Dill 333a29ab47 bloody auto-reformat 2020-03-07 00:07:45 +01:00
Fabian Dill 1f71067e1c rename to bmbp "Berserker Multiworld Binary Patch", which seems to be unique. 2020-03-06 00:54:13 +01:00
Fabian Dill d44acfdaaf implement binary patching for multimystery (for now no gui/cli support) 2020-03-06 00:48:23 +01:00