X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flocalplayer.h;h=16b66716da66e1874fdbee00690663b2ab8b9379;hb=718bcafd5174690a7731f9b04873e9a09f7a47b7;hp=c9d010d7c653ff3343e3a3b9993d3eb72e20d544;hpb=15b86a6b9b4d32cc1213ebf8e1a2c12f56a83c16;p=minetest.git diff --git a/src/localplayer.h b/src/localplayer.h index c9d010d7c..16b66716d 100644 --- a/src/localplayer.h +++ b/src/localplayer.h @@ -1,6 +1,6 @@ /* -Minetest-c55 -Copyright (C) 2010-2012 celeron55, Perttu Ahola +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -21,11 +21,18 @@ with this program; if not, write to the Free Software Foundation, Inc., #define LOCALPLAYER_HEADER #include "player.h" +#include + +class Environment; +class GenericCAO; +class ClientActiveObject; + +enum LocalPlayerAnimations {NO_ANIM, WALK_ANIM, DIG_ANIM, WD_ANIM}; // no local animation, walking, digging, both class LocalPlayer : public Player { public: - LocalPlayer(IGameDef *gamedef); + LocalPlayer(IGameDef *gamedef, const char *name); virtual ~LocalPlayer(); bool isLocal() const @@ -33,13 +40,15 @@ class LocalPlayer : public Player return true; } + ClientActiveObject *parent; + bool isAttached; v3f overridePosition; - void move(f32 dtime, Map &map, f32 pos_max_d, - core::list *collision_info); - void move(f32 dtime, Map &map, f32 pos_max_d); + void move(f32 dtime, Environment *env, f32 pos_max_d); + void move(f32 dtime, Environment *env, f32 pos_max_d, + std::list *collision_info); void applyControl(float dtime); @@ -52,6 +61,27 @@ class LocalPlayer : public Player float last_yaw; unsigned int last_keyPressed; + float camera_impact; + v3f eye_offset_first; + v3f eye_offset_third; + + int last_animation; + float last_animation_speed; + + std::string hotbar_image; + std::string hotbar_selected_image; + + video::SColor light_color; + + GenericCAO* getCAO() const { + return m_cao; + } + + void setCAO(GenericCAO* toset) { + assert( m_cao == NULL ); + m_cao = toset; + } + private: // This is used for determining the sneaking range v3s16 m_sneak_node; @@ -64,6 +94,8 @@ class LocalPlayer : public Player // Whether recalculation of the sneak node is needed bool m_need_to_get_new_sneak_node; bool m_can_jump; + + GenericCAO* m_cao; }; #endif