p2p/README.adoc

39 lines
1.4 KiB
Text

= Darktide P2P
:idprefix:
:idseparator:
:toc: macro
:toclevels: 1
:!toc-title:
:caution-caption: :fire:
:important-caption: :exclamtion:
:note-caption: :paperclip:
:tip-caption: :bulb:
:warning-caption: :warning:
An engine plugin for Warhammer 40,000 Darktide that implements peer-to-peer networking.
== Building
> This assumes cross-compiling on a Linux build machine.
> If you're on Windows, you're on your own. Shouldn't be too difficult, you're on native build anyways.
=== Prerequisites
* A reasonably recent version of LLVM, lld & Clang
** A symlink `clang-cl` -> `clang` in `PATH`
* cURL
* Wine
* Rust nightly toolchain, MSVC target and `rust-src`:
** `rustup toolchain install nightly`
** `rustup target add x86_64-pc-windows-msvc`
** `rustup component add rust-src`
=== Build
You'll need to download the MSVC libraries once (their license forbids redistribution, even in something like a Docker image).
With https://github.com/casey/just[just], simply run `just setup-msvc`, otherwise run the corresponding commands from `Justfile` manually. This will download the current Visual Studio Build Tools and corresponding libraries and headers into `./msvc`.
Then run `just build`, which runs `cargo build` with the necessary toolchain variables set (see top of `Justfile`).
The `.dll` in `target/x86_64-pc-windows-msvc/debug` can then be copied to the game's `binaries/plugins` folder. Remember to rename it so it has the required `_pluginw64_release.dll` suffix.