updated deps

- attempt to fix hot reloading
This commit is contained in:
Dmitry Stepanov
2025-09-18 20:30:50 +03:00
parent f8e88df8ea
commit 669b38dd9c
24 changed files with 73 additions and 87 deletions
+5 -5
View File
@@ -16,16 +16,16 @@ include = ["/src/**/*", "/Cargo.toml", "/LICENSE", "/README.md", "/resources/**/
fyrox = { version = "1.0.0-rc.1", path = "../fyrox", default-features = false }
fyrox-build-tools = { version = "1.0.0-rc.1", path = "../fyrox-build-tools" }
lazy_static = "1.4.0"
ron = "0.8.0"
ron = "0.11"
serde = "^1.0.0"
toml = { version = "0.8.10", default-features = false, features = ["parse"] }
toml_edit = "0.22.6"
toml = { version = "0.9", default-features = false, features = ["parse"] }
toml_edit = "0.23"
strum = "0.27"
strum_macros = "0.27"
open = "5"
opener = { version = "0.7.2", default-features = false, features = ["reveal"] }
opener = { version = "0.8", default-features = false, features = ["reveal"] }
rust-fuzzy-search = "0.1.1"
cargo_metadata = "0.19"
cargo_metadata = "0.22"
serde_json = "1.0.113"
image = { version = "0.25.1", default-features = false, features = ["gif", "jpeg", "png", "tga", "tiff", "bmp"] }
imageproc = "0.25.0"
+5 -1
View File
@@ -200,7 +200,11 @@ fn export(
TargetPlatform::Android => "executor-android",
};
let Some(package) = metadata.packages.iter().find(|p| p.name == package_name) else {
let Some(package) = metadata
.packages
.iter()
.find(|p| p.name.as_ref() == package_name)
else {
return Err(format!(
"The project does not have `{package_name}` package."
));
+1 -1
View File
@@ -115,7 +115,7 @@ impl<T: EntityId> StateAction<T> {
}
}
StateAction::EnableRandomAnimation(animation_handles) => {
if let Some(animation) = animation_handles.iter().choose(&mut rand::thread_rng()) {
if let Some(animation) = animation_handles.iter().choose(&mut rand::rng()) {
if let Some(animation) = animations.try_get_mut(*animation) {
animation.set_enabled(true);
}
+1 -1
View File
@@ -16,4 +16,4 @@ include = ["/src/**/*", "/Cargo.toml", "/LICENSE", "/README.md"]
[dependencies]
nalgebra = { version = "0.34", features = ["bytemuck"] }
fxhash = "0.2.1"
rand = "0.8.5"
rand = "0.9.2"
+1 -1
View File
@@ -396,7 +396,7 @@ impl<V> ProbabilitySet<V> {
if self.total <= 0.0 {
return None;
}
let mut p = rng.gen_range(0.0..self.total);
let mut p = rng.random_range(0.0..self.total);
for (f, v) in self.iter() {
if p < f {
return Some(v);
+2 -2
View File
@@ -517,7 +517,7 @@ impl<Pos: WavePosition + Debug, Pat: Clone + Hash + Eq + Debug> WfcPropagator<Po
if cell.pattern_possibilities.len() <= 1 || cell.entropy >= min_entropy {
continue;
}
let noise = rng.gen_range(0.0..=self.limits.maximum_noise);
let noise = rng.random_range(0.0..=self.limits.maximum_noise);
let entropy = cell.entropy + noise;
if entropy < min_entropy {
min_entropy = entropy;
@@ -540,7 +540,7 @@ impl<Pos: WavePosition + Debug, Pat: Clone + Hash + Eq + Debug> WfcPropagator<Po
Con: WfcConstrain<Pattern = Pat, Offset = Pos::Offset>,
{
let cell = self.wave.get(position)?;
let mut target = rng.gen_range(0.0..cell.sum);
let mut target = rng.random_range(0.0..cell.sum);
for pattern in cell.pattern_possibilities.keys() {
let p = constraint.probability_of(pattern) as Entropy;
target -= p;
+1 -1
View File
@@ -19,7 +19,7 @@ fyrox-core-derive = { path = "../fyrox-core-derive", version = "1.0.0-rc.1" }
fyrox-math = { path = "../fyrox-math", version = "1.0.0-rc.1" }
base64 = "0.22.1"
byteorder = "1.4.3"
rand = "0.8.4"
rand = "0.9.2"
memoffset = "0.9.0"
lazy_static = "1.4.0"
nalgebra = { version = "0.34", features = ["bytemuck"] }
+5 -4
View File
@@ -19,7 +19,8 @@
// SOFTWARE.
use crate::num_traits::Num;
use rand::{distributions::uniform::SampleUniform, Rng};
use rand::distr::uniform::SampleUniform;
use rand::Rng;
use std::ops::Range;
fn min<T>(a: T, b: T) -> T
@@ -61,7 +62,7 @@ impl<T: Num + PartialOrd + SampleUniform + Copy> RangeExt<T> for Range<T> {
if start == end {
start
} else {
rng.gen_range(Range { start, end })
rng.random_range(Range { start, end })
}
}
@@ -82,13 +83,13 @@ impl<T: Num + PartialOrd + SampleUniform + Copy> RangeExt<T> for Range<T> {
#[cfg(test)]
mod test {
use rand::thread_rng;
use rand::rng;
use super::*;
#[test]
fn test_random() {
let mut rng = thread_rng();
let mut rng = rng();
let res = (1..10).random(&mut rng);
assert!((1..=10).contains(&res));
+7 -5
View File
@@ -27,8 +27,8 @@ fyrox-graphics-gl = { path = "../fyrox-graphics-gl", version = "1.0.0-rc.1" }
fyrox-texture = { path = "../fyrox-texture", version = "1.0.0-rc.1" }
fyrox-autotile = { path = "../fyrox-autotile", version = "1.0.0-rc.1" }
fyrox-material = { path = "../fyrox-material", version = "1.0.0-rc.1" }
rapier2d = { version = "0.28", features = ["debug-render"] }
rapier3d = { version = "0.28", features = ["debug-render"] }
rapier2d = { version = "0.29", features = ["debug-render"] }
rapier3d = { version = "0.29", features = ["debug-render"] }
image = { version = "0.25.1", default-features = false, features = ["gif", "jpeg", "png", "tga", "tiff", "bmp"] }
inflate = "0.4.5"
serde = { version = "1", features = ["derive"] }
@@ -36,7 +36,7 @@ lazy_static = "1.4.0"
rayon = "1.5.1"
bitflags = "2.2.1"
walkdir = "2.3.2"
ron = "0.8.0"
ron = "0.11.0"
fxhash = "0.2.1"
strum = "0.27"
strum_macros = "0.27"
@@ -73,10 +73,12 @@ approx = "0.5.1"
# make a list of features used by these crates and compare them for both game.txt and editor.txt. If features
# don't match, add a new dependency of the corresponding crate below with such features and the issue should
# be fixed.
hashbrown = { version = "0.14.3", features = ["raw"] }
hashbrown = { version = "0.15", features = ["default", "default-hasher"] }
imageproc = "0.25.0"
serde_core = { version = "1.0.225", features = ["default"] }
wide = { version = "0.7.33", features = ["std", "default"] }
serde_json = { version = "1", features = ["raw_value", "default", "std", "unbounded_depth"] }
uuid = { version = "1.7.0", features = ["v4"] }
uuid = { version = "1", features = ["v4", "default", "js"] }
[features]
enable_profiler = ["fyrox-core/enable_profiler"]
+6 -6
View File
@@ -77,7 +77,7 @@ impl ScreenSpaceAmbientOcclusionRenderer {
let occlusion =
server.create_2d_render_target("SsaoTexture", PixelKind::R32F, width, height)?;
let mut rng = crate::rand::thread_rng();
let mut rng = crate::rand::rng();
Ok(Self {
blur: Blur::new(server, width, height)?,
@@ -90,9 +90,9 @@ impl ScreenSpaceAmbientOcclusionRenderer {
let k = i as f32 / KERNEL_SIZE as f32;
let scale = lerpf(0.1, 1.0, k * k);
*v = Vector3::new(
rng.gen_range(-1.0..1.0),
rng.gen_range(-1.0..1.0),
rng.gen_range(0.0..1.0),
rng.random_range(-1.0..1.0),
rng.random_range(-1.0..1.0),
rng.random_range(0.0..1.0),
)
// Make sphere
.try_normalize(f32::EPSILON)
@@ -106,8 +106,8 @@ impl ScreenSpaceAmbientOcclusionRenderer {
const RGB_PIXEL_SIZE: usize = 3;
let mut pixels = [0u8; RGB_PIXEL_SIZE * NOISE_SIZE * NOISE_SIZE];
for pixel in pixels.chunks_exact_mut(RGB_PIXEL_SIZE) {
pixel[0] = rng.gen_range(0u8..255u8); // R
pixel[1] = rng.gen_range(0u8..255u8); // G
pixel[0] = rng.random_range(0u8..255u8); // R
pixel[1] = rng.random_range(0u8..255u8); // G
pixel[2] = 0u8; // B
}
server.create_texture(GpuTextureDescriptor {
+2 -9
View File
@@ -78,7 +78,6 @@ use std::{
cmp::Ordering,
fmt::{Debug, Formatter},
hash::Hash,
num::NonZeroUsize,
sync::Arc,
};
@@ -637,13 +636,7 @@ impl PhysicsWorld {
.integration_parameters
.normalized_max_corrective_velocity,
normalized_prediction_distance: self.integration_parameters.prediction_distance,
num_solver_iterations: NonZeroUsize::new(
self.integration_parameters.num_solver_iterations,
)
.unwrap(),
num_additional_friction_iterations: self
.integration_parameters
.num_additional_friction_iterations,
num_solver_iterations: self.integration_parameters.num_solver_iterations,
num_internal_pgs_iterations: self
.integration_parameters
.num_internal_pgs_iterations,
@@ -1048,7 +1041,7 @@ impl PhysicsWorld {
}
} else {
let mut builder = RigidBodyBuilder::new(rigid_body_node.body_type().into())
.position(isometry_from_global_transform(
.pose(isometry_from_global_transform(
&rigid_body_node.global_transform(),
))
.ccd_enabled(rigid_body_node.is_ccd_enabled())
+4 -14
View File
@@ -73,7 +73,6 @@ use std::{
cmp::Ordering,
fmt::{Debug, Formatter},
hash::Hash,
num::NonZeroUsize,
sync::Arc,
time::Duration,
};
@@ -82,6 +81,7 @@ use strum_macros::{AsRefStr, EnumString, VariantNames};
use fyrox_graph::{BaseSceneGraph, SceneGraphNode};
pub use rapier3d::geometry::shape::*;
use rapier3d::parry::query::DefaultQueryDispatcher;
use rapier3d::prelude::FrictionModel;
/// Shape-dependent identifier.
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq)]
@@ -873,10 +873,6 @@ pub struct IntegrationParameters {
#[reflect(min_value = 0.0)]
pub num_solver_iterations: usize,
/// Number of addition friction resolution iteration run during the last solver sub-step (default: `4`).
#[reflect(min_value = 0.0)]
pub num_additional_friction_iterations: usize,
/// Number of internal Project Gauss Seidel (PGS) iterations run at each solver iteration (default: `1`).
#[reflect(min_value = 0.0)]
pub num_internal_pgs_iterations: usize,
@@ -920,7 +916,6 @@ impl Default for IntegrationParameters {
normalized_max_corrective_velocity: 10.0,
prediction_distance: 0.002,
num_internal_pgs_iterations: 1,
num_additional_friction_iterations: 4,
num_solver_iterations: 4,
min_island_size: 128,
max_ccd_substeps: 4,
@@ -1124,13 +1119,7 @@ impl PhysicsWorld {
.integration_parameters
.normalized_max_corrective_velocity,
normalized_prediction_distance: self.integration_parameters.prediction_distance,
num_solver_iterations: NonZeroUsize::new(
self.integration_parameters.num_solver_iterations,
)
.unwrap(),
num_additional_friction_iterations: self
.integration_parameters
.num_additional_friction_iterations,
num_solver_iterations: self.integration_parameters.num_solver_iterations,
num_internal_pgs_iterations: self
.integration_parameters
.num_internal_pgs_iterations,
@@ -1139,6 +1128,7 @@ impl PhysicsWorld {
.num_internal_stabilization_iterations,
min_island_size: self.integration_parameters.min_island_size as usize,
max_ccd_substeps: self.integration_parameters.max_ccd_substeps as usize,
friction_model: FrictionModel::default(),
};
self.pipeline.step(
@@ -1596,7 +1586,7 @@ impl PhysicsWorld {
}
} else {
let mut builder = RigidBodyBuilder::new(rigid_body_node.body_type().into())
.position(isometry_from_global_transform(
.pose(isometry_from_global_transform(
&rigid_body_node.global_transform(),
))
.ccd_enabled(rigid_body_node.is_ccd_enabled())
+1 -6
View File
@@ -36,7 +36,7 @@ use crate::{
visitor::prelude::*,
},
material::{self, Material, MaterialResource},
rand::{prelude::StdRng, Error, RngCore, SeedableRng},
rand::{prelude::StdRng, RngCore, SeedableRng},
renderer::{self, bundle::RenderContext},
scene::{
base::{Base, BaseBuilder},
@@ -109,11 +109,6 @@ impl RngCore for ParticleSystemRng {
fn fill_bytes(&mut self, dest: &mut [u8]) {
self.rng.fill_bytes(dest)
}
#[inline]
fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> {
self.rng.try_fill_bytes(dest)
}
}
impl Visit for ParticleSystemRng {
+3 -3
View File
@@ -28,7 +28,7 @@ use fyrox_core::swap_hash_map_entry;
use crate::{
core::{algebra::Vector2, reflect::prelude::*, visitor::prelude::*},
fxhash::FxHashMap,
rand::{seq::IteratorRandom, thread_rng},
rand::{rng, seq::IteratorRandom},
};
use std::{
cmp::Ordering,
@@ -317,7 +317,7 @@ impl TileSource for RandomTileSource<'_> {
self.0.transformation()
}
fn get_at(&self, _position: Vector2<i32>) -> Option<StampElement> {
self.0.values().choose(&mut thread_rng()).cloned()
self.0.values().choose(&mut rng()).cloned()
}
}
@@ -332,7 +332,7 @@ impl TileSource for PartialRandomTileSource<'_> {
self.0.transformation()
}
fn get_at(&self, _position: Vector2<i32>) -> Option<StampElement> {
let pos = self.1.iter().choose(&mut thread_rng())?;
let pos = self.1.iter().choose(&mut rng())?;
self.0.get_at(pos)
}
}
+12 -12
View File
@@ -653,11 +653,11 @@ mod test {
let mut paths_count = 0;
for _ in 0..1000 {
let sx = rand::thread_rng().gen_range(0..(size - 1));
let sy = rand::thread_rng().gen_range(0..(size - 1));
let sx = rand::rng().random_range(0..(size - 1));
let sy = rand::rng().random_range(0..(size - 1));
let tx = rand::thread_rng().gen_range(0..(size - 1));
let ty = rand::thread_rng().gen_range(0..(size - 1));
let tx = rand::rng().random_range(0..(size - 1));
let ty = rand::rng().random_range(0..(size - 1));
let from = sy * size + sx;
let to = ty * size + tx;
@@ -784,11 +784,11 @@ mod test {
);
for _ in 0..1000 {
let sx = rand::thread_rng().gen_range(0..(size - 1));
let sy = rand::thread_rng().gen_range(0..(size - 1));
let sx = rand::rng().random_range(0..(size - 1));
let sy = rand::rng().random_range(0..(size - 1));
let tx = rand::thread_rng().gen_range(0..(size - 1));
let ty = rand::thread_rng().gen_range(0..(size - 1));
let tx = rand::rng().random_range(0..(size - 1));
let ty = rand::rng().random_range(0..(size - 1));
let from = sy * size + sx;
let to = ty * size + tx;
@@ -870,12 +870,12 @@ mod test {
for _ in 0..1000 {
// generates a random start point on the left half of the grid
let sx = rand::thread_rng().gen_range(0..((size / 2) - 1));
let sy = rand::thread_rng().gen_range(0..(size - 1));
let sx = rand::rng().random_range(0..((size / 2) - 1));
let sy = rand::rng().random_range(0..(size - 1));
// generates a random end point on the right half of the grid
let tx = rand::thread_rng().gen_range((size / 2)..(size - 1));
let ty = rand::thread_rng().gen_range(0..(size - 1));
let tx = rand::rng().random_range((size / 2)..(size - 1));
let ty = rand::rng().random_range(0..(size - 1));
let from = sy * size + sx;
let to = ty * size + tx;
+1 -1
View File
@@ -24,7 +24,7 @@ fxhash = "0.2.1"
lazy_static = "1.4.0"
uuid = "1"
serde = { version = "1", features = ["derive"] }
ron = "0.8.0"
ron = "0.11.0"
regex = "1"
[dev-dependencies]
+1 -1
View File
@@ -16,7 +16,7 @@ rust-version = "1.86"
[dependencies]
fyrox-core = { path = "../fyrox-core", version = "1.0.0-rc.1", features = ["serde"] }
fxhash = "0.2.1"
ron = "0.8.0"
ron = "0.11.0"
serde = { version = "1", features = ["derive"] }
walkdir = "2.3.2"
rayon = "1.7.0"
+4 -3
View File
@@ -28,7 +28,7 @@ use fyrox_core::io::FileError;
use fyrox_core::reflect::Reflect;
use ron::ser::PrettyConfig;
use serde::{de::DeserializeOwned, Serialize};
use std::io::ErrorKind;
use std::io::{ErrorKind, Write};
use std::{fs::File, path::Path};
/// Extension of import options file.
@@ -47,8 +47,9 @@ pub trait ImportOptions:
{
/// Saves import options into a specified file.
fn save_internal(&self, path: &Path) -> bool {
if let Ok(file) = File::create(path) {
if ron::ser::to_writer_pretty(file, self, PrettyConfig::default()).is_ok() {
if let Ok(mut file) = File::create(path) {
if let Ok(string) = ron::ser::to_string_pretty(self, PrettyConfig::default()) {
Log::verify(file.write_all(string.as_bytes()));
return true;
}
}
+1 -1
View File
@@ -30,7 +30,7 @@ strum = "0.27"
strum_macros = "0.27"
serde = { version = "1", features = ["derive"] }
bytemuck = { version = "1.23.2", features = ["derive"] }
uuid = { version = "1.7.0", features = ["v4"] }
uuid = { version = "1", features = ["v4", "default"] }
[features]
enable_profiler = ["fyrox-core/enable_profiler"]
+2 -2
View File
@@ -17,8 +17,8 @@ fyrox = { version = "1.0.0-rc.1", path = "../fyrox" }
fyrox-template-core = { version = "1.0.0-rc.1", path = "../template-core" }
fyrox-build-tools = { version = "1.0.0-rc.1", path = "../fyrox-build-tools" }
serde = { version = "1", features = ["derive"] }
ron = "0.8.1"
ron = "0.11.0"
open = "5.0.1"
cargo_metadata = "0.19.0"
cargo_metadata = "0.22.0"
serde_json = "1.0.133"
directories = "5.0.1"
+1 -1
View File
@@ -879,7 +879,7 @@ impl ProjectManager {
{
self.settings.projects.push(Project {
manifest_path,
name: game_package.name.clone(),
name: game_package.name.as_str().to_string(),
hot_reload: false,
});
self.refresh(ui);
+1 -1
View File
@@ -96,7 +96,7 @@ impl UpgradeTool {
let is_git = dependency
.source
.as_ref()
.is_some_and(|s| s.contains("https://github.com/FyroxEngine/Fyrox"));
.is_some_and(|s| s.repr.contains("https://github.com/FyroxEngine/Fyrox"));
let selected_version = if is_local {
Version::Local
} else if is_git {
+2 -2
View File
@@ -137,9 +137,9 @@ fn to_pretty_version(version_req: &VersionReq) -> String {
pub fn fyrox_version_string(metadata: &Metadata) -> Option<String> {
fyrox_dependency(metadata).and_then(|dependency| {
if let Some(source) = dependency.source.as_ref() {
if source.contains("registry+") {
if source.repr.contains("registry+") {
return Some(to_pretty_version(&dependency.req));
} else if source.contains("git+") {
} else if source.repr.contains("git+") {
return Some("nightly".to_string());
}
} else if let Some(path) = dependency.path.as_ref() {
+4 -4
View File
@@ -15,11 +15,11 @@ rust-version = "1.86"
[dependencies]
uuid = { version = "1", features = ["v4"] }
convert_case = "0.6.0"
toml = "0.8.10"
toml_edit = "0.22.6"
convert_case = "0.8.0"
toml = "0.9.6"
toml_edit = "0.23.5"
regex = "1.7.3"
unicode-xid = "0.2.6"
[build-dependencies]
toml_edit = "0.22.6"
toml_edit = "0.23.5"