From d30a8e2ca351ba05d1b346e59feef6d098f75adf Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Thu, 25 Sep 2025 19:50:42 -0400 Subject: Reorganized READMEs --- CHANGELOG.md | 143 +++++++++++++++++++++++++++++++++++++++++ README.md | 116 +++++++++++++++++++++++++++------ apworld/CHANGELOG.md | 72 --------------------- apworld/README.md | 48 -------------- client/CHANGELOG.md | 72 --------------------- client/README.md | 90 -------------------------- client/archipelago.tscn | 167 ------------------------------------------------ 7 files changed, 241 insertions(+), 467 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 apworld/CHANGELOG.md delete mode 100644 apworld/README.md delete mode 100644 client/CHANGELOG.md delete mode 100644 client/README.md delete mode 100644 client/archipelago.tscn diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..7ff116a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,143 @@ +# lingo2-archipelago Releases + +## Legacy Client v6.7 - 2025-09-19 + +- Added a compass overlay. This makes it clearer which direction corresponds to + which compass direction, which is useful since many location/item names + reference compass directions. It can be enabled in the settings screen on the + pause menu. +- Compatability update for the changes in v6.6 of the apworld. + +Download: +[lingo2-archipelago-client-v6.7.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v6.7.zip)
+Source: +[v6.7](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v6.7) + +## Legacy Apworld v6.6 - 2025-09-19 + +- Added options that make the requirements for Purple Ending and Cyan Ending + stricter. With the strict options on, players are required to have all purple + (level 1) letters in order to get Purple Ending, and all cyan (level 2) + letters to get Cyan Ending. These options are on by default. +- Renamed several items and locations, mostly regarding changing relative + directions (left, right, etc) to compass directions. The colored SMILE panels + in Daedalus now have clearer names too. +- Fixed some minor logic errors. + +Download: +[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v6.6/lingo2.apworld)
+Template YAML: +[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v6.6/Lingo%202.yaml)
+Source: +[v6.6](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v6.6) + +## Legacy Client v5.6 - 2025-09-17 + +- Letter locations will no longer reappear after being collected. +- This also prevents a potential scenario in which it is impossible to access + the location "The Congruent - Obverse Yellow Puzzles" when door shuffle is + disabled. + +Download: +[lingo2-archipelago-client-v5.6.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v5.6.zip)
+Source: +[v5.6](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v5.6) + +## Legacy Client v5.5 - 2025-09-16 + +- Compatability update for v5.5 of the apworld. + +Download: +[lingo2-archipelago-client-v5.5.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v5.5.zip)
+Source: +[v5.5](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v5.5) + +## Legacy Apworld v5.5 - 2025-09-16 + +- Fixed a panel in The Ancient that was missing a symbol. +- Fixed an issue where you could be expected to get S1 in The Darkroom without + having U. +- Renamed a few locations. + +Download: +[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v5.5/lingo2.apworld)
+Template YAML: +[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v5.5/Lingo%202.yaml)
+Source: +[v5.5](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v5.5) + +## Legacy Apworld v4.4 - 2025-09-14 + +- Fixed panel set location names. + +Download: +[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v4.4/lingo2.apworld)
+Template YAML: +[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v4.4/Lingo%202.yaml)
+Source: +[v4.4](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v4.4) + +## Legacy Client v4.4 - 2025-09-13 + +- Added support for anti-collectable trap items. +- Fixed entrance to The Jubilant not opening properly when using control center + color shuffle. +- Fixed the location "The Entry (Colored Doors Area) - OPEN" not sending. +- Fixed level 2 letters not activating properly when letter shuffle is set to + Item Cyan. +- Messages are now cleared out when returning to the main menu. +- The player is prevented from accidentally breaking roof access logic when + returning to Daedalus from Icarus. + +Download: +[lingo2-archipelago-client-v4.4.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v4.4.zip)
+Source: +[v4.4](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v4.4) + +## Legacy Apworld v4.3 - 2025-09-13 + +- Added a location for the anti-collectable in The Repetitive. +- Added trap items. These remove letters from your keyboard until you use the + Key Return in The Entry, similar to the anti-collectable in The Repetitive. + This can be controlled using the `trap_percentage` option, which defaults to + zero. +- Fixed crash on load when using Python 3.11. + +Download: +[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v4.3/lingo2.apworld)
+Template YAML: +[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v4.3/Lingo%202.yaml)
+Source: +[v4.3](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v4.3) + +## Legacy Client v3.3 - 2025-09-12 + +- Fixed issue downloading large datapackages (such as TUNIC's). +- Connection failures now show error messages. + +Download: +[lingo2-archipelago-client-v3.3.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v3.3.zip)
+Source: +[v3.3](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v3.3) + +## Legacy Client v3.2 - 2025-09-12 + +- Initial release for testing. Features include door shuffle, letter shuffle, + and symbol shuffle. + +Download: +[lingo2-archipelago-client-v3.2.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v3.2.zip)
+Source: +[v3.2](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v3.2) + +## Legacy Apworld v3.2 - 2025-09-12 + +- Initial release for testing. Features include door shuffle, letter shuffle, + and symbol shuffle. + +Download: +[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v3.2/lingo2.apworld)
+Template YAML: +[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v3.2/Lingo%202.yaml)
+Source: +[v3.2](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v3.2) diff --git a/README.md b/README.md index 1da3c2b..8b1a425 100644 --- a/README.md +++ b/README.md @@ -9,17 +9,33 @@ This is a project that modifies the game [Lingo 2](https://www.lingothegame.com/lingo2.html) so that it can be played as part of an Archipelago multiworld game. -## How To Play - -Here are the components needed in order to play: - -- **Apworld**: This is used by Archipelago to generate randomized Lingo 2 - worlds. - - [Installation & FAQ](https://code.fourisland.com/lingo2-archipelago/about/apworld/README.md) - - [Downloads](https://code.fourisland.com/lingo2-archipelago/about/apworld/CHANGELOG.md) -- **Client**: This is how Lingo 2 connects to an Archipelago multiworld. - - [Installation & FAQ](https://code.fourisland.com/lingo2-archipelago/about/client/README.md) - - [Downloads](https://code.fourisland.com/lingo2-archipelago/about/client/CHANGELOG.md) +## Installation + +1. Download the Lingo 2 Apworld from + [the releases page](https://code.fourisland.com/lingo2-archipelago/about/CHANGELOG.md). +2. If you do not already have it, download and install the + [Archipelago software](https://github.com/ArchipelagoMW/Archipelago/releases/). +3. Double click on `lingo2.apworld` to install it, or copy it manually to the + `custom_worlds` folder of your Archipelago installation. + +## Joining a Multiworld game + +1. Open the Archipelago Launcher. +2. Select "Lingo 2 Client". +3. The first time you do this, Archipelago will prompt you for the location of + the Lingo 2 executable file ("Lingo2.exe"). You can find this by + right-clicking on Lingo 2 in Steam, going to "Manage", and clicking "Browse + local files". +4. Lingo 2 will open, and you will see a form asking for your connection + details. Enter the Archipelago address, slot name, and password into the + fields. +5. Press Connect. +6. Enjoy! + +To continue an earlier game, you can perform the exact same steps as above. + +**Note**: Running the randomizer modifies the game's memory. If you want to play +the base game after playing the randomizer, you need to restart Lingo 2 first. ## Frequently Asked Questions @@ -46,6 +62,27 @@ exceptions are: - The Hinterlands (this will probably be repurposed) - The beta tester gift maps +### Is my progress saved locally? + +Lingo 2 autosaves your progress every time you solve a puzzle, get a +collectable, or interact with a keyholder. The randomizer generates a savefile +name based on your Multiworld seed and slot number, so you should be able to +seamlessly switch between multiworlds and even slots within a multiworld. + +The exception to this is different rooms created from the same multiworld seed. +The client is unable to tell rooms in a seed apart (this is a limitation of the +Archipelago API), so the client will use the same save file for the same slot in +different rooms on the same seed. You can work around this by manually moving or +removing the save folder from the users directory in Lingo 2's game files. + +If you play the base game again, you will see one or more save files with a long +name that begins with "zzAP\_". These are the saves for your multiworlds. They +can be safely deleted after you have completed the associated multiworld. It is +not recommended to load these save files outside of the randomizer. + +A connection to Archipelago is required to resume playing a multiworld. This is +because the set of items you have received is not stored locally. + ### What about wall snipes? "Wall sniping" refers to the fact that you are able to solve puzzles on the @@ -95,10 +132,53 @@ before leaving solve mode, as the keyholder will still be considered to be "focused", even though it has moved. If you have already moved, though, there is another way to get your letters back: just use the Key Return in The Entry. -## Project Details - -There are multiple parts of this project: - -- [Client](https://code.fourisland.com/lingo2-archipelago/about/client/README.md) -- [Apworld](https://code.fourisland.com/lingo2-archipelago/about/apworld/README.md) -- [Data](https://code.fourisland.com/lingo2-archipelago/about/data/README.md) +## Running from source + +The randomizer is mostly written in Python and GDScript, which do not need to be +compiled. However, there are three files that need to be generated before the +apworld can be used. + +The first file is `data.binpb`, the datafile containing the randomizer logic. +You can read about how to generate it on +[its own README page](https://code.fourisland.com/lingo2-archipelago/about/data/README.md). +Once you have it, put it in a subfolder of `apworld` called `generated`. + +The second generated file is `data_pb2.py`. This file allows Archipelago to read +the datafile. We use `protoc`, the Protocol Buffer compiler, to generate it. As +of 0.6.3, Archipelago has protobuf 3.20.3 packaged with it, which means we need +to compile our proto file with a similar version. + +If you followed the steps to generate `data.binpb` and compiled the `datapacker` +tool yourself, you will already have protobuf version 3.21.12 installed through +vcpkg. You can then run a command similar to this in order to generate the +python file. + +```shell +.\out\build\x64-Debug\vcpkg_installed\x64-windows\tools\protobuf\protoc.exe -Iproto\ ^ + --python_out=apworld\generated\ .\proto\data.proto +``` + +The exact path to `protoc.exe` is going to depend on where vcpkg installed its +packages. The above location is where Visual Studio will probably put it. + +The third generated file is `proto.gd`. This is the GDScript version of the +previous file. We use a Godot script to generate it, which means +[the Godot Editor](https://godotengine.org/download/) is required. From the root +of the repository: + +```shell +cd vendor\godobuf +godot --headless -s addons\protobuf\protobuf_cmdln.gd --input=..\..\proto\data.proto ^ + --output=..\..\apworld\generated\proto.gd +``` + +If you are not on Windows, replace the forward slashes with backslashes as +appropriate (and the caret with a forward slash). You will also probably need to +replace "godot" at the start of the second line with a path to a Godot Editor +executable. + +After generating those three files, the apworld should be functional. You can +copy it into an Archipelago source tree (rename the folder `apworld` to `lingo2` +if you do so) if you want to edit/debug the code. Otherwise, you can zip up the +folder and rename it to `lingo2.apworld` in order to package it for +distribution. diff --git a/apworld/CHANGELOG.md b/apworld/CHANGELOG.md deleted file mode 100644 index 9637ee4..0000000 --- a/apworld/CHANGELOG.md +++ /dev/null @@ -1,72 +0,0 @@ -# lingo2-archipelago Apworld Releases - -## v6.6 - 2025-09-19 - -- Added options that make the requirements for Purple Ending and Cyan Ending - stricter. With the strict options on, players are required to have all purple - (level 1) letters in order to get Purple Ending, and all cyan (level 2) - letters to get Cyan Ending. These options are on by default. -- Renamed several items and locations, mostly regarding changing relative - directions (left, right, etc) to compass directions. The colored SMILE panels - in Daedalus now have clearer names too. -- Fixed some minor logic errors. - -Download: -[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v6.6/lingo2.apworld)
-Template YAML: -[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v6.6/Lingo%202.yaml)
-Source: -[v6.6](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v6.6) - -## v5.5 - 2025-09-16 - -- Fixed a panel in The Ancient that was missing a symbol. -- Fixed an issue where you could be expected to get S1 in The Darkroom without - having U. -- Renamed a few locations. - -Download: -[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v5.5/lingo2.apworld)
-Template YAML: -[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v5.5/Lingo%202.yaml)
-Source: -[v5.5](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v5.5) - -## v4.4 - 2025-09-14 - -- Fixed panel set location names. - -Download: -[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v4.4/lingo2.apworld)
-Template YAML: -[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v4.4/Lingo%202.yaml)
-Source: -[v4.4](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v4.4) - -## v4.3 - 2025-09-13 - -- Added a location for the anti-collectable in The Repetitive. -- Added trap items. These remove letters from your keyboard until you use the - Key Return in The Entry, similar to the anti-collectable in The Repetitive. - This can be controlled using the `trap_percentage` option, which defaults to - zero. -- Fixed crash on load when using Python 3.11. - -Download: -[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v4.3/lingo2.apworld)
-Template YAML: -[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v4.3/Lingo%202.yaml)
-Source: -[v4.3](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v4.3) - -## v3.2 - 2025-09-12 - -- Initial release for testing. Features include door shuffle, letter shuffle, - and symbol shuffle. - -Download: -[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v3.2/lingo2.apworld)
-Template YAML: -[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v3.2/Lingo%202.yaml)
-Source: -[v3.2](https://code.fourisland.com/lingo2-archipelago/tag/?h=apworld-v3.2) diff --git a/apworld/README.md b/apworld/README.md deleted file mode 100644 index 13374b2..0000000 --- a/apworld/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Lingo 2 Apworld - -The Lingo 2 Apworld allows you to generate Archipelago Multiworlds containing -Lingo 2. - -## Installation - -1. Download the Lingo 2 Apworld from - [the releases page](https://code.fourisland.com/lingo2-archipelago/about/apworld/CHANGELOG.md). -2. If you do not already have it, download and install the - [Archipelago software](https://github.com/ArchipelagoMW/Archipelago/releases/). -3. Double click on `lingo2.apworld` to install it, or copy it manually to the - `custom_worlds` folder of your Archipelago installation. - -## Running from source - -The apworld is mostly written in Python, which does not need to be compiled. -However, there are two files that need to be generated before the apworld can be -used. - -The first file is `data.binpb`, the datafile containing the randomizer logic. -You can read about how to generate it on -[its own README page](https://code.fourisland.com/lingo2-archipelago/about/data/README.md). -Once you have it, put it in a subfolder of `apworld` called `generated`. - -The second generated file is `data_pb2.py`. This file allows Archipelago to read -the datafile. We use `protoc`, the Protocol Buffer compiler, to generate it. As -of 0.6.3, Archipelago has protobuf 3.20.3 packaged with it, which means we need -to compile our proto file with a similar version. - -If you followed the steps to generate `data.binpb` and compiled the `datapacker` -tool yourself, you will already have protobuf version 3.21.12 installed through -vcpkg. You can then run a command similar to this in order to generate the -python file. - -```shell -.\out\build\x64-Debug\vcpkg_installed\x64-windows\tools\protobuf\protoc.exe -Iproto\ ^ - --python_out=apworld\generated\ .\proto\data.proto -``` - -The exact path to `protoc.exe` is going to depend on where vcpkg installed its -packages. The above location is where Visual Studio will probably put it. - -After generating those two files, the apworld should be functional. You can copy -it into an Archipelago source tree (rename the folder `apworld` to `lingo2` if -you do so) if you want to edit/debug the code. Otherwise, you can zip up the -folder and rename it to `lingo2.apworld` in order to package it for -distribution. diff --git a/client/CHANGELOG.md b/client/CHANGELOG.md deleted file mode 100644 index 4f210b0..0000000 --- a/client/CHANGELOG.md +++ /dev/null @@ -1,72 +0,0 @@ -# lingo2-archipelago Client Releases - -## v6.7 - 2025-09-19 - -- Added a compass overlay. This makes it clearer which direction corresponds to - which compass direction, which is useful since many location/item names - reference compass directions. It can be enabled in the settings screen on the - pause menu. -- Compatability update for the changes in v6.6 of the apworld. - -Download: -[lingo2-archipelago-client-v6.7.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v6.7.zip)
-Source: -[v6.7](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v6.7) - -## v5.6 - 2025-09-17 - -- Letter locations will no longer reappear after being collected. -- This also prevents a potential scenario in which it is impossible to access - the location "The Congruent - Obverse Yellow Puzzles" when door shuffle is - disabled. - -Download: -[lingo2-archipelago-client-v5.6.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v5.6.zip)
-Source: -[v5.6](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v5.6) - -## v5.5 - 2025-09-16 - -- Compatability update for v5.5 of the apworld. - -Download: -[lingo2-archipelago-client-v5.5.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v5.5.zip)
-Source: -[v5.5](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v5.5) - -## v4.4 - 2025-09-13 - -- Added support for anti-collectable trap items. -- Fixed entrance to The Jubilant not opening properly when using control center - color shuffle. -- Fixed the location "The Entry (Colored Doors Area) - OPEN" not sending. -- Fixed level 2 letters not activating properly when letter shuffle is set to - Item Cyan. -- Messages are now cleared out when returning to the main menu. -- The player is prevented from accidentally breaking roof access logic when - returning to Daedalus from Icarus. - -Download: -[lingo2-archipelago-client-v4.4.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v4.4.zip)
-Source: -[v4.4](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v4.4) - -## v3.3 - 2025-09-12 - -- Fixed issue downloading large datapackages (such as TUNIC's). -- Connection failures now show error messages. - -Download: -[lingo2-archipelago-client-v3.3.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v3.3.zip)
-Source: -[v3.3](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v3.3) - -## v3.2 - 2025-09-12 - -- Initial release for testing. Features include door shuffle, letter shuffle, - and symbol shuffle. - -Download: -[lingo2-archipelago-client-v3.2.zip](https://files.fourisland.com/releases/lingo2-archipelago/client/lingo2-archipelago-client-v3.2.zip)
-Source: -[v3.2](https://code.fourisland.com/lingo2-archipelago/tag/?h=client-v3.2) diff --git a/client/README.md b/client/README.md deleted file mode 100644 index 99589c5..0000000 --- a/client/README.md +++ /dev/null @@ -1,90 +0,0 @@ -# Lingo 2 Archipelago Client - -The Lingo 2 Archipelago Client is a mod for Lingo 2 that allows you to connect -to an Archipelago Multiworld and randomize your game. - -## Installation - -1. Download the Lingo 2 Archipelago Randomizer from - [the releases page](https://code.fourisland.com/lingo2-archipelago/about/client/CHANGELOG.md). -2. Open up Lingo 2, go to settings, and click View Game Data. This should open - up a folder in Windows Explorer. -3. Unzip the randomizer into the "maps" folder. Ensure that archipelago.tscn and - the Archipelago folder are both within the maps folder. - -**NOTE**: It is important that the major version number of your client matches -the major version number of the apworld you generated with. - -## Joining a Multiworld game - -1. Launch Lingo 2. -2. Click on Level Selection, and choose Archipelago from the list. -3. The selected player is generally ignored by the mod, and you don't even need - to ensure you use the same player between connections. However, if your - player name has a gift map associated with it, Lingo 2 will prioritize the - gift map over loading the mod, so in that case you should choose another - player. -4. Press Play. -5. Enter the Archipelago address, slot name, and password into the fields. -6. Press Connect. -7. Enjoy! - -To continue an earlier game, you can perform the exact same steps as above. You -will probably have to re-select Archipelago from the Level Selection screen, as -the game does not remember which level you were playing. - -**Note**: Running the randomizer modifies the game's memory. If you want to play -the base game after playing the randomizer, you need to restart Lingo 2 first. - -## Running from source - -The mod is mostly written in GDScript, which is parsed and executed by Lingo 2 -itself, and thus does not need to be compiled. However, there are two files that -need to be generated before the client can be run. - -The first file is `data.binpb`, the datafile containing the randomizer logic. -You can read about how to generate it on -[its own README page](https://code.fourisland.com/lingo2-archipelago/about/data/README.md). -Once you have it, put it in a subfolder of `client` called `generated`. - -The second generated file is `proto.gd`. This file allows Lingo 2 to read the -datafile. We use a Godot script to generate it, which means -[the Godot Editor](https://godotengine.org/download/) is required. From the root -of the repository: - -```shell -cd vendor\godobuf -godot --headless -s addons\protobuf\protobuf_cmdln.gd --input=..\..\proto\data.proto ^ - --output=..\..\client\Archipelago\generated\proto.gd -``` - -If you are not on Windows, replace the forward slashes with backslashes as -appropriate (and the caret with a forward slash). You will also probably need to -replace "godot" at the start of the second line with a path to a Godot Editor -executable. - -After generating those two files, the contents of the `client` folder (minus -this README) can be pasted into the Lingo 2 maps directory as described above. - -## Frequently Asked Questions - -### Is my progress saved locally? - -Lingo 2 autosaves your progress every time you solve a puzzle, get a -collectable, or interact with a keyholder. The randomizer generates a savefile -name based on your Multiworld seed and slot number, so you should be able to -seamlessly switch between multiworlds and even slots within a multiworld. - -The exception to this is different rooms created from the same multiworld seed. -The client is unable to tell rooms in a seed apart (this is a limitation of the -Archipelago API), so the client will use the same save file for the same slot in -different rooms on the same seed. You can work around this by manually moving or -removing the save file from the level1 save file directory. - -If you play the base game again, you will see one or more save files with a long -name that begins with "zzAP\_". These are the saves for your multiworlds. They -can be safely deleted after you have completed the associated multiworld. It is -not recommended to load these save files outside of the randomizer. - -A connection to Archipelago is required to resume playing a multiworld. This is -because the set of items you have received is not stored locally. diff --git a/client/archipelago.tscn b/client/archipelago.tscn deleted file mode 100644 index da83b23..0000000 --- a/client/archipelago.tscn +++ /dev/null @@ -1,167 +0,0 @@ -[gd_scene load_steps=11 format=2] - -[ext_resource path="user://maps/Archipelago/settings_buttons.gd" type="Script" id=4] -[ext_resource path="user://maps/Archipelago/settings_screen.gd" type="Script" id=5] -[ext_resource path="res://images/unchecked.png" type="Texture" id=7] -[ext_resource path="res://images/checked.png" type="Texture" id=8] -[ext_resource type="Theme" uid="uid://7w454egydi41" path="res://assets/themes/baseUI.tres" id="2_g4bvn"] - -[sub_resource type="StyleBoxFlat" id=1] -bg_color = Color( 0, 0, 0, 0 ) - -[sub_resource type="StyleBoxFlat" id=2] -bg_color = Color( 1, 1, 1, 1 ) -border_width_left = 1 -border_width_top = 1 -border_width_right = 1 -border_width_bottom = 1 -border_color = Color( 1, 1, 0, 1 ) -border_blend = true -corner_radius_top_left = 3 -corner_radius_top_right = 3 -corner_radius_bottom_right = 3 -corner_radius_bottom_left = 3 -expand_offset_left = 5.0 -expand_offset_right = 5.0 -expand_offset_top = 5.0 -expand_offset_bottom = 5.0 - -[node name="settings_screen" type="Node2D"] -script = ExtResource( 5 ) - -[node name="Panel" type="Panel" parent="."] -offset_right = 1920.0 -offset_bottom = 1080.0 - -[node name="title" parent="Panel" type="Label"] -offset_left = 0.0 -offset_top = 75.0 -offset_right = 1920.0 -offset_bottom = 225.0 -text = "ARCHIPELAGO" -valign = 1 -horizontal_alignment = 1 -theme = ExtResource("2_g4bvn") - -[node name="credit" parent="Panel" type="Label"] -visible = false -offset_left = 1278.0 -offset_top = 974.0 -offset_right = 1868.0 -offset_bottom = 1034.0 -text = "Brenton Wildes" -theme = ExtResource("2_g4bvn") - -[node name="connect_button" parent="Panel" type="Button"] -offset_left = 255.0 -offset_top = 875.0 -offset_right = 891.0 -offset_bottom = 1025.0 -custom_colors/font_color_hover = Color( 1, 0.501961, 0, 1 ) -text = "CONNECT" -theme = ExtResource("2_g4bvn") -script = ExtResource( 4 ) - -[node name="quit_button" parent="Panel" type="Button"] -offset_left = 1102.0 -offset_top = 875.0 -offset_right = 1738.0 -offset_bottom = 1025.0 -custom_colors/font_color_hover = Color( 1, 0, 0, 1 ) -text = "BACK" -theme = ExtResource("2_g4bvn") -script = ExtResource( 4 ) - -[node name="credit2" parent="Panel" type="Label"] -offset_left = -105.0 -offset_top = 346.0 -offset_right = 485.0 -offset_bottom = 410.0 -custom_styles/normal = SubResource( 1 ) -text = "SERVER" -align = 2 -theme = ExtResource("2_g4bvn") - -[node name="credit5" parent="Panel" type="Label"] -offset_left = 1239.0 -offset_top = 422.0 -offset_right = 1829.0 -offset_bottom = 486.0 -custom_styles/normal = SubResource( 1 ) -text = "OPTIONS" -theme = ExtResource("2_g4bvn") - -[node name="credit3" parent="Panel" type="Label"] -offset_left = -105.0 -offset_top = 519.0 -offset_right = 485.0 -offset_bottom = 583.0 -custom_styles/normal = SubResource( 1 ) -text = "PLAYER" -align = 2 -theme = ExtResource("2_g4bvn") - -[node name="credit4" parent="Panel" type="Label"] -offset_left = -105.0 -offset_top = 704.0 -offset_right = 485.0 -offset_bottom = 768.0 -custom_styles/normal = SubResource( 1 ) -text = "PASSWORD" -align = 2 -theme = ExtResource("2_g4bvn") - -[node name="server_box" type="LineEdit" parent="Panel"] -offset_left = 502.0 -offset_top = 295.0 -offset_right = 1144.0 -offset_bottom = 445.0 -custom_colors/selection_color = Color( 0.482353, 0, 0, 1 ) -custom_colors/cursor_color = Color( 0, 0, 0, 1 ) -custom_colors/font_color = Color( 0, 0, 0, 1 ) -custom_styles/focus = SubResource( 2 ) -align = 1 -caret_blink = true - -[node name="player_box" type="LineEdit" parent="Panel"] -offset_left = 502.0 -offset_top = 477.0 -offset_right = 1144.0 -offset_bottom = 627.0 -custom_colors/selection_color = Color( 0.482353, 0, 0, 1 ) -custom_colors/cursor_color = Color( 0, 0, 0, 1 ) -custom_colors/font_color = Color( 0, 0, 0, 1 ) -custom_styles/focus = SubResource( 2 ) -align = 1 -caret_blink = true - -[node name="password_box" type="LineEdit" parent="Panel"] -offset_left = 502.0 -offset_top = 659.0 -offset_right = 1144.0 -offset_bottom = 809.0 -custom_colors/selection_color = Color( 0.482353, 0, 0, 1 ) -custom_colors/cursor_color = Color( 0, 0, 0, 1 ) -custom_colors/font_color = Color( 0, 0, 0, 1 ) -custom_styles/focus = SubResource( 2 ) -align = 1 -caret_blink = true - -[node name="AcceptDialog" type="AcceptDialog" parent="Panel"] -offset_right = 83.0 -offset_bottom = 58.0 - -[node name="VersionMismatch" type="ConfirmationDialog" parent="Panel"] -offset_right = 83.0 -offset_bottom = 58.0 - -[node name="connection_history" type="MenuButton" parent="Panel"] -offset_left = 1239.0 -offset_top = 276.0 -offset_right = 1829.0 -offset_bottom = 372.0 -text = "connection history" -flat = false - -[connection signal="pressed" from="Panel/connect_button" to="Panel/connect_button" method="_connect_pressed"] -[connection signal="pressed" from="Panel/quit_button" to="Panel/quit_button" method="_back_pressed"] -- cgit 1.4.1