shock2quest
dark
- module that reads dark engine file formats (bin, mis, cal, gam, etc)engine
- core OpenGL rendering enginereferences
- just some output that was useful to refer to (ie, text form of the namemaps)runtimes
desktop_runtime
- code for running the desktop versiontool
- a tool for viewing models and experimentation outside of gameplayoculus_runtime
- runtime for oculus using OpenXR
shock2vr
- core gameplay logicscripts
- implementation of all the scripts needed for objectsmission
- core logic for running a missionsave_load
- serializing, deserializing game statecreature
- constants and hitboxes for creature definitions
git clone https://github.com/tommybuilds/shock2quest
cd shock2quest
- Copy local game files (*.mis, res folder) into the
shock2quest/Data
folder
NOTE: In theory, this should work on Linux as well - just haven' tried.
- Install rust toolchain
- (Windows) Install cmake
cd runtimes/desktop_runtime
cargo run --release
-
Install Android SDK
- Mac:
- Install Java 8: https://stackoverflow.com/a/46405092
- Install Android SDK: https://guides.codepath.com/android/installing-android-sdk-tools
- Install tools
sdkmanager "build-tools;33.0.0"
sdkmanager "platform-tools" "platforms;android-26"
sdkmanager "ndk;24.0.8215888"
sdkmanager --update
- Install cargo-apk:
cargo install cargo-apk
- Add android target:
rustup target add aarch64-linux-android
- Install adb:
brew install android-platform-tools
- Mac:
-
Create a
develop.keystore
. (ie, https://stackoverflow.com/questions/25975320/create-android-keystory-private-key-command-line)- Make sure the password matches in the Cargo.toml file:
keytool -genkey -v -keystore develop.keystore -alias com_tommybuilds_shock2quest -keyalg RSA -keysize 2048 -validity 10000
-
Make sure
adb
is installed and working. With Oculus connected, runadb devices
and verify your headset shows up -
Tweak
runtimes/oculus_runtime/set_up_android_sdk.sh
to match your paths
cd runtimes/oculus_runtime
source ./set_up_android_sdk.sh
cargo apk run --release