diff options
author | Loic Blot <loic.blot@unix-experience.fr> | 2016-10-08 17:56:38 +0200 |
---|---|---|
committer | Ner'zhul <nerzhul@users.noreply.github.com> | 2016-10-08 22:27:44 +0200 |
commit | 7bbd716426bf989bf071e2322a9b797cc5f78acb (patch) | |
tree | 0c626a1cb5dd84a04c5963c020c0c9d29863e770 /src/localplayer.h | |
parent | edba6e50d9c9c0a7120c251bed36a87b51f4c826 (diff) | |
download | minetest-7bbd716426bf989bf071e2322a9b797cc5f78acb.tar.gz minetest-7bbd716426bf989bf071e2322a9b797cc5f78acb.tar.bz2 minetest-7bbd716426bf989bf071e2322a9b797cc5f78acb.zip |
RemotePlayer/LocalPlayer Player base class proper separation (code cleanup) (patch 3 of X)
* remove IGameDef from Player class, only LocalPlayer has it now
* move many attributes/functions only used by LocalPlayer from Player to LocalPlayer
* move many attributes/functions only used by RemotePlayer from Player to RemotePlayer
* make some functions const
* hudGetHotbarSelectedImage now returns const ref
* RemotePlayer getHotbarSelectedImage now returns const ref
* various code style fixes
Diffstat (limited to 'src/localplayer.h')
-rw-r--r-- | src/localplayer.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/localplayer.h b/src/localplayer.h index 8897adc5e..182b51d4d 100644 --- a/src/localplayer.h +++ b/src/localplayer.h @@ -21,8 +21,10 @@ with this program; if not, write to the Free Software Foundation, Inc., #define LOCALPLAYER_HEADER #include "player.h" +#include "environment.h" #include <list> +class Client; class Environment; class GenericCAO; class ClientActiveObject; @@ -32,7 +34,7 @@ enum LocalPlayerAnimations {NO_ANIM, WALK_ANIM, DIG_ANIM, WD_ANIM}; // no local class LocalPlayer : public Player { public: - LocalPlayer(IGameDef *gamedef, const char *name); + LocalPlayer(Client *gamedef, const char *name); virtual ~LocalPlayer(); bool isLocal() const @@ -42,7 +44,23 @@ public: ClientActiveObject *parent; + bool got_teleported; bool isAttached; + bool touching_ground; + // This oscillates so that the player jumps a bit above the surface + bool in_liquid; + // This is more stable and defines the maximum speed of the player + bool in_liquid_stable; + // Gets the viscosity of water to calculate friction + u8 liquid_viscosity; + bool is_climbing; + bool swimming_vertical; + + float physics_override_speed; + float physics_override_jump; + float physics_override_gravity; + bool physics_override_sneak; + bool physics_override_sneak_glitch; v3f overridePosition; @@ -71,6 +89,9 @@ public: video::SColor light_color; + float hurt_tilt_timer; + float hurt_tilt_strength; + GenericCAO* getCAO() const { return m_cao; } @@ -102,6 +123,7 @@ private: bool m_can_jump; GenericCAO* m_cao; + Client *m_gamedef; }; #endif |