#rollback-networking #rollback #online #p2p #networking #netplay

sys ggpo-sys

Raw, unsafe bindings to the GGPO rollback networking library

1 unstable release

0.1.0 May 3, 2020

#7 in #rollback-networking

Apache-2.0 OR MIT

310KB
3.5K SLoC

C++ 3.5K SLoC // 0.1% comments Rust 140 SLoC // 0.1% comments Batch 43 SLoC // 0.5% comments

ggpo-sys

Crates.io Docs.rs

ggpo-sys is a Rust library that provides raw, unsafe bindings to GGPO, a library for rollback networking.

Requirements

ggpo-sys depends on the following tools at build time:

  • A recent version of stable Rust 🦀
  • A C++ toolchain, in order to build the GGPO sources
    • ggpo-sys uses cc to build GGPO. CMake is not required.
    • 32-bit targets are untested and unsupported. Use at your own risk.
    • GGPO only builds under Visual C++ and only for Windows targets. Support for other toolchains is therefore blocked pending fixes to upstream.
  • libclang
    • Used for generating bindings to ggponet.h.

Usage

To use ggpo-sys, simply add it to your Cargo.toml:

[dependencies]
ggpo-sys = "^0.1.0"

For more details, refer to the source comments in ggponet.h.

License

ggpo-sys is licensed under either of

at your option.

Additionally, ggpo-sys bundles a copy of the GGPO source code, which is licensed separately under the MIT license (libggpo/LICENSE or http://opensource.org/licenses/MIT).

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0–2MB
~37K SLoC