diff --git a/common/Cargo.toml b/common/Cargo.toml index 118663b2fe..33f7672e96 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -6,6 +6,7 @@ edition = "2018" [dependencies] sphynx = { git = "https://gitlab.com/veloren/sphynx.git", features = ["serde1"] } +specs-idvs = { git = "http://gitlab.nebulanet.cc/xacrimon/specs-idvs.git" } specs = { version = "0.14.2", features = ["serde", "nightly"] } vek = { version = "0.9.8", features = ["serde"] } diff --git a/common/src/comp/action_state.rs b/common/src/comp/action_state.rs index 18626300a4..23558ebb12 100644 --- a/common/src/comp/action_state.rs +++ b/common/src/comp/action_state.rs @@ -1,4 +1,5 @@ -use specs::{Component, FlaggedStorage, VecStorage}; +use specs::{Component, FlaggedStorage}; +use specs_idvs::IDVStorage; #[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] pub struct ActionState { @@ -24,5 +25,5 @@ impl Default for ActionState { } impl Component for ActionState { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; } diff --git a/common/src/comp/agent.rs b/common/src/comp/agent.rs index 97fa052c6b..4847fdd8de 100644 --- a/common/src/comp/agent.rs +++ b/common/src/comp/agent.rs @@ -1,5 +1,6 @@ -use specs::{Component, Entity as EcsEntity, VecStorage}; +use specs::{Component, Entity as EcsEntity}; use vek::*; +use specs_idvs::IDVStorage; #[derive(Copy, Clone, Debug)] pub enum Agent { @@ -14,5 +15,5 @@ pub enum Agent { } impl Component for Agent { - type Storage = VecStorage; + type Storage = IDVStorage; } diff --git a/common/src/comp/animation.rs b/common/src/comp/animation.rs index 2ad33aa8db..f7ac0ac521 100644 --- a/common/src/comp/animation.rs +++ b/common/src/comp/animation.rs @@ -1,4 +1,5 @@ -use specs::{Component, FlaggedStorage, VecStorage}; +use specs::{Component, FlaggedStorage}; +use specs_idvs::IDVStorage; #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] pub enum Animation { @@ -29,5 +30,5 @@ impl Default for AnimationInfo { } impl Component for AnimationInfo { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; } diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index 4c9ae82124..6847ec4c05 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -3,7 +3,8 @@ pub mod object; pub mod quadruped; pub mod quadruped_medium; -use specs::{Component, FlaggedStorage, VecStorage}; +use specs::{Component, FlaggedStorage}; +use specs_idvs::IDVStorage; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] pub enum Body { @@ -14,5 +15,5 @@ pub enum Body { } impl Component for Body { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; } diff --git a/common/src/comp/controller.rs b/common/src/comp/controller.rs index 7cd5eba3a4..1391320ea1 100644 --- a/common/src/comp/controller.rs +++ b/common/src/comp/controller.rs @@ -1,5 +1,6 @@ -use specs::{Component, FlaggedStorage, VecStorage}; +use specs::{Component, FlaggedStorage}; use vek::*; +use specs_idvs::IDVStorage; #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct Controller { @@ -12,5 +13,5 @@ pub struct Controller { } impl Component for Controller { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; } diff --git a/common/src/comp/inputs.rs b/common/src/comp/inputs.rs index bf00528f72..5f2a3a4373 100644 --- a/common/src/comp/inputs.rs +++ b/common/src/comp/inputs.rs @@ -1,5 +1,6 @@ -use specs::{Component, FlaggedStorage, NullStorage, VecStorage}; +use specs::{Component, FlaggedStorage, NullStorage}; use vek::*; +use specs_idvs::IDVStorage; #[derive(Clone, Debug, Default, Serialize, Deserialize)] pub struct Respawning; @@ -69,19 +70,19 @@ impl Rolling { } impl Component for MoveDir { - type Storage = VecStorage; + type Storage = IDVStorage; } impl Component for Wielding { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; } impl Component for Attacking { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; } impl Component for Rolling { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; } impl Component for OnGround { diff --git a/common/src/comp/inventory/item.rs b/common/src/comp/inventory/item.rs index 52afd27211..faca9b5b57 100644 --- a/common/src/comp/inventory/item.rs +++ b/common/src/comp/inventory/item.rs @@ -1,4 +1,5 @@ -use specs::{Component, VecStorage}; +use specs::Component; +use specs_idvs::IDVStorage; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] pub enum Weapon { @@ -60,5 +61,5 @@ pub enum Item { } impl Component for Item { - type Storage = VecStorage; + type Storage = IDVStorage; } diff --git a/common/src/comp/inventory/mod.rs b/common/src/comp/inventory/mod.rs index 0e4acd948d..11643cd6e8 100644 --- a/common/src/comp/inventory/mod.rs +++ b/common/src/comp/inventory/mod.rs @@ -1,4 +1,5 @@ -use specs::{Component, VecStorage}; +use specs::Component; +use specs_idvs::IDVStorage; //Re-Exports pub mod item; @@ -42,5 +43,5 @@ impl Inventory { } impl Component for Inventory { - type Storage = VecStorage; + type Storage = IDVStorage; } diff --git a/common/src/comp/phys.rs b/common/src/comp/phys.rs index 0c674d63ec..e8a9ca0ff8 100644 --- a/common/src/comp/phys.rs +++ b/common/src/comp/phys.rs @@ -1,12 +1,13 @@ -use specs::{Component, NullStorage, VecStorage}; +use specs::{Component, NullStorage}; use vek::*; +use specs_idvs::IDVStorage; // Position #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] pub struct Pos(pub Vec3); impl Component for Pos { - type Storage = VecStorage; + type Storage = IDVStorage; } // Velocity @@ -14,7 +15,7 @@ impl Component for Pos { pub struct Vel(pub Vec3); impl Component for Vel { - type Storage = VecStorage; + type Storage = IDVStorage; } // Orientation @@ -22,7 +23,7 @@ impl Component for Vel { pub struct Ori(pub Vec3); impl Component for Ori { - type Storage = VecStorage; + type Storage = IDVStorage; } // ForceUpdate diff --git a/common/src/comp/player.rs b/common/src/comp/player.rs index e9b7a1d5c7..2078b0efb8 100644 --- a/common/src/comp/player.rs +++ b/common/src/comp/player.rs @@ -1,4 +1,5 @@ -use specs::{Component, FlaggedStorage, NullStorage, VecStorage}; +use specs::{Component, FlaggedStorage, NullStorage}; +use specs_idvs::IDVStorage; const MAX_ALIAS_LEN: usize = 32; @@ -23,7 +24,7 @@ impl Player { } impl Component for Player { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; } #[derive(Clone, Debug, Default, Serialize, Deserialize)] diff --git a/common/src/comp/stats.rs b/common/src/comp/stats.rs index 89bdcf1298..ac81196e84 100644 --- a/common/src/comp/stats.rs +++ b/common/src/comp/stats.rs @@ -1,5 +1,6 @@ use crate::state::Uid; -use specs::{Component, FlaggedStorage, VecStorage}; +use specs::{Component, FlaggedStorage}; +use specs_idvs::IDVStorage; #[derive(Clone, Copy, Debug, Serialize, Deserialize)] pub enum HealthSource { @@ -129,7 +130,7 @@ impl Stats { } impl Component for Stats { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; } #[derive(Copy, Clone, Debug, Serialize, Deserialize)] @@ -138,5 +139,5 @@ pub struct Dying { } impl Component for Dying { - type Storage = VecStorage; + type Storage = IDVStorage; } diff --git a/common/src/comp/visual.rs b/common/src/comp/visual.rs index 29e759ae95..16dafbfa95 100644 --- a/common/src/comp/visual.rs +++ b/common/src/comp/visual.rs @@ -1,5 +1,6 @@ -use specs::{Component, FlaggedStorage, VecStorage}; +use specs::{Component, FlaggedStorage}; use vek::*; +use specs_idvs::IDVStorage; #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] pub struct LightEmitter { @@ -19,5 +20,5 @@ impl Default for LightEmitter { } impl Component for LightEmitter { - type Storage = FlaggedStorage>; + type Storage = FlaggedStorage>; }