diff options
Diffstat (limited to 'apworld/README.md')
-rw-r--r-- | apworld/README.md | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/apworld/README.md b/apworld/README.md new file mode 100644 index 0000000..386a2a1 --- /dev/null +++ b/apworld/README.md | |||
@@ -0,0 +1,48 @@ | |||
1 | # Lingo 2 Apworld | ||
2 | |||
3 | The Lingo 2 Apworld allows you to generate Archipelago Multiworlds containing | ||
4 | Lingo 2. | ||
5 | |||
6 | ## Installation | ||
7 | |||
8 | 1. Download the Lingo 2 Apworld from | ||
9 | [the releases page](https://code.fourisland.com/lingo-archipelago2/about/apworld/CHANGELOG.md). | ||
10 | 2. If you do not already have it, download and install the | ||
11 | [Archipelago software](https://github.com/ArchipelagoMW/Archipelago/releases/). | ||
12 | 3. Double click on `lingo2.apworld` to install it, or copy it manually to the | ||
13 | `custom_worlds` folder of your Archipelago installation. | ||
14 | |||
15 | ## Running from source | ||
16 | |||
17 | The apworld is mostly written in Python, which does not need to be compiled. | ||
18 | However, there are two files that need to be generated before the apworld can be | ||
19 | used. | ||
20 | |||
21 | The first file is `data.binpb`, the datafile containing the randomizer logic. | ||
22 | You can read about how to generate it on | ||
23 | [its own README page](https://code.fourisland.com/lingo-archipelago2/about/data/README.md). | ||
24 | Once you have it, put it in a subfolder of `apworld` called `generated`. | ||
25 | |||
26 | The second generated file is `data_pb2.py`. This file allows Archipelago to read | ||
27 | the datafile. We use `protoc`, the Protocol Buffer compiler, to generate it. As | ||
28 | of 0.6.3, Archipelago has protobuf 3.20.3 packaged with it, which means we need | ||
29 | to compile our proto file with a similar version. | ||
30 | |||
31 | If you followed the steps to generate `data.binpb` and compiled the `datapacker` | ||
32 | tool yourself, you will already have protobuf version 3.21.12 installed through | ||
33 | vcpkg. You can then run a command similar to this in order to generate the | ||
34 | python file. | ||
35 | |||
36 | ```shell | ||
37 | .\out\build\x64-Debug\vcpkg_installed\x64-windows\tools\protobuf\protoc.exe -Iproto\ ^ | ||
38 | --python_out=apworld\generated\ .\proto\data.proto | ||
39 | ``` | ||
40 | |||
41 | The exact path to `protoc.exe` is going to depend on where vcpkg installed its | ||
42 | packages. The above location is where Visual Studio will probably put it. | ||
43 | |||
44 | After generating those two files, the apworld should be functional. You can copy | ||
45 | it into an Archipelago source tree (rename the folder `apworld` to `lingo2` if | ||
46 | you do so) if you want to edit/debug the code. Otherwise, you can zip up the | ||
47 | folder and rename it to `lingo2.apworld` in order to package it for | ||
48 | distribution. | ||