1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Cleanup selection mesh code, add shaders for halo and selection boxes

This commit is contained in:
RealBadAngel 2016-02-07 04:08:43 +01:00 committed by kwolekr
parent 430195381d
commit b44da4916a
21 changed files with 336 additions and 304 deletions

View file

@ -119,17 +119,31 @@ public:
bool use_hotbar_image;
std::string hotbar_selected_image;
bool use_hotbar_selected_image;
v3s16 camera_offset;
Hud(video::IVideoDriver *driver,scene::ISceneManager* smgr,
gui::IGUIEnvironment* guienv, IGameDef *gamedef, LocalPlayer *player,
Inventory *inventory);
~Hud();
void drawHotbar(u16 playeritem);
void resizeHotbar();
void drawCrosshair();
void drawSelectionBoxes(std::vector<aabb3f> &hilightboxes);
void drawLuaElements(v3s16 camera_offset);
void drawSelectionMesh();
void updateSelectionMesh(const v3s16 &camera_offset);
std::vector<aabb3f> *getSelectionBoxes()
{ return &m_selection_boxes; }
void setSelectionPos(const v3f &pos, const v3s16 &camera_offset);
v3f getSelectionPos() const
{ return m_selection_pos; }
void setSelectionMeshColor(const video::SColor &c)
{ m_selection_mesh_color = c; }
void drawLuaElements(const v3s16 &camera_offset);
private:
void drawStatbar(v2s32 pos, u16 corner, u16 drawdir, std::string texture,
s32 count, v2s32 offset, v2s32 size=v2s32());
@ -140,11 +154,21 @@ private:
void drawItem(const ItemStack &item, const core::rect<s32>& rect,
bool selected);
v3s16 m_camera_offset;
v2u32 m_screensize;
v2s32 m_displaycenter;
s32 m_hotbar_imagesize;
s32 m_padding;
video::SColor hbar_colors[4];
std::vector<aabb3f> m_selection_boxes;
v3f m_selection_pos;
v3f m_selection_pos_with_offset;
scene::IMesh* m_selection_mesh;
video::SColor m_selection_mesh_color;
video::SMaterial m_selection_material;
bool m_use_selection_mesh;
};
enum ItemRotationKind {