aboutsummaryrefslogtreecommitdiff
path: root/src/iso
diff options
context:
space:
mode:
Diffstat (limited to 'src/iso')
-rw-r--r--src/iso/fs.rs16
-rw-r--r--src/iso/mod.rs3
2 files changed, 17 insertions, 2 deletions
diff --git a/src/iso/fs.rs b/src/iso/fs.rs
index 1f90851..2a9b8ed 100644
--- a/src/iso/fs.rs
+++ b/src/iso/fs.rs
@@ -1,7 +1,19 @@
-#[repr(C)]
+use deku::prelude::*;
+
+#[derive(Debug, PartialEq, DekuRead, DekuWrite)]
+#[deku(endian = "big")]
pub struct FileTableEntry {
+ #[deku(bits = 8)]
flags: u8,
- name_offset: u24, // pointer to string table
+
+ #[deku(bits = 24)]
+ name_offset: u32, // pointer to string table
+
+ #[deku(bits = 32)]
offset: u32,
+
+ #[deku(bits = 32)]
length: u32,
}
+
+
diff --git a/src/iso/mod.rs b/src/iso/mod.rs
index 2d546d9..8bac802 100644
--- a/src/iso/mod.rs
+++ b/src/iso/mod.rs
@@ -1,3 +1,6 @@
mod loader;
+mod fs;
+
+pub use fs::FileTableEntry;
pub use loader::GameIso;