diff --git a/bracket-random/Cargo.toml b/bracket-random/Cargo.toml index c3af033c..7b89e235 100755 --- a/bracket-random/Cargo.toml +++ b/bracket-random/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bracket-random" -version = "0.8.2" +version = "0.8.3" authors = ["Herbert Wolverson "] edition = "2018" publish = true @@ -24,12 +24,7 @@ rand_xorshift = { version = "0.3.0" } regex = { version = "1.3.6", optional = true } lazy_static = { version = "1.4.0", optional = true } serde_crate = { version = "~1.0.110", features = ["derive"], optional = true, package = "serde" } - -[target.wasm32-unknown-unknown.dependencies] -rand = { version = "0.8.3" } - -[target.'cfg(not(any(target_arch = "wasm32")))'.dependencies] -rand = "0.8.3" +rand = { version = "0.8.3", default-features = false } [dev-dependencies] criterion = "0.3.4" diff --git a/bracket-random/src/parsing.rs b/bracket-random/src/parsing.rs index 13c64f08..0ac7ab56 100755 --- a/bracket-random/src/parsing.rs +++ b/bracket-random/src/parsing.rs @@ -6,7 +6,11 @@ use std::fmt; use serde_crate::{Deserialize, Serialize}; // Describes a dice roll type -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))] +#[cfg_attr( + feature = "serde", + derive(Serialize, Deserialize), + serde(crate = "serde_crate") +)] #[derive(Copy, Clone, PartialEq, Eq, Debug)] pub struct DiceType { pub n_dice: i32, @@ -137,7 +141,7 @@ mod tests { #[cfg(feature = "serde")] #[test] fn serialize_parsing() { - use serde_crate::{Serialize, Deserialize}; + use serde_crate::{Deserialize, Serialize}; let d = parse_dice_string("3d6 - 2").unwrap(); let serialized = serde_json::to_string(&d).unwrap(); let deserialized: DiceType = serde_json::from_str(&serialized).unwrap(); diff --git a/bracket-random/src/random.rs b/bracket-random/src/random.rs index 0a5d29cc..c97a4aef 100755 --- a/bracket-random/src/random.rs +++ b/bracket-random/src/random.rs @@ -20,7 +20,13 @@ impl RandomNumberGenerator { /// Creates a new RNG from a randomly generated seed #[allow(clippy::new_without_default)] // XorShiftRng doesn't have a Default, so we don't either pub fn new() -> RandomNumberGenerator { - let rng: XorShiftRng = SeedableRng::from_entropy(); + use std::time::{SystemTime, UNIX_EPOCH}; + let rng: XorShiftRng = SeedableRng::seed_from_u64( + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_secs() as u64, + ); RandomNumberGenerator { rng } } diff --git a/bracket-terminal/Cargo.toml b/bracket-terminal/Cargo.toml index cdc06809..d9899954 100755 --- a/bracket-terminal/Cargo.toml +++ b/bracket-terminal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bracket-terminal" -version = "0.8.2" +version = "0.8.3" authors = ["Herbert Wolverson "] edition = "2018" publish = true @@ -29,7 +29,7 @@ pancurses = { version = "0.16.1", optional = true } amethyst = { version = "=0.15.0", features = [ "tiles" ], optional = true } ultraviolet = "~0.7.5" parking_lot = { version = "~0.11.1" } -ctrlc = { version = "~3.1" } +ctrlc = { version = "~3.1", optional=true } [target.'cfg(not(any(target_arch = "wasm32")))'.dependencies] glutin = {version = "0.26.0", optional = true } @@ -38,7 +38,8 @@ winit = { version = "0.24.0" } [features] default = [ "opengl" ] opengl = [ "glow", "image", "glutin" ] -curses = [ "pancurses" ] +curses = [ "pancurses", "ctrlc" ] +cross_term = [ "crossterm", "ctrlc" ] amethyst_engine_vulkan = [ "amethyst/vulkan", "image" ] amethyst_engine_metal = [ "amethyst/metal", "image" ] @@ -54,7 +55,7 @@ web-sys = { version = "0.3", features=["console", "Attr", "CanvasRenderingContex "MouseEvent"] } wasm-bindgen = "0.2" wasm-timer = "0.1.0" -rand = { version = "0.8.3" } +rand = { version = "0.8.3", default-features = false } console_error_panic_hook = "0.1.6" winit = { version = "0.24.0", features = [ "web-sys" ] } diff --git a/bracket-terminal/README.md b/bracket-terminal/README.md index 60f18de0..9c0e85b2 100755 --- a/bracket-terminal/README.md +++ b/bracket-terminal/README.md @@ -73,4 +73,4 @@ You can run the `dwarfmap` example with different back-ends like this. The same * *Amethyst (Vulkan)*: `cargo run --example dwarfmap --no-default-features --features "amethyst_engine_vulkan"` * *Amethyst (Metal)*: `cargo run --example dwarfmap --no-default-features --features "amethyst_engine_metal"` * *Curses*: `cargo run --example dwarfmap --no-default-features --features "curses"` -* *Crossterm*: `cargo run --example dwarfmap --no-default-features --features "crossterm"` +* *Crossterm*: (note that the feature is called `cross_term`) `cargo run --example dwarfmap --no-default-features --features "cross_term"` diff --git a/bracket-terminal/src/hal/mod.rs b/bracket-terminal/src/hal/mod.rs index 82ca8caf..fec51b73 100755 --- a/bracket-terminal/src/hal/mod.rs +++ b/bracket-terminal/src/hal/mod.rs @@ -25,10 +25,10 @@ mod curses; pub use curses::*; #[cfg(not(feature = "opengl"))] -#[cfg(all(not(feature = "opengl"), feature = "crossterm"))] +#[cfg(all(not(feature = "opengl"), feature = "cross_term"))] mod crossterm_be; -#[cfg(all(not(feature = "opengl"), feature = "crossterm"))] +#[cfg(all(not(feature = "opengl"), feature = "cross_term"))] pub use crossterm_be::*; #[cfg(all(