Commit Graph

27 Commits

Author SHA1 Message Date
Doug Hoskisson 30cdde8605
CI: pyright in github actions ()
* CI: strict mypy check in github actions

mypy_files.txt is a list of files that will fail the CI if mypy finds errors in them

* don't need these

* `Any` should be a way to silence the type checker

* restrict return Any

* CI: pyright in github actions

* fix mistake in translating from mypy

* missed another change from mypy to pyright

* pin pyright version

* add more paths that should trigger check

* use Python instead of bash

* type error for testing CI

* Revert "type error for testing CI"

This reverts commit 99f65f3dadf67fb18b6bbee90bd77d8dbd10f9f9.

* oops

* don't need to redirect output
2024-04-16 23:03:30 +02:00
black-sliver 962b9b28f0
Setup: don't install webhost dependencies ()
also makes ModuleUpdate detect changed requirements for update()
2024-01-14 03:09:03 +01:00
black-sliver 58642edc17 Core: allow multi-line and --hash in requirements.txt 2023-10-25 00:52:57 +02:00
Fabian Dill f401702e7c Core: skip ModuleUpdate in subprocess 2023-05-18 15:29:17 +02:00
black-sliver ffd7d5da74
ModuleUpdate/Setup: install pkg_resources, check pip, typing and cleanup ()
* ModuleUpdater/setup: install pkg_resources and check for pip

plus minor cleanup in the github actions

* ModuleUpdate/setup: make flake8 happy

* ModuleUpdate/setup: make mypy happier
2023-03-25 19:54:42 +01:00
black-sliver a3e8bb474a ModuleUpdater: allow new syntax, nicer output 2023-02-18 15:18:51 +01:00
black-sliver 04b6c31076
SoE: update to v042 and balancing changes ()
* SoE: rebalancing and cleanup

* ModuleUpdate: make url detection more generic

* SoE: change item rules to depend on target player difficulty

* SoE: Update to pyevermizer 0.41.0

* adds footknight
* adds location difficulty

* SoE: minor optimization in item rule

if .. in is faster with sets

* SoE: drop support of patch format v3

* SoE: fix some typing and warnings

* SoE: cleanup imports
2022-10-21 23:26:40 +02:00
Doug Hoskisson 265ee7098a
New Game: Zillion ()
* 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>
2022-10-20 19:41:11 +02:00
black-sliver b8e467fbb8
ModuleUpdate: skip disabled/hidden folders ()
* ModuleUpdate: skip non-worlds

* ModuleUpdate: don't skip _* folders

- _* folders may be used for libraries
- this means to properly disable a world, it has to be renamed with a preceding `.`
2022-10-01 17:38:39 +02:00
Fabian Dill 7fad0b0f51
Test: introduce test for every game has a tutorial () 2022-05-03 22:14:03 +02:00
black-sliver fe4a26d034 CI: add Generate.py tests
* allows ModuleUpdate to be run outside of local_dir
* adds windows-latest to the unittest matrix
2022-04-01 06:16:13 +02:00
Fabian Dill c7e87bc16a Setup: add setup specific requirements 2022-01-22 20:35:30 +01:00
black-sliver 5d0d9c2890 allow requirements to point to urls 2021-11-07 15:39:58 +01:00
black-sliver 1bd55b4572 ModuleUpdater: add -f and -y switches
-f: force update
-y: skip question to run pip
2021-07-27 16:02:09 +00:00
Fabian Dill c095c28618 Split requirements into world types, automatically discover and resolve them. 2021-06-06 15:30:20 +02:00
Fabian Dill cae1188ff8 Allow ModuleUpdate to use multiple requirements files, no longer need to care about naming, and use conventional requirement parsing. Also add WebHost to it. 2021-06-06 15:11:17 +02:00
Fabian Dill dc73fa0f33 Factorio integration 2021-04-01 11:40:58 +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 4cf1923c98 integrate maseya-z3pr palette shuffle 2020-08-23 12:06:00 +02:00
Berserker66 b06f528f72 Fix ModuleUpdater fallback patch 2020-07-11 16:54:38 +02:00
Fabian Dill 2811cc9b66 Run update/install once, as it installs/updates everything in one go 2020-03-22 02:34:24 +01:00
Fabian Dill 70d92ecef8 bloody auto-reformat 2020-03-06 23:38:41 +01:00
Fabian Dill d07644c274 some pep8 for ModuleUpdate.py 2020-03-06 23:37:57 +01:00
Fabian Dill dbf38db16f try some folders for updater 2020-03-06 23:30:18 +01:00
Fabian Dill fa41f358fd introduce PyYAML and make associated changes 2020-01-19 23:30:22 +01:00
CaitSith2 863689c7c9
Make 'requirements.txt' be read from module's own...
... directory
2020-01-19 12:50:04 -08:00
Fabian Dill b58558eb75 move updater to own module 2020-01-18 15:45:52 +01:00