#engine-bindings #api-bindings #bindings

no-std xash3d-ffi

Raw FFI bindings to Xash3D FWGS engine

5 releases

0.2.2 Nov 27, 2025
0.2.1 Oct 17, 2025
0.2.0 Oct 11, 2025
0.1.1 Sep 26, 2025
0.1.0 Sep 12, 2025

#263 in Game dev

Download history 119/week @ 2025-09-07 53/week @ 2025-09-14 520/week @ 2025-09-21 1074/week @ 2025-09-28 2104/week @ 2025-10-05 881/week @ 2025-10-12 519/week @ 2025-10-19 392/week @ 2025-10-26 1120/week @ 2025-11-02 775/week @ 2025-11-09 317/week @ 2025-11-16 385/week @ 2025-11-23 438/week @ 2025-11-30 557/week @ 2025-12-07

1,853 downloads per month

MIT license

350KB
9K SLoC

Raw FFI bindings to Xash3D FWGS engine

xash3d-ffi provides all of the definitions necessary to interoperate with Xash3D FWGS engine. Bindings are generated statically to minimize build dependencies.

Features

  • std - links to the standard library.
  • libm - add additional methods to vectors in no-std environments.
  • glam - use vector types from this crate.

Features to enable bindings for DLLs

  • all (enabled by default) - bindings to all supported DLLs.
  • client - bindings to a client DLL.
  • server - bindings to a server DLL.
  • menu - bindings to a menu DLL.
  • render - bindings to a render DLL.

Usage

Add the following to your Cargo.toml:

[dependencies]
xash3d-ffi = "0.1"

Rust version support

The minimum supported Rust toolchain version is currently Rust 1.68.

Generate bindings

bindgen-cli is required.

To manually generate bindings run generate.sh [target]. The default target is i686-unknown-linux-gnu.

cd xash3d-ffi
./generate.sh

Dependencies

~0–1.5MB
~46K SLoC