From 05c909725a21c796deb3cc7e07775f1ab7c2ee14 Mon Sep 17 00:00:00 2001 From: Jeremiah Billmann Date: Wed, 26 Jun 2013 20:37:10 -0400 Subject: [PATCH] Progress: Interpolation --- client/garageserver.io.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/client/garageserver.io.js b/client/garageserver.io.js index 3b9c501..bd95945 100644 --- a/client/garageserver.io.js +++ b/client/garageserver.io.js @@ -127,13 +127,13 @@ window.GarageServerIO = (function (window, socketio) { } } if (!updateFound) { - players[playerIdx].updates.push({ state: playerState.state, seq: playerState.seq, time: playerState.time }); + players[playerIdx].updates.push({ state: playerState.state, seq: playerState.seq, time: data.time }); + if (players[playerIdx].updates.length > 60) { + players[playerIdx].updates.splice(0, 1); + } } break; } - if (players[playerIdx].updates.length > 60) { - players[playerIdx].updates.splice(0, players[playerIdx].updates.length - 60); - } } if (!playerFound) { @@ -141,7 +141,7 @@ window.GarageServerIO = (function (window, socketio) { id: playerState.id, updates: [] }; - player.updates.push({ state: playerState.state, seq: playerState.seq, time: playerState.time }); + player.updates.push({ state: playerState.state, seq: playerState.seq, time: data.time }); players.push(player); } } @@ -196,10 +196,10 @@ window.GarageServerIO = (function (window, socketio) { var previous = playerUpdates[updateIdx]; var target = playerUpdates[updateIdx + 1]; - if(currentTime > previous.time && currentTime < target.time) { + if(previous && target && currentTime > previous.time && currentTime < target.time) { range = target.time - previous.time; difference = currentTime - previous.time; - amount = Math.toFixed( difference / range, 3); + amount = parseFloat((difference / range).toFixed(3)); positions.previousState = previous.state; positions.targetState = target.state;