ireko/src/struct_property.rs
2025-02-19 19:34:13 -05:00

51 lines
1.6 KiB
Rust

use crate::structs::{
DAAssembleIdDataStruct, DABuildDataStruct, DACharacterCommonStatusStruct, DALoadOptionStruct,
DAMachineColoringDataStruct, DAModuleColorStruct, DAModuleItemDataStruct, DateTimeStruct,
GuidStruct, LinearColorStruct, ParamsStruct, PrimaryAssetIdStruct, PrimaryAssetTypeStruct,
SaveSlotInfoStruct,
};
use binrw::binrw;
#[binrw]
#[derive(Debug)]
pub enum Struct {
#[br(magic = b"DateTime\0")]
DateTime(DateTimeStruct),
#[br(magic = b"DALoadOption\0")]
DALoadOption(DALoadOptionStruct),
#[br(magic = b"SaveSlotInfo\0")]
SaveSlotInfo(SaveSlotInfoStruct),
#[br(magic = b"DACharacterCommonStatus\0")]
DACharacterCommonStatus(DACharacterCommonStatusStruct),
#[br(magic = b"Params\0")]
Params(ParamsStruct),
#[br(magic = b"PrimaryAssetType\0")]
PrimaryAssetType(PrimaryAssetTypeStruct),
#[br(magic = b"PrimaryAssetId\0")]
PrimaryAssetId(PrimaryAssetIdStruct),
#[br(magic = b"DAModuleItemData\0")]
DAModuleItemData(DAModuleItemDataStruct),
#[br(magic = b"DABuildData\0")]
DABuildData(DABuildDataStruct),
#[br(magic = b"DAAssembleIdData\0")]
DAAssembleIdData(DAAssembleIdDataStruct),
#[br(magic = b"Guid\0")]
Guid(GuidStruct),
#[br(magic = b"DAMachineColoringData\0")]
DAMachineColoringData(DAMachineColoringDataStruct),
#[br(magic = b"DAModuleColor\0")]
DAModuleColor(DAModuleColorStruct),
#[br(magic = b"LinearColor\0")]
LinearColor(LinearColorStruct),
}
#[binrw]
#[derive(Debug)]
pub struct StructProperty {
pub unk: u32,
#[br(temp)]
#[bw(ignore)]
#[br(pad_before = 4)]
pub name_length: u32,
pub r#struct: Struct,
}