Hud: Modify Y-positioning of health/breath starbars to prevent overlapping with Hotbar
parent
a0535d286b
commit
15c037614f
|
@ -7,7 +7,7 @@ local health_bar_definition =
|
||||||
number = 20,
|
number = 20,
|
||||||
direction = 0,
|
direction = 0,
|
||||||
size = { x=24, y=24 },
|
size = { x=24, y=24 },
|
||||||
offset = { x=(-10*24)-25, y=-(48+24+10)},
|
offset = { x=(-10*24)-25, y=-(48+24+16)},
|
||||||
}
|
}
|
||||||
|
|
||||||
local breath_bar_definition =
|
local breath_bar_definition =
|
||||||
|
@ -18,7 +18,7 @@ local breath_bar_definition =
|
||||||
number = 20,
|
number = 20,
|
||||||
direction = 0,
|
direction = 0,
|
||||||
size = { x=24, y=24 },
|
size = { x=24, y=24 },
|
||||||
offset = {x=25,y=-(48+24+10)},
|
offset = {x=25,y=-(48+24+16)},
|
||||||
}
|
}
|
||||||
|
|
||||||
local hud_ids = {}
|
local hud_ids = {}
|
||||||
|
|
36
src/hud.cpp
36
src/hud.cpp
|
@ -341,16 +341,12 @@ void Hud::drawStatbar(v2s32 pos, u16 corner, u16 drawdir, std::string texture,
|
||||||
if (size == v2s32()) {
|
if (size == v2s32()) {
|
||||||
dstd = srcd;
|
dstd = srcd;
|
||||||
} else {
|
} else {
|
||||||
dstd.Height = size.Y * g_settings->getFloat("hud_scaling") *
|
double size_factor = g_settings->getFloat("hud_scaling") *
|
||||||
porting::getDisplayDensity();
|
|
||||||
dstd.Width = size.X * g_settings->getFloat("hud_scaling") *
|
|
||||||
porting::getDisplayDensity();
|
|
||||||
|
|
||||||
offset.X *= g_settings->getFloat("hud_scaling") *
|
|
||||||
porting::getDisplayDensity();
|
|
||||||
|
|
||||||
offset.Y *= g_settings->getFloat("hud_scaling") *
|
|
||||||
porting::getDisplayDensity();
|
porting::getDisplayDensity();
|
||||||
|
dstd.Height = size.Y * size_factor;
|
||||||
|
dstd.Width = size.X * size_factor;
|
||||||
|
offset.X *= size_factor;
|
||||||
|
offset.Y *= size_factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
v2s32 p = pos;
|
v2s32 p = pos;
|
||||||
|
@ -432,18 +428,20 @@ void Hud::drawHotbar(u16 playeritem) {
|
||||||
//////////////////////////// compatibility code to be removed //////////////
|
//////////////////////////// compatibility code to be removed //////////////
|
||||||
// this is ugly as hell but there's no other way to keep compatibility to
|
// this is ugly as hell but there's no other way to keep compatibility to
|
||||||
// old servers
|
// old servers
|
||||||
if ( player->hud_flags & HUD_FLAG_HEALTHBAR_VISIBLE)
|
if ((player->hud_flags & HUD_FLAG_HEALTHBAR_VISIBLE)) {
|
||||||
drawStatbar(v2s32(floor(0.5 * (float) m_screensize.X + 0.5),
|
drawStatbar(v2s32(floor(0.5 * (float)m_screensize.X + 0.5),
|
||||||
floor(1 * (float) m_screensize.Y + 0.5)),
|
floor(1 * (float) m_screensize.Y + 0.5)),
|
||||||
HUD_CORNER_UPPER, 0, "heart.png",
|
HUD_CORNER_UPPER, 0, "heart.png",
|
||||||
player->hp, v2s32((-10*24)-25,-(48+24+10)), v2s32(24,24));
|
player->hp, v2s32((-10*24)-25,-(48+24+10)), v2s32(24,24));
|
||||||
|
}
|
||||||
|
|
||||||
if ((player->hud_flags & HUD_FLAG_BREATHBAR_VISIBLE) &&
|
if ((player->hud_flags & HUD_FLAG_BREATHBAR_VISIBLE) &&
|
||||||
(player->getBreath() < 11))
|
(player->getBreath() < 11)) {
|
||||||
drawStatbar(v2s32(floor(0.5 * (float) m_screensize.X + 0.5),
|
drawStatbar(v2s32(floor(0.5 * (float)m_screensize.X + 0.5),
|
||||||
floor(1 * (float) m_screensize.Y + 0.5)),
|
floor(1 * (float) m_screensize.Y + 0.5)),
|
||||||
HUD_CORNER_UPPER, 0, "heart.png",
|
HUD_CORNER_UPPER, 0, "bubble.png",
|
||||||
player->getBreath(), v2s32(25,-(48+24+10)), v2s32(24,24));
|
player->getBreath(), v2s32(25,-(48+24+10)), v2s32(24,24));
|
||||||
|
}
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue