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:
parent
430195381d
commit
b44da4916a
21 changed files with 336 additions and 304 deletions
30
src/hud.h
30
src/hud.h
|
@ -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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue