From 11a33fdc54cf5aa7cc7039433702b80367a0a24f Mon Sep 17 00:00:00 2001 From: Jaby Date: Tue, 11 Oct 2022 19:45:06 +0200 Subject: [PATCH] Introduce Content --- src/Tools/psxcdgen_ex/src/main.rs | 2 +- src/Tools/psxcdgen_ex/src/types/layout.rs | 4 ++-- src/Tools/psxcdgen_ex/src/types/mod.rs | 27 ++++++++++++----------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/Tools/psxcdgen_ex/src/main.rs b/src/Tools/psxcdgen_ex/src/main.rs index 5adb8d9a..dc056e27 100644 --- a/src/Tools/psxcdgen_ex/src/main.rs +++ b/src/Tools/psxcdgen_ex/src/main.rs @@ -34,7 +34,7 @@ fn run_main() -> Result<(), Error> { match element { Layout::SystemArea(_) => println!("SystemArea:"), Layout::PVD(_) => println!("PVD:"), - Layout::Directory{name, properties} => println!("Dir: {} @{}", name, properties.lba), + Layout::Directory{name, content} => println!("Dir: {} @{}", name, content.lba), Layout::File(file) => println!("File: {} @{}", file, file.get_lba()), } } diff --git a/src/Tools/psxcdgen_ex/src/types/layout.rs b/src/Tools/psxcdgen_ex/src/types/layout.rs index 6e288a9c..057ff4b2 100644 --- a/src/Tools/psxcdgen_ex/src/types/layout.rs +++ b/src/Tools/psxcdgen_ex/src/types/layout.rs @@ -29,12 +29,12 @@ macro_rules! declare_memory_layout { pub enum [< Layout$($val:camel),* >]<'a> { SystemArea(&'a $($val),* SystemArea), PVD(&'a $($val),* PrimaryVolumeDescriptor), - Directory{name: &'a $($val),* DirectoryName, properties: &'a $($val),* Properties}, + Directory{name: &'a $($val),* DirectoryName, content: &'a $($val),* Content}, File(&'a $($val),* File) } fn [< add_dir_and_subdir $(_$val),* >]<'a>(layout: &mut Vec<[< Layout$($val:camel),* >]::<'a>>, dir: &'a $($val),* Directory) { - layout.push([< Layout$($val:camel),* >]::Directory{name: &$($val),* dir.name, properties: &$($val),* dir.properties}); + layout.push([< Layout$($val:camel),* >]::Directory{name: &$($val),* dir.name, content: &$($val),* dir.content}); for file in dir.files.[< iter$(_$val),* >]() { layout.push([< Layout$($val:camel),* >]::File(file)); } diff --git a/src/Tools/psxcdgen_ex/src/types/mod.rs b/src/Tools/psxcdgen_ex/src/types/mod.rs index 8bb0ad2c..c79128f7 100644 --- a/src/Tools/psxcdgen_ex/src/types/mod.rs +++ b/src/Tools/psxcdgen_ex/src/types/mod.rs @@ -45,15 +45,15 @@ impl PrimaryVolumeDescriptor { } pub struct Directory { - name: DirectoryName, - properties: Properties, - files: Vec, - dirs: Vec + name: DirectoryName, + content: Content, + files: Vec, + dirs: Vec } impl Directory { pub fn new(dir_name: &str) -> Result { - Ok(Directory{name: DirectoryName::from_str(dir_name)?, properties: Properties::default(), files: Vec::new(), dirs: Vec::new()}) + Ok(Directory{name: DirectoryName::from_str(dir_name)?, content: Content::default(), files: Vec::new(), dirs: Vec::new()}) } pub fn add_dir(&mut self, dir: Directory) { @@ -65,7 +65,7 @@ impl Directory { } pub fn get_lba(&self) -> usize { - self.properties.lba + self.content.lba } } @@ -76,17 +76,17 @@ impl std::fmt::Display for Directory { } pub struct File { - name: FileName, - properties: Properties + name: FileName, + content: Content } impl File { pub fn new(file_name: &str) -> Result { - Ok(File{name: FileName::from_str(file_name)?, properties: Properties::default()}) + Ok(File{name: FileName::from_str(file_name)?, content: Content::default()}) } pub fn get_lba(&self) -> usize { - self.properties.lba + self.content.lba } } @@ -151,15 +151,16 @@ impl std::fmt::Display for FileName { } } -pub struct Properties { +pub struct Content { pub lba: usize, pub overwrite_size_sectors: Option, + pub data: Vec, pub is_hidden: bool } -impl Default for Properties { +impl Default for Content { fn default() -> Self { - Properties{lba: 0, overwrite_size_sectors: None, is_hidden: false} + Content{lba: 0, overwrite_size_sectors: None, data: Vec::new(), is_hidden: false} } }