diff options
| author | LLLL Colonq <llll@colonq> | 2026-04-30 22:16:17 -0400 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2026-04-30 22:16:17 -0400 |
| commit | d9a2dbf1d939423eeb100aa3910406f80d0a781f (patch) | |
| tree | 6b60a4c68c3a85a1ab07adc497908e3ec9878c48 /crates | |
| parent | f171d500036e4d08244d02308ba3f62afdd87162 (diff) | |
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/client/src/client.rs | 6 | ||||
| -rw-r--r-- | crates/client/src/client/assets.rs | 2 | ||||
| -rw-r--r-- | crates/renderer/Cargo.toml | 7 | ||||
| -rw-r--r-- | crates/renderer/src/main.rs | 26 | ||||
| -rw-r--r-- | crates/renderer/src/overlay/tcg.rs | 14 | ||||
| -rw-r--r-- | crates/renderer/src/texture_server.rs | 2 |
6 files changed, 15 insertions, 42 deletions
diff --git a/crates/client/src/client.rs b/crates/client/src/client.rs index d03dcf1..2c03286 100644 --- a/crates/client/src/client.rs +++ b/crates/client/src/client.rs @@ -22,9 +22,9 @@ impl teleia::state::Game for Game { ("test".to_owned(), audio::Audio::new(&actx, include_bytes!("client/assets/audio/test.wav"))), ]) } - fn finish_title(&mut self, _st: &mut state::State) {} - fn mouse_press(&mut self, _ctx: &context::Context, _st: &mut state::State) {} - fn mouse_move(&mut self, _ctx: &context::Context, _st: &mut state::State, _x: i32, _y: i32) {} + fn finish_title(&mut self, _ctx: &context::Context, _st: &mut state::State) -> Erm<()> { Ok(()) } + fn mouse_press(&mut self, _ctx: &context::Context, _st: &mut state::State) -> Erm<()> { Ok(()) } + fn mouse_move(&mut self, _ctx: &context::Context, _st: &mut state::State, _x: i32, _y: i32) -> Erm<()> { Ok(()) } fn update(&mut self, ctx: &context::Context, _st: &mut state::State) -> Erm<()> { Ok(()) } diff --git a/crates/client/src/client/assets.rs b/crates/client/src/client/assets.rs index 742f9ea..decb65b 100644 --- a/crates/client/src/client/assets.rs +++ b/crates/client/src/client/assets.rs @@ -10,7 +10,7 @@ pub struct Assets { impl Assets { pub fn new(ctx: &context::Context) -> Self { Self { - font: font::Bitmap::new(ctx), + font: font::Bitmap::default(ctx), shader_flat: shader::Shader::new( ctx, include_str!("assets/shaders/flat/vert.glsl"), diff --git a/crates/renderer/Cargo.toml b/crates/renderer/Cargo.toml index 3f197e9..8990d06 100644 --- a/crates/renderer/Cargo.toml +++ b/crates/renderer/Cargo.toml @@ -9,8 +9,9 @@ name = "newton_renderer" path = "src/main.rs" [dependencies] -teleia = {workspace = true} -newton_shader = {path = "../shader"} +teleia = { workspace = true } +glfw = { workspace = true } +newton_shader = { path = "../shader" } glam = { workspace = true } glow = { workspace = true } bitflags = { workspace = true } @@ -19,6 +20,7 @@ log = { workspace = true } env_logger = { workspace = true } lazy_static = { workspace = true } strum = { workspace = true } +enum-map = { workspace = true } lexpr = { workspace = true } clap = { workspace = true } base64 = { workspace = true } @@ -32,3 +34,4 @@ cpal = { workspace = true } redis = { workspace = true } web-image-meta = { workspace = true } uuid = { workspace = true } +libc = { workspace = true }
\ No newline at end of file diff --git a/crates/renderer/src/main.rs b/crates/renderer/src/main.rs index b71a836..6f951ac 100644 --- a/crates/renderer/src/main.rs +++ b/crates/renderer/src/main.rs @@ -29,11 +29,6 @@ pub fn main() -> Erm<()> { .about("Run the LCOLONQ model renderer in a terminal") ) .subcommand( - Command::new("validate-card") - .arg(Arg::new("path")) - .about("Validate the TCG card at the given path.") - ) - .subcommand( Command::new("repair-card") .arg(Arg::new("path")) .about("Repair the TCG card at the given path.") @@ -57,27 +52,6 @@ pub fn main() -> Erm<()> { Some(("model-terminal", _cm)) => { teleia::run("LCOLONQ", 1920, 1080, teleia::Options::HIDDEN, overlay::model::Terminal::new)?; }, - Some(("validate-card", cm)) => { - if let Some(path) = cm.get_one::<String>("path") { - if overlay::tcg::validate_card(&std::fs::read(path)?)? { - println!("signatures match!"); - std::process::exit(0); - } else { - println!("signatures do not match"); - std::process::exit(1); - } - } else { - eprintln!("no path specified"); - } - }, - Some(("repair-card", cm)) => { - if let Some(path) = cm.get_one::<String>("path") { - let res = overlay::tcg::repair_card(&std::fs::read(path)?)?; - std::io::stdout().write_all(&res)?; - } else { - eprintln!("no path specified"); - } - }, _ => unreachable!("no subcommand"), } Ok(()) diff --git a/crates/renderer/src/overlay/tcg.rs b/crates/renderer/src/overlay/tcg.rs index c3e6a38..acc9915 100644 --- a/crates/renderer/src/overlay/tcg.rs +++ b/crates/renderer/src/overlay/tcg.rs @@ -1,4 +1,3 @@ -use sha2::Digest; use teleia::*; use std::{cell::RefCell, rc::Rc}; @@ -140,7 +139,6 @@ impl std::io::Write for ImageWrite { struct ImageEncoder { frames: u32, frames_left: u32, - frame_hashes: Vec<u8>, buf: Rc<RefCell<Vec<u8>>>, writer: png::Writer<ImageWrite>, } @@ -167,14 +165,12 @@ impl ImageEncoder { Some(Self { frames, frames_left: frames, - frame_hashes: Vec::new(), buf, writer, }) } fn write_frame(&mut self, pixels: &[u8]) { if self.frames_left > 0 { - self.frame_hashes.extend_from_slice(sha2::Sha256::digest(pixels).as_slice()); let _ = self.writer.write_image_data(&pixels); self.frames_left -= 1; } @@ -182,10 +178,10 @@ impl ImageEncoder { fn is_finished(&self) -> bool { self.frames_left == 0 } - fn finish(self) -> Option<(Vec<u8>, Vec<u8>)> { + fn finish(self) -> Option<Vec<u8>> { if self.is_finished() { self.writer.finish().expect("failed to finish"); - Some((self.buf.replace(Vec::new()), self.frame_hashes)) + Some(self.buf.replace(Vec::new())) } else { None } } } @@ -288,7 +284,7 @@ impl Marquee { } } fn upload_card(ctx: &context::Context, st: &mut state::State, ost: &mut overlay::State, - c: &Card, buf: &[u8], hashes: &[u8], + c: &Card, buf: &[u8], ) -> Erm<()> { let with_meta = web_image_meta::png::add_text_chunk( buf, "lcolonqtcg", &c.encoded, @@ -304,9 +300,9 @@ impl Marquee { renderer: &CardRenderer, ) { for s in self.slots.iter_mut() { - if let Some((b, h)) = s.encoder.take_if(|e| e.is_finished()).and_then(|enc| enc.finish()) { + if let Some(b) = s.encoder.take_if(|e| e.is_finished()).and_then(|enc| enc.finish()) { if let Some(c) = &s.card.card { - let _ = Self::upload_card(ctx, st, ost, &c, &b, &h).expect("failed to upload"); + let _ = Self::upload_card(ctx, st, ost, &c, &b).expect("failed to upload"); } } } diff --git a/crates/renderer/src/texture_server.rs b/crates/renderer/src/texture_server.rs index 5afad70..ce14262 100644 --- a/crates/renderer/src/texture_server.rs +++ b/crates/renderer/src/texture_server.rs @@ -21,7 +21,7 @@ pub struct Server { } impl Server { pub fn new(ctx: &context::Context) -> Self { - std::fs::remove_file(SOCK_PATH).expect("failed to remove socket"); + let _ = std::fs::remove_file(SOCK_PATH); let sock = UnixDatagram::bind(SOCK_PATH).expect("failed to bind texture server socket"); let (sender, receiver) = channel::<i32>(); |
