1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-06 17:41:04 +00:00

Fix HUD inventory direction position

This commit is contained in:
cx384 2024-01-28 17:35:31 +01:00
parent 067a5b5ac3
commit ecf8488406
2 changed files with 77 additions and 7 deletions

View file

@ -302,20 +302,20 @@ void Hud::drawItems(v2s32 screen_pos, v2s32 screen_offset, s32 itemcount, v2f al
// Draw items
core::rect<s32> imgrect(0, 0, m_hotbar_imagesize, m_hotbar_imagesize);
const s32 list_size = mainlist ? mainlist->getSize() : 0;
for (s32 i = inv_offset; i < itemcount && i < list_size; i++) {
const s32 list_max = std::min(itemcount, (s32) (mainlist ? mainlist->getSize() : 0 ));
for (s32 i = inv_offset; i < list_max; i++) {
s32 fullimglen = m_hotbar_imagesize + m_padding * 2;
v2s32 steppos;
switch (direction) {
case HUD_DIR_RIGHT_LEFT:
steppos = v2s32(-(m_padding + (i - inv_offset) * fullimglen), m_padding);
steppos = v2s32(m_padding + (list_max - 1 - i - inv_offset) * fullimglen, m_padding);
break;
case HUD_DIR_TOP_BOTTOM:
steppos = v2s32(m_padding, m_padding + (i - inv_offset) * fullimglen);
break;
case HUD_DIR_BOTTOM_TOP:
steppos = v2s32(m_padding, -(m_padding + (i - inv_offset) * fullimglen));
steppos = v2s32(m_padding, m_padding + (list_max - 1 - i - inv_offset) * fullimglen);
break;
default:
steppos = v2s32(m_padding + (i - inv_offset) * fullimglen, m_padding);