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

Add z-index management to HUD

This commit is contained in:
Pierre-Yves Rollo 2019-11-04 09:30:02 +01:00 committed by rubenwardy
parent f6de86ce4b
commit cf7fda0083
10 changed files with 57 additions and 7 deletions

View file

@ -1851,11 +1851,13 @@ void read_hud_element(lua_State *L, HudElement *elem)
elem->size = lua_istable(L, -1) ? read_v2s32(L, -1) : v2s32();
lua_pop(L, 1);
elem->name = getstringfield_default(L, 2, "name", "");
elem->text = getstringfield_default(L, 2, "text", "");
elem->number = getintfield_default(L, 2, "number", 0);
elem->item = getintfield_default(L, 2, "item", 0);
elem->dir = getintfield_default(L, 2, "direction", 0);
elem->name = getstringfield_default(L, 2, "name", "");
elem->text = getstringfield_default(L, 2, "text", "");
elem->number = getintfield_default(L, 2, "number", 0);
elem->item = getintfield_default(L, 2, "item", 0);
elem->dir = getintfield_default(L, 2, "direction", 0);
elem->z_index = MYMAX(S16_MIN, MYMIN(S16_MAX,
getintfield_default(L, 2, "z_index", 0)));
// Deprecated, only for compatibility's sake
if (elem->dir == 0)
@ -1921,6 +1923,9 @@ void push_hud_element(lua_State *L, HudElement *elem)
push_v3f(L, elem->world_pos);
lua_setfield(L, -2, "world_pos");
lua_pushnumber(L, elem->z_index);
lua_setfield(L, -2, "z_index");
}
HudElementStat read_hud_change(lua_State *L, HudElement *elem, void **value)
@ -1978,6 +1983,10 @@ HudElementStat read_hud_change(lua_State *L, HudElement *elem, void **value)
elem->size = read_v2s32(L, 4);
*value = &elem->size;
break;
case HUD_STAT_Z_INDEX:
elem->z_index = MYMAX(S16_MIN, MYMIN(S16_MAX, luaL_checknumber(L, 4)));
*value = &elem->z_index;
break;
}
return stat;
}