From ba45a88fbe389ea736131e400b1ffeabaea8e04e Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Sun, 26 May 2024 20:52:40 +0530 Subject: [PATCH] somewhat better maybe? --- src/Marble.hx | 4 ++++ src/net/MoveManager.hx | 14 ++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Marble.hx b/src/Marble.hx index f69ecc19..0c673bef 100644 --- a/src/Marble.hx +++ b/src/Marble.hx @@ -1793,6 +1793,10 @@ class Marble extends GameObject { } else { this.level.pickUpPowerUp(cast this, this.level.powerUps[p.powerUpId]); } + if (p.moveQueueSize == 0 && this.connection != null) { + // Pad null move on client + this.connection.moveManager.duplicateLastMove(); + } // if (this.controllable && Net.isClient) { // // We are client, need to do something about the queue diff --git a/src/net/MoveManager.hx b/src/net/MoveManager.hx index 0d38de5b..80b93aac 100644 --- a/src/net/MoveManager.hx +++ b/src/net/MoveManager.hx @@ -47,12 +47,12 @@ class MoveManager { var maxMoves = 45; var maxSendMoveListSize = 30; - var serverTargetMoveListSize = 3; - var serverMaxMoveListSize = 8; - var serverAvgMoveListSize = 3.0; + var serverTargetMoveListSize = 4; + var serverMaxMoveListSize = 16; + var serverAvgMoveListSize = 4.0; var serverSmoothMoveAvg = 0.15; var serverMoveListSizeSlack = 1.5; - var serverDefaultMinTargetMoveListSize = 3; + var serverDefaultMinTargetMoveListSize = 4; var serverAbnormalMoveCount = 0; var serverLastRecvMove = 0; var serverLastAckMove = 0; @@ -144,6 +144,12 @@ class MoveManager { queuedMoves[to].motionDir.load(queuedMoves[from].motionDir); } + public inline function duplicateLastMove() { + if (queuedMoves.length == 0) + return; + queuedMoves.insert(0, queuedMoves[0]); + } + public static inline function packMove(m:NetMove, b:OutputBitStream) { b.writeUInt16(m.id); b.writeByte(Std.int((m.move.d.x * 16) + 16));