# 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.