fixes
- get by index for objectarray - tassetptr type - lowercase function parameters to avoid aliasing with type names - filter out empty packages - fix objectflags for ark/ue4.5
This commit is contained in:
parent
0987e57963
commit
813b0bdaf6
|
@ -144,6 +144,10 @@ impl<Object: Sized> ObjectArray<Object> {
|
||||||
self.inner.num_elements as usize
|
self.inner.num_elements as usize
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn get(&self, i: usize) -> Option<&ObjectArrayItem<Object>> {
|
||||||
|
self.inner.get_index(i)
|
||||||
|
}
|
||||||
|
|
||||||
pub fn iter(&self) -> iter::ObjectArrayIterator<'_, Object> {
|
pub fn iter(&self) -> iter::ObjectArrayIterator<'_, Object> {
|
||||||
iter::ObjectArrayIterator::new(self)
|
iter::ObjectArrayIterator::new(self)
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ pub struct TPersistentObjectPtr<T, P> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub type TLazyObjectPtr<T> = TPersistentObjectPtr<T, [u8; 0x10]>;
|
pub type TLazyObjectPtr<T> = TPersistentObjectPtr<T, [u8; 0x10]>;
|
||||||
|
pub type TAssetPtr<T> = TPersistentObjectPtr<T, [u8; 0x10]>;
|
||||||
pub type TSoftObjectPtr<T> = TPersistentObjectPtr<T, FSoftObjectPath>;
|
pub type TSoftObjectPtr<T> = TPersistentObjectPtr<T, FSoftObjectPath>;
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
|
|
|
@ -421,7 +421,8 @@ pub mod sdk {
|
||||||
let param = MethodParameter {
|
let param = MethodParameter {
|
||||||
name: prop
|
name: prop
|
||||||
.get_name()
|
.get_name()
|
||||||
.context("failed to get parameter name")?,
|
.context("failed to get parameter name")?
|
||||||
|
.to_lowercase(),
|
||||||
ty,
|
ty,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -561,6 +562,8 @@ pub mod sdk {
|
||||||
.into_par_iter()
|
.into_par_iter()
|
||||||
.map(|pkg| pkg.process())
|
.map(|pkg| pkg.process())
|
||||||
.map(|pkg| (pkg.package, pkg))
|
.map(|pkg| (pkg.package, pkg))
|
||||||
|
// filter out empty packages
|
||||||
|
.filter(|(_, pkg)| !pkg.types.is_empty())
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
Self { packages }
|
Self { packages }
|
||||||
|
|
|
@ -128,13 +128,13 @@ bitflags! {
|
||||||
const ArchetypeObject = 0x00000020;
|
const ArchetypeObject = 0x00000020;
|
||||||
const Transient = 0x00000040;
|
const Transient = 0x00000040;
|
||||||
const MarkAsRootSet = 0x00000080;
|
const MarkAsRootSet = 0x00000080;
|
||||||
const TagGarbageTemp = 0x00000100;
|
const Unreachable = 0x00000100;
|
||||||
const NeedInitialization = 0x00000200;
|
const TagGarbageTemp = 0x00000200;
|
||||||
const NeedLoad = 0x00000400;
|
const NeedLoad = 0x00000400;
|
||||||
const KeepForCooker = 0x00000800;
|
const AsyncLoading = 0x00000800;
|
||||||
const NeedPostLoad = 0x00001000;
|
const NeedPostLoad = 0x00001000;
|
||||||
const NeedPostLoadSubobjects = 0x00002000;
|
const NeedPostLoadSubobjects = 0x00002000;
|
||||||
const NewerVersionExists = 0x00004000;
|
const PendingKill = 0x00004000;
|
||||||
const BeginDestroyed = 0x00008000;
|
const BeginDestroyed = 0x00008000;
|
||||||
const FinishDestroyed = 0x00010000;
|
const FinishDestroyed = 0x00010000;
|
||||||
const BeingRegenerated = 0x00020000;
|
const BeingRegenerated = 0x00020000;
|
||||||
|
@ -142,6 +142,7 @@ bitflags! {
|
||||||
const WasLoaded = 0x00080000;
|
const WasLoaded = 0x00080000;
|
||||||
const TextExportTransient = 0x00100000;
|
const TextExportTransient = 0x00100000;
|
||||||
const LoadCompleted = 0x00200000;
|
const LoadCompleted = 0x00200000;
|
||||||
|
// not existant for 4.5.1 / ARK
|
||||||
const InheritableComponentTemplate = 0x00400000;
|
const InheritableComponentTemplate = 0x00400000;
|
||||||
const DuplicateTransient = 0x00800000;
|
const DuplicateTransient = 0x00800000;
|
||||||
const StrongRefOnFrame = 0x01000000;
|
const StrongRefOnFrame = 0x01000000;
|
||||||
|
|
Loading…
Reference in a new issue