toggle dev mode with feature flags, document --features dev
This commit is contained in:
parent
77cdbba7db
commit
e50e345d48
|
@ -34,7 +34,9 @@ embed-resource = "1.6.3" # embedding of .exe metadata
|
|||
|
||||
[features]
|
||||
default = ["x11", "embed_assets"]
|
||||
dev = ["bevy/dynamic_linking", "bevy/file_watcher"]
|
||||
mute_music = []
|
||||
dev_mode = []
|
||||
dev = ["dev_mode", "mute_music", "bevy/dynamic_linking", "bevy/file_watcher"]
|
||||
wasm = ["bevy/webgl2"]
|
||||
x11 = ["bevy/x11"]
|
||||
wayland = ["bevy/wayland"]
|
||||
|
|
23
README.md
23
README.md
|
@ -138,12 +138,6 @@ See https://superuser.com/questions/1202989/how-to-you-add-a-parameter-to-an-exe
|
|||
|
||||
If there is no package for the version or operating system that you need, or if you wish to tinker on the game, you can also build outfly yourself.
|
||||
|
||||
For development, it's recommended to use `--features dev` to enable dynamic linking for faster compile times, e.g. like this:
|
||||
|
||||
```
|
||||
cargo [run|build] --features dev
|
||||
```
|
||||
|
||||
## On Linux
|
||||
|
||||
Install the build dependencies. On ArchLinux, it's the following, though you can replace `rust` with `rustup`:
|
||||
|
@ -160,8 +154,6 @@ cd outfly
|
|||
cargo run --release
|
||||
```
|
||||
|
||||
NOTE: Audio is muted by default when run through `cargo run`, unless you add `--release`
|
||||
|
||||
## Building for Windows on Linux
|
||||
|
||||
```
|
||||
|
@ -206,6 +198,21 @@ echo '<script type="module">import init from "./outfly.js"; init()</script>' > w
|
|||
python -m http.server -d wasm
|
||||
```
|
||||
|
||||
## Dev Features
|
||||
|
||||
For development, it's recommended to use `--features dev`:
|
||||
|
||||
```
|
||||
cargo [run|build] --features dev
|
||||
```
|
||||
|
||||
This enables the following:
|
||||
|
||||
- Mutes music by default (you can still unmute it)
|
||||
- Enables "dev mode", which changes the game slightly, e.g. enables some debugging features and additional cheats.
|
||||
- Enables dynamic linking for faster compile times. Note that this makes it harder to run the game directly with `./outfly`, please use `cargo run` instead.
|
||||
- Enables bevy's "file watcher" feature that auto-reloads changed assets while the game is running. This obviously works if the assets are not embedded directly into the binary with the `embed_assets` feature. To use this, customize the compile features like this: `--no-default-features --features "dev x11"`
|
||||
|
||||
# Changelog
|
||||
|
||||
- git: Add command line options to set window/fullscreen mode
|
||||
|
|
17
src/var.rs
17
src/var.rs
|
@ -13,7 +13,6 @@
|
|||
|
||||
use bevy::prelude::*;
|
||||
use std::collections::HashMap;
|
||||
use std::env;
|
||||
|
||||
pub const SCOPE_SEPARATOR: &str = "$";
|
||||
|
||||
|
@ -122,21 +121,9 @@ pub struct Settings {
|
|||
|
||||
impl Default for Settings {
|
||||
fn default() -> Self {
|
||||
let dev_mode;
|
||||
|
||||
let dev_mode = cfg!(feature = "dev_mode");
|
||||
let default_mute_sfx = false;
|
||||
let default_mute_music;
|
||||
if let Ok(_) = env::var("CARGO") {
|
||||
// Mute audio by default when run through `cargo`
|
||||
default_mute_music = cfg!(debug_assertions);
|
||||
|
||||
// Enable dev mode when running `cargo run` without `--release`
|
||||
dev_mode = cfg!(debug_assertions);
|
||||
}
|
||||
else {
|
||||
default_mute_music = false;
|
||||
dev_mode = false;
|
||||
}
|
||||
let default_mute_music = cfg!(feature = "mute_music");
|
||||
let version = if let Some(version) = option_env!("CARGO_PKG_VERSION") {
|
||||
version.to_string()
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue