add noPosUpdate

wsc-master-rebase
cora 2021-02-07 05:17:21 +01:00 committed by Schmappie Eldress
parent 34ca75586e
commit 8ca63644e3
5 changed files with 16 additions and 9 deletions

View File

@ -18,7 +18,8 @@ core.cheats = {
["SpeedOverride"] = "override_speed",
["JumpOverride"] = "override_jump",
["GravityOverride"] = "override_gravity",
["AntiSlip"] = "antislip",
["AntiSlip"] = "antislip",
["NoPosUpdate"] = "noposupdate",
},
["Render"] = {
["Xray"] = "xray",

View File

@ -1291,8 +1291,9 @@ void Client::sendReady()
Send(&pkt);
}
void Client::sendPlayerPos(v3f pos)
void Client::sendPlayerPos(v3f pos,bool force)
{
if (g_settings->getBool("noposupdate") && !force) return;
LocalPlayer *player = m_env.getLocalPlayer();
if (!player)
return;
@ -1333,12 +1334,12 @@ void Client::sendPlayerPos(v3f pos)
Send(&pkt);
}
void Client::sendPlayerPos()
void Client::sendPlayerPos(bool force)
{
LocalPlayer *player = m_env.getLocalPlayer();
if (!player)
return;
sendPlayerPos(player->getLegitPosition());
sendPlayerPos(player->getLegitPosition(),force);
}
void Client::removeNode(v3s16 p)
@ -1819,7 +1820,7 @@ float Client::getCurRate()
m_con->getLocalStat(con::CUR_DL_RATE));
}
void Client::makeScreenshot(bool hide_msg)
void Client::makeScreenshot(bool hide_msg,bool autofly)
{
irr::video::IVideoDriver *driver = RenderingEngine::get_video_driver();
irr::video::IImage* const raw_image = driver->createScreenShot();

View File

@ -388,7 +388,7 @@ public:
LocalClientState getState() { return m_state; }
void makeScreenshot(bool hide_msg=false);
void makeScreenshot(bool hide_msg=false,bool autofly=false);
inline void pushToChatQueue(ChatMessage *cec)
{
@ -441,8 +441,8 @@ public:
return m_env.getLocalPlayer()->formspec_prepend;
}
void sendPlayerPos(v3f pos);
void sendPlayerPos();
void sendPlayerPos(v3f pos,bool force=false);
void sendPlayerPos(bool force=false);
MeshUpdateThread m_mesh_update_thread;
private:

View File

@ -27,6 +27,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "mapgen/mapgen.h" // Mapgen::setDefaultSettings
#include "util/string.h"
void set_default_settings(Settings *settings)
{
// Client and server
@ -149,6 +152,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("player_esp_color", "(0, 255, 0)");
settings->setDefault("noweather", "false");
settings->setDefault("noparticles", "false");
settings->setDefault("noposupdate", "false");
// Keymap
settings->setDefault("remote_port", "30000");
@ -605,5 +609,6 @@ void set_default_settings(Settings *settings)
settings->setDefault("mono_font_size", "14");
}
// Tablets >= 6.0 use non-Android defaults for these settings
set_settingtypes();
#endif
}

View File

@ -308,7 +308,7 @@ int LuaLocalPlayer::l_set_pos(lua_State *L)
v3f pos = checkFloatPos(L, 2);
player->setPosition(pos);
getClient(L)->sendPlayerPos();
getClient(L)->sendPlayerPos(true);
return 0;
}