123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*
- Minetest
- Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
- Copyright (C) 2017 red-001 <red-001@outlook.ie>
- 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
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
- #ifndef HUD_HEADER
- #define HUD_HEADER
- #include "irrlichttypes_extrabloated.h"
- #include <string>
- #include "common/c_types.h"
- #define HUD_DIR_LEFT_RIGHT 0
- #define HUD_DIR_RIGHT_LEFT 1
- #define HUD_DIR_TOP_BOTTOM 2
- #define HUD_DIR_BOTTOM_TOP 3
- #define HUD_CORNER_UPPER 0
- #define HUD_CORNER_LOWER 1
- #define HUD_CORNER_CENTER 2
- // Note that these visibility flags do not determine if the hud items are
- // actually drawn, but rather, whether to draw the item should the rest
- // of the game state permit it.
- #define HUD_FLAG_HOTBAR_VISIBLE (1 << 0)
- #define HUD_FLAG_HEALTHBAR_VISIBLE (1 << 1)
- #define HUD_FLAG_CROSSHAIR_VISIBLE (1 << 2)
- #define HUD_FLAG_WIELDITEM_VISIBLE (1 << 3)
- #define HUD_FLAG_BREATHBAR_VISIBLE (1 << 4)
- #define HUD_FLAG_MINIMAP_VISIBLE (1 << 5)
- #define HUD_FLAG_MINIMAP_RADAR_VISIBLE (1 << 6)
- #define HUD_PARAM_HOTBAR_ITEMCOUNT 1
- #define HUD_PARAM_HOTBAR_IMAGE 2
- #define HUD_PARAM_HOTBAR_SELECTED_IMAGE 3
- #define HUD_HOTBAR_ITEMCOUNT_DEFAULT 8
- #define HUD_HOTBAR_ITEMCOUNT_MAX 23
- #define HOTBAR_IMAGE_SIZE 48
- enum HudElementType {
- HUD_ELEM_IMAGE = 0,
- HUD_ELEM_TEXT = 1,
- HUD_ELEM_STATBAR = 2,
- HUD_ELEM_INVENTORY = 3,
- HUD_ELEM_WAYPOINT = 4,
- };
- enum HudElementStat {
- HUD_STAT_POS = 0,
- HUD_STAT_NAME,
- HUD_STAT_SCALE,
- HUD_STAT_TEXT,
- HUD_STAT_NUMBER,
- HUD_STAT_ITEM,
- HUD_STAT_DIR,
- HUD_STAT_ALIGN,
- HUD_STAT_OFFSET,
- HUD_STAT_WORLD_POS,
- HUD_STAT_SIZE
- };
- struct HudElement {
- HudElementType type;
- v2f pos;
- std::string name;
- v2f scale;
- std::string text;
- u32 number;
- u32 item;
- u32 dir;
- v2f align;
- v2f offset;
- v3f world_pos;
- v2s32 size;
- };
- extern const EnumString es_HudElementType[];
- extern const EnumString es_HudElementStat[];
- extern const EnumString es_HudBuiltinElement[];
- #endif
|