aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-06-21 00:36:29 +0200
committermetamuffin <metamuffin@disroot.org>2024-06-23 19:24:39 +0200
commit4f19a2cd91b099dc2e0d6c673d853befc7044340 (patch)
tree4bce3019ae7b842034ff03362b01236fe364ab3a
parenta1f6b4f47e7aca167e71311d55c3e9a18f4cbff7 (diff)
downloadhurrycurry-4f19a2cd91b099dc2e0d6c673d853befc7044340.tar
hurrycurry-4f19a2cd91b099dc2e0d6c673d853befc7044340.tar.bz2
hurrycurry-4f19a2cd91b099dc2e0d6c673d853befc7044340.tar.zst
smooth other player's positions
-rw-r--r--test-client/main.ts8
-rw-r--r--test-client/visual.ts2
2 files changed, 7 insertions, 3 deletions
diff --git a/test-client/main.ts b/test-client/main.ts
index 9a7e41a4..84dfd555 100644
--- a/test-client/main.ts
+++ b/test-client/main.ts
@@ -54,7 +54,8 @@ export interface PlayerData {
item?: ItemData,
facing: V2,
character: number,
- vel: { x: number, y: number },
+ anim_position: V2,
+ vel: V2,
message?: Message,
}
export interface TileData {
@@ -93,6 +94,7 @@ function packet(p: PacketC) {
character: p.character,
name: p.name,
rot: 0,
+ anim_position: { x: 0, y: 1 },
facing: { x: 0, y: 1 },
vel: { x: 0, y: 0 },
})
@@ -215,7 +217,9 @@ function frame_update(dt: number) {
const update_item = (item: ItemData) => {
if (item.tracking) lerp_exp_v2_mut(item, item.tracking, dt * 10.)
}
- for (const [_, player] of players) {
+ for (const [pid, player] of players) {
+ if (pid == my_id) player.anim_position.x = player.x, player.anim_position.y = player.y
+ else lerp_exp_v2_mut(player.anim_position, player, dt * 15)
if (player.item !== undefined && player.item !== null) update_item(player.item)
}
for (const [_, tile] of tiles) {
diff --git a/test-client/visual.ts b/test-client/visual.ts
index 2b98561a..54c979da 100644
--- a/test-client/visual.ts
+++ b/test-client/visual.ts
@@ -48,7 +48,7 @@ export function draw_ingame() {
for (const [_, player] of players) {
{
ctx.save()
- ctx.translate(player.x, player.y)
+ ctx.translate(player.anim_position.x, player.anim_position.y)
{
ctx.save()
ctx.rotate(-player.rot)