1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-27 17:28:41 +00:00

Simplify player modification checks

This commit is contained in:
ShadowNinja 2014-08-03 16:19:07 -04:00
parent b37bff72f1
commit cd0df0d5e7
7 changed files with 30 additions and 48 deletions

View file

@ -95,7 +95,7 @@ class Player
{
public:
Player(IGameDef *gamedef);
Player(IGameDef *gamedef, const char *name);
virtual ~Player() = 0;
virtual void move(f32 dtime, Environment *env, f32 pos_max_d)
@ -142,16 +142,19 @@ public:
virtual void setPosition(const v3f &position)
{
m_dirty = true;
m_position = position;
}
void setPitch(f32 pitch)
{
m_dirty = true;
m_pitch = pitch;
}
virtual void setYaw(f32 yaw)
{
m_dirty = true;
m_yaw = yaw;
}
@ -172,6 +175,7 @@ public:
virtual void setBreath(u16 breath)
{
m_dirty = true;
m_breath = breath;
}
@ -185,11 +189,6 @@ public:
return (m_yaw + 90.) * core::DEGTORAD;
}
void updateName(const char *name)
{
snprintf(m_name, PLAYERNAME_SIZE, "%s", name);
}
const char * getName() const
{
return m_name;
@ -225,19 +224,7 @@ public:
bool checkModified()
{
if(m_last_hp != hp || m_last_pitch != m_pitch ||
m_last_pos != m_position || m_last_yaw != m_yaw ||
!(inventory == m_last_inventory))
{
m_last_hp = hp;
m_last_pitch = m_pitch;
m_last_pos = m_position;
m_last_yaw = m_yaw;
m_last_inventory = inventory;
return true;
} else {
return false;
}
return m_dirty;
}
bool touching_ground;
@ -316,11 +303,7 @@ protected:
v3f m_position;
core::aabbox3d<f32> m_collisionbox;
f32 m_last_pitch;
f32 m_last_yaw;
v3f m_last_pos;
u16 m_last_hp;
Inventory m_last_inventory;
bool m_dirty;
std::vector<HudElement *> hud;
};
@ -332,7 +315,10 @@ protected:
class RemotePlayer : public Player
{
public:
RemotePlayer(IGameDef *gamedef): Player(gamedef), m_sao(0) {}
RemotePlayer(IGameDef *gamedef, const char *name):
Player(gamedef, name),
m_sao(NULL)
{}
virtual ~RemotePlayer() {}
void save(std::string savedir);