summaryrefslogtreecommitdiff
path: root/src/server/player_sao.h
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2020-04-11 11:22:15 +0200
committerLoïc Blot <nerzhul@users.noreply.github.com>2020-04-11 16:07:17 +0200
commit5146086a64d5eeb480948d612a008a2ec81455d4 (patch)
tree924bc1191cd251cd48d7f41e7d9b02577985eadf /src/server/player_sao.h
parent894a34aef48024a752a1ef151d046955d83858d0 (diff)
downloadminetest-5146086a64d5eeb480948d612a008a2ec81455d4.tar.gz
minetest-5146086a64d5eeb480948d612a008a2ec81455d4.tar.bz2
minetest-5146086a64d5eeb480948d612a008a2ec81455d4.zip
Drop content_sao.{cpp,h}
Move LuaEntitySAO to a new dedicated file Drop TestSAO (useless object) Drop the old static startup initialized SAO factory, which was pretty useless. This factory was using a std::map for 2 elements, now just use a simple condition owned by ServerEnvironment, which will be lightweight, that will also drop a one time useful test on each LuaEntitySAO creation. This should reduce server load on massive SAO creation
Diffstat (limited to 'src/server/player_sao.h')
-rw-r--r--src/server/player_sao.h83
1 files changed, 29 insertions, 54 deletions
diff --git a/src/server/player_sao.h b/src/server/player_sao.h
index ce1cb1677..8571bd4f9 100644
--- a/src/server/player_sao.h
+++ b/src/server/player_sao.h
@@ -1,4 +1,3 @@
-
/*
Minetest
Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
@@ -19,6 +18,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#pragma once
+
#include "constants.h"
#include "network/networkprotocol.h"
#include "unit_sao.h"
@@ -32,33 +33,31 @@ class LagPool
{
float m_pool = 15.0f;
float m_max = 15.0f;
+
public:
LagPool() = default;
void setMax(float new_max)
{
m_max = new_max;
- if(m_pool > new_max)
+ if (m_pool > new_max)
m_pool = new_max;
}
void add(float dtime)
{
m_pool -= dtime;
- if(m_pool < 0)
+ if (m_pool < 0)
m_pool = 0;
}
- void empty()
- {
- m_pool = m_max;
- }
+ void empty() { m_pool = m_max; }
bool grab(float dtime)
{
- if(dtime <= 0)
+ if (dtime <= 0)
return true;
- if(m_pool + dtime > m_max)
+ if (m_pool + dtime > m_max)
return false;
m_pool += dtime;
return true;
@@ -73,10 +72,8 @@ public:
PlayerSAO(ServerEnvironment *env_, RemotePlayer *player_, session_t peer_id_,
bool is_singleplayer);
- ActiveObjectType getType() const
- { return ACTIVEOBJECT_TYPE_PLAYER; }
- ActiveObjectType getSendType() const
- { return ACTIVEOBJECT_TYPE_GENERIC; }
+ ActiveObjectType getType() const { return ACTIVEOBJECT_TYPE_PLAYER; }
+ ActiveObjectType getSendType() const { return ACTIVEOBJECT_TYPE_GENERIC; }
std::string getDescription();
/*
@@ -111,10 +108,8 @@ public:
Interaction interface
*/
- u16 punch(v3f dir,
- const ToolCapabilities *toolcap,
- ServerActiveObject *puncher,
- float time_from_last_punch);
+ u16 punch(v3f dir, const ToolCapabilities *toolcap, ServerActiveObject *puncher,
+ float time_from_last_punch);
void rightClick(ServerActiveObject *clicker) {}
void setHP(s32 hp, const PlayerHPChangeReason &reason);
void setHPRaw(u16 hp) { m_hp = hp; }
@@ -144,10 +139,7 @@ public:
// Cheat prevention
- v3f getLastGoodPosition() const
- {
- return m_last_good_position;
- }
+ v3f getLastGoodPosition() const { return m_last_good_position; }
float resetTimeFromLastPunch()
{
float r = m_time_from_last_punch;
@@ -159,30 +151,17 @@ public:
m_nocheat_dig_pos = p;
m_nocheat_dig_time = 0;
}
- v3s16 getNoCheatDigPos()
- {
- return m_nocheat_dig_pos;
- }
- float getNoCheatDigTime()
- {
- return m_nocheat_dig_time;
- }
- void noCheatDigEnd()
- {
- m_nocheat_dig_pos = v3s16(32767, 32767, 32767);
- }
- LagPool& getDigPool()
- {
- return m_dig_pool;
- }
+ v3s16 getNoCheatDigPos() { return m_nocheat_dig_pos; }
+ float getNoCheatDigTime() { return m_nocheat_dig_time; }
+ void noCheatDigEnd() { m_nocheat_dig_pos = v3s16(32767, 32767, 32767); }
+ LagPool &getDigPool() { return m_dig_pool; }
void setMaxSpeedOverride(const v3f &vel);
// Returns true if cheated
bool checkMovementCheat();
// Other
- void updatePrivileges(const std::set<std::string> &privs,
- bool is_singleplayer)
+ void updatePrivileges(const std::set<std::string> &privs, bool is_singleplayer)
{
m_privs = privs;
m_is_singleplayer = is_singleplayer;
@@ -236,6 +215,7 @@ private:
s16 m_wanted_range = 0.0f;
Metadata m_meta;
+
public:
float m_physics_override_speed = 1.0f;
float m_physics_override_jump = 1.0f;
@@ -246,9 +226,10 @@ public:
bool m_physics_override_sent = false;
};
-
-struct PlayerHPChangeReason {
- enum Type : u8 {
+struct PlayerHPChangeReason
+{
+ enum Type : u8
+ {
SET_HP,
PLAYER_PUNCH,
FALL,
@@ -266,10 +247,7 @@ struct PlayerHPChangeReason {
// For NODE_DAMAGE
std::string node;
- inline bool hasLuaReference() const
- {
- return lua_reference >= 0;
- }
+ inline bool hasLuaReference() const { return lua_reference >= 0; }
bool setTypeFromString(const std::string &typestr)
{
@@ -311,15 +289,12 @@ struct PlayerHPChangeReason {
}
}
- PlayerHPChangeReason(Type type):
- type(type)
- {}
+ PlayerHPChangeReason(Type type) : type(type) {}
- PlayerHPChangeReason(Type type, ServerActiveObject *object):
+ PlayerHPChangeReason(Type type, ServerActiveObject *object) :
type(type), object(object)
- {}
+ {
+ }
- PlayerHPChangeReason(Type type, std::string node):
- type(type), node(node)
- {}
+ PlayerHPChangeReason(Type type, std::string node) : type(type), node(node) {}
};