diff options
Diffstat (limited to 'src/desktop')
-rw-r--r-- | src/desktop/input.rs | 21 | ||||
-rw-r--r-- | src/desktop/load_save.rs | 11 | ||||
-rw-r--r-- | src/desktop/window.rs | 9 |
3 files changed, 21 insertions, 20 deletions
diff --git a/src/desktop/input.rs b/src/desktop/input.rs index ed604e2..4653d3c 100644 --- a/src/desktop/input.rs +++ b/src/desktop/input.rs @@ -5,6 +5,7 @@ use crate::desktop::window::Keys; use crate::io::Input; use gilrs::{Button, GamepadId, Gilrs}; use winit::keyboard::KeyCode; +use crate::logs::{elog, log, LogLevel}; pub struct Gamepad { gilrs: Gilrs, @@ -17,10 +18,10 @@ impl Gamepad { let gilrs = Gilrs::new().unwrap(); let gamepad_id = if let Some((gamepad_id, _gamepad)) = gilrs.gamepads().next() { - println!("Found Gamepad id: {:?}", gamepad_id); + log(LogLevel::Infos, format!("Gamepad connected: {:?}", gamepad_id)); Some(gamepad_id) } else { - println!("No gamepad found"); + log(LogLevel::Infos, format!("No gamepad found")); None }; @@ -44,12 +45,12 @@ impl Input for Gamepad { fn update_events(&mut self, _cycles: u128) -> Option<u128> { if let Some(gamepad_id) = self.gamepad_id { if self.gilrs.connected_gamepad(gamepad_id).is_none() { - println!("Gamepad (id = {:?}) disconnected", gamepad_id); + log(LogLevel::Infos, format!("Gamepad disconnected: {:?}", gamepad_id)); self.gamepad_id = None; } } else { if let Some((gamepad_id, _gamepad)) = self.gilrs.gamepads().next() { - println!("Found Gamepad id: {:?}", gamepad_id); + log(LogLevel::Infos, format!("Gamepad connected: {:?}", gamepad_id)); self.gamepad_id = Some(gamepad_id); } } @@ -226,21 +227,21 @@ impl Input for GamepadRecorder { let new_direction_reg = self.input.get_direction_gamepad_reg(); if self.action_reg != new_action_reg || self.direction_reg != new_direction_reg { - println!( + log(LogLevel::Debug, format!( "input update on cycle {} ! 0x{:02x} 0x{:02x}", cycles, new_action_reg, new_direction_reg - ); + )); if let Err(err) = self.record_file.write_all(&cycles.to_le_bytes()) { - eprintln!("Failed to write to record file: {}", err); + elog(LogLevel::Error, format!("Failed to write to record file: {}", err)); }; if let Err(err) = self .record_file .write_all(&[new_action_reg, new_direction_reg]) { - eprintln!("Failed to write to record file: {}", err); + elog(LogLevel::Error, format!("Failed to write to record file: {}", err)); } if let Err(err) = self.record_file.flush() { - eprintln!("Failed to flush record file writes: {}", err); + elog(LogLevel::Error, format!("Failed to flush record file writes: {}", err)); } } @@ -331,8 +332,6 @@ impl Input for GamepadReplay { return false; } if self.next_cycle_update == None { - println!("SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE SAVE"); - self.last_save_state = true; return true; } diff --git a/src/desktop/load_save.rs b/src/desktop/load_save.rs index a7eadfc..ec99d94 100644 --- a/src/desktop/load_save.rs +++ b/src/desktop/load_save.rs @@ -2,6 +2,7 @@ use crate::io::{Audio, LoadSave, Serial}; use crate::state::GBState; use std::fs::File; use std::io::{Read, Write}; +use crate::logs::{elog, log, LogLevel}; #[derive(Debug)] pub struct FSLoadSave { @@ -37,8 +38,8 @@ impl LoadSave for FSLoadSave { } fn load_bootrom(&self, boot_rom: &mut [u8]) -> Result<(), std::io::Error> { - println!("MBC: {:02x}", boot_rom[0x147]); - println!("CGB: {:02x}", boot_rom[0x143]); + log(LogLevel::Debug, format!("MBC: {:02x}", boot_rom[0x147])); + log(LogLevel::Debug, format!("CGB: {:02x}", boot_rom[0x143])); if boot_rom[0x143] == 0x80 || boot_rom[0x143] == 0xc0 { unimplemented!("CGB Boot rom is not implemented"); @@ -61,7 +62,7 @@ impl LoadSave for FSLoadSave { f.read(external_ram)?; - println!("Save file loaded from \"{}\"!", self.save_file); + log(LogLevel::Infos, format!("Save file loaded from \"{}\"!", self.save_file)); Ok(()) } @@ -71,7 +72,7 @@ impl LoadSave for FSLoadSave { f.write_all(&external_ram)?; - println!("Save written to \"{}\"!", self.save_file); + log(LogLevel::Infos, format!("Save written to \"{}\"!", self.save_file)); Ok(()) } @@ -146,7 +147,7 @@ impl LoadSave for FSLoadSave { state_file.write_all(&state.cpu.sp.to_le_bytes())?; state_file.write_all(&[state.mem.boot_rom_on.into(), state.mem.ime.into()])?; } else { - eprintln!("Tried to save state without state_file specified"); + elog(LogLevel::Error, format!("Tried to save state without state_file specified")); } Ok(()) } diff --git a/src/desktop/window.rs b/src/desktop/window.rs index 06b672d..93c5aba 100644 --- a/src/desktop/window.rs +++ b/src/desktop/window.rs @@ -4,6 +4,7 @@ use std::sync::mpsc::{channel, Receiver, Sender}; use std::thread; use crate::io::{Window, WindowSignal}; +use crate::logs::{elog, LogLevel}; use pixels::{Error, Pixels, SurfaceTexture}; use winit::dpi::LogicalSize; @@ -71,7 +72,7 @@ impl DesktopWindow { } draw(pixels.frame_mut(), &fb); if let Err(err) = pixels.render() { - eprintln!("Error during render: {}", err); + elog(LogLevel::Error, format!("Error during render: {}", err)); return; } } @@ -101,14 +102,14 @@ impl DesktopWindow { if input.close_requested() { elwt.exit(); if let Err(err) = signal_send.send(WindowSignal::Exit) { - eprintln!("window signal send failed with error {}", err); + elog(LogLevel::Error, format!("window signal send failed with error {}", err)); } return; } if let Some(size) = input.window_resized() { if let Err(err) = pixels.resize_surface(size.width, size.height) { - eprintln!("Error during resize: {}", err); + elog(LogLevel::Error, format!("Error during resize: {}", err)); return; } } @@ -130,7 +131,7 @@ impl DesktopWindow { impl Window for DesktopWindow { fn update(&mut self, fb: Box<[u32; 160 * 144]>) -> Option<WindowSignal> { if let Err(err) = self.fb_send.send(fb) { - eprintln!("Framebuffer channel send failed with error: {}", err); + elog(LogLevel::Error, format!("Framebuffer channel send failed with error: {}", err)); } if let Ok(signal) = self.signal_recv.try_recv() { |