chore: update to rust 1.63.0
This commit is contained in:
parent
7784b9b6e2
commit
a07e270fad
File diff suppressed because it is too large
Load Diff
12
Cargo.toml
12
Cargo.toml
|
@ -1,15 +1,15 @@
|
|||
[package]
|
||||
authors = ["paoda <musukarekai@gmail.com>"]
|
||||
edition = "2018"
|
||||
edition = "2021"
|
||||
name = "chip8"
|
||||
version = "0.1.0"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
pixels = "0.1.0"
|
||||
rand = "0.8.4"
|
||||
winit = "0.22.2"
|
||||
winit_input_helper = "0.7.0"
|
||||
rodio = "0.11.0"
|
||||
pixels = "0.11"
|
||||
rand = "0.8"
|
||||
winit = "0.27"
|
||||
winit_input_helper = "0.13"
|
||||
rodio = "0.16"
|
||||
lazy_static = "1.4.0"
|
||||
|
|
|
@ -422,7 +422,7 @@ impl Chip8 {
|
|||
}
|
||||
|
||||
fn to_digits(num: u8) -> [u8; 3] {
|
||||
let mut cpy = num.clone();
|
||||
let mut cpy = num;
|
||||
let mut digits = [0, 0, 0];
|
||||
|
||||
for digit in digits.iter_mut() {
|
||||
|
|
11
src/main.rs
11
src/main.rs
|
@ -1,5 +1,5 @@
|
|||
use chip8::{emu::Chip8, timer::Timer};
|
||||
use pixels::{wgpu::Surface, Pixels, SurfaceTexture};
|
||||
use pixels::{Pixels, SurfaceTexture};
|
||||
use std::path::Path;
|
||||
use std::time::{Duration, Instant};
|
||||
use winit::dpi::LogicalSize;
|
||||
|
@ -30,7 +30,7 @@ fn main() {
|
|||
|
||||
event_loop.run(move |event, _, control_flow| {
|
||||
if let Event::RedrawRequested(_) = event {
|
||||
draw(&chip8.display.buf, pixels.get_frame());
|
||||
draw(&chip8.display.buf, pixels.get_frame_mut());
|
||||
if pixels
|
||||
.render()
|
||||
.map_err(|e| eprintln!("pixels.render() failed: {}", e))
|
||||
|
@ -45,7 +45,9 @@ fn main() {
|
|||
handle_input(&mut chip8, &mut input, control_flow);
|
||||
|
||||
if let Some(size) = input.window_resized() {
|
||||
pixels.resize(size.width, size.height);
|
||||
pixels
|
||||
.resize_surface(size.width, size.height)
|
||||
.expect("resize surface")
|
||||
}
|
||||
|
||||
if Instant::now().duration_since(start) > frametime {
|
||||
|
@ -181,8 +183,7 @@ fn handle_input(chip8: &mut Chip8, input: &mut WinitInputHelper, control_flow: &
|
|||
}
|
||||
|
||||
fn init_pixels(window: &Window) -> Pixels {
|
||||
let surface = Surface::create(window);
|
||||
let texture = SurfaceTexture::new(WIDTH, HEIGHT, surface);
|
||||
let texture = SurfaceTexture::new(WIDTH, HEIGHT, window);
|
||||
Pixels::new(WIDTH, HEIGHT, texture).unwrap()
|
||||
}
|
||||
|
||||
|
|
|
@ -54,17 +54,11 @@ impl Default for Display {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
#[derive(Debug, Default, Copy, Clone)]
|
||||
pub struct Keypad {
|
||||
keys: [bool; 16],
|
||||
}
|
||||
|
||||
impl Default for Keypad {
|
||||
fn default() -> Self {
|
||||
Self { keys: [false; 16] }
|
||||
}
|
||||
}
|
||||
|
||||
impl Keypad {
|
||||
pub fn get_any_pressed(&self) -> Option<u8> {
|
||||
for (i, key) in self.keys.iter().enumerate() {
|
||||
|
|
14
src/timer.rs
14
src/timer.rs
|
@ -1,4 +1,4 @@
|
|||
use rodio::{source::SineWave, Sink, Source};
|
||||
use rodio::{source::SineWave, OutputStream, Source};
|
||||
use std::sync::atomic::{AtomicU8, Ordering};
|
||||
use std::thread;
|
||||
use std::time::{Duration, Instant};
|
||||
|
@ -68,13 +68,11 @@ impl Timer {
|
|||
}
|
||||
|
||||
fn beep() {
|
||||
const BEEP_FREQ: u32 = 440; // Hz (Middle A)
|
||||
const BEEP_LENGTH: u64 = 150; // ms
|
||||
let beep = SineWave::new(BEEP_FREQ)
|
||||
.take_duration(Duration::from_millis(BEEP_LENGTH));
|
||||
const BEEP_FREQ: f32 = 440.0; // Hz (Middle A)
|
||||
const BEEP_LENGTH: u64 = 150; // ms
|
||||
let beep = SineWave::new(BEEP_FREQ).take_duration(Duration::from_millis(BEEP_LENGTH));
|
||||
|
||||
if let Some(device) = rodio::default_output_device() {
|
||||
rodio::play_raw(&device, beep);
|
||||
}
|
||||
let (_stream, stream_handle) = OutputStream::try_default().expect("find output stream");
|
||||
stream_handle.play_raw(beep).expect("play sine wave");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue