Files
Grinch-AP/worlds/overcooked2/docs/setup_en.md
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

5.2 KiB

Overcooked! 2 Randomizer Setup Guide

Required Software

  • Windows 10+
  • Overcooked! 2 for PC
    • Steam: Recommended
    • Steam (Beta Branch): Supported
    • Epic Games: Supported
    • GOG: Not officially supported - Adventurous users may choose to experiment at their own risk
    • Windows Store (aka GamePass): Not Supported
    • Xbox/PS/Switch: Not Supported
  • OC2-Modding Client (instructions below)

Overview

OC2-Modding is a general purpose modding framework which doubles as an Archipelago MultiWorld Client. It works by using Harmony to inject custom code into the game at runtime, so none of the original game files need to be modified in any way.

When connecting to an Archipelago session using the in-game login screen, a mod file containing all relevant game modifications is automatically downloaded and applied.

From this point, the game will communicate with the Archipelago service directly to manage sending/receiving items. Notifications of important events will appear through an in-game console at the top of the screen.

Overcooked! 2 Modding Guide

Install

  1. Download and extract the contents of the latest OC2-Modding Release anywhere on your PC

  2. Double-Click oc2-modding-install.bat follow the instructions.

Once OC2-Modding is installed, you have successfully installed everything you need to play/participate in Archipelago MultiWorld games.

Disable

To temporarily turn off OC2-Modding and return to the original game, open ...\Overcooked! 2\BepInEx\config\OC2Modding.cfg in a text editor like notepad and edit the following:

DisableAllMods = true

To re-enable, simply change the word true back to a false.

Uninstall

To completely remove OC2-Modding, navigate to your game's installation folder and run oc2-modding-uninstall.bat.

Generate a MultiWorld Game

  1. Visit the Player Options page and configure the game-specific options to taste

  2. Export your yaml file and use it to generate a new randomized game

For instructions on how to generate an Archipelago game, refer to the Archipelago Setup Guide

Joining a MultiWorld Game

  1. Launch the game

  2. When attempting to enter the main menu from the title screen, the game will freeze and prompt you to sign in:

Sign-In Screen

  1. Sign-in with server address, username and password of the corresponding room you would like to join.
  • Otherwise, if you just want to play the vanilla game without any modifications, you may press "Continue without Archipelago" button.
  1. Upon successful connection to the Archipelago service, you will be granted access to the main menu. The game will act as though you are playing for the first time. DO NOT FEAR — your original save data has not been overwritten; the Overcooked Randomizer just uses a temporary directory for it's save game data.

Playing Co-Op

  • To play local multiplayer (or Parsec/"Steam Play Together"), simply add the additional player to your game session as you would in the base game

  • To play online multiplayer, the guest must also have the same version of OC2-Modding installed. In order for the game to work, the guest must sign in using the same information the host used to connect to the Archipelago session. Once both host and client are both connected, they may join one another in-game and proceed as normal. It does not matter who hosts the game, and the game's hosts may be changed at any point. You may notice some things are different when playing this way:

    • Guests will still receive Archipelago messages about sent/received items the same as the host

    • When the host loads the campaign, any connected guests are forced to select "Don't Save" when prompted to pick which save slot to use. This is because randomizer uses the Archipelago service as a pseudo "cloud save", so progress will always be synchronized between all participants of that randomized Overcooked! 2 instance.

Auto-Complete

Since the goal of randomizer isn't necessarily to achieve new personal high scores, players may find themselves waiting for a level timer to expire once they've met their objective. A new feature called Auto-Complete has been added to automatically complete levels once a target star count has been achieved.

To enable Auto-Complete, press the Show button near the top of your screen to expand the modding controls. Then, repeatedly press the Auto-Complete button until it shows the desired option.

Overworld Sequence Breaking

In the world's options, there is an option called "Overworld Tricks" which allows the generator to make games which require doing tricks with the food truck to complete. This includes:

  • Dashing across gaps

  • "Wiggling" up ledges

  • Going out of bounds See Video