You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25f247047d
Co-authored-by: Patric Stout <truebrain@openttd.org> |
2 years ago | |
---|---|---|
.. | ||
cmake | ||
Dockerfile | 2 years ago | |
README.md | 2 years ago | |
emsdk-liblzma.patch | 2 years ago | |
loading.png | ||
pre.js | ||
shell.html |
README.md
How to build with Emscripten
Please use docker with the supplied Dockerfile
to build for emscripten.
It takes care of a few things:
- Use a version of emscripten we know works
- Patch in LibLZMA support (as this is not supported by upstream)
First, build the docker image by navigating in the folder this README.md
is in, and executing:
docker build -t emsdk-lzma .
Next, navigate back to the root folder of this project.
Now we build the host tools first:
mkdir build-host
docker run -it --rm -v $(pwd):$(pwd) -u $(id -u):$(id -g) --workdir $(pwd)/build-host emsdk-lzma cmake .. -DOPTION_TOOLS_ONLY=ON
docker run -it --rm -v $(pwd):$(pwd) -u $(id -u):$(id -g) --workdir $(pwd)/build-host emsdk-lzma make -j$(nproc) tools
Finally, we build the actual game:
mkdir build
docker run -it --rm -v $(pwd):$(pwd) -u $(id -u):$(id -g) --workdir $(pwd)/build emsdk-lzma emcmake cmake .. -DHOST_BINARY_DIR=../build-host -DCMAKE_BUILD_TYPE=Release -DOPTION_USE_ASSERTS=OFF
docker run -it --rm -v $(pwd):$(pwd) -u $(id -u):$(id -g) --workdir $(pwd)/build emsdk-lzma emmake make -j$(nproc)
In the build
folder you will now see openttd.html
.
To run it locally, you would have to start a local webserver; something like:
cd build
python3 -m http.server
You can now play the game via http://127.0.0.1:8000/openttd.html .