summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-14 11:39:06 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-14 11:39:06 +0200
commite10e4aec0cb85ead7d2c6c5c9e5c77257c71155e (patch)
treea9bc0af2d02dc8f77bd628d011e5fe96442242ea
parent069b61be6d132bc2d9935bb1f846da4dc3d8b5d5 (diff)
downloadhurrycurry-e10e4aec0cb85ead7d2c6c5c9e5c77257c71155e.tar
hurrycurry-e10e4aec0cb85ead7d2c6c5c9e5c77257c71155e.tar.bz2
hurrycurry-e10e4aec0cb85ead7d2c6c5c9e5c77257c71155e.tar.zst
hide messages when nametags are shown
-rw-r--r--test-client/main.ts2
-rw-r--r--test-client/visual.ts13
2 files changed, 10 insertions, 5 deletions
diff --git a/test-client/main.ts b/test-client/main.ts
index 0d2ba8fb..30e67f67 100644
--- a/test-client/main.ts
+++ b/test-client/main.ts
@@ -342,7 +342,7 @@ function frame_update(dt: number) {
const zoom_target = Math.min(canvas.width, canvas.height) * (keys_down.has("KeyL") ? 0.05 : 0.1)
camera_scale = lerp_exp(camera_scale, zoom_target, dt * 5)
- nametag_scale_anim = lerp_exp(nametag_scale_anim, keys_down.has("KeyL") ? 1.5 : 0, dt * 10)
+ nametag_scale_anim = lerp_exp(nametag_scale_anim, +keys_down.has("KeyL"), dt * 10)
}
function resize() {
diff --git a/test-client/visual.ts b/test-client/visual.ts
index debf861e..d3f8a8b0 100644
--- a/test-client/visual.ts
+++ b/test-client/visual.ts
@@ -69,6 +69,9 @@ export function draw_ingame() {
for (const [_, player] of players)
if (player.message) draw_message(player.message)
+ for (const [_, player] of players)
+ draw_player_nametag(player)
+
// Draw interact target
draw_interact_target()
@@ -135,13 +138,16 @@ function draw_player(player: PlayerData) {
if (player.boosting) ctx.scale(1.3, 1.3)
draw_character(player.character)
ctx.restore()
+ if (player.item) draw_item(player.item)
+}
+function draw_player_nametag(player: PlayerData) {
if (nametag_scale_anim > 0.01) {
ctx.save()
ctx.translate(player.anim_position.x, player.anim_position.y)
ctx.translate(0, -1)
ctx.textAlign = "center"
- ctx.font = "10px sans-serif"
+ ctx.font = "15px sans-serif"
ctx.scale(nametag_scale_anim / camera_scale, nametag_scale_anim / camera_scale)
const w = ctx.measureText(player.name).width + 20
ctx.fillStyle = "#fffa"
@@ -153,8 +159,6 @@ function draw_player(player: PlayerData) {
ctx.fillText(player.name, 0, 0)
ctx.restore()
}
-
- if (player.item) draw_item(player.item)
}
function draw_interact_target() {
@@ -211,7 +215,8 @@ function draw_character(character: number) {
function draw_message(m: MessageData) {
ctx.save()
ctx.translate(m.anim_position.x, m.anim_position.y)
- ctx.scale(m.anim_size, m.anim_size)
+ const scale = Math.min(m.anim_size, 1 - nametag_scale_anim);
+ ctx.scale(scale, scale)
if ("item" in m.inner) {
ctx.fillStyle = "#fffa"
ctx.beginPath()