Fix itemdef drop on NULL texture
[oweals/minetest.git] / src / localplayer.h
index 9d1829db86a12d7f70de44104cfd47103385d93d..8c3041c04b4ac40172baa7ddf0dd204299eeb5cb 100644 (file)
@@ -1,6 +1,6 @@
 /*
-Minetest-c55
-Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
+Minetest
+Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
 
 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,6 +21,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #define LOCALPLAYER_HEADER
 
 #include "player.h"
+#include <list>
+
+class ClientEnvironment;
+
+class ClientActiveObject;
 
 class LocalPlayer : public Player
 {
@@ -32,18 +37,30 @@ public:
        {
                return true;
        }
+       
+       ClientActiveObject *parent;
 
        bool isAttached;
 
        v3f overridePosition;
        
-       void move(f32 dtime, Map &map, f32 pos_max_d,
-                       core::list<CollisionInfo> *collision_info);
-       void move(f32 dtime, Map &map, f32 pos_max_d);
+       void move(f32 dtime, ClientEnvironment *env, f32 pos_max_d,
+                       std::list<CollisionInfo> *collision_info);
+       void move(f32 dtime, ClientEnvironment *env, f32 pos_max_d);
 
        void applyControl(float dtime);
 
        v3s16 getStandingNodePos();
+
+       // Used to check if anything changed and prevent sending packets if not
+       v3f last_position;
+       v3f last_speed;
+       float last_pitch;
+       float last_yaw;
+       unsigned int last_keyPressed;
+
+       float camera_impact;
+
 private:
        // This is used for determining the sneaking range
        v3s16 m_sneak_node;