From 74b40eca37cecccb2b77b0a65b31086e55de68b5 Mon Sep 17 00:00:00 2001 From: Hadi Chokr <158838697+silverhadch@users.noreply.github.com> Date: Tue, 22 Oct 2024 21:09:51 +0200 Subject: [PATCH 1/6] Adding helper function for getting Savefilepath Repeated logic implemnted in a clean and better way. !!!! But please test the code i havent yet just wrote it on my Phone !!!! --- plastic_tui/src/ui.rs | 53 ++++++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/plastic_tui/src/ui.rs b/plastic_tui/src/ui.rs index 7a9fb5c..882f2a6 100644 --- a/plastic_tui/src/ui.rs +++ b/plastic_tui/src/ui.rs @@ -161,33 +161,30 @@ impl Ui { } fn save_state(&mut self, slot: u8) { - if self.nes.is_empty() { - return; + if let Some(path) = self.get_save_state_path(slot) { + let file = fs::File::create(&path).unwrap(); + self.nes.save_state(&file).unwrap(); } - - let base_saved_states_dir = base_save_state_folder().unwrap(); - let filename = self.nes.save_state_file_name(slot).unwrap(); - let path = base_saved_states_dir.join(&filename); - - let file = fs::File::create(&path).unwrap(); - - self.nes.save_state(&file).unwrap(); } fn load_state(&mut self, slot: u8) { - if self.nes.is_empty() { - return; + if let Some(path) = self.get_save_state_path(slot) { + let file = fs::File::open(&path).unwrap(); + self.nes.load_state(&file).unwrap(); } + } - let base_saved_states_dir = base_save_state_folder().unwrap(); - let filename = self.nes.save_state_file_name(slot).unwrap(); - let path = base_saved_states_dir.join(&filename); - - let file = fs::File::open(&path).unwrap(); + fn get_save_state_path(&self, slot: u8) -> Option { + if self.nes.is_empty() { + return None; + } - self.nes.load_state(&file).unwrap(); + let base_saved_states_dir = base_save_state_folder().ok()?; + let filename = self.nes.save_state_file_name(slot).ok()?; + Some(base_saved_states_dir.join(&filename)) } + fn reset_menu(&mut self) { let mut save_state_items = Vec::with_capacity(10); let mut load_state_items = Vec::with_capacity(10); @@ -537,6 +534,21 @@ impl Ui { } } + disable_raw_mode().unwrap(); + execute!( + io::stdout(), + Show, + LeaveAlternateScreen, + if let Some(ref mut player) = self.audio_player { + let audio_buffer = process_audio(&audio_buffer, 1.0); + player.queue(&audio_buffer); + } + + if let Some(remaining) = fps.remaining() { + thread::sleep(remaining); + } + } + disable_raw_mode().unwrap(); execute!( io::stdout(), @@ -547,3 +559,8 @@ impl Ui { .unwrap(); } } + PopKeyboardEnhancementFlags, + ) + .unwrap(); + } +} From 70f6b62f3bb487959b6c2065dfa300c0f40845a9 Mon Sep 17 00:00:00 2001 From: Hadi Chokr <158838697+silverhadch@users.noreply.github.com> Date: Wed, 23 Oct 2024 08:13:10 +0200 Subject: [PATCH 2/6] Update ui.rs --- plastic_tui/src/ui.rs | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/plastic_tui/src/ui.rs b/plastic_tui/src/ui.rs index 882f2a6..8c4cc82 100644 --- a/plastic_tui/src/ui.rs +++ b/plastic_tui/src/ui.rs @@ -533,34 +533,5 @@ impl Ui { thread::sleep(remaining); } } - - disable_raw_mode().unwrap(); - execute!( - io::stdout(), - Show, - LeaveAlternateScreen, - if let Some(ref mut player) = self.audio_player { - let audio_buffer = process_audio(&audio_buffer, 1.0); - player.queue(&audio_buffer); - } - - if let Some(remaining) = fps.remaining() { - thread::sleep(remaining); - } - } - - disable_raw_mode().unwrap(); - execute!( - io::stdout(), - Show, - LeaveAlternateScreen, - PopKeyboardEnhancementFlags, - ) - .unwrap(); - } -} - PopKeyboardEnhancementFlags, - ) - .unwrap(); } } From f431bccca1674c46b2283d46aeadd9142a97115a Mon Sep 17 00:00:00 2001 From: Hadi Chokr <158838697+silverhadch@users.noreply.github.com> Date: Wed, 23 Oct 2024 08:18:59 +0200 Subject: [PATCH 3/6] Update ui.rs --- plastic_tui/src/ui.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/plastic_tui/src/ui.rs b/plastic_tui/src/ui.rs index 8c4cc82..836ce43 100644 --- a/plastic_tui/src/ui.rs +++ b/plastic_tui/src/ui.rs @@ -175,15 +175,16 @@ impl Ui { } fn get_save_state_path(&self, slot: u8) -> Option { - if self.nes.is_empty() { - return None; - } - - let base_saved_states_dir = base_save_state_folder().ok()?; - let filename = self.nes.save_state_file_name(slot).ok()?; - Some(base_saved_states_dir.join(&filename)) + if self.nes.is_empty() { + return None; } + let base_saved_states_dir = base_save_state_folder()?; + let filename = self.nes.save_state_file_name(slot)?; + Some(base_saved_states_dir.join(filename)) +} + + fn reset_menu(&mut self) { let mut save_state_items = Vec::with_capacity(10); From 89baef044b85086a4eadd9d4558bbb3926e7e3e3 Mon Sep 17 00:00:00 2001 From: Hadi Chokr <158838697+silverhadch@users.noreply.github.com> Date: Wed, 23 Oct 2024 08:40:29 +0200 Subject: [PATCH 4/6] Fix formatting --- plastic_tui/src/ui.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plastic_tui/src/ui.rs b/plastic_tui/src/ui.rs index 836ce43..09ebed5 100644 --- a/plastic_tui/src/ui.rs +++ b/plastic_tui/src/ui.rs @@ -175,9 +175,9 @@ impl Ui { } fn get_save_state_path(&self, slot: u8) -> Option { - if self.nes.is_empty() { - return None; - } + if self.nes.is_empty() { + return None; + } let base_saved_states_dir = base_save_state_folder()?; let filename = self.nes.save_state_file_name(slot)?; From b37280fb151770cfcf26ee51b1f936aaaec8b94f Mon Sep 17 00:00:00 2001 From: Hadi Chokr <158838697+silverhadch@users.noreply.github.com> Date: Wed, 23 Oct 2024 08:45:07 +0200 Subject: [PATCH 5/6] Add removed logic --- plastic_tui/src/ui.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plastic_tui/src/ui.rs b/plastic_tui/src/ui.rs index 09ebed5..21b0b32 100644 --- a/plastic_tui/src/ui.rs +++ b/plastic_tui/src/ui.rs @@ -534,5 +534,13 @@ impl Ui { thread::sleep(remaining); } } + disable_raw_mode().unwrap(); + execute!( + io::stdout(), + Show, + LeaveAlternateScreen, + PopKeyboardEnhancementFlags, + ) + .unwrap(); } } From e7f70ee4fd3f6d02cbc418010c890980fa072033 Mon Sep 17 00:00:00 2001 From: Hadi Chokr <158838697+silverhadch@users.noreply.github.com> Date: Wed, 23 Oct 2024 08:47:32 +0200 Subject: [PATCH 6/6] Fix Formatting 2 --- plastic_tui/src/ui.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/plastic_tui/src/ui.rs b/plastic_tui/src/ui.rs index 21b0b32..3ac7a65 100644 --- a/plastic_tui/src/ui.rs +++ b/plastic_tui/src/ui.rs @@ -179,9 +179,10 @@ impl Ui { return None; } - let base_saved_states_dir = base_save_state_folder()?; - let filename = self.nes.save_state_file_name(slot)?; - Some(base_saved_states_dir.join(filename)) + let base_saved_states_dir = base_save_state_folder()?; + let filename = self.nes.save_state_file_name(slot)?; + + Some(base_saved_states_dir.join(filename)) } @@ -535,12 +536,12 @@ impl Ui { } } disable_raw_mode().unwrap(); - execute!( - io::stdout(), - Show, - LeaveAlternateScreen, - PopKeyboardEnhancementFlags, - ) + execute!( + io::stdout(), + Show, + LeaveAlternateScreen, + PopKeyboardEnhancementFlags, + ) .unwrap(); } }