summaryrefslogtreecommitdiff
path: root/crates/renderer
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2026-06-29 20:28:08 -0400
committerLLLL Colonq <llll@colonq>2026-06-29 20:28:08 -0400
commitab5106e978c8c3d5cd2f97f4da1fb9e4275d7f61 (patch)
tree9d2242ce2e00cb1a3e9e6d2985d59c54390f79e1 /crates/renderer
parent9065f3c9765123f5f5bc503407c493fdb7c79488 (diff)
Diffstat (limited to 'crates/renderer')
-rw-r--r--crates/renderer/src/assets.rs2
-rw-r--r--crates/renderer/src/assets/shaders/handcam/frag.glsl12
-rw-r--r--crates/renderer/src/assets/shaders/handcam/vert.glsl4
-rw-r--r--crates/renderer/src/assets/textures/exclusive.pngbin0 -> 832 bytes
-rw-r--r--crates/renderer/src/main.rs2
-rw-r--r--crates/renderer/src/overlay.rs3
-rw-r--r--crates/renderer/src/overlay/clippy.rs3
-rw-r--r--crates/renderer/src/overlay/tcg.rs10
8 files changed, 34 insertions, 2 deletions
diff --git a/crates/renderer/src/assets.rs b/crates/renderer/src/assets.rs
index 4eb681a..042fc88 100644
--- a/crates/renderer/src/assets.rs
+++ b/crates/renderer/src/assets.rs
@@ -16,6 +16,7 @@ pub struct Assets {
pub texture_operatop: texture::Texture,
pub texture_operabottom: texture::Texture,
pub texture_clippyborder: texture::Texture,
+ pub texture_exclusive: texture::Texture,
}
impl Assets {
@@ -72,6 +73,7 @@ impl Assets {
texture_operatop: texture::Texture::new(ctx, include_bytes!("assets/textures/operatop.png")),
texture_operabottom: texture::Texture::new(ctx, include_bytes!("assets/textures/operabottom.png")),
texture_clippyborder: texture::Texture::new(ctx, include_bytes!("assets/textures/clippyborder.png")),
+ texture_exclusive: texture::Texture::new(ctx, include_bytes!("assets/textures/exclusive.png")),
}
}
}
diff --git a/crates/renderer/src/assets/shaders/handcam/frag.glsl b/crates/renderer/src/assets/shaders/handcam/frag.glsl
new file mode 100644
index 0000000..ea327e6
--- /dev/null
+++ b/crates/renderer/src/assets/shaders/handcam/frag.glsl
@@ -0,0 +1,12 @@
+uniform sampler2D texture_data;
+
+uniform vec2 crop;
+
+void main()
+{
+ vec2 tcfull = vec2(vertex_texcoord.x, 1.0 - vertex_texcoord.y);
+ if (tcfull.x > crop.x || tcfull.y > crop.y) discard;
+ vec4 texel = texture(texture_data, tcfull);
+ texel.a = 0.5;
+ frag_color = texel;
+}
diff --git a/crates/renderer/src/assets/shaders/handcam/vert.glsl b/crates/renderer/src/assets/shaders/handcam/vert.glsl
new file mode 100644
index 0000000..e324f7e
--- /dev/null
+++ b/crates/renderer/src/assets/shaders/handcam/vert.glsl
@@ -0,0 +1,4 @@
+void main()
+{
+ default_main();
+} \ No newline at end of file
diff --git a/crates/renderer/src/assets/textures/exclusive.png b/crates/renderer/src/assets/textures/exclusive.png
new file mode 100644
index 0000000..98aa306
--- /dev/null
+++ b/crates/renderer/src/assets/textures/exclusive.png
Binary files differ
diff --git a/crates/renderer/src/main.rs b/crates/renderer/src/main.rs
index d9ff83d..5f73df8 100644
--- a/crates/renderer/src/main.rs
+++ b/crates/renderer/src/main.rs
@@ -30,7 +30,7 @@ pub fn main() -> Erm<()> {
Box::new(overlay::shader::Overlay::new(ctx)),
Box::new(overlay::tcg::Overlay::new(ctx)),
Box::new(overlay::clippy::Overlay::new(ctx)),
- Box::new(overlay::handcam::Overlay::new(ctx)),
+ // Box::new(overlay::handcam::Overlay::new(ctx)),
Box::new(overlay::combo::Overlay::new(ctx)),
Box::new(overlay::drawing::Overlay::new(ctx)),
Box::new(overlay::asset::Overlay::new(ctx)),
diff --git a/crates/renderer/src/overlay.rs b/crates/renderer/src/overlay.rs
index 7ccf1f5..ec8acb8 100644
--- a/crates/renderer/src/overlay.rs
+++ b/crates/renderer/src/overlay.rs
@@ -181,7 +181,8 @@ impl teleia::state::Game for Overlays {
&glam::Vec3::new(0.0, 0.0, -1.0),
&glam::Vec3::new(0.0, 1.0, 0.0),
);
- while let Some(msg) = self.state.fig_binary.pump()? {
+ self.state.fig_binary.pump()?;
+ while let Some(msg) = self.state.fig_binary.pop_incoming_message() {
for ov in self.overlays.iter_mut() {
ov.handle_binary(ctx, st, &mut self.state, &msg)?;
}
diff --git a/crates/renderer/src/overlay/clippy.rs b/crates/renderer/src/overlay/clippy.rs
index e1ddb0e..741f3bb 100644
--- a/crates/renderer/src/overlay/clippy.rs
+++ b/crates/renderer/src/overlay/clippy.rs
@@ -579,6 +579,9 @@ impl overlay::Overlay for Overlay {
Ok(())
}
fn render(&mut self, ctx: &context::Context, st: &mut state::State, ost: &mut overlay::State) -> Erm<()> {
+ if st.tick % 60 == 0 {
+ log::info!("drawing clippy");
+ }
st.bind_2d(ctx, &ost.assets.shader_acs);
let w = 3.0 * self.acs.character_info.width as f32;
let h = 3.0 * self.acs.character_info.height as f32;
diff --git a/crates/renderer/src/overlay/tcg.rs b/crates/renderer/src/overlay/tcg.rs
index 484f265..e6cc34a 100644
--- a/crates/renderer/src/overlay/tcg.rs
+++ b/crates/renderer/src/overlay/tcg.rs
@@ -448,6 +448,16 @@ impl CardRenderer {
}
);
+ // exclusive mandarin
+ // st.bind_2d(ctx, &ost.assets.shader_flat);
+ // ost.assets.texture_exclusive.bind(ctx);
+ // ost.assets.shader_flat.set_position_2d(
+ // ctx, st,
+ // &glam::Vec2::new(0.0, 0.0),
+ // &glam::Vec2::new(WIDTH, 16.0)
+ // );
+ // st.mesh_square.render(ctx);
+
// art
self.draw_rectangle(ctx, st, ost,
glam::Vec4::new(0.1, 0.1, 0.1, 1.0),