Types/DaytimeColorLookupTable: Difference between revisions
(Corrected the sprite size and provided more detailed description.) |
(image can also be arranged vertically. Thanks for the description) |
||
Line 1: | Line 1: | ||
An [[Types/table|array]] of [[Types/table|arrays]]. | An [[Types/table|array]] of [[Types/table|arrays]]. | ||
The first member of the inner array must be a [[Types/double|double]], second member of the inner array must be a [[Types/FileName|FileName]] or "identity". The file pointed to by the filename must be a sprite of size | The first member of the inner array must be a [[Types/double|double]], second member of the inner array must be a [[Types/FileName|FileName]] or "identity". The file pointed to by the filename must be a sprite of size 256×16 or 16×256. | ||
== Inner array == | == Inner array == |
Revision as of 16:48, 11 March 2021
The first member of the inner array must be a double, second member of the inner array must be a FileName or "identity". The file pointed to by the filename must be a sprite of size 256×16 or 16×256.
Inner array
First member
The first member states at which time of the day the LUT should be used.
If the current game time is between two values defined in the color lookup that have different LUTs, the color is interpolated to create a smooth transition. (Sharp transition can be achieved by having the two values differing only by a small fraction.)
Only one inner array means that the LUT will be used all the time, regardless of the value of the first member.
The interpolation doesn't work correctly at the in-game noon because the value of the first timestamp is greater that the value of the second one. This problem can be bypassed by moving the first value at the beginning of the list and subtracting 1 from it (making it negative). The opposite way of moving the second value to the end and adding 1 to it also works.
Second member
The second member is a lookup table (LUT) for the color which maps the original color to a position in the sprite where is the replacement color is found.
Example
color_lookup = {{1, "identity"}}
color_lookup = {{0.5, "__core__/graphics/color_luts/nightvision.png"}}
zoom_to_world_daytime_color_lookup =
{
{0.25, "identity"},
{0.45, "__core__/graphics/color_luts/night.png"},
{0.55, "__core__/graphics/color_luts/night.png"},
{0.75, "identity"},
},