From c407f02241a30f64f7453e6a80275bd95c8bae3e Mon Sep 17 00:00:00 2001 From: Jaby Date: Thu, 1 Dec 2022 02:34:24 +0100 Subject: [PATCH] Get overlay structure ready --- src/Tools/mkoverlay/src/lib.rs | 15 +------------ src/Tools/mkoverlay/src/main.rs | 17 ++++++++++++++- src/Tools/mkoverlay/src/types/mod.rs | 32 ++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 15 deletions(-) create mode 100644 src/Tools/mkoverlay/src/types/mod.rs diff --git a/src/Tools/mkoverlay/src/lib.rs b/src/Tools/mkoverlay/src/lib.rs index 7d12d9af..cd408564 100644 --- a/src/Tools/mkoverlay/src/lib.rs +++ b/src/Tools/mkoverlay/src/lib.rs @@ -1,14 +1 @@ -pub fn add(left: usize, right: usize) -> usize { - left + right -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn it_works() { - let result = add(2, 2); - assert_eq!(result, 4); - } -} +pub mod types; diff --git a/src/Tools/mkoverlay/src/main.rs b/src/Tools/mkoverlay/src/main.rs index 67a12fac..a66f20fe 100644 --- a/src/Tools/mkoverlay/src/main.rs +++ b/src/Tools/mkoverlay/src/main.rs @@ -1,3 +1,18 @@ +use mkoverlay::types::{OverlaySection, OverlaySlot}; + +fn generate_file() -> Vec { + let mut slots = Vec::new(); + let mut slot = OverlaySlot::new("slot_0".to_owned(), String::new()); + let mut section = OverlaySection::new("main_area".to_owned()); + + section.add_file_pattern("bin/PSX-release/src/*.o".to_owned()); + + slot.add_section(section); + slots.push(slot); + + slots +} + fn main() { - println!("Blubbi"); + println!("Blubbi: {:?}", generate_file()); } \ No newline at end of file diff --git a/src/Tools/mkoverlay/src/types/mod.rs b/src/Tools/mkoverlay/src/types/mod.rs new file mode 100644 index 00000000..ed3471bc --- /dev/null +++ b/src/Tools/mkoverlay/src/types/mod.rs @@ -0,0 +1,32 @@ +#[derive(Debug)] +pub struct OverlaySection { + name: String, + file_pattern: Vec +} + +impl OverlaySection { + pub fn new(name: String) -> OverlaySection { + OverlaySection{name, file_pattern: Vec::new()} + } + + pub fn add_file_pattern(&mut self, file_pattern: String) { + self.file_pattern.push(file_pattern); + } +} + +#[derive(Debug)] +pub struct OverlaySlot { + name: String, + start_adr: String, + sections: Vec +} + +impl OverlaySlot { + pub fn new(name: String, start_adr: String) -> OverlaySlot { + OverlaySlot{name, start_adr, sections: Vec::new()} + } + + pub fn add_section(&mut self, section: OverlaySection) { + self.sections.push(section); + } +} \ No newline at end of file