cvars-console-fyrox

Crates.iocvars-console-fyrox
lib.rscvars-console-fyrox
version0.5.0
sourcesrc
created_at2023-02-05 23:04:56.102599
updated_at2024-01-25 22:03:54.631613
descriptionIn-game console for the Fyrox game engine, using the cvars crate for configuration
homepagehttps://github.com/martin-t/cvars
repositoryhttps://github.com/martin-t/cvars
max_upload_size
id777498
size229,342
Martin Taibr (martin-t)

documentation

README

Fyrox console


A simple and ergonomic way to store and edit configuration in your game at runtime

GitHub Docs.rs Crates.io License (AGPL3) CI Audit Dependency status Discord

In-game console for the Fyrox game engine for changing cvars at runtime.

Fyrox console

Usage

  • Add cvars-console-fyrox to your Cargo.toml:
cargo add cvars-console-fyrox
  • Create a FyroxConsole when initializing your game:
FyroxConsole::new(&mut engine.user_interface);

You're responsible for opening and closing the console according to your game's key bindings. You also need to call resized and ui_message on the appropriate engine events.

Real-world example

See how RustCycles uses cvars and the console.

Compatibility

The version of fyrox-ui used by your game has to match the version used by cvars-console-fyrox, otherwise you'll get confusing errors such as:

expected struct `fyrox_ui::UserInterface`, found struct `UserInterface`

You can use cargo tree to debug the issue but in general every time you update the engine after a breaking change, you have to update the console.

This means that there has to be a new major1 release of cvars-console-fyrox for each new major release of fyrox-ui even though there are no changes to the console. I will try to release a new version soon after Fyrox but since i am the only maintainer, it might not always be possible. If you need to use the latest Fyrox and cvars-console-fyrox hasn't caught up yet, feel free to submit a PR. Usually the only change needed is updating the version numbers.

You can also temporarily make a fork of the console with the fyrox-ui version number updated and add a patch section to your Cargo.toml.

License

AGPL-v3 or newer

Footnotes

  1. Since fyrox-ui's version number is 0.y.z, changing y is considered a major release as per Cargo's flavor of semantic versioning.

Commit count: 353

cargo fmt