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/game.rs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to '2026/framing/src/game.rs') 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