diff options
Diffstat (limited to 'src/iso')
| -rw-r--r-- | src/iso/fs.rs | 16 | ||||
| -rw-r--r-- | src/iso/mod.rs | 3 |
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; |