summaryrefslogtreecommitdiff
path: root/src/scriptapi_object.cpp
diff options
context:
space:
mode:
authorWeblate <42@minetest.ru>2013-04-22 22:37:16 +0200
committerWeblate <42@minetest.ru>2013-04-22 22:37:16 +0200
commit418c2e7a446f8f0aca9f8bd23005a5896869ef7e (patch)
tree8c5e67eb5bc538174e768002c5419e86600c0623 /src/scriptapi_object.cpp
parent4117ab473bcc393f6081277df96dd27c898c90ad (diff)
parent58ded5cd27dd6e5ba740b22d8a3b0917f3d98150 (diff)
downloadminetest-418c2e7a446f8f0aca9f8bd23005a5896869ef7e.tar.gz
minetest-418c2e7a446f8f0aca9f8bd23005a5896869ef7e.tar.bz2
minetest-418c2e7a446f8f0aca9f8bd23005a5896869ef7e.zip
Merge remote branch 'origin/master'
Diffstat (limited to 'src/scriptapi_object.cpp')
-rw-r--r--src/scriptapi_object.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/scriptapi_object.cpp b/src/scriptapi_object.cpp
index 531bb7a58..9152c9eb3 100644
--- a/src/scriptapi_object.cpp
+++ b/src/scriptapi_object.cpp
@@ -749,7 +749,7 @@ int ObjectRef::l_hud_add(lua_State *L)
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, "dir", 0);
+ elem->dir = getintfield_default(L, 2, "direction", 0);
u32 id = get_server(L)->hudAdd(player, elem);
if (id == (u32)-1) {
@@ -788,15 +788,17 @@ 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];
@@ -832,7 +834,7 @@ int ObjectRef::l_hud_change(lua_State *L)
e->dir = lua_tonumber(L, 4);
value = &e->dir;
}
-
+
get_server(L)->hudChange(player, id, stat, value);
lua_pushboolean(L, true);