* Core: hot reload components from installed apworld
* address PR reviews
`Launcher` widget members default to `None` so they can be defined in `build`
`Launcher._refresh_components` is not wrapped
loaded world goes into `world_sources` so we can check if it's already loaded.
(`WorldSource` can be ordered now without trying to compare `None` and `float`)
(don't load empty directories so we don't detect them as worlds)
* clarify that the installation is successful
* Launcher: Allow opening patches for clients without an exe
* Launcher: Restore behavior for not showing patch suffixes for clients that aren't installed
* Add settings API ("auto settings") for host.yaml
* settings: no BOM when saving
* settings: fix saving / groups resetting themselves
* settings: fix AutoWorldRegister import
Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>
* Lufia2: settings: clean up imports
* settings: more consistent class naming
* Docs: update world api for settings api refactor
* settings: fix access from World instance
* settings: update migration timeline
* Docs: Apply suggestions from code review
Co-authored-by: Zach Parks <zach@alliware.com>
* Settings: correctly resolve .exe in UserPath and LocalPath
---------
Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>
Co-authored-by: Zach Parks <zach@alliware.com>
This adds Wargroove to the list of supported games. Wargroove uses a custom non-linear campaign over the vanilla and double trouble campaigns. A Wargroove client has been added which does a lot of heavy lifting for the Wargroove implementation and must be always on during gameplay. The mod source files can be found here: https://github.com/FlySniper/WargrooveArchipelagoMod
* Option RangeWithSpecialMax
* amendment to typing in web options
* compare string with number
* lots of work on zillion
* fix zillion fill logic
* fix a few more issues in zillion fill logic
* can make zillion patch and use it
* put multi items in zillion rom
* work on ZillionClient
* logging and auth in client
* work on sending and receiving items
* implement item_handling flag
* fix locations ids to NuktiServer package
* use rewrite of zri
* cache logic rule data for performance
* use new id maps
* fix some problems with the big recent merge
* ZillionClient: use new context manager for Memory class
* fix ItemClassification for Zillion items
and some debug statements for asserts,
documentation on running scripts for manual testing
type correction in CommonContext
* fix some issues in client, start on docs, put rescue and item ram addresses in slot data
* use new location name system
fix item locations getting out of sync in progression balancing
* zillion client can read slot name from game
* zillion: new item names
* remove extra unneeded import
* newer options (room gen and starting cards)
* update comment in zillion patch
* zillion non static regions
* change some logging, update some comments
* allow ZillionClient to exit in certain situations
* todo note to fix options doc strings
* don't force auto forfeit
* rework validation of floppy requirement and item counts
and fix race condition in generate_output
* reorganize Zillion component structure
with System class
* documentation updates for Zillion
* attempt inno_setup.iss
* remove todo comment for something done
* update comment
* rework item count zillion options
and some small cleanups
* fix location check count
* data package version 1
* Zillion can pass unit tests without rom
* fix freeze if closing ZillionClient while it's waiting for server login
* specify commit hash for zilliandomizer package
* some changes to options validation
* Zillion doors saved on multiworld server
* add missing function in inno_setup
and name of vanilla continues in options
* rework zillion sync task and context
* Apply documentation suggestions from SoldierofOrder
Co-authored-by: SoldierofOrder <107806872+SoldierofOrder@users.noreply.github.com>
* update zillion package
* workaround for asyncio udp bug
There is a bug in Python in Windows
https://github.com/python/cpython/issues/91227
that makes it so if I look for RetroArch before it's ready, it breaks the asyncio udp transport system.
As a workaround, we don't look for RetroArch until the user asks for it with /sms
* a few of the smaller suggestions from review
* logic only looks at my locations
instead of all the multiworld locations
* some adjustments from pull request discussion
and some unit tests
* patch webhost changes from pull request discussion
* zillion logic tests
* better vblr test
* test interaction of character rescue items with logic
* move unit tests to new worlds folder
* comment improvements
* fix minor logic issue
and add memory read timeout
* capitalization in option display names
Opa-Opa is a proper noun
* redirect zz stdout to debug
* fix option validation bug making unbeatable seeds
* remove line that does nothing
* attach logic cache to world
Co-authored-by: SoldierofOrder <107806872+SoldierofOrder@users.noreply.github.com>
Co-authored-by: Doug Hoskisson <doughoskisson@novuslabs.com>
* 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