Commented out debug statements again
[oweals/minetest.git] / src / player.h
index 157a25b5b073b75a6fb6b484d3d4676c385a175f..13cffa205a6986f802b77d0bd2fac2f7f486badd 100644 (file)
@@ -62,7 +62,20 @@ public:
                return m_position;
        }
 
-       virtual void setPosition(v3f position)
+       v3s16 getLightPosition() const
+       {
+               return floatToInt(m_position + v3f(0,BS+BS/2,0), BS);
+       }
+
+       v3f getEyePosition()
+       {
+               // This is at the height of the eyes of the current figure
+               // return m_position + v3f(0, BS+BS/2, 0);
+               // This is more like in minecraft
+               return m_position + v3f(0,BS+(5*BS)/8,0);
+       }
+
+       virtual void setPosition(const v3f &position)
        {
                m_position = position;
        }
@@ -92,6 +105,15 @@ public:
                snprintf(m_name, PLAYERNAME_SIZE, "%s", name);
        }
 
+       virtual void wieldItem(u16 item);
+       virtual const InventoryItem *getWieldItem() const
+       {
+               const InventoryList *list = inventory.getList("main");
+               if (list)
+                       return list->getItem(m_selected_item);
+               return NULL;
+       }
+
        const char * getName()
        {
                return m_name;
@@ -118,21 +140,23 @@ public:
        bool in_water;
        // This is more stable and defines the maximum speed of the player
        bool in_water_stable;
+       bool is_climbing;
        bool swimming_up;
+       bool is_frozen;
        
        Inventory inventory;
+       // Actual inventory is backed up here when creative mode is used
+       Inventory *inventory_backup;
 
        bool craftresult_is_preview;
 
        u16 hp;
 
-       // Player's privileges - a bitmaps of PRIV_xxxx.
-       u64 privs;
-
        u16 peer_id;
 
 protected:
        char m_name[PLAYERNAME_SIZE];
+       u16 m_selected_item;
        f32 m_pitch;
        f32 m_yaw;
        v3f m_speed;
@@ -206,7 +230,7 @@ public:
                return m_box;
        }
 
-       void setPosition(v3f position)
+       void setPosition(const v3f &position)
        {
                m_oldpos = m_showpos;