Archipelago/worlds
Chris Wilson 5e3c5dedf3
WebHost: Massive overhaul of options pages (#2614)
* Implement support for option groups. WebHost options pages still need to be updated.

* Remove debug output

* In-progress conversion of player-options to Jinja rendering

* Support "Randomize" button without JS, transpile SCSS to CSS, include map file for later editors

* Un-alphabetize options, add default group name for item/location Option classes, implement more option types

* Re-flow UI generation to avoid printing rows with unsupported or invalid option types, add support for TextChoice options

* Support all remaining option types

* Rendering improvements and CSS fixes for prettiness

* Wrap options in a form, update button styles, fix labels, disable inputs where the default is random, nuke the JS

* Minor CSS tweaks, as recommended by the designer

* Hide JS-required elements in noscript tag. Add JS reactivity to range, named-range, and randomize buttons.

* Fix labels, add JS handling for TextChoice

* Make option groups collapsable

* PEP8 current option_groups progress (#2604)

* Make the python more PEP8 and remove unneeded imports

* remove LocationSet from `Item & Location Options` group

* It's ugly, but YAML generation is working

* Stop generating JSON files for player-options pages

* Do not include ItemDict entries whose values are zero

* Properly format yaml output

* Save options when form is submitted, load options on page load

* Fix options being omitted from the page if a group has an even number of options

* Implement generate-game, escape option descriptions

* Fix "randomize" checkboxes not properly setting YAML options to "random"

* Add a separator between item/location groups and items/locations in their respective lists

* Implement option presets

* Fix docs to detail what actually ended up happening

* implement option groups on webworld to allow dev sorting (#2616)

* Force extremely long item/location/option names with no spaces to text-wrap

* Fix "randomize" button being too wide in single-column display, change page header to include game name

* Update preset select to read "custom" when updating form inputs. Show error message if the user doesn't input a name

* Un-break weighted-options, add option group names to weighted options

* Nuke weighted-options. Set up framework to rebuild it in Jinja.

* Generate styles with scss, remove styles which will be replaced, add placeholders for worlds

* Support Toggle, DefaultOnToggle, and Choice options in weighted-options

* Implement expand/collapse without JS for worlds and option groups

* Properly style set options

* Implement Range and NamedRange. Also, CSS is hard.

* Add support for remaining option types. JS and backend still forthcoming.

* Add JS functionality for collapsing game divs, populating span values on range updates. Add <noscript> tag to warn users with JS disabled.

* Support showing/hiding game divs based on range value for game

* Add support for adding/deleting range rows

* Save settings to localStorage on form submission

* Save deleted options on form submission

* Break weighted-options into a per-game page.

- Break weighted-options into a per-game page
- Add "advanced options" links to supported games page
- Use details/summary tags on supported games, player-options, and weighted-options
- Fix bug preventing previously deleted rows from being removed on page load if JS is enabled
- Move route handling for options pages to options.py
- Remove world handling from weighted-options

* Implement loading previous settings from localStorage on page load if JS is enabled

* Weighted options can now generate YAML files and single-player games

* options pages now respect option visibility settings for simple and complex pages

* Remove `/weighted-settings` redirect, fix weighted-options link on player-options page

* Fix instance of AutoWorld not having access to proper `random`

* Catch instances of frozenset along with set

* Restore word-wrap in tooltips

* Fix word wrap in player-options labels

* Add `dedent` filter to help with formatting tooltips in player-options

* Do not change the ordering of keys when printing yaml files

* Move necessary import out of conditional statement

* Expand only the first option group by default on both options pages

* Respect option visibility when generating yaml template files

* Swap to double quotes

* Replace instances of `/weighted-settings` with `/weighted-options`, swap out incomplete links

* Strip newlines and spaces after applying dedent filter

* Fix documentation for option groups

* Update site map

* Update various docs

* Sort OptionSet lists alphabetically

* Minor style tweak

* Fix extremely long text overflowing tooltips

* Convert player-options to use CSS grid instead of tables

* Do not display link to weighted-options page on supported games if the options page is an external link

* Update worlds/AutoWorld.py

Bugfix by @alwaysintreble

Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>

* Fix NamedRange options not being properly set if a preset it loaded

* Move option-presets route into options.py

* Include preset name in YAML if not "default" and not "custom"

* Removed macros for PlandoBosses and DefaultOnToggle, as they were handled by their parent classes

* Fix not disabling custom inputs when the randomize button is clicked

* Only sort OptionList and OptionSet valid_keys if they are unordered

* Quick style fixes for player-settings to give `select` elements `text-overflow: ellipsis` and increase base size of left-column

* Prevent showing a horizontal scroll bar on player-options if the browser width was beneath a certain threshold

* Fix a bug in weighted-options which prevented inputting a negative value for new range inputs

---------

Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>
2024-05-18 00:11:57 -04:00
..
_bizhawk BizHawkClient: Add error message if patching fails (#2877) 2024-04-14 03:26:25 +02:00
_sc2common SC2: Multi-campaign (#2954) 2024-03-15 17:33:03 +01:00
adventure WebHost: Massive overhaul of options pages (#2614) 2024-05-18 00:11:57 -04:00
alttp WebHost: Massive overhaul of options pages (#2614) 2024-05-18 00:11:57 -04:00
aquaria Aquaria: implement new game (#3197) 2024-05-17 12:29:00 +02:00
archipidle ArchipIDLE 2024 (#3079) 2024-04-12 00:32:10 -04:00
bk_sudoku Docs: replacing "setting" to "option" in world docs (#2622) 2024-03-22 17:46:14 +01:00
blasphemous Docs: replacing "setting" to "option" in world docs (#2622) 2024-03-22 17:46:14 +01:00
bomb_rush_cyberfunk BRCF: Small Fixes (#3314) 2024-05-17 19:24:32 +02:00
bumpstik Bumper Stickers and Meritous: Options and world: multiworld fixes (#3281) 2024-05-12 18:52:34 +02:00
celeste64 Celeste 64: v1.2 Content Update (#3210) 2024-05-05 08:58:49 +02:00
checksfinder Core: replace `Location.event` with `advancement` property (#2871) 2024-04-14 20:37:48 +02:00
clique Docs: replacing "setting" to "option" in world docs (#2622) 2024-03-22 17:46:14 +01:00
cv64 CV64: Fix items with weird characters landing on Renon's shop crashing (#3305) 2024-05-15 23:50:04 +02:00
dark_souls_3 DS3: Update the setup docs to be more up to date (#2932) 2024-04-20 19:45:20 -05:00
dkc3 some worlds: some typing in `LocalRom` (#3090) 2024-05-17 21:41:57 +02:00
dlcquest Core: replace `Location.event` with `advancement` property (#2871) 2024-04-14 20:37:48 +02:00
doom_1993 Removing old option getters (#3285) 2024-05-10 16:29:07 +02:00
doom_ii Removing old option getters (#3285) 2024-05-10 16:29:07 +02:00
factorio Core/SNIClient/LttP/Factorio: switch to get_settings (#3208) 2024-04-24 06:24:44 +02:00
ff1 FF1: Switching Options System (#3302) 2024-05-17 19:19:55 +02:00
ffmq FFMQ: Update FFMQ setup_en.md (#3091) 2024-04-18 18:42:28 +02:00
generic WebHost: Massive overhaul of options pages (#2614) 2024-05-18 00:11:57 -04:00
heretic Removing old option getters (#3285) 2024-05-10 16:29:07 +02:00
hk move godhome events to create_regions with the others to not try and make them non-events when unshuffled is on (#3221) 2024-05-02 15:26:17 +02:00
hylics2 Hylics 2: Remove Random Start option and replace it with Start Location option (#3289) 2024-05-14 20:35:32 +02:00
kdl3 KDL3: Fix invalid animal placements and fill error (#3152) 2024-04-18 18:52:23 +02:00
kh2 KH2: Docs updates and Excluded Locations Bugfix (#3150) 2024-04-18 18:55:27 +02:00
ladx Core: replace `Location.event` with `advancement` property (#2871) 2024-04-14 20:37:48 +02:00
landstalker Docs: replacing "setting" to "option" in world docs (#2622) 2024-03-22 17:46:14 +01:00
lingo Lingo: Started using OptionError (#3251) 2024-05-04 08:40:17 +02:00
lufia2ac lufia2ac: prevent double checks (#3154) 2024-04-18 18:56:32 +02:00
meritous Bumper Stickers and Meritous: Options and world: multiworld fixes (#3281) 2024-05-12 18:52:34 +02:00
messenger The Messenger: fix generation failure for no portal shuffle with 3 available portals (#3200) 2024-05-17 10:18:50 +02:00
minecraft Core, Webhost, Docs: Replace all usages of player settings (#3067) 2024-04-06 19:25:26 -04:00
mlss Mario & Luigi: Superstar Saga: Implement New Game (#2754) 2024-05-06 09:15:06 +02:00
mmbn3 MMBN3: Modernizations and Minor Bugfixes (#2991) 2024-04-18 19:02:01 +02:00
musedash Muse Dash: Add filler items and rework generation balance (#2809) 2024-04-14 20:23:13 +02:00
noita Noita: Add more location groups, capitalize existing ones (#3141) 2024-05-02 12:02:14 +02:00
oot Core: replace `Location.event` with `advancement` property (#2871) 2024-04-14 20:37:48 +02:00
overcooked2 WebHost: Massive overhaul of options pages (#2614) 2024-05-18 00:11:57 -04:00
pokemon_emerald Pokemon Emerald: Update changelog (#3317) 2024-05-18 00:06:30 +02:00
pokemon_rb Core: replace `Location.event` with `advancement` property (#2871) 2024-04-14 20:37:48 +02:00
raft Docs: replacing "setting" to "option" in world docs (#2622) 2024-03-22 17:46:14 +01:00
rogue_legacy Docs: replacing "setting" to "option" in world docs (#2622) 2024-03-22 17:46:14 +01:00
ror2 Ror2: Add progressive stages option (#2813) 2024-04-09 21:14:18 +02:00
sa2b SA2B: Update Setup guide for new Mod Manager (#3085) 2024-04-18 19:00:01 +02:00
sc2 WebHost: Massive overhaul of options pages (#2614) 2024-05-18 00:11:57 -04:00
shivers Docs: replacing "setting" to "option" in world docs (#2622) 2024-03-22 17:46:14 +01:00
shorthike A Short Hike: Clarify installation instructions (#3058) 2024-03-31 17:55:08 +02:00
sm SM: getitem cheat fix (#3102) 2024-04-18 18:54:46 +02:00
sm64ex Fixed typo and odd capitalization (#3233) 2024-05-03 12:23:08 +02:00
smw some worlds: some typing in `LocalRom` (#3090) 2024-05-17 21:41:57 +02:00
smz3 SMZ3: Use correct font tiles for cross-world items in SM (#3095) 2024-04-21 11:44:17 -05:00
soe SoE: Docs: rework some styling (#3268) 2024-05-06 10:55:25 +02:00
spire Core: replace `Location.event` with `advancement` property (#2871) 2024-04-14 20:37:48 +02:00
stardew_valley Stardew Valley: Options page documentation improvements (#3155) 2024-04-20 19:41:00 -05:00
subnautica Subnautica: filler items distribution (#3104) 2024-04-14 20:36:25 +02:00
terraria Terraria: Crate logic (#2841) 2024-04-14 02:18:02 +02:00
timespinner Core: replace `Location.event` with `advancement` property (#2871) 2024-04-14 20:37:48 +02:00
tloz [TLOZ]: Remove use of per_slot_randoms (#3255) 2024-05-03 02:56:20 +02:00
tunic TUNIC: Better seed groups for Entrance Rando (#2998) 2024-05-03 07:21:27 +02:00
undertale Core: replace `Location.event` with `advancement` property (#2871) 2024-04-14 20:37:48 +02:00
v6 Docs: replacing "setting" to "option" in world docs (#2622) 2024-03-22 17:46:14 +01:00
wargroove Wargroove: Switched to options API. (#3306) 2024-05-16 18:46:13 +02:00
witness Fix Monastery Entry RIght righqeuotghqeougtfgas (#3213) 2024-05-17 19:29:55 +02:00
yoshisisland some worlds: some typing in `LocalRom` (#3090) 2024-05-17 21:41:57 +02:00
yugioh06 Yu-Gi-oh! 2006: implement new game (#2795) 2024-05-17 19:23:05 +02:00
zillion Zillion: remove deprecated `Logger.warn` (#3295) 2024-05-13 20:31:15 +02:00
zork_grand_inquisitor Zork Grand Inquisitor: Fix Determinism Issues on Fixed Seeds (#3134) 2024-04-18 18:47:27 +02:00
AutoSNIClient.py SNIClient: dynamically generate patch file identifier (#2870) 2024-03-07 10:18:22 +01:00
AutoWorld.py WebHost: Massive overhaul of options pages (#2614) 2024-05-18 00:11:57 -04:00
Files.py APProcedurePatch: fix RLE/COPY incorrect sizing (#3006) 2024-03-22 09:02:38 +01:00
LauncherComponents.py CI: pyright in github actions (#3121) 2024-04-16 23:03:30 +02:00
__init__.py Core: differentiate between unknown worlds and broken worlds in error message (#2903) 2024-03-28 22:21:56 +01:00