# 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.
gruent/connections.txtpb?h=v8.0.5'>stats
blob: 2af0a4dea41eac3bb15965722e24b75949ec9533 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
connections {
from_room: "Main Area"
to_room: "Flipped Magenta Room"
door { name: "Flipped Magenta Door" }
}
connections {
from_room: "Main Area"
to_room: "Flipped Yellow Room"
door { name: "Flipped Yellow Door" }
}
connections {
from_room: "Main Area"
to_room: "C Keyholder"
door { name: "C Keyholder Blocker" }
}
connections {
from_room: "Main Area"
to_room: "C2 Room"
door { name: "C2 Door" }
}
connections {
from_room: "Main Area"
to_room: "Obverse Yellow Room"
door { name: "Obverse Yellow Door" }
}
connections {
from_room: "Obverse Yellow Room"
to_room: "G Keyholder"
door { name: "G Keyholder Blocker" }
}
connections {
from_room: "Main Area"
to_room: "G2 Room"
door { name: "G2 Door" }
}
connections {
from_room: "Main Area"
to_room: "Obverse Magenta Room"
door { name: "Obverse Magenta Door" }
}
connections {
from_room: "Obverse Magenta Room"
to_room: "T Keyholder"
door { name: "T Keyholder Blocker" }
}
|