diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-10-20 20:58:14 +0200 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-10-21 00:18:11 +0200 |
| commit | eaed442578c3b1765ec48c84489a122096b6a08f (patch) | |
| tree | bd5eeb82ea6f49691a4c5bad91a1b1614f0948a8 /test-client/visual.ts | |
| parent | a3b0879a98bf5a0881b426913d7dd4cb9010e327 (diff) | |
| download | hurrycurry-eaed442578c3b1765ec48c84489a122096b6a08f.tar hurrycurry-eaed442578c3b1765ec48c84489a122096b6a08f.tar.bz2 hurrycurry-eaed442578c3b1765ec48c84489a122096b6a08f.tar.zst | |
Send paths as debug events
Diffstat (limited to 'test-client/visual.ts')
| -rw-r--r-- | test-client/visual.ts | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/test-client/visual.ts b/test-client/visual.ts index d75f90f5..20bd7ae2 100644 --- a/test-client/visual.ts +++ b/test-client/visual.ts @@ -16,7 +16,7 @@ */ import { tr } from "./locale.ts"; -import { ItemData, MessageData, MessageStyle, PlayerData, TileData, camera, camera_scale, canvas, ctx, data, get_interact_target, global_message, interact_active_anim, interact_possible_anim, interact_target_anim, is_lobby, items_removed, keys_down, my_id, overlay_vis_anim, players, score, server_hints, tiles } from "./main.ts"; +import { ItemData, MessageData, MessageStyle, PlayerData, TileData, camera, camera_scale, canvas, ctx, data, debug_events, get_interact_target, global_message, interact_active_anim, interact_possible_anim, interact_target_anim, is_lobby, items_removed, keys_down, my_id, overlay_vis_anim, players, score, server_hints, tiles } from "./main.ts"; import { PLAYER_SIZE } from "./movement.ts"; import { draw_item_sprite, draw_tile_sprite, ItemName, TileName } from "./tiles.ts"; import { V2, ceil_v2, floor_v2 } from "./util.ts"; @@ -78,6 +78,8 @@ export function draw_ingame() { for (const [_, message] of server_hints) draw_message(message, true) + draw_debug_events() + ctx.restore() ctx.save() ctx.translate(50, 50) @@ -94,7 +96,23 @@ export function draw_ingame() { draw_score() if (keys_down.has("KeyP")) - draw_debug() + draw_info_overlay() +} + +function draw_debug_events() { + for (const ev of debug_events.values()) { + if (ev.display.ty == "path") { + ctx.lineWidth = 0.1 + ctx.lineCap = "round" + ctx.strokeStyle = `rgb(${ev.color[0] * 100}%,${ev.color[1] * 100}%,${ev.color[2] * 100}%)` + ctx.beginPath() + if (ev.display.points.length) + ctx.moveTo(...ev.display.points[0]) + for (let i = 1; i < ev.display.points.length; i++) + ctx.lineTo(...ev.display.points[i]) + ctx.stroke() + } + } } function draw_score() { @@ -110,7 +128,7 @@ function draw_score() { ctx.fillText(`${tr("c.score.demands_failed")}: ${score.demands_failed}`, 10, canvas.height - 10) } -function draw_debug() { +function draw_info_overlay() { ctx.fillStyle = "white" ctx.textAlign = "left" ctx.textBaseline = "bottom" |