From 2ee2f1af847dbc9f1292baefc9fd652167b9103a Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 22 Mar 2025 17:18:39 +0100 Subject: relative file ids --- src/serialized_file.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/serialized_file.rs') 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 { pub file: T, + pub file_source_id: usize, pub header: SerializedFileHeader, pub types: Vec, pub externals: Vec, @@ -138,7 +139,7 @@ impl SerializedFileHeader { } impl SerializedFile { - pub fn read(mut file: T) -> Result> { + pub fn read(mut file: T, file_source_id: usize) -> Result> { let h = SerializedFileHeader::read(&mut file)?; let e = h.endianness; @@ -318,6 +319,7 @@ impl SerializedFile { objects, scripts, user_string, + file_source_id, }) } @@ -356,7 +358,12 @@ impl SerializedFile { .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 { -- cgit v1.2.3-70-g09d2