X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flight.cpp;h=89bddb1c42dc4ab46f110cd16bf64a314af36bdf;hb=569fca53089b7b7e87b02edd44e2ad47166f7af6;hp=c0255f7fbb1b8b01b23d4aadb2841606ffd03aa8;hpb=9b1b57a52390ecc98c27b2f923052511c387ba3d;p=minetest.git diff --git a/src/light.cpp b/src/light.cpp index c0255f7fb..89bddb1c4 100644 --- a/src/light.cpp +++ b/src/light.cpp @@ -19,15 +19,152 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "light.h" -/*u32 daynight_cache_ratios[DAYNIGHT_CACHE_COUNT] = +#if 1 +/* +Made using this and: +- adding 220 as the second last one +- replacing the third last one (212) with 195 + +#!/usr/bin/python + +from math import * +from sys import stdout + +# We want 0 at light=0 and 255 at light=LIGHT_MAX +LIGHT_MAX = 14 +#FACTOR = 0.69 +#FACTOR = 0.75 +FACTOR = 0.83 +START_FROM_ZERO = False + +L = [] +if START_FROM_ZERO: + for i in range(1,LIGHT_MAX+1): + L.append(int(round(255.0 * FACTOR ** (i-1)))) + L.append(0) +else: + for i in range(1,LIGHT_MAX+1): + L.append(int(round(255.0 * FACTOR ** (i-1)))) + L.append(255) + +L.reverse() +for i in L: + stdout.write(str(i)+",\n") +*/ +u8 light_decode_table[LIGHT_MAX+1] = { - 1000, - 600, - 300 -};*/ +23, +27, +33, +40, +48, +57, +69, +83, +100, +121, +146, +176, +195, +220, +255, +}; +#endif +#if 0 +// This is good +// a_n+1 = a_n * 0.786 +// Length of LIGHT_MAX+1 means LIGHT_MAX is the last value. +// LIGHT_SUN is read as LIGHT_MAX from here. u8 light_decode_table[LIGHT_MAX+1] = { +8, +11, +14, +18, +22, +29, +37, +47, +60, +76, +97, +123, +157, +200, +255, +}; +#endif + +#if 0 +// Use for debugging in dark +u8 light_decode_table[LIGHT_MAX+1] = +{ +58, +64, +72, +80, +88, +98, +109, +121, +135, +150, +167, +185, +206, +229, +255, +}; +#endif + +// This is reasonable with classic lighting with a light source +/*u8 light_decode_table[LIGHT_MAX+1] = +{ +2, +3, +4, +6, +9, +13, +18, +25, +32, +35, +45, +57, +69, +79, +255 +};*/ + + +// As in minecraft, a_n+1 = a_n * 0.8 +// NOTE: This doesn't really work that well because this defines +// LIGHT_MAX as dimmer than LIGHT_SUN +// NOTE: Uh, this has had 34 left out; forget this. +/*u8 light_decode_table[LIGHT_MAX+1] = +{ +8, +11, +14, +17, +21, +27, +42, +53, +66, +83, +104, +130, +163, +204, +255, +};*/ + +// This was a quick try of more light, manually quickly made +/*u8 light_decode_table[LIGHT_MAX+1] = +{ 0, 7, 11, @@ -43,7 +180,9 @@ u8 light_decode_table[LIGHT_MAX+1] = 167, 205, 255, -}; +};*/ + +// This was used for a long time, manually made /*u8 light_decode_table[LIGHT_MAX+1] = { 0, @@ -62,6 +201,7 @@ u8 light_decode_table[LIGHT_MAX+1] = 191, 255, };*/ + /*u8 light_decode_table[LIGHT_MAX+1] = { 0,