- luaL_error(L, "Effect refused set_int(\"%s\", %d) (invalid key?)", cstr, int(value));
+ luaL_error(L, "Effect refused set_int(\"%s\", %d) (invalid key?)", key.c_str(), int(value));
+ }
+ return 0;
+}
+
+int Effect_set_vec3(lua_State *L)
+{
+ assert(lua_gettop(L) == 5);
+ Effect *effect = (Effect *)get_effect(L, 1);
+ std::string key = checkstdstring(L, 2);
+ float v[3];
+ v[0] = luaL_checknumber(L, 3);
+ v[1] = luaL_checknumber(L, 4);
+ v[2] = luaL_checknumber(L, 5);
+ if (!effect->set_vec3(key, v)) {
+ luaL_error(L, "Effect refused set_vec3(\"%s\", %f, %f, %f) (invalid key?)", key.c_str(),
+ v[0], v[1], v[2]);