diff options
author | metamuffin <metamuffin@disroot.org> | 2025-03-22 17:18:39 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-03-22 17:18:39 +0100 |
commit | 2ee2f1af847dbc9f1292baefc9fd652167b9103a (patch) | |
tree | dfadbd29afdd00c80ab31e8dfaee217045102d95 /src/serialized_file.rs | |
parent | d780d420a69fe239bdb93ce7d1899e380a682062 (diff) | |
download | unity-tools-2ee2f1af847dbc9f1292baefc9fd652167b9103a.tar unity-tools-2ee2f1af847dbc9f1292baefc9fd652167b9103a.tar.bz2 unity-tools-2ee2f1af847dbc9f1292baefc9fd652167b9103a.tar.zst |
relative file ids
Diffstat (limited to 'src/serialized_file.rs')
-rw-r--r-- | src/serialized_file.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/serialized_file.rs b/src/serialized_file.rs index fa17b24..a37ff46 100644 --- a/src/serialized_file.rs +++ b/src/serialized_file.rs @@ -58,6 +58,7 @@ pub struct External { pub struct SerializedFile<T> { pub file: T, + pub file_source_id: usize, pub header: SerializedFileHeader, pub types: Vec<SeralizedType>, pub externals: Vec<External>, @@ -138,7 +139,7 @@ impl SerializedFileHeader { } impl<T: Read + Seek> SerializedFile<T> { - pub fn read(mut file: T) -> Result<SerializedFile<T>> { + pub fn read(mut file: T, file_source_id: usize) -> Result<SerializedFile<T>> { let h = SerializedFileHeader::read(&mut file)?; let e = h.endianness; @@ -318,6 +319,7 @@ impl<T: Read + Seek> SerializedFile<T> { objects, scripts, user_string, + file_source_id, }) } @@ -356,7 +358,12 @@ impl<T: Read + Seek> SerializedFile<T> { .type_tree .as_ref() .ok_or(anyhow!("type tree missing"))?; - Value::read(typetree, self.endianness, &mut self.file) + Value::read( + typetree, + self.endianness, + self.file_source_id, + &mut self.file, + ) } pub fn all_objects_of_class(&self, class_name: &str) -> impl Iterator<Item = &ObjectInfo> { |