From ca6e9cccacb5f5c2be8ca2894c5098f8cff9e19b Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 2 Mar 2025 17:22:23 -0500 Subject: [PATCH] Move structures to top-level module --- src/property/map_property.rs | 2 +- src/save_object/persistent.rs | 5 +- src/save_object/slot.rs | 5 +- src/structure/mod.rs | 108 ++++++++++++++++++++-------------- 4 files changed, 67 insertions(+), 53 deletions(-) diff --git a/src/property/map_property.rs b/src/property/map_property.rs index 6cc26fd..d340a04 100644 --- a/src/property/map_property.rs +++ b/src/property/map_property.rs @@ -2,7 +2,7 @@ use binrw::{BinRead, BinResult, binrw}; use crate::{ common::{read_bool_from, read_string_with_length, write_bool_as, write_string_with_length}, - structure::{Struct, guid::Guid}, + structure::{Guid, Struct}, }; use super::{GenericProperty, PropertyBase}; diff --git a/src/save_object/persistent.rs b/src/save_object/persistent.rs index 2238fa5..93f7d90 100644 --- a/src/save_object/persistent.rs +++ b/src/save_object/persistent.rs @@ -5,10 +5,7 @@ use crate::{ BoolProperty, IntProperty, NameProperty, StrProperty, array_property::ArrayProperty, map_property::MapProperty, set_property::SetProperty, }, - structure::{ - build_data::DABuildDataStruct, da_tuning_point_data::DATuningPointData, - transform::TransformStruct, - }, + structure::{DABuildDataStruct, DATuningPointData, TransformStruct}, }; #[paramacro::serialized_struct("Transform")] diff --git a/src/save_object/slot.rs b/src/save_object/slot.rs index c5518df..a2e303f 100644 --- a/src/save_object/slot.rs +++ b/src/save_object/slot.rs @@ -1,9 +1,6 @@ use crate::{ property::{BoolProperty, FloatProperty, IntProperty, NameProperty, StrProperty}, - structure::{ - da_load_option::DALoadOptionStruct, datetime::DateTimeStruct, - save_slot_info::SaveSlotInfoStruct, - }, + structure::{DALoadOptionStruct, DateTimeStruct, SaveSlotInfoStruct}, }; #[paramacro::serialized_struct("Transform")] diff --git a/src/structure/mod.rs b/src/structure/mod.rs index 1a8d554..dc5cbde 100644 --- a/src/structure/mod.rs +++ b/src/structure/mod.rs @@ -1,53 +1,73 @@ use binrw::{BinRead, BinResult, BinWrite, binrw}; -use build_data::DABuildDataStruct; -use da_assemble_id_data::DAAssembleIdDataStruct; -use da_customize_asset_id::DACustomizeAssetIdDataStruct; -use da_humanoid_coloring_data::DAHumanoidColoringDataStruct; -use da_humanoid_figure_data::DAHumanoidFigureData; -use da_load_option::DALoadOptionStruct; -use da_machine_coloring_data::DAMachineColoringDataStruct; -use da_module_color::DAModuleColorStruct; -use da_module_item_data::DAModuleItemDataStruct; -use da_trigger_data::DATriggerDataStruct; -use da_tuning_data::DATuningDataStruct; -use da_tuning_point_data::DATuningPointData; -use datetime::DateTimeStruct; -use guid::Guid; -use linear_color::LinearColorStruct; -use primary_asset_id::PrimaryAssetIdStruct; -use primary_asset_type::PrimaryAssetTypeStruct; -use quat::QuatStruct; -use save_slot_info::SaveSlotInfoStruct; use std::fmt::Debug; -use transform::TransformStruct; -use vector::VectorStruct; use crate::{ common::{read_string_with_length, write_string_with_length}, property::PropertyBase, }; -pub mod build_data; -pub mod da_assemble_id_data; -pub mod da_customize_asset_id; -pub mod da_humanoid_coloring_data; -pub mod da_humanoid_figure_data; -pub mod da_load_option; -pub mod da_machine_coloring_data; -pub mod da_module_color; -pub mod da_module_item_data; -pub mod da_trigger_data; -pub mod da_tuning_data; -pub mod da_tuning_point_data; -pub mod datetime; -pub mod guid; -pub mod linear_color; -pub mod primary_asset_id; -pub mod primary_asset_type; -pub mod quat; -pub mod save_slot_info; -pub mod transform; -pub mod vector; +mod build_data; +pub use self::build_data::DABuildDataStruct; + +mod da_assemble_id_data; +pub use self::da_assemble_id_data::DAAssembleIdDataStruct; + +mod da_customize_asset_id; +pub use self::da_customize_asset_id::DACustomizeAssetIdDataStruct; + +mod da_humanoid_coloring_data; +pub use self::da_humanoid_coloring_data::DAHumanoidColoringDataStruct; + +mod da_humanoid_figure_data; +pub use self::da_humanoid_figure_data::DAHumanoidFigureData; + +mod da_load_option; +pub use self::da_load_option::DALoadOptionStruct; + +mod da_machine_coloring_data; +pub use self::da_machine_coloring_data::DAMachineColoringDataStruct; + +mod da_module_color; +pub use self::da_module_color::DAModuleColorStruct; + +mod da_module_item_data; +pub use self::da_module_item_data::DAModuleItemDataStruct; + +mod da_trigger_data; +pub use self::da_trigger_data::DATriggerDataStruct; + +mod da_tuning_data; +pub use self::da_tuning_data::DATuningDataStruct; + +mod da_tuning_point_data; +pub use self::da_tuning_point_data::DATuningPointData; + +mod datetime; +pub use self::datetime::DateTimeStruct; + +mod guid; +pub use self::guid::Guid; + +mod linear_color; +pub use self::linear_color::LinearColorStruct; + +mod primary_asset_id; +pub use self::primary_asset_id::PrimaryAssetIdStruct; + +mod primary_asset_type; +pub use self::primary_asset_type::PrimaryAssetTypeStruct; + +mod quat; +pub use self::quat::QuatStruct; + +mod save_slot_info; +pub use self::save_slot_info::SaveSlotInfoStruct; + +mod transform; +pub use self::transform::TransformStruct; + +mod vector; +pub use self::vector::VectorStruct; #[binrw] #[derive(Debug)] @@ -140,7 +160,7 @@ pub(crate) fn calc_size_in_bytes(r#struct: &Struct) -> u32 { #[binrw] #[derive(Debug)] -pub struct StructFieldPrelude { +pub(crate) struct StructFieldPrelude { #[br(parse_with = read_string_with_length)] #[bw(write_with = write_string_with_length)] pub property_name: String, @@ -152,7 +172,7 @@ pub struct StructFieldPrelude { #[binrw] #[derive(Debug)] -pub struct StructPrelude { +pub(crate) struct StructPrelude { pub size_in_bytes: u32, #[brw(pad_before = 4)] #[br(parse_with = read_string_with_length)]