Prettify sdl2 main loop

Former-commit-id: dc925873f8a27bc8f50392659fad3cb07adde82e
Former-commit-id: 50ca19536687bd058c906168b28a86a95c6a42d5
This commit is contained in:
Michel Heily 2020-05-01 18:36:41 +03:00
parent 051d5e1235
commit 27a7cb14cf

View file

@ -255,74 +255,49 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
for event in event_pump.poll_iter() { for event in event_pump.poll_iter() {
match event { match event {
Event::KeyDown { Event::KeyDown {
keycode: Some(Keycode::Space), keycode: Some(keycode),
.. ..
} => { } => match keycode {
frame_limiter = false; Keycode::Space => frame_limiter = false,
} k => input.borrow_mut().on_keyboard_key_down(k),
},
Event::KeyUp { Event::KeyUp {
keycode: Some(Keycode::Space), keycode: Some(keycode),
.. ..
} => { } => match keycode {
frame_limiter = true; #[cfg(feature = "debugger")]
} Keycode::F1 => {
#[cfg(feature = "debugger")] let mut debugger = Debugger::new(gba);
Event::KeyUp { info!("starting debugger...");
keycode: Some(Keycode::F1), debugger.repl(matches.value_of("script_file")).unwrap();
.. gba = debugger.gba;
} => { info!("ending debugger...")
let mut debugger = Debugger::new(gba);
info!("starting debugger...");
debugger.repl(matches.value_of("script_file")).unwrap();
gba = debugger.gba;
info!("ending debugger...");
break;
}
#[cfg(feature = "gdb")]
Event::KeyUp {
keycode: Some(Keycode::F2),
..
} => {
spawn_and_run_gdb_server(&mut gba, DEFAULT_GDB_SERVER_ADDR)?;
}
Event::KeyUp {
keycode: Some(Keycode::F5),
..
} => {
info!("Saving state ...");
let save = gba.save_state()?;
write_bin_file(&savestate_path, &save)?;
info!(
"Saved to {:?} ({})",
savestate_path,
bytesize::ByteSize::b(save.len() as u64)
);
}
Event::KeyUp {
keycode: Some(Keycode::F9),
..
} => {
if savestate_path.is_file() {
let save = read_bin_file(&savestate_path)?;
info!("Restoring state from {:?}...", savestate_path);
gba.restore_state(&save)?;
info!("Restored!");
} else {
info!("Savestate not created, please create one by pressing F5");
} }
} #[cfg(feature = "gdb")]
Event::KeyDown { Keycode::F2 => spawn_and_run_gdb_server(&mut gba, DEFAULT_GDB_SERVER_ADDR)?,
keycode: Some(keycode), Keycode::F5 => {
.. info!("Saving state ...");
} => { let save = gba.save_state()?;
input.borrow_mut().on_keyboard_key_down(keycode); write_bin_file(&savestate_path, &save)?;
} info!(
Event::KeyUp { "Saved to {:?} ({})",
keycode: Some(keycode), savestate_path,
.. bytesize::ByteSize::b(save.len() as u64)
} => { );
input.borrow_mut().on_keyboard_key_up(keycode); }
} Keycode::F9 => {
if savestate_path.is_file() {
let save = read_bin_file(&savestate_path)?;
info!("Restoring state from {:?}...", savestate_path);
gba.restore_state(&save)?;
info!("Restored!");
} else {
info!("Savestate not created, please create one by pressing F5");
}
}
Keycode::Space => frame_limiter = true,
k => input.borrow_mut().on_keyboard_key_up(k),
},
Event::Quit { .. } => break 'running, Event::Quit { .. } => break 'running,
Event::DropFile { filename, .. } => { Event::DropFile { filename, .. } => {
// load the new rom // load the new rom