int gr_node_set_bump_cmd(lua_State* L) { GRLUA_DEBUG_CALL; gr_node_ud* selfdata = (gr_node_ud*)luaL_checkudata(L, 1, "gr.node"); luaL_argcheck(L, selfdata != 0, 1, "Node expected"); GeometryNode* self = dynamic_cast<GeometryNode*>(selfdata->node); luaL_argcheck(L, self != 0, 1, "Geometry node expected"); const char* name = luaL_checkstring(L, 2); Image * bump = new Image(); if (!bump->loadPng(name)) { std::cerr << "LUA:Loading PNG Failed!!" << std::endl; return -1; } self->apply_bump(bump); return 0; }