From 381a256f3ef7dfe0e2849b9fa809bd8a407c0ce5 Mon Sep 17 00:00:00 2001 From: Jaby Date: Tue, 8 Nov 2022 22:19:43 +0100 Subject: [PATCH] Pass lba calculation function as function --- src/Tools/psxcdgen_ex/src/lib.rs | 7 ++++--- src/Tools/psxcdgen_ex/src/main.rs | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Tools/psxcdgen_ex/src/lib.rs b/src/Tools/psxcdgen_ex/src/lib.rs index 198d4d72..1ebeb1f7 100644 --- a/src/Tools/psxcdgen_ex/src/lib.rs +++ b/src/Tools/psxcdgen_ex/src/lib.rs @@ -5,14 +5,15 @@ pub mod encoder; pub mod file_writer; pub mod types; -use encoder::psx::calculate_psx_lbas; use tool_helper::read_file; use types::CDDesc; -pub fn process(config: config_reader::Configuration) -> Result { +pub type CalculateLBAFunction = fn(&mut types::CDDesc); + +pub fn process(config: config_reader::Configuration, calculate_lba: CalculateLBAFunction) -> Result { let mut cd_desc = parse_configuration(config)?; - calculate_psx_lbas(&mut cd_desc); + calculate_lba(&mut cd_desc); Ok(cd_desc) } diff --git a/src/Tools/psxcdgen_ex/src/main.rs b/src/Tools/psxcdgen_ex/src/main.rs index 9e47d1d5..8a685f14 100644 --- a/src/Tools/psxcdgen_ex/src/main.rs +++ b/src/Tools/psxcdgen_ex/src/main.rs @@ -1,9 +1,9 @@ -use psxcdgen_ex::{encoder::psx::encode_psx_image, file_writer::{ImageType, write_image}, types::{layout::Layout}, config_reader}; +use psxcdgen_ex::{encoder::psx::{encode_psx_image, calculate_psx_lbas}, file_writer::{ImageType, write_image}, types::{layout::Layout}, config_reader}; use std::{path::PathBuf, str::FromStr}; use tool_helper::Error; fn run_main() -> Result<(), Error> { - let desc = psxcdgen_ex::process(config_reader::parse_xml(std::fs::read_to_string("../Tests/ISO_Planschbecken.xml")?)?)?; + let desc = psxcdgen_ex::process(config_reader::parse_xml(std::fs::read_to_string("../Tests/ISO_Planschbecken.xml")?)?, calculate_psx_lbas)?; println!("\n<== Planschbecken ==>"); for element in desc.get_memory_layout().iter() {