diff options
| author | LLLL Colonq <llll@colonq> | 2026-06-07 20:03:10 -0400 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2026-06-07 20:03:10 -0400 |
| commit | 8cdb8016dedf16caf1bf5ad0eeb9d8b13e00ca2a (patch) | |
| tree | 37c16b435dccd58f4d7d80926f4641e9a78ac918 /2026/framing | |
| parent | ba560f205799501e95c46b9159e4dcb041c0bb86 (diff) | |
Update
Diffstat (limited to '2026/framing')
| -rw-r--r-- | 2026/framing/art/mrworld.aseprite | bin | 12122 -> 12732 bytes | |||
| -rw-r--r-- | 2026/framing/src/assets/textures/mrworld.png | bin | 10491 -> 10312 bytes | |||
| -rw-r--r-- | 2026/framing/src/game.rs | 38 |
3 files changed, 23 insertions, 15 deletions
diff --git a/2026/framing/art/mrworld.aseprite b/2026/framing/art/mrworld.aseprite Binary files differindex fb4a5f3..c072ae1 100644 --- a/2026/framing/art/mrworld.aseprite +++ b/2026/framing/art/mrworld.aseprite diff --git a/2026/framing/src/assets/textures/mrworld.png b/2026/framing/src/assets/textures/mrworld.png Binary files differindex 1f2d166..831cacb 100644 --- a/2026/framing/src/assets/textures/mrworld.png +++ b/2026/framing/src/assets/textures/mrworld.png diff --git a/2026/framing/src/game.rs b/2026/framing/src/game.rs index 5e84503..d379dad 100644 --- a/2026/framing/src/game.rs +++ b/2026/framing/src/game.rs @@ -150,7 +150,12 @@ fn draw_mr_armed( Ok(()) } +pub enum Mode { + Running, +} + pub struct Game { + mode: Mode, renderer: renderer::Renderer<assets::Assets>, lives: Lives, } @@ -158,6 +163,7 @@ pub struct Game { impl Game { pub fn new(ctx: &context::Context) -> Self { Self { + mode: Mode::Running, renderer: renderer::Renderer::new(ctx, assets::Assets::new), lives: Lives::new(), } @@ -167,27 +173,29 @@ impl Game { impl teleia::state::Game for Game { fn initialize_audio(&self, ctx: &context::Context, st: &state::State, actx: &audio::Context) -> HashMap<String, audio::Audio> { HashMap::from_iter(vec![ - ("footsteps".to_owned(), audio::Audio::new(&actx, include_bytes!("assets/audio/footsteps.wav"))), + ("footsteps".to_owned(), audio::Audio::new(actx, include_bytes!("assets/audio/footsteps.wav"))), ]) } fn update(&mut self, ctx: &context::Context, st: &mut state::State) -> Erm<()> { - if st.keys.new_a() { - log::info!("yo"); - self.lives.lose_life(ctx, st); - st.audio.play_sfx("footsteps"); - } Ok(()) } fn render(&mut self, ctx: &context::Context, st: &mut state::State) -> Erm<()> { - ctx.clear_color(glam::Vec4::ZERO); - ctx.clear(); - self.renderer.text_screen(ctx, st, glam::Vec2::new(0.0, 0.0), "hi"); - self.renderer.bind_uber_2d(ctx, st, UberFlags::TEXTURE_COLOR | UberFlags::SPRITE); - self.renderer.bind_texture(ctx, st, assets::Texture::Mrworld); - self.renderer.set_texture_offset(ctx, st, 2, 1, ((st.tick / 15) % 2) as i32, 0); - self.renderer.set_position_2d(ctx, st, glam::Vec2::ZERO, st.render_dims); - self.renderer.render_square(ctx, st); - self.lives.render(ctx, st, &mut self.renderer)?; + match self.mode { + Mode::Running => { + self.renderer.clear(ctx, st, glam::Vec4::ZERO); + self.renderer.text_screen(ctx, st, glam::Vec2::new(0.0, 0.0), "hi"); + self.renderer.bind_uber_2d(ctx, st, UberFlags::TEXTURE_COLOR | UberFlags::SPRITE | UberFlags::OPACITY); + self.renderer.bind_texture(ctx, st, assets::Texture::Mrworld); + self.renderer.set_texture_offset(ctx, st, 2, 1, ((st.tick / 15) % 2) as i32, 0); + self.renderer.set_position_2d(ctx, st, glam::Vec2::ZERO, st.render_dims); + self.renderer.set_f32(ctx, st, "opacity", 0.5); + self.renderer.render_square(ctx, st); + self.lives.render(ctx, st, &mut self.renderer)?; + }, + } + Ok(()) + } + fn mouse_press(&mut self, _ctx: &context::Context, st: &mut state::State) -> Erm<()> { Ok(()) } } |
