summaryrefslogtreecommitdiff
path: root/2026/framing
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2026-08-03 19:36:31 -0400
committerLLLL Colonq <llll@colonq>2026-08-03 19:36:31 -0400
commita75221ab93f59d688f90cd83f0284ff98951fcfa (patch)
tree215c9480f5b1bfdf63f9a0141b06a7cbefaab2e8 /2026/framing
parent9127154100230e8d60ab5139fb1bc626b24068ee (diff)
Update
Diffstat (limited to '2026/framing')
-rw-r--r--2026/framing/art/font0.asepritebin9656 -> 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)bin21784901 -> 21793265 bytes
-rw-r--r--2026/framing/dist/index.html6
-rw-r--r--2026/framing/src/assets/fonts/font1.png (renamed from 2026/framing/src/assets/fonts/font0.png)bin8247 -> 8247 bytes
-rw-r--r--2026/framing/src/assets/fonts/font2.pngbin0 -> 8060 bytes
-rw-r--r--2026/framing/src/game.rs22
7 files changed, 27 insertions, 11 deletions
diff --git a/2026/framing/art/font0.aseprite b/2026/framing/art/font0.aseprite
index 1893854..d6c11a8 100644
--- a/2026/framing/art/font0.aseprite
+++ b/2026/framing/art/font0.aseprite
Binary files differ
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
index ef0aad6..75e96d8 100644
--- a/2026/framing/dist/game_lib-756716c85f227e5e_bg.wasm
+++ b/2026/framing/dist/game_lib-aa603afdb40ff7d9_bg.wasm
Binary files differ
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
index 048ef6c..048ef6c 100644
--- a/2026/framing/src/assets/fonts/font0.png
+++ b/2026/framing/src/assets/fonts/font1.png
Binary files 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
--- /dev/null
+++ b/2026/framing/src/assets/fonts/font2.png
Binary files 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<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();
+ })
+}