diff --git a/examples/capture_parser/main.rs b/examples/capture_parser/main.rs index ce658a35..b88885cc 100644 --- a/examples/capture_parser/main.rs +++ b/examples/capture_parser/main.rs @@ -1,18 +1,18 @@ mod zip_context; -use std::collections::HashMap; -use std::env; -use std::io::{BufReader, Result as Res}; -use std::fs; -use std::fs::File; -use std::path::Path; -use std::time::Instant; +use std::{ + collections::HashMap, + env, fs, + fs::File, + io::{BufReader, Result as Res}, + path::Path, + time::Instant, +}; -use lu_packets::world::Lot; -use lu_packets::unified::Message; +use self::zip_context::ZipContext; +use lu_packets::{unified::Message, world::Lot}; use rusqlite::{params, Connection}; use zip::ZipArchive; -use self::zip_context::ZipContext; static mut PRINT_PACKETS: bool = false; diff --git a/examples/capture_parser/zip_context.rs b/examples/capture_parser/zip_context.rs index b4008fe3..68fcff8e 100644 --- a/examples/capture_parser/zip_context.rs +++ b/examples/capture_parser/zip_context.rs @@ -1,11 +1,9 @@ -use std::collections::HashMap; -use std::io::Result as Res; +use std::{collections::HashMap, io::Result as Res}; use endio_bit::BEBitReader; use lu_packets::{ lu, raknet::client::replica::{ - ComponentConstruction, ComponentSerialization, ReplicaContext, achievement_vendor::{AchievementVendorConstruction, AchievementVendorSerialization}, base_combat_ai::{BaseCombatAiConstruction, BaseCombatAiSerialization}, bbb::{BbbConstruction, BbbSerialization}, @@ -14,8 +12,8 @@ use lu_packets::{ character::{CharacterConstruction, CharacterSerialization}, collectible::{CollectibleConstruction, CollectibleSerialization}, controllable_physics::{ControllablePhysicsConstruction, ControllablePhysicsSerialization}, - donation_vendor::{DonationVendorConstruction, DonationVendorSerialization}, destroyable::{DestroyableConstruction, DestroyableSerialization}, + donation_vendor::{DonationVendorConstruction, DonationVendorSerialization}, fx::FxConstruction, inventory::{InventoryConstruction, InventorySerialization}, item::{ItemConstruction, ItemSerialization}, @@ -24,9 +22,9 @@ use lu_packets::{ module_assembly::ModuleAssemblyConstruction, moving_platform::{MovingPlatformConstruction, MovingPlatformSerialization}, mutable_model_behavior::{MutableModelBehaviorConstruction, MutableModelBehaviorSerialization}, + pet::{PetConstruction, PetSerialization}, phantom_physics::{PhantomPhysicsConstruction, PhantomPhysicsSerialization}, player_forced_movement::{PlayerForcedMovementConstruction, PlayerForcedMovementSerialization}, - pet::{PetConstruction, PetSerialization}, possessable::{PossessableConstruction, PossessableSerialization}, possession_control::{PossessionControlConstruction, PossessionControlSerialization}, quickbuild::{QuickbuildConstruction, QuickbuildSerialization}, @@ -40,8 +38,9 @@ use lu_packets::{ switch::{SwitchConstruction, SwitchSerialization}, vehicle_physics::{VehiclePhysicsConstruction, VehiclePhysicsSerialization}, vendor::{VendorConstruction, VendorSerialization}, + ComponentConstruction, ComponentSerialization, ReplicaContext, }, - world::{Lot, LuNameValue, LnvValue}, + world::{LnvValue, Lot, LuNameValue}, }; use zip::read::ZipFile; diff --git a/rustfmt.toml b/rustfmt.toml index e9d6ebb9..193baf6c 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,7 +1,6 @@ unstable_features = true hard_tabs = true -reorder_imports = false -reorder_modules = false +imports_granularity = "Crate" # disable line wrapping max_width = 1000 -use_small_heuristics = "Max" \ No newline at end of file +use_small_heuristics = "Max" diff --git a/src/auth/client/mod.rs b/src/auth/client/mod.rs index 4de770c3..b1c6affb 100644 --- a/src/auth/client/mod.rs +++ b/src/auth/client/mod.rs @@ -1,14 +1,14 @@ //! Client-received auth messages. -use std::io::{Error, ErrorKind::InvalidData, Result as Res, Read}; +use std::io::{Error, ErrorKind::InvalidData, Read, Result as Res}; -use endio::{LEWrite, LERead, Deserialize, Serialize}; -use endio::LittleEndian as LE; -use lu_packets_derive::MessageFromVariants; -use lu_packets_derive::VariantTests; +use endio::{Deserialize, LERead, LEWrite, LittleEndian as LE, Serialize}; +use lu_packets_derive::{MessageFromVariants, VariantTests}; -use crate::common::{LuString3, LuString33, LuString37, LuVarWString, LuWString33, ServiceId}; -use crate::general::client::{DisconnectNotify, Handshake, GeneralMessage}; -use crate::world::server::Language; +use crate::{ + common::{LuString3, LuString33, LuString37, LuVarWString, LuWString33, ServiceId}, + general::client::{DisconnectNotify, GeneralMessage, Handshake}, + world::server::Language, +}; /// All messages that can be received by a client from an auth server. pub type Message = crate::raknet::client::Message; diff --git a/src/auth/server/mod.rs b/src/auth/server/mod.rs index 5c030e49..173ee71d 100644 --- a/src/auth/server/mod.rs +++ b/src/auth/server/mod.rs @@ -2,7 +2,7 @@ use endio::{Deserialize, Serialize}; use lu_packets_derive::VariantTests; -use crate::common::{LuWString33, LuWString41, LuWString128, LuWString256, ServiceId}; +use crate::common::{LuWString128, LuWString256, LuWString33, LuWString41, ServiceId}; pub use crate::general::server::GeneralMessage; /// All messages that can be received by an auth server. diff --git a/src/chat/client/mod.rs b/src/chat/client/mod.rs index 54b40e63..47a28b48 100644 --- a/src/chat/client/mod.rs +++ b/src/chat/client/mod.rs @@ -1,9 +1,11 @@ use endio::{Deserialize, Serialize}; use lu_packets_derive::{MessageFromVariants, VariantTests}; -use crate::common::{LuWString33, ObjId}; -use crate::world::client::Message; pub use super::{GeneralChatMessage, PrivateChatMessage}; +use crate::{ + common::{LuWString33, ObjId}, + world::client::Message, +}; #[derive(Debug, Deserialize, PartialEq, Serialize, MessageFromVariants, VariantTests)] #[non_exhaustive] diff --git a/src/chat/mod.rs b/src/chat/mod.rs index d97b4dd1..64e582e2 100644 --- a/src/chat/mod.rs +++ b/src/chat/mod.rs @@ -2,11 +2,9 @@ pub mod client; pub mod server; -use std::io::{Read, Write}; -use std::io::Result as Res; +use std::io::{Read, Result as Res, Write}; -use endio::{Deserialize, LERead, LEWrite, Serialize}; -use endio::LittleEndian as LE; +use endio::{Deserialize, LERead, LEWrite, LittleEndian as LE, Serialize}; use crate::common::{LuVarWString, LuWString33, ObjId}; diff --git a/src/chat/server/mod.rs b/src/chat/server/mod.rs index 5b977fd8..36e173a7 100644 --- a/src/chat/server/mod.rs +++ b/src/chat/server/mod.rs @@ -1,9 +1,9 @@ use endio::{Deserialize, Serialize}; use lu_packets_derive::VariantTests; -use crate::common::{LuWString33, ObjId}; -pub use super::{GeneralChatMessage, PrivateChatMessage}; use super::ChatChannel; +pub use super::{GeneralChatMessage, PrivateChatMessage}; +use crate::common::{LuWString33, ObjId}; #[derive(Debug, Deserialize, PartialEq, Serialize, VariantTests)] #[post_disc_padding = 9] diff --git a/src/common/mod.rs b/src/common/mod.rs index fa9c3ec5..5e3957fb 100644 --- a/src/common/mod.rs +++ b/src/common/mod.rs @@ -1,13 +1,14 @@ //! Shared types. mod str; -use std::convert::{TryFrom, TryInto}; -use std::fmt::{Formatter, Debug}; -use std::io::{Read, Write}; -use std::io::Result as Res; -use std::marker::PhantomData; - -use endio::{Deserialize, LE, LERead, LEWrite, Serialize}; +use std::{ + convert::{TryFrom, TryInto}, + fmt::{Debug, Formatter}, + io::{Read, Result as Res, Write}, + marker::PhantomData, +}; + +use endio::{Deserialize, LERead, LEWrite, Serialize, LE}; pub use self::str::*; diff --git a/src/common/str/fixed.rs b/src/common/str/fixed.rs index 9d6c75ea..ce15daae 100644 --- a/src/common/str/fixed.rs +++ b/src/common/str/fixed.rs @@ -1,8 +1,9 @@ -use std::convert::TryFrom; -use std::io::{Read, Write}; -use std::io::Result as Res; +use std::{ + convert::TryFrom, + io::{Read, Result as Res, Write}, +}; -use endio::{Deserialize, LE, Serialize}; +use endio::{Deserialize, Serialize, LE}; use super::{AbstractLuStr, AsciiChar, AsciiError, LuChar, LuStrExt, Ucs2Char, Ucs2Error}; diff --git a/src/common/str/mod.rs b/src/common/str/mod.rs index 69ebf0a3..ca28aa16 100644 --- a/src/common/str/mod.rs +++ b/src/common/str/mod.rs @@ -3,8 +3,7 @@ mod variable; use endio::{Deserialize, Serialize}; -pub use self::fixed::*; -pub use self::variable::*; +pub use self::{fixed::*, variable::*}; pub trait LuChar { type Int; diff --git a/src/common/str/variable.rs b/src/common/str/variable.rs index edc0134d..2748db0b 100644 --- a/src/common/str/variable.rs +++ b/src/common/str/variable.rs @@ -1,8 +1,7 @@ -use std::convert::{TryFrom}; -use std::marker::PhantomData; +use std::{convert::TryFrom, marker::PhantomData}; -use crate::common::LVec; use super::{AsciiChar, AsciiError, LuStrExt, LuWStr, Ucs2Char, Ucs2Error}; +use crate::common::LVec; pub type LuVarString = LVec; pub type LuVarWString = LVec; diff --git a/src/lib.rs b/src/lib.rs index 528b7bc6..b6b250da 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -133,10 +133,10 @@ macro_rules! lu { }; } -pub mod raknet; pub mod auth; pub mod chat; pub mod common; pub mod general; -pub mod world; +pub mod raknet; pub mod unified; +pub mod world; diff --git a/src/raknet/client/replica/achievement_vendor.rs b/src/raknet/client/replica/achievement_vendor.rs index 42400459..2594226b 100644 --- a/src/raknet/client/replica/achievement_vendor.rs +++ b/src/raknet/client/replica/achievement_vendor.rs @@ -4,8 +4,7 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; -use super::vendor::VendorInfo; +use super::{vendor::VendorInfo, ComponentConstruction, ComponentProtocol, ComponentSerialization}; #[derive(BitVariantTests, Debug, PartialEq, ReplicaSerde)] pub struct AchievementVendorConstruction { diff --git a/src/raknet/client/replica/base_combat_ai.rs b/src/raknet/client/replica/base_combat_ai.rs index 6b17686b..a1b98b02 100644 --- a/src/raknet/client/replica/base_combat_ai.rs +++ b/src/raknet/client/replica/base_combat_ai.rs @@ -4,8 +4,8 @@ use endio::{Deserialize, Serialize}; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::ObjId; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::ObjId; #[derive(Debug, Deserialize, PartialEq, Serialize)] #[repr(u32)] diff --git a/src/raknet/client/replica/bbb.rs b/src/raknet/client/replica/bbb.rs index 8a9c25ef..a9eb3e0c 100644 --- a/src/raknet/client/replica/bbb.rs +++ b/src/raknet/client/replica/bbb.rs @@ -4,8 +4,8 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::ObjId; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::ObjId; #[derive(BitVariantTests, Debug, PartialEq, ReplicaSerde)] pub struct BbbConstruction { diff --git a/src/raknet/client/replica/buff.rs b/src/raknet/client/replica/buff.rs index 51426e2d..a361ca1f 100644 --- a/src/raknet/client/replica/buff.rs +++ b/src/raknet/client/replica/buff.rs @@ -1,11 +1,11 @@ use std::io::{Read, Result as Res, Write}; -use endio::{Deserialize, LE, LERead, LEWrite, Serialize}; +use endio::{Deserialize, LERead, LEWrite, Serialize, LE}; use endio_bit::{BEBitReader, BEBitWriter}; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; +use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization, ReplicaD}; use crate::common::{LVec, ObjId}; -use super::{ReplicaD, ComponentConstruction, ComponentProtocol, ComponentSerialization}; // so close to being able to do serialization automatically...if not for the irregularity with `added_by_teammate`... #[derive(Debug, PartialEq)] diff --git a/src/raknet/client/replica/character.rs b/src/raknet/client/replica/character.rs index 9708ba66..59070592 100644 --- a/src/raknet/client/replica/character.rs +++ b/src/raknet/client/replica/character.rs @@ -1,11 +1,11 @@ use std::io::{Error, ErrorKind::InvalidData, Read, Result as Res, Write}; -use endio::{Deserialize, LE, LERead, LEWrite, Serialize}; +use endio::{Deserialize, LERead, LEWrite, Serialize, LE}; use endio_bit::{BEBitReader, BEBitWriter}; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LuVarWString, ObjId}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::{LuVarWString, ObjId}; #[derive(Debug, PartialEq)] pub enum TransitionState { diff --git a/src/raknet/client/replica/controllable_physics.rs b/src/raknet/client/replica/controllable_physics.rs index f73192d0..8df608bc 100644 --- a/src/raknet/client/replica/controllable_physics.rs +++ b/src/raknet/client/replica/controllable_physics.rs @@ -1,12 +1,14 @@ -use std::io::{Result as Res}; +use std::io::Result as Res; use endio::{Deserialize, Serialize}; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::ObjId; -use crate::world::{Vector3, Quaternion}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::{ + common::ObjId, + world::{Quaternion, Vector3}, +}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct JetpackInfo { diff --git a/src/raknet/client/replica/destroyable.rs b/src/raknet/client/replica/destroyable.rs index 16722649..f564bede 100644 --- a/src/raknet/client/replica/destroyable.rs +++ b/src/raknet/client/replica/destroyable.rs @@ -1,11 +1,11 @@ use std::io::{Read, Result as Res, Write}; -use endio::{Deserialize, LE, LERead, LEWrite, Serialize}; +use endio::{Deserialize, LERead, LEWrite, Serialize, LE}; use endio_bit::{BEBitReader, BEBitWriter}; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::LVec; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::LVec; #[derive(Debug, Deserialize, PartialEq, Serialize)] pub struct StatusImmunityInfo { diff --git a/src/raknet/client/replica/donation_vendor.rs b/src/raknet/client/replica/donation_vendor.rs index c5b05170..e09b9f93 100644 --- a/src/raknet/client/replica/donation_vendor.rs +++ b/src/raknet/client/replica/donation_vendor.rs @@ -4,8 +4,7 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; -use super::vendor::VendorInfo; +use super::{vendor::VendorInfo, ComponentConstruction, ComponentProtocol, ComponentSerialization}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct DonationVendorInfo { diff --git a/src/raknet/client/replica/fx.rs b/src/raknet/client/replica/fx.rs index a1704bc3..bdeba14b 100644 --- a/src/raknet/client/replica/fx.rs +++ b/src/raknet/client/replica/fx.rs @@ -4,8 +4,8 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LuVarString, LuVarWString, LVec, ObjId}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::{LVec, LuVarString, LuVarWString, ObjId}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct EffectInfo { diff --git a/src/raknet/client/replica/inventory.rs b/src/raknet/client/replica/inventory.rs index 15a627b2..e175d6dd 100644 --- a/src/raknet/client/replica/inventory.rs +++ b/src/raknet/client/replica/inventory.rs @@ -4,10 +4,11 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LVec, ObjId}; -use crate::world::{LuNameValue, Lot, Quaternion, Vector3}; -use crate::world::gm::InventoryType; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::{ + common::{LVec, ObjId}, + world::{gm::InventoryType, Lot, LuNameValue, Quaternion, Vector3}, +}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct EquippedItemInfo { diff --git a/src/raknet/client/replica/item.rs b/src/raknet/client/replica/item.rs index b97d235a..491abfc4 100644 --- a/src/raknet/client/replica/item.rs +++ b/src/raknet/client/replica/item.rs @@ -4,8 +4,8 @@ use endio::{Deserialize, Serialize}; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LuVarWString, ObjId}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::{LuVarWString, ObjId}; #[derive(Debug, Deserialize, PartialEq, Serialize)] #[repr(u32)] diff --git a/src/raknet/client/replica/lup_exhibit.rs b/src/raknet/client/replica/lup_exhibit.rs index dc12296d..b347de61 100644 --- a/src/raknet/client/replica/lup_exhibit.rs +++ b/src/raknet/client/replica/lup_exhibit.rs @@ -4,8 +4,8 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::world::Lot; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::world::Lot; #[derive(BitVariantTests, Debug, PartialEq, ReplicaSerde)] pub struct LupExhibitConstruction { diff --git a/src/raknet/client/replica/mod.rs b/src/raknet/client/replica/mod.rs index a70f4505..0be16b46 100644 --- a/src/raknet/client/replica/mod.rs +++ b/src/raknet/client/replica/mod.rs @@ -6,19 +6,19 @@ pub mod buff; pub mod character; pub mod collectible; pub mod controllable_physics; -pub mod donation_vendor; pub mod destroyable; +pub mod donation_vendor; pub mod fx; pub mod inventory; pub mod item; pub mod level_progression; pub mod lup_exhibit; -pub mod mutable_model_behavior; pub mod module_assembly; pub mod moving_platform; +pub mod mutable_model_behavior; +pub mod pet; pub mod phantom_physics; pub mod player_forced_movement; -pub mod pet; pub mod possessable; pub mod possession_control; pub mod quickbuild; @@ -33,15 +33,19 @@ pub mod switch; pub mod vehicle_physics; pub mod vendor; -use std::fmt::Debug; -use std::io::{Read, Result as Res, Write}; +use std::{ + fmt::Debug, + io::{Read, Result as Res, Write}, +}; -use endio::{Deserialize, LE, LERead, LEWrite, Serialize}; +use endio::{Deserialize, LERead, LEWrite, Serialize, LE}; use endio_bit::{BEBitReader, BEBitWriter}; use lu_packets_derive::ReplicaSerde; -use crate::common::{ObjId, LuVarWString, LVec}; -use crate::world::{Lot, LuNameValue}; +use crate::{ + common::{LVec, LuVarWString, ObjId}, + world::{Lot, LuNameValue}, +}; trait ReplicaD: Sized { fn deserialize(reader: &mut BEBitReader) -> Res; diff --git a/src/raknet/client/replica/module_assembly.rs b/src/raknet/client/replica/module_assembly.rs index 4b5152ce..3fce01f7 100644 --- a/src/raknet/client/replica/module_assembly.rs +++ b/src/raknet/client/replica/module_assembly.rs @@ -4,8 +4,8 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LuVarWString, ObjId}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::{LuVarWString, ObjId}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct ModuleAssemblyInfo { diff --git a/src/raknet/client/replica/moving_platform.rs b/src/raknet/client/replica/moving_platform.rs index e4d3bbc3..b87dacd1 100644 --- a/src/raknet/client/replica/moving_platform.rs +++ b/src/raknet/client/replica/moving_platform.rs @@ -1,13 +1,11 @@ use std::io::{Read, Result as Res, Write}; -use endio::{Deserialize, LE, Serialize}; +use endio::{Deserialize, Serialize, LE}; use endio_bit::{BEBitReader, BEBitWriter}; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::LuVarWString; -use crate::world::Vector3; -use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization, ReplicaD}; -use super::simple_physics::PositionRotationInfo; +use super::{simple_physics::PositionRotationInfo, ComponentConstruction, ComponentProtocol, ComponentSerialization, ReplicaD}; +use crate::{common::LuVarWString, world::Vector3}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct PlatformMoverInfo { diff --git a/src/raknet/client/replica/mutable_model_behavior.rs b/src/raknet/client/replica/mutable_model_behavior.rs index 08088472..b564dc56 100644 --- a/src/raknet/client/replica/mutable_model_behavior.rs +++ b/src/raknet/client/replica/mutable_model_behavior.rs @@ -4,9 +4,11 @@ use endio::{Deserialize, Serialize}; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::ObjId; -use crate::world::{Vector3, Quaternion}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::{ + common::ObjId, + world::{Quaternion, Vector3}, +}; #[derive(Debug, Deserialize, PartialEq, Serialize)] #[repr(i32)] diff --git a/src/raknet/client/replica/pet.rs b/src/raknet/client/replica/pet.rs index 6064c8ec..da548da3 100644 --- a/src/raknet/client/replica/pet.rs +++ b/src/raknet/client/replica/pet.rs @@ -4,9 +4,11 @@ use endio::{Deserialize, Serialize}; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LuVarWString, ObjId}; -use crate::world::gm::client::{PetAbilityType, PetModerationStatus}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::{ + common::{LuVarWString, ObjId}, + world::gm::client::{PetAbilityType, PetModerationStatus}, +}; #[derive(Debug, Deserialize, PartialEq, Serialize)] #[repr(u8)] diff --git a/src/raknet/client/replica/phantom_physics.rs b/src/raknet/client/replica/phantom_physics.rs index 108e6685..fe3c5676 100644 --- a/src/raknet/client/replica/phantom_physics.rs +++ b/src/raknet/client/replica/phantom_physics.rs @@ -1,12 +1,11 @@ -use std::io::{Result as Res}; +use std::io::Result as Res; use endio::{Deserialize, Serialize}; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; +use super::{simple_physics::PositionRotationInfo, ComponentConstruction, ComponentProtocol, ComponentSerialization}; use crate::world::Vector3; -use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; -use super::simple_physics::PositionRotationInfo; #[derive(Debug, Deserialize, PartialEq, Serialize)] #[repr(u32)] diff --git a/src/raknet/client/replica/possessable.rs b/src/raknet/client/replica/possessable.rs index dffe0106..c29c2920 100644 --- a/src/raknet/client/replica/possessable.rs +++ b/src/raknet/client/replica/possessable.rs @@ -4,8 +4,8 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::ObjId; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::ObjId; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct PossessableInfo { diff --git a/src/raknet/client/replica/possession_control.rs b/src/raknet/client/replica/possession_control.rs index 591d2a85..c420c2aa 100644 --- a/src/raknet/client/replica/possession_control.rs +++ b/src/raknet/client/replica/possession_control.rs @@ -4,8 +4,8 @@ use endio::{Deserialize, Serialize}; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::ObjId; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::ObjId; #[derive(Debug, Deserialize, PartialEq, Serialize)] #[repr(u8)] diff --git a/src/raknet/client/replica/quickbuild.rs b/src/raknet/client/replica/quickbuild.rs index fded140d..069cecee 100644 --- a/src/raknet/client/replica/quickbuild.rs +++ b/src/raknet/client/replica/quickbuild.rs @@ -4,11 +4,11 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::LVec; -use crate::world::Vector3; -use crate::world::gm::client::RebuildChallengeState; -use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; -use super::scripted_activity::ActivityUserInfo; +use super::{scripted_activity::ActivityUserInfo, ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::{ + common::LVec, + world::{gm::client::RebuildChallengeState, Vector3}, +}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct QuickbuildConstructionInfo { diff --git a/src/raknet/client/replica/racing_control.rs b/src/raknet/client/replica/racing_control.rs index 32abc795..bfa787b0 100644 --- a/src/raknet/client/replica/racing_control.rs +++ b/src/raknet/client/replica/racing_control.rs @@ -1,12 +1,11 @@ use std::io::{Read, Result as Res, Write}; -use endio::{Deserialize, LE, Serialize}; +use endio::{Deserialize, Serialize, LE}; use endio_bit::{BEBitReader, BEBitWriter}; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LuVarWString, LVec, ObjId}; -use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization, ReplicaD}; -use super::scripted_activity::ActivityUserInfo; +use super::{scripted_activity::ActivityUserInfo, ComponentConstruction, ComponentProtocol, ComponentSerialization, ReplicaD}; +use crate::common::{LVec, LuVarWString, ObjId}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct PreRacePlayerInfo { diff --git a/src/raknet/client/replica/rigid_body_phantom_physics.rs b/src/raknet/client/replica/rigid_body_phantom_physics.rs index 09f21e33..d1a234a4 100644 --- a/src/raknet/client/replica/rigid_body_phantom_physics.rs +++ b/src/raknet/client/replica/rigid_body_phantom_physics.rs @@ -4,8 +4,7 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; -use super::simple_physics::PositionRotationInfo; +use super::{simple_physics::PositionRotationInfo, ComponentConstruction, ComponentProtocol, ComponentSerialization}; #[derive(BitVariantTests, Debug, PartialEq, ReplicaSerde)] pub struct RigidBodyPhantomPhysicsConstruction { diff --git a/src/raknet/client/replica/script.rs b/src/raknet/client/replica/script.rs index febb6b1e..642dfdb8 100644 --- a/src/raknet/client/replica/script.rs +++ b/src/raknet/client/replica/script.rs @@ -4,8 +4,8 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::world::LuNameValue; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::world::LuNameValue; #[derive(BitVariantTests, Debug, PartialEq, ReplicaSerde)] pub struct ScriptConstruction { diff --git a/src/raknet/client/replica/scripted_activity.rs b/src/raknet/client/replica/scripted_activity.rs index f57b25db..9c678717 100644 --- a/src/raknet/client/replica/scripted_activity.rs +++ b/src/raknet/client/replica/scripted_activity.rs @@ -4,8 +4,8 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LVec, ObjId}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::{LVec, ObjId}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct ActivityUserInfo { diff --git a/src/raknet/client/replica/shooting_gallery.rs b/src/raknet/client/replica/shooting_gallery.rs index d74b5fae..31c9cdc7 100644 --- a/src/raknet/client/replica/shooting_gallery.rs +++ b/src/raknet/client/replica/shooting_gallery.rs @@ -4,10 +4,11 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LVec, ObjId}; -use crate::world::Vector3; -use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; -use super::scripted_activity::ActivityUserInfo; +use super::{scripted_activity::ActivityUserInfo, ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::{ + common::{LVec, ObjId}, + world::Vector3, +}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct ShootingGalleryInfo { diff --git a/src/raknet/client/replica/simple_physics.rs b/src/raknet/client/replica/simple_physics.rs index 6072e606..8f7a94bb 100644 --- a/src/raknet/client/replica/simple_physics.rs +++ b/src/raknet/client/replica/simple_physics.rs @@ -4,8 +4,8 @@ use endio::{Deserialize, Serialize}; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::world::{Vector3, Quaternion}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::world::{Quaternion, Vector3}; #[derive(Debug, Deserialize, PartialEq, Serialize)] #[repr(u32)] diff --git a/src/raknet/client/replica/skill.rs b/src/raknet/client/replica/skill.rs index 4a62612f..7d1c2126 100644 --- a/src/raknet/client/replica/skill.rs +++ b/src/raknet/client/replica/skill.rs @@ -4,8 +4,8 @@ use endio::Serialize; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::common::{LVec, ObjId}; use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::common::{LVec, ObjId}; #[derive(Debug, PartialEq, ReplicaSerde)] pub struct BehaviorInfo { diff --git a/src/raknet/client/replica/vehicle_physics.rs b/src/raknet/client/replica/vehicle_physics.rs index d9806d3c..356b1f3a 100644 --- a/src/raknet/client/replica/vehicle_physics.rs +++ b/src/raknet/client/replica/vehicle_physics.rs @@ -1,12 +1,11 @@ -use std::io::{Result as Res}; +use std::io::Result as Res; use endio::{Deserialize, Serialize}; use endio_bit::BEBitWriter; use lu_packets_derive::{BitVariantTests, ReplicaSerde}; -use crate::world::{Vector3, Quaternion}; -use super::{ComponentConstruction, ComponentProtocol, ComponentSerialization}; -use super::controllable_physics::{LocalSpaceInfo}; +use super::{controllable_physics::LocalSpaceInfo, ComponentConstruction, ComponentProtocol, ComponentSerialization}; +use crate::world::{Quaternion, Vector3}; #[derive(Debug, Deserialize, PartialEq, Serialize)] #[repr(u8)] diff --git a/src/raknet/server/mod.rs b/src/raknet/server/mod.rs index 54e307a9..4fcd60aa 100644 --- a/src/raknet/server/mod.rs +++ b/src/raknet/server/mod.rs @@ -1,9 +1,7 @@ //! Server-received raknet messages. -use std::io::{Read, Write}; -use std::io::Result as Res; +use std::io::{Read, Result as Res, Write}; -use endio::{Deserialize, Serialize}; -use endio::LittleEndian as LE; +use endio::{Deserialize, LittleEndian as LE, Serialize}; use lu_packets_derive::VariantTests; use super::SystemAddress; diff --git a/src/unified/mod.rs b/src/unified/mod.rs index 93fdbced..09fa4080 100644 --- a/src/unified/mod.rs +++ b/src/unified/mod.rs @@ -1,18 +1,25 @@ -use crate::auth::client::LoginResponse; -use crate::auth::server::AuthMessage; -use crate::chat::client::AchievementNotify; -use crate::chat::server::{AddFriendRequest as ChatAddFriendRequest, AddFriendResponse as ChatAddFriendResponse, AddIgnore, RequestMinimumChatMode, RequestMinimumChatModePrivate, TeamInvite as ChatTeamInvite, TeamInviteResponse, TeamLeave}; -use crate::chat::{GeneralChatMessage, PrivateChatMessage}; -use crate::common::ServiceId; -use crate::general::client::GeneralMessage; -use crate::raknet::client::{ - replica::{ReplicaConstruction, ReplicaSerialization}, - ConnectedPong, ConnectionRequestAccepted, +use crate::{ + auth::{client::LoginResponse, server::AuthMessage}, + chat::{ + client::AchievementNotify, + server::{AddFriendRequest as ChatAddFriendRequest, AddFriendResponse as ChatAddFriendResponse, AddIgnore, RequestMinimumChatMode, RequestMinimumChatModePrivate, TeamInvite as ChatTeamInvite, TeamInviteResponse, TeamLeave}, + GeneralChatMessage, PrivateChatMessage, + }, + common::ServiceId, + general::client::GeneralMessage, + raknet::{ + client::{ + replica::{ReplicaConstruction, ReplicaSerialization}, + ConnectedPong, ConnectionRequestAccepted, + }, + server::{ConnectionRequest, InternalPing, NewIncomingConnection}, + }, + world::{ + client::{AddFriendRequest, AddFriendResponse, BlueprintLoadItemResponse, BlueprintSaveResponse, CharacterCreateResponse, CharacterDeleteResponse, CharacterListResponse, ChatModerationString, CreateCharacter, FriendUpdateNotify, GetFriendsListResponse, GetIgnoreListResponse, LoadStaticZone, MinimumChatModeResponse, MinimumChatModeResponsePrivate, TeamInvite, TransferToWorld, UpdateFreeTrialStatus}, + gm::client::SubjectGameMessage, + server::WorldMessage, + }, }; -use crate::raknet::server::{ConnectionRequest, InternalPing, NewIncomingConnection}; -use crate::world::client::{AddFriendRequest, AddFriendResponse, BlueprintLoadItemResponse, BlueprintSaveResponse, CharacterCreateResponse, CharacterDeleteResponse, CharacterListResponse, ChatModerationString, CreateCharacter, FriendUpdateNotify, GetFriendsListResponse, GetIgnoreListResponse, LoadStaticZone, MinimumChatModeResponse, MinimumChatModeResponsePrivate, TeamInvite, TransferToWorld, UpdateFreeTrialStatus}; -use crate::world::gm::client::SubjectGameMessage; -use crate::world::server::WorldMessage; use endio::{Deserialize, Serialize}; use lu_packets_derive::MessageFromVariants; diff --git a/src/world/amf3.rs b/src/world/amf3.rs index d09c1418..da06f68d 100644 --- a/src/world/amf3.rs +++ b/src/world/amf3.rs @@ -1,12 +1,14 @@ //! (De-)serialization support for the [AMF3 format](https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/amf-file-format-spec.pdf). -use std::borrow::Borrow; -use std::collections::HashMap; -use std::convert::{TryFrom, TryInto}; -use std::fmt::{Debug, Formatter, Result as FmtResult}; -use std::io::{Error, ErrorKind::InvalidData, Read, Result as Res, Write}; -use std::ops::{Index, IndexMut}; - -use endio::{Deserialize, LE, LERead, LEWrite, Serialize}; +use std::{ + borrow::Borrow, + collections::HashMap, + convert::{TryFrom, TryInto}, + fmt::{Debug, Formatter, Result as FmtResult}, + io::{Error, ErrorKind::InvalidData, Read, Result as Res, Write}, + ops::{Index, IndexMut}, +}; + +use endio::{Deserialize, LERead, LEWrite, Serialize, LE}; use lu_packets_derive::GmParam; struct Amf3Reader<'a, R: Read> { @@ -393,8 +395,8 @@ impl TryFrom<&str> for Amf3 { #[cfg(test)] mod tests { - use endio::{LERead, LEWrite}; use super::U29; + use endio::{LERead, LEWrite}; #[test] fn test_u29() { diff --git a/src/world/client/mod.rs b/src/world/client/mod.rs index 81138021..a8f3e950 100644 --- a/src/world/client/mod.rs +++ b/src/world/client/mod.rs @@ -1,17 +1,15 @@ //! Client-received world messages. -use std::io::{Error, ErrorKind::InvalidData, Read, Write}; -use std::io::Result as Res; +use std::io::{Error, ErrorKind::InvalidData, Read, Result as Res, Write}; -use endio::{Deserialize, LERead, LEWrite, Serialize}; -use endio::LittleEndian as LE; +use endio::{Deserialize, LERead, LEWrite, LittleEndian as LE, Serialize}; use lu_packets_derive::{MessageFromVariants, VariantTests}; -use crate::chat::ChatChannel; -use crate::chat::client::ChatMessage; -use crate::common::{ObjId, LuString33, LuWString33, LuWString42, LVec, ServiceId}; -use crate::general::client::{DisconnectNotify, Handshake, GeneralMessage}; -use super::{Lot, lnv::LuNameValue, Vector3, ZoneId}; -use super::gm::client::SubjectGameMessage; +use super::{gm::client::SubjectGameMessage, lnv::LuNameValue, Lot, Vector3, ZoneId}; +use crate::{ + chat::{client::ChatMessage, ChatChannel}, + common::{LVec, LuString33, LuWString33, LuWString42, ObjId, ServiceId}, + general::client::{DisconnectNotify, GeneralMessage, Handshake}, +}; /// All messages that can be received by a client from a world server. pub type Message = crate::raknet::client::Message; diff --git a/src/world/gm/client/mod.rs b/src/world/gm/client/mod.rs index baee9407..6a7ca0c5 100644 --- a/src/world/gm/client/mod.rs +++ b/src/world/gm/client/mod.rs @@ -5,10 +5,9 @@ use lu_packets_derive::{FromVariants, GameMessage, GmParam, VariantTests}; use crate::common::{ObjId, OBJID_EMPTY}; -use crate::world::{CloneId, CLONE_ID_INVALID, Lot, LOT_NULL, LuNameValue, MapId, MAP_ID_INVALID, Quaternion, Vector3, ZoneId}; -use crate::world::amf3::Amf3; -pub use super::{EquipInventory, InventoryType, KillType, UnEquipInventory, LootType, MissionState, PetNotificationType, MoveItemInInventory, MoveInventoryBatch, RemoveSkill, RemoveItemFromInventory, SetIgnoreProjectileCollision, ModifyPlayerZoneStatistic}; +pub use super::{EquipInventory, InventoryType, KillType, LootType, MissionState, ModifyPlayerZoneStatistic, MoveInventoryBatch, MoveItemInInventory, PetNotificationType, RemoveItemFromInventory, RemoveSkill, SetIgnoreProjectileCollision, UnEquipInventory}; use super::{GmString, GmWString}; +use crate::world::{amf3::Amf3, CloneId, Lot, LuNameValue, MapId, Quaternion, Vector3, ZoneId, CLONE_ID_INVALID, LOT_NULL, MAP_ID_INVALID}; #[derive(Debug, Deserialize, PartialEq, Serialize)] pub struct SubjectGameMessage { diff --git a/src/world/gm/mod.rs b/src/world/gm/mod.rs index fd987a1e..d8028b18 100644 --- a/src/world/gm/mod.rs +++ b/src/world/gm/mod.rs @@ -1,15 +1,16 @@ pub mod client; pub mod server; -use std::io::{Read, Write}; -use std::io::Result as Res; +use std::io::{Read, Result as Res, Write}; use endio::{Deserialize, LERead, LEWrite, Serialize}; use lu_packets_derive::{GameMessage, GmParam}; -use crate::common::{LuVarString, LuVarWString, ObjId, OBJID_EMPTY}; -use crate::world::{LuNameValue, MapId, MAP_ID_INVALID}; use super::{Lot, LOT_NULL}; +use crate::{ + common::{LuVarString, LuVarWString, ObjId, OBJID_EMPTY}, + world::{LuNameValue, MapId, MAP_ID_INVALID}, +}; type GmString = LuVarString; type GmWString = LuVarWString; diff --git a/src/world/gm/server/mod.rs b/src/world/gm/server/mod.rs index aeeaf1c3..78e09b33 100644 --- a/src/world/gm/server/mod.rs +++ b/src/world/gm/server/mod.rs @@ -5,10 +5,9 @@ use lu_packets_derive::{GameMessage, GmParam, VariantTests}; use crate::common::{ObjId, OBJID_EMPTY}; -use crate::world::{Lot, LOT_NULL, Quaternion, Vector3}; -use crate::world::amf3::Amf3; -pub use super::{EquipInventory, InventoryType, KillType, UnEquipInventory, MissionState, PetNotificationType, MoveItemInInventory, MoveInventoryBatch, RemoveItemFromInventory, SetIgnoreProjectileCollision, ModifyPlayerZoneStatistic}; +pub use super::{EquipInventory, InventoryType, KillType, MissionState, ModifyPlayerZoneStatistic, MoveInventoryBatch, MoveItemInInventory, PetNotificationType, RemoveItemFromInventory, SetIgnoreProjectileCollision, UnEquipInventory}; use super::{GmString, GmWString}; +use crate::world::{amf3::Amf3, Lot, Quaternion, Vector3, LOT_NULL}; #[derive(Debug, Deserialize, PartialEq, Serialize)] pub struct SubjectGameMessage { diff --git a/src/world/lnv.rs b/src/world/lnv.rs index 1fb4c872..a57bd0fc 100644 --- a/src/world/lnv.rs +++ b/src/world/lnv.rs @@ -1,13 +1,14 @@ //! LU name value datatype. -use std::collections::HashMap; -use std::convert::{TryFrom, TryInto}; -use std::io::{Read, Write}; -use std::io::Result as Res; +use std::{ + collections::HashMap, + convert::{TryFrom, TryInto}, + io::{Read, Result as Res, Write}, +}; -use flate2::{Compression, read::ZlibDecoder, write::ZlibEncoder}; +use flate2::{read::ZlibDecoder, write::ZlibEncoder, Compression}; -use endio::{Deserialize, LE, LERead, LEWrite, Serialize}; use super::gm::GmParam; +use endio::{Deserialize, LERead, LEWrite, Serialize, LE}; use crate::common::{LuStrExt, LuVarString, LuVarWString, LuWStr}; diff --git a/src/world/mod.rs b/src/world/mod.rs index 39ceeda9..5496f448 100644 --- a/src/world/mod.rs +++ b/src/world/mod.rs @@ -1,15 +1,15 @@ //! World messages. +pub mod amf3; pub mod client; pub mod gm; -pub mod amf3; mod lnv; pub mod server; use std::cmp::PartialEq; use endio::{Deserialize, Serialize}; -use lu_packets_derive::GmParam; pub use lnv::*; +use lu_packets_derive::GmParam; pub type Lot = u32; const LOT_NULL: Lot = -1i32 as Lot; diff --git a/src/world/server/mod.rs b/src/world/server/mod.rs index d72d7ece..2e7ec79d 100644 --- a/src/world/server/mod.rs +++ b/src/world/server/mod.rs @@ -1,21 +1,19 @@ //! Server-received world messages. pub mod mail; -use std::io::{Read, Write}; -use std::io::Result as Res; +use std::io::{Read, Result as Res, Write}; -use endio::{Deserialize, LERead, LEWrite, Serialize}; -use endio::LittleEndian as LE; +use endio::{Deserialize, LERead, LEWrite, LittleEndian as LE, Serialize}; use endio_bit::{BEBitReader, BEBitWriter}; use lu_packets_derive::VariantTests; -use crate::common::{ObjId, LuVarWString, LuWString33, LuWString42, ServiceId}; -use crate::chat::ChatChannel; -use crate::chat::server::ChatMessage; -use crate::raknet::client::replica::controllable_physics::FrameStats; -use super::ZoneId; -use super::gm::server::SubjectGameMessage; use self::mail::Mail; +use super::{gm::server::SubjectGameMessage, ZoneId}; +use crate::{ + chat::{server::ChatMessage, ChatChannel}, + common::{LuVarWString, LuWString33, LuWString42, ObjId, ServiceId}, + raknet::client::replica::controllable_physics::FrameStats, +}; pub use crate::general::server::GeneralMessage;