|
||
---|---|---|
src | ||
stingray_sdk | ||
.fdignore | ||
.gitignore | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
Justfile | ||
LICENSE | ||
README.adoc | ||
rust-toolchain.toml | ||
rustfmt.toml | ||
stingray_sdk.h |
Darktide P2P
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
inPATH
-
-
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 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.