39 lines
1.4 KiB
Text
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.
|