diff options
| author | LLLL Colonq <llll@colonq> | 2026-08-03 19:36:31 -0400 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2026-08-03 19:36:31 -0400 |
| commit | a75221ab93f59d688f90cd83f0284ff98951fcfa (patch) | |
| tree | 215c9480f5b1bfdf63f9a0141b06a7cbefaab2e8 /2026/framing | |
| parent | 9127154100230e8d60ab5139fb1bc626b24068ee (diff) | |
Update
Diffstat (limited to '2026/framing')
| -rw-r--r-- | 2026/framing/art/font0.aseprite | bin | 9656 -> 18591 bytes | |||
| -rw-r--r-- | 2026/framing/dist/game_lib-aa603afdb40ff7d9.js (renamed from 2026/framing/dist/game_lib-756716c85f227e5e.js) | 10 | ||||
| -rw-r--r-- | 2026/framing/dist/game_lib-aa603afdb40ff7d9_bg.wasm (renamed from 2026/framing/dist/game_lib-756716c85f227e5e_bg.wasm) | bin | 21784901 -> 21793265 bytes | |||
| -rw-r--r-- | 2026/framing/dist/index.html | 6 | ||||
| -rw-r--r-- | 2026/framing/src/assets/fonts/font1.png (renamed from 2026/framing/src/assets/fonts/font0.png) | bin | 8247 -> 8247 bytes | |||
| -rw-r--r-- | 2026/framing/src/assets/fonts/font2.png | bin | 0 -> 8060 bytes | |||
| -rw-r--r-- | 2026/framing/src/game.rs | 22 |
7 files changed, 27 insertions, 11 deletions
diff --git a/2026/framing/art/font0.aseprite b/2026/framing/art/font0.aseprite Binary files differindex 1893854..d6c11a8 100644 --- a/2026/framing/art/font0.aseprite +++ b/2026/framing/art/font0.aseprite diff --git a/2026/framing/dist/game_lib-756716c85f227e5e.js b/2026/framing/dist/game_lib-aa603afdb40ff7d9.js index 51c21fe..b47f990 100644 --- a/2026/framing/dist/game_lib-756716c85f227e5e.js +++ b/2026/framing/dist/game_lib-aa603afdb40ff7d9.js @@ -1474,10 +1474,6 @@ function __wbg_get_imports() { const ret = false; return ret; }; - imports.wbg.__wbindgen_closure_wrapper3202 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 530, __wbg_adapter_43); - return ret; - }; imports.wbg.__wbindgen_closure_wrapper3203 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 530, __wbg_adapter_43); return ret; @@ -1495,10 +1491,14 @@ function __wbg_get_imports() { return ret; }; imports.wbg.__wbindgen_closure_wrapper3207 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 530, __wbg_adapter_43); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper3208 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 530, __wbg_adapter_54); return ret; }; - imports.wbg.__wbindgen_closure_wrapper3433 = function(arg0, arg1, arg2) { + imports.wbg.__wbindgen_closure_wrapper3434 = function(arg0, arg1, arg2) { const ret = makeMutClosure(arg0, arg1, 605, __wbg_adapter_57); return ret; }; diff --git a/2026/framing/dist/game_lib-756716c85f227e5e_bg.wasm b/2026/framing/dist/game_lib-aa603afdb40ff7d9_bg.wasm Binary files differindex ef0aad6..75e96d8 100644 --- a/2026/framing/dist/game_lib-756716c85f227e5e_bg.wasm +++ b/2026/framing/dist/game_lib-aa603afdb40ff7d9_bg.wasm diff --git a/2026/framing/dist/index.html b/2026/framing/dist/index.html index 8c53213..61cdd04 100644 --- a/2026/framing/dist/index.html +++ b/2026/framing/dist/index.html @@ -6,8 +6,8 @@ <meta charset="UTF-8"> <script type="module"> -import init, * as bindings from '/framing/dist/game_lib-756716c85f227e5e.js'; -const wasm = await init({ module_or_path: '/framing/dist/game_lib-756716c85f227e5e_bg.wasm' }); +import init, * as bindings from '/framing/dist/game_lib-aa603afdb40ff7d9.js'; +const wasm = await init({ module_or_path: '/framing/dist/game_lib-aa603afdb40ff7d9_bg.wasm' }); window.wasmBindings = bindings; @@ -23,7 +23,7 @@ dispatchEvent(new CustomEvent("TrunkApplicationStarted", {detail: {wasm}})); <link rel="icon" href="data:;base64,iVBORw0KGgo="> <link rel="stylesheet" href="/framing/dist/index-1e3cd2ca0ba4d1ec.css" integrity="sha384-1q3UDTmLdOyf9/QxW+Imap//HWhTWNfvn7j2iwuUap3HSD6IOGG7pDS9VJMk7nKv"/> <title>TODO TITLE</title> - <link rel="modulepreload" href="/framing/dist/game_lib-756716c85f227e5e.js" crossorigin="anonymous" integrity="sha384-kETWGSRk6mu21Pl7hsEBpB7eWp9Jg8dJ0WfMsHTslM4gPgB1ny4BccJxZQiG/rOL"><link rel="modulepreload" href="/framing/dist/snippets/teleia-727bf4351691f1c8/src/helpers.js" crossorigin="anonymous" integrity="sha384-HhtEY2WfGmhyPUSRWKZvqsRxYsdT/DLEdFUqWyDZt6G6lrNHmE1zMlw4BJ3RycRd"><link rel="modulepreload" href="/framing/dist/snippets/game_lib-09da6449fcb9d06e/src/bindings.js" crossorigin="anonymous" integrity="sha384-OqSoI1U/qGAdOIY23X7G4HXgi2h6nb8jbT8RiF1LDHgJg7UPDyGz1ZQ/rgmUg4ue"><link rel="preload" href="/framing/dist/game_lib-756716c85f227e5e_bg.wasm" crossorigin="anonymous" integrity="sha384-iM/1P6P3lvXgnPMw0tt4ocjj6nBFBjHbULHKLD27+v172BszheW1lu2oltfrpEnw" as="fetch" type="application/wasm"></head> + <link rel="modulepreload" href="/framing/dist/game_lib-aa603afdb40ff7d9.js" crossorigin="anonymous" integrity="sha384-eMCeJjAlA+b75LleOY7IhYi/P6ZjaOCSkvTktuCryApU0uVsgxpHwsIIit0mOM42"><link rel="modulepreload" href="/framing/dist/snippets/game_lib-09da6449fcb9d06e/src/bindings.js" crossorigin="anonymous" integrity="sha384-OqSoI1U/qGAdOIY23X7G4HXgi2h6nb8jbT8RiF1LDHgJg7UPDyGz1ZQ/rgmUg4ue"><link rel="modulepreload" href="/framing/dist/snippets/teleia-727bf4351691f1c8/src/helpers.js" crossorigin="anonymous" integrity="sha384-HhtEY2WfGmhyPUSRWKZvqsRxYsdT/DLEdFUqWyDZt6G6lrNHmE1zMlw4BJ3RycRd"><link rel="preload" href="/framing/dist/game_lib-aa603afdb40ff7d9_bg.wasm" crossorigin="anonymous" integrity="sha384-SqLip8RuTHuwH8gIf8seGo1v5B+xd39TtwJaaxne6cjMYgKQWKOqYRjVWL0ZsIa9" as="fetch" type="application/wasm"></head> <body> <script type="module"> window.addEventListener("TrunkApplicationStarted", async (event) => { diff --git a/2026/framing/src/assets/fonts/font0.png b/2026/framing/src/assets/fonts/font1.png Binary files differindex 048ef6c..048ef6c 100644 --- a/2026/framing/src/assets/fonts/font0.png +++ b/2026/framing/src/assets/fonts/font1.png diff --git a/2026/framing/src/assets/fonts/font2.png b/2026/framing/src/assets/fonts/font2.png Binary files differnew file mode 100644 index 0000000..1a3ddfe --- /dev/null +++ b/2026/framing/src/assets/fonts/font2.png 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<assets::Assets>, - font0: font::Bitmap, + font1: font::Bitmap, + font2: font::Bitmap, lives: Lives, verb: Option<String>, } @@ -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(); + }) +} |
