]> git.lizzy.rs Git - minetest.git/commitdiff
Lua API: Document shader dependencies of set_lighting() (#13079)
authorSmallJoker <SmallJoker@users.noreply.github.com>
Mon, 26 Dec 2022 20:59:55 +0000 (21:59 +0100)
committerGitHub <noreply@github.com>
Mon, 26 Dec 2022 20:59:55 +0000 (21:59 +0100)
doc/lua_api.txt
src/script/lua_api/l_object.cpp

index 8dfb991b7a909e8da9a8f61fa5930475faf848c2..a35adca6097007ac5e56190534837331c270a671 100644 (file)
@@ -7468,8 +7468,10 @@ child will follow movement and rotation of that bone.
       * `saturation` sets the saturation (vividness).
           values > 1 increase the saturation
           values in [0,1) decrease the saturation
+            * This value has no effect on clients who have the "Tone Mapping" shader disabled.
       * `shadows` is a table that controls ambient shadows
         * `intensity` sets the intensity of the shadows from 0 (no shadows, default) to 1 (blackness)
+            * This value has no effect on clients who have the "Dynamic Shadows" shader disabled.
 * `get_lighting()`: returns the current state of lighting for the player.
     * Result is a table with the same fields as `light_definition` in `set_lighting`.
 * `respawn()`: Respawns the player using the same mechanism as the death screen,
index 0538e15d55914057f1c9384e2415f56f5ff03c50..0a3e05907bb60e7e46e978f3d33c3e137d81a2e3 100644 (file)
@@ -2294,10 +2294,10 @@ int ObjectRef::l_set_lighting(lua_State *L)
        Lighting lighting = player->getLighting();
        lua_getfield(L, 2, "shadows");
        if (lua_istable(L, -1)) {
-               lighting.shadow_intensity = getfloatfield_default(L, -1, "intensity", lighting.shadow_intensity);
+               getfloatfield(L, -1, "intensity", lighting.shadow_intensity);
        }
-       lighting.saturation = getfloatfield_default(L, 2, "saturation", lighting.saturation);
-       lua_pop(L, -1);
+       lua_pop(L, 1); // shadows
+       getfloatfield(L, -1, "saturation", lighting.saturation);
 
        getServer(L)->setLighting(player, lighting);
        return 0;