summaryrefslogtreecommitdiff
path: root/src/cat/LuaScriptInterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cat/LuaScriptInterface.cpp')
-rw-r--r--src/cat/LuaScriptInterface.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/cat/LuaScriptInterface.cpp b/src/cat/LuaScriptInterface.cpp
index 9d563a8..4561d5d 100644
--- a/src/cat/LuaScriptInterface.cpp
+++ b/src/cat/LuaScriptInterface.cpp
@@ -936,10 +936,20 @@ int luatpt_test(lua_State* l)
int luatpt_getelement(lua_State *l)
{
int t;
- char * name = (char*)luaL_optstring(l, 1, "dust");
- if ((t = luacon_ci->GetParticleType(name))==-1)
- return luaL_error(l,"Unrecognised element '%s'", name);
- lua_pushinteger(l, t);
+ if(lua_isnumber(l, 1))
+ {
+ t = luaL_optint(l, 1, 1);
+ if (t<0 || t>=PT_NUM)
+ return luaL_error(l, "Unrecognised element number '%d'", t);
+ lua_pushstring(l, luacon_sim->elements[t].Name);
+ }
+ else
+ {
+ char* name = (char*)luaL_optstring(l, 1, "dust");
+ if ((t = luacon_ci->GetParticleType(name))==-1)
+ return luaL_error(l, "Unrecognised element '%s'", name);
+ lua_pushinteger(l, t);
+ }
return 1;
}