#mod #modding #sapiens #api-bindings

sapiens-rs

A few functions and project templates to wrap the Sapiens C API in a Rust API

1 unstable release

0.1.0 Sep 10, 2019

#465 in Template engine

MIT license

415KB
4K SLoC

C 2K SLoC // 0.0% comments C++ 872 SLoC // 0.1% comments Rust 604 SLoC // 0.0% comments Visual Studio Project 231 SLoC Lua 73 SLoC Visual Studio Solution 65 SLoC Shell 5 SLoC

Unofficial Sapiens Rust API

This repo provides a Rust API, along with cargo-generate templates, which allow one to develop mods for the upcoming video game Sapiens using the Rust programming language

Quickstart

  • Install cargo
  • Install cargo-generate
    • cargo install cargo-generate --features vendored-openssl
  • Download the project template
    • cargo generate --git https://github.com/DethRaid/sapiens-rust-mod-template.git
  • Edit the default features in Cargo.toml for the type of mod you're making
    • biome for a biome mod, particles for a particles mod, etc
  • Write your mod
    • TODO: Wiki page about doing just that
  • Build and upload your mod
    • TODO: Custom cargo command to build, package, and upload a mod
  • Enjoy!

Overview

This repo has two main components: a Rust wrapper for the Sapiens API available to mods, and some cargo-generate project templates so that your mod can start with all relevant entry points already defined

Rust API wrapper

The Rust wrapper for Sapiens' modding API lives in this project. It provides a safe, Rusty interface for using Sapiens' random number generator, noise generator, and vector math library

Dependencies

~2–4MB
~85K SLoC