mirror of
https://github.com/Xevion/Pac-Man.git
synced 2025-12-06 15:15:48 -06:00
fix: minor comments, disable accelerated, use std sleep on web builds
This commit is contained in:
@@ -62,6 +62,8 @@ impl Game<'_> {
|
||||
self.canvas.set_draw_color(Color::RGB(0, 0, 0));
|
||||
self.canvas.clear();
|
||||
|
||||
|
||||
// Render the map
|
||||
self.canvas
|
||||
.copy(&self.map_texture, None, None)
|
||||
.expect("Could not render texture on canvas");
|
||||
@@ -102,6 +104,7 @@ impl Game<'_> {
|
||||
self.draw_cell((next_cell.0 as u32, next_cell.1 as u32), Color::YELLOW);
|
||||
}
|
||||
|
||||
// Present the canvas
|
||||
self.canvas.present();
|
||||
}
|
||||
|
||||
|
||||
28
src/main.rs
28
src/main.rs
@@ -1,8 +1,7 @@
|
||||
use crate::constants::{WINDOW_HEIGHT, WINDOW_WIDTH};
|
||||
use crate::game::Game;
|
||||
use sdl2::event::Event;
|
||||
use sdl2::event::{Event, WindowEvent};
|
||||
use sdl2::keyboard::Keycode;
|
||||
use spin_sleep::sleep;
|
||||
use std::time::{Duration, Instant};
|
||||
use tracing::event;
|
||||
use tracing_error::ErrorLayer;
|
||||
@@ -38,7 +37,6 @@ pub fn main() {
|
||||
|
||||
let mut canvas = window
|
||||
.into_canvas()
|
||||
.accelerated()
|
||||
.build()
|
||||
.expect("Could not build canvas");
|
||||
|
||||
@@ -64,6 +62,7 @@ pub fn main() {
|
||||
let mut last_averaging_time = Instant::now();
|
||||
let mut sleep_time = Duration::ZERO;
|
||||
let mut paused = false;
|
||||
let mut shown = false;
|
||||
|
||||
event!(
|
||||
tracing::Level::INFO,
|
||||
@@ -75,8 +74,20 @@ pub fn main() {
|
||||
|
||||
// TODO: Fix key repeat delay issues by using VecDeque for instant key repeat
|
||||
for event in event_pump.poll_iter() {
|
||||
|
||||
match event {
|
||||
Event::Window { win_event, .. } => {
|
||||
match win_event {
|
||||
WindowEvent::Hidden => {
|
||||
event!(tracing::Level::DEBUG, "Window hidden");
|
||||
shown = false;
|
||||
},
|
||||
WindowEvent::Shown => {
|
||||
event!(tracing::Level::DEBUG, "Window shown");
|
||||
shown = true;
|
||||
},
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
// Handle quitting keys or window close
|
||||
Event::Quit { .. }
|
||||
| Event::KeyDown {
|
||||
@@ -111,8 +122,13 @@ pub fn main() {
|
||||
}
|
||||
|
||||
if start.elapsed() < loop_time {
|
||||
let time = loop_time - start.elapsed();
|
||||
sleep(time);
|
||||
let time = loop_time.saturating_sub(start.elapsed());
|
||||
#[cfg(not(target_os = "emscripten"))] {
|
||||
spin_sleep::sleep(time);
|
||||
}
|
||||
#[cfg(target_os = "emscripten")] {
|
||||
thread::sleep(time);
|
||||
}
|
||||
sleep_time += time;
|
||||
} else {
|
||||
event!(
|
||||
|
||||
Reference in New Issue
Block a user