diff options
Diffstat (limited to 'test-client/visual.ts')
-rw-r--r-- | test-client/visual.ts | 13 |
1 files changed, 9 insertions, 4 deletions
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() |