diff --git a/src/global_tables/objects.rs b/src/global_tables/objects.rs index 9e39cc0..99e475a 100644 --- a/src/global_tables/objects.rs +++ b/src/global_tables/objects.rs @@ -144,6 +144,10 @@ impl ObjectArray { self.inner.num_elements as usize } + pub fn get(&self, i: usize) -> Option<&ObjectArrayItem> { + self.inner.get_index(i) + } + pub fn iter(&self) -> iter::ObjectArrayIterator<'_, Object> { iter::ObjectArrayIterator::new(self) } diff --git a/src/helper_types.rs b/src/helper_types.rs index ac8ef45..93462dc 100644 --- a/src/helper_types.rs +++ b/src/helper_types.rs @@ -19,6 +19,7 @@ pub struct TPersistentObjectPtr { } pub type TLazyObjectPtr = TPersistentObjectPtr; +pub type TAssetPtr = TPersistentObjectPtr; pub type TSoftObjectPtr = TPersistentObjectPtr; #[repr(C)] diff --git a/src/lib.rs b/src/lib.rs index 7182212..2c228c1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -421,7 +421,8 @@ pub mod sdk { let param = MethodParameter { name: prop .get_name() - .context("failed to get parameter name")?, + .context("failed to get parameter name")? + .to_lowercase(), ty, }; @@ -561,6 +562,8 @@ pub mod sdk { .into_par_iter() .map(|pkg| pkg.process()) .map(|pkg| (pkg.package, pkg)) + // filter out empty packages + .filter(|(_, pkg)| !pkg.types.is_empty()) .collect(); Self { packages } diff --git a/src/v2_types/mod.rs b/src/v2_types/mod.rs index 9fdca4a..fcd5490 100644 --- a/src/v2_types/mod.rs +++ b/src/v2_types/mod.rs @@ -128,13 +128,13 @@ bitflags! { const ArchetypeObject = 0x00000020; const Transient = 0x00000040; const MarkAsRootSet = 0x00000080; - const TagGarbageTemp = 0x00000100; - const NeedInitialization = 0x00000200; + const Unreachable = 0x00000100; + const TagGarbageTemp = 0x00000200; const NeedLoad = 0x00000400; - const KeepForCooker = 0x00000800; + const AsyncLoading = 0x00000800; const NeedPostLoad = 0x00001000; const NeedPostLoadSubobjects = 0x00002000; - const NewerVersionExists = 0x00004000; + const PendingKill = 0x00004000; const BeginDestroyed = 0x00008000; const FinishDestroyed = 0x00010000; const BeingRegenerated = 0x00020000; @@ -142,6 +142,7 @@ bitflags! { const WasLoaded = 0x00080000; const TextExportTransient = 0x00100000; const LoadCompleted = 0x00200000; + // not existant for 4.5.1 / ARK const InheritableComponentTemplate = 0x00400000; const DuplicateTransient = 0x00800000; const StrongRefOnFrame = 0x01000000;