int gr_node_set_material_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); ASSERT(self); luaL_argcheck(L, self != 0, 1, "Geometry node expected"); gr_material_ud* matdata = (gr_material_ud*)luaL_checkudata(L, 2, "gr.material"); luaL_argcheck(L, matdata != 0, 2, "Material expected"); Material* material = matdata->material; self->setMaterial(material); return 0; }