From: kwolekr Date: Sun, 21 Apr 2013 16:55:46 +0000 (-0400) Subject: Re-fix hud_change stat argument retrieval X-Git-Tag: 0.4.8~122 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fb6a789991ba633a330bacaf0e915019a01b602f;p=oweals%2Fminetest.git Re-fix hud_change stat argument retrieval Conflicts: src/script/lua_api/l_object.cpp --- diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp index 6a800f15d..c324ced1a 100644 --- a/src/script/lua_api/l_object.cpp +++ b/src/script/lua_api/l_object.cpp @@ -877,16 +877,18 @@ int ObjectRef::l_hud_change(lua_State *L) if (player == NULL) return 0; - u32 id = -1; - if (!lua_isnil(L, 2)) - id = lua_tonumber(L, 2); - - HudElementStat stat = (HudElementStat)getenumfield(L, 3, "stat", - es_HudElementStat, HUD_STAT_NUMBER); - + u32 id = !lua_isnil(L, 2) ? lua_tonumber(L, 2) : -1; if (id >= player->hud.size()) return 0; + HudElementStat stat = HUD_STAT_NUMBER; + if (!lua_isnil(L, 3)) { + int statint; + std::string statstr = lua_tostring(L, 3); + stat = string_to_enum(es_HudElementStat, statint, statstr) ? + (HudElementStat)statint : HUD_STAT_NUMBER; + } + void *value = NULL; HudElement *e = player->hud[id]; if (!e)