From a75221ab93f59d688f90cd83f0284ff98951fcfa Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Mon, 3 Aug 2026 19:36:31 -0400 Subject: Update --- 2026/framing/src/assets/fonts/font0.png | Bin 8247 -> 0 bytes 2026/framing/src/assets/fonts/font1.png | Bin 0 -> 8247 bytes 2026/framing/src/assets/fonts/font2.png | Bin 0 -> 8060 bytes 2026/framing/src/game.rs | 22 +++++++++++++++++++--- 4 files changed, 19 insertions(+), 3 deletions(-) delete mode 100644 2026/framing/src/assets/fonts/font0.png create mode 100644 2026/framing/src/assets/fonts/font1.png create mode 100644 2026/framing/src/assets/fonts/font2.png (limited to '2026/framing/src') diff --git a/2026/framing/src/assets/fonts/font0.png b/2026/framing/src/assets/fonts/font0.png deleted file mode 100644 index 048ef6c..0000000 Binary files a/2026/framing/src/assets/fonts/font0.png and /dev/null differ diff --git a/2026/framing/src/assets/fonts/font1.png b/2026/framing/src/assets/fonts/font1.png new file mode 100644 index 0000000..048ef6c Binary files /dev/null and b/2026/framing/src/assets/fonts/font1.png differ diff --git a/2026/framing/src/assets/fonts/font2.png b/2026/framing/src/assets/fonts/font2.png new file mode 100644 index 0000000..1a3ddfe Binary files /dev/null and b/2026/framing/src/assets/fonts/font2.png differ diff --git a/2026/framing/src/game.rs b/2026/framing/src/game.rs index 30c778e..fa2efff 100644 --- a/2026/framing/src/game.rs +++ b/2026/framing/src/game.rs @@ -161,7 +161,8 @@ pub struct Game { mode: Mode, mode_started: Tick, renderer: renderer::Renderer, - font0: font::Bitmap, + font1: font::Bitmap, + font2: font::Bitmap, lives: Lives, verb: Option, } @@ -172,11 +173,18 @@ impl Game { mode: Mode::Titlescreen, mode_started: 0, renderer: renderer::Renderer::new(ctx, st, assets::Assets::new), - font0: font::Bitmap::from_image(ctx, 32, 48, 512, 288, include_bytes!("assets/fonts/font0.png")), + font1: font::Bitmap::from_image(ctx, 32, 48, 512, 288, include_bytes!("assets/fonts/font1.png")), + font2: font::Bitmap::from_image(ctx, 32, 48, 512, 288, include_bytes!("assets/fonts/font2.png")), lives: Lives::new(), verb: None, } } + pub fn reset(&mut self) { + self.mode = Mode::Titlescreen; + self.mode_started = 0; + self.lives = Lives::new(); + self.verb = None; + } pub fn switch(&mut self, _ctx: &context::Context, st: &mut state::State, m: Mode) { self.mode = m; self.mode_started = st.tick; @@ -205,12 +213,13 @@ impl Game { }; self.renderer.render_square(ctx, st); if let Some(v) = &self.verb && let Some(t) = fadeout && t > 5 && t < 70 { + let tick = st.tick; self.renderer.text_screen(ctx, st, glam::Vec2::new(st.render_dims.x / 2.0, st.render_dims.y / 2.0), v ) .centered() - .font(&self.font0) + .font(if (tick / 16).is_multiple_of(2) { &self.font1 } else { &self.font2 }) .color(glam::Vec4::new(0.39, 0.61, 1.0, opacity)) .render(); } @@ -339,3 +348,10 @@ pub fn end_game(win: bool) { js_update_lifetotal(g.lives.lives_remaining()); }); } + +#[wasm_bindgen] +pub fn reset() { + contextualize(|_ctx, _st, g: &mut Game| { + g.reset(); + }) +} -- cgit v1.3.1