Files
paku/data/utils/palfade.lua
T
Raimon @ quifisraimon d2ebbccbf6 - [NEW] El mono
- [NEW] Noves animacions de detallets
- [NEW] Més particles i eye candy
- [FIX] Si es ficava un item/enemic en la fila de baix del tot no es guardaba
- [FIX] Quan se disaparaba cap a la dreta amb el final de la pantalla o una pared en la esquena, la bala no eixia
- [WIP] Treballant en el marcador
2026-10-06 15:56:37 +02:00

75 lines
1.7 KiB
Lua

require "util"
palfade = {
original = {},
reddish = {},
} local me = palfade
function me.init()
for i=1,32 do
me.reddish[i] = {r=me.original[i].r, g=me.original[i].g, b=me.original[i].b}
end
end
function me.reddish_limit(r, g, b)
local t = util.luminance(r, g, b) / 255
local R = 255 * t
local G = g * (1 - t)
local B = b * (1 - t)
return R, G, B
end
function me.fade_reddish_color(r, g, b, f)
local ff = math.min(1, f+util.luminance(r,g,b))
local R = math.floor(r*ff)
local G = math.floor(g*f)
local B = math.floor(b*f)
return R, G, B
end
function me.fade_reddish(f)
for i=1,32 do
local r, g, b = me.fade_reddish_color(me.original[i].r, me.original[i].g, me.original[i].b, f)
me.reddish[i].r, me.reddish[i].g, me.reddish[i].b = r, g, b
pal.color(i-1,r,g,b)
end
end
function me.fade_red(f)
for i=1,32 do
local r = math.floor(me.reddish[i].r + (255-me.reddish[i].r)*f)
local g = math.floor(me.reddish[i].g - (me.reddish[i].g)*f)
local b = math.floor(me.reddish[i].b - (me.reddish[i].b)*f)
pal.color(i-1,r,g,b)
end
end
function me.fade_white(f)
for i=1,32 do
local r = math.floor(me.reddish[i].r + (255-me.reddish[i].r)*f)
local g = math.floor(me.reddish[i].g + (255-me.reddish[i].g)*f)
local b = math.floor(me.reddish[i].b + (255-me.reddish[i].b)*f)
pal.color(i-1,r,g,b)
end
end
function me.restore()
pal.set(me.original)
end
function me.get()
paleta = {}
for i=1,32 do
paleta[i] = {}
paleta[i].r, paleta[i].g, paleta[i].b = pal.color(i-1)
end
return paleta
end
function me.set(paleta)
pal.set(paleta)
end