From 91ed82c45df05bc333bb63fbd92e330f9b9701c7 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 9 May 2016 18:29:27 +0300 Subject: Add settings for set distance for start syncyng player. Default distance is 2 and it good for ping < 500. But for bigger ping probably need other values. --- src/being/localplayer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/being/localplayer.cpp') diff --git a/src/being/localplayer.cpp b/src/being/localplayer.cpp index a021184c0..cb4426319 100644 --- a/src/being/localplayer.cpp +++ b/src/being/localplayer.cpp @@ -157,6 +157,7 @@ LocalPlayer::LocalPlayer(const BeingId id, mTestParticleName(), mTestParticleTime(0), mTestParticleHash(0L), + mSyncPlayerMoveDistance(config.getBoolValue("syncPlayerMoveDistance")), mWalkingDir(0), mUpdateName(true), mBlockAdvert(false), @@ -201,6 +202,7 @@ LocalPlayer::LocalPlayer(const BeingId id, config.addListener("targetDeadPlayers", this); serverConfig.addListener("enableBuggyServers", this); config.addListener("syncPlayerMove", this); + config.addListener("syncPlayerMoveDistance", this); config.addListener("drawPath", this); config.addListener("serverAttack", this); config.addListener("attackMoving", this); @@ -1068,6 +1070,8 @@ void LocalPlayer::optionChanged(const std::string &value) mIsServerBuggy = serverConfig.getBoolValue("enableBuggyServers"); else if (value == "syncPlayerMove") mSyncPlayerMove = config.getBoolValue("syncPlayerMove"); + else if (value == "syncPlayerMoveDistance") + mSyncPlayerMoveDistance = config.getIntValue("syncPlayerMoveDistance"); else if (value == "drawPath") mDrawPath = config.getBoolValue("drawPath"); else if (value == "serverAttack") @@ -2468,7 +2472,7 @@ void LocalPlayer::fixPos() const int dy = abs(mY - mCrossY); const int dist = dx > dy ? dx : dy; const int time = cur_time; - const int maxDist = mSyncPlayerMove ? 2 : 7; + const int maxDist = mSyncPlayerMove ? mSyncPlayerMoveDistance : 7; if (dist > maxDist) { -- cgit v1.2.3-70-g09d2