]> git.lizzy.rs Git - minetest.git/blobdiff - src/client/hud.h
Fix player sprite visibility in first person
[minetest.git] / src / client / hud.h
index 6f4c5462615887f4da55a812ebaaf6b8a7659778..d46545d71823df2d72276f2c153bcbf5669dd3f6 100644 (file)
@@ -45,12 +45,16 @@ class Hud
 
        video::SColor crosshair_argb;
        video::SColor selectionbox_argb;
+
        bool use_crosshair_image = false;
+       bool use_object_crosshair_image = false;
        std::string hotbar_image = "";
        bool use_hotbar_image = false;
        std::string hotbar_selected_image = "";
        bool use_hotbar_selected_image = false;
 
+       bool pointing_at_object = false;
+
        Hud(gui::IGUIEnvironment *guienv, Client *client, LocalPlayer *player,
                        Inventory *inventory);
        ~Hud();
@@ -77,6 +81,8 @@ class Hud
                m_selected_face_normal = face_normal;
        }
 
+       bool hasElementOfType(HudElementType type);
+
        void drawLuaElements(const v3s16 &camera_offset);
 
 private:
@@ -91,6 +97,12 @@ class Hud
 
        void drawItem(const ItemStack &item, const core::rect<s32> &rect, bool selected);
 
+       void drawCompassTranslate(HudElement *e, video::ITexture *texture,
+                       const core::rect<s32> &rect, int way);
+
+       void drawCompassRotate(HudElement *e, video::ITexture *texture,
+                       const core::rect<s32> &rect, int way);
+
        float m_hud_scaling; // cached minetest setting
        float m_scale_factor;
        v3s16 m_camera_offset;
@@ -111,6 +123,8 @@ class Hud
 
        video::SMaterial m_selection_material;
 
+       scene::SMeshBuffer m_rotation_mesh_buffer;
+
        enum
        {
                HIGHLIGHT_BOX,