]> git.sesse.net Git - nageru/blobdiff - nageru/scene.cpp
Fix so that parameters directly on effects actually override the ones on the block...
[nageru] / nageru / scene.cpp
index bebaa56d1af3b71b86f7868d9f4b345860267f3b..0eacc75e6a6dfa3cd778b2988e9cbfa8cacd3ad3 100644 (file)
@@ -366,16 +366,16 @@ Scene::get_chain(Theme *theme, lua_State *L, unsigned num, const InputState &inp
                if (!block->alternatives.empty()) {
                        EffectBlueprint *blueprint = block->alternatives[block->currently_chosen_alternative];
                        for (const auto &key_and_tuple : blueprint->int_parameters) {
-                               int_to_set.emplace(make_pair(effect, key_and_tuple.first), key_and_tuple.second);
+                               int_to_set[make_pair(effect, key_and_tuple.first)] = key_and_tuple.second;
                        }
                        for (const auto &key_and_tuple : blueprint->float_parameters) {
-                               float_to_set.emplace(make_pair(effect, key_and_tuple.first), key_and_tuple.second);
+                               float_to_set[make_pair(effect, key_and_tuple.first)] = key_and_tuple.second;
                        }
                        for (const auto &key_and_tuple : blueprint->vec3_parameters) {
-                               vec3_to_set.emplace(make_pair(effect, key_and_tuple.first), key_and_tuple.second);
+                               vec3_to_set[make_pair(effect, key_and_tuple.first)] = key_and_tuple.second;
                        }
                        for (const auto &key_and_tuple : blueprint->vec4_parameters) {
-                               vec4_to_set.emplace(make_pair(effect, key_and_tuple.first), key_and_tuple.second);
+                               vec4_to_set[make_pair(effect, key_and_tuple.first)] = key_and_tuple.second;
                        }
                }
        }
@@ -491,7 +491,7 @@ int Block_display(lua_State* L)
        return 0;
 }
 
-int Block_choose_alternative(lua_State* L)
+int Block_choose(lua_State* L)
 {
        assert(lua_gettop(L) == 2);
        Block *block = *(Block **)luaL_checkudata(L, 1, "Block");
@@ -499,7 +499,7 @@ int Block_choose_alternative(lua_State* L)
        if (lua_isnumber(L, 2)) {
                alternative_idx = luaL_checknumber(L, 2);
        } else if (lua_istable(L, 2)) {
-               // See if it's an Effect metatable (e.g. foo:choose_alternative(ResampleEffect))
+               // See if it's an Effect metatable (e.g. foo:choose(ResampleEffect))
                lua_getfield(L, 2, "__effect_type_id");
                if (lua_isnumber(L, -1)) {
                        EffectType effect_type = EffectType(luaL_checknumber(L, -1));
@@ -509,7 +509,7 @@ int Block_choose_alternative(lua_State* L)
        }
 
        if (alternative_idx == -1) {
-               luaL_error(L, "choose_alternative() called with something that was not an index or an effect type (e.g. ResampleEffect) that was part of the alternatives");
+               luaL_error(L, "choose() called with something that was not an index or an effect type (e.g. ResampleEffect) that was part of the alternatives");
        }
 
        assert(alternative_idx >= 0);