126 lines
2.5 KiB
Lua
126 lines
2.5 KiB
Lua
local gc=love.graphics
|
|
local int=math.floor
|
|
local function C(x,y)
|
|
local _=gc.newCanvas(x,y)
|
|
gc.setCanvas(_)
|
|
return _
|
|
end
|
|
local list={
|
|
"normal(mrz)",
|
|
"smooth(mrz)",
|
|
"contrast(mrz)",
|
|
"glow(mrz)",
|
|
"plastic(mrz)",
|
|
"jelly(miya)",
|
|
"steel(kulumi)",
|
|
"pure(mrz)",
|
|
"ball(shaw)",
|
|
"paper(mrz)",
|
|
"gem(notypey)",
|
|
"classic(_)",
|
|
"brick(notypey)",
|
|
"brick_light(notypey)",
|
|
"cartoon_cup(earety)",
|
|
"retro(notypey)",
|
|
"retro_grey(notypey)",
|
|
"text_bone(mrz)",
|
|
"colored_bone(mrz)",
|
|
"white_bone(mrz)",
|
|
"WTF",
|
|
}
|
|
local count=#list
|
|
local SKIN={}
|
|
SKIN.lib={}
|
|
SKIN.libMini={}
|
|
SKIN.libColor={
|
|
{color.rainbow( 1.471)},
|
|
{color.rainbow( 1.078)},
|
|
{color.rainbow( 0.685)},
|
|
{color.rainbow( 0.293)},
|
|
{color.rainbow(-0.100)},
|
|
{color.rainbow(-0.493)},
|
|
{color.rainbow(-0.885)},
|
|
{color.rainbow(-1.278)},
|
|
{color.rainbow(-1.671)},
|
|
{color.rainbow(-2.063)},
|
|
{color.rainbow(-2.456)},
|
|
{color.rainbow(-2.849)},
|
|
{color.rainbow(-3.242)},
|
|
{color.rainbow(-3.634)},
|
|
{color.rainbow(-4.027)},
|
|
{color.rainbow(-4.412)},
|
|
color.dGrey,
|
|
color.black,
|
|
color.lYellow,
|
|
color.grey,
|
|
color.lGrey,
|
|
color.dPurple,
|
|
color.dRed,
|
|
color.dGreen,
|
|
}
|
|
function SKIN.getCount()
|
|
return count
|
|
end
|
|
function SKIN.loadOne(_)
|
|
gc.push()
|
|
gc.origin()
|
|
gc.setDefaultFilter("nearest","nearest")
|
|
gc.setColor(1,1,1)
|
|
SKIN.lib[_],SKIN.libMini[_]={},{}
|
|
local N="/image/skin/"..list[_]..".png"
|
|
local I
|
|
if love.filesystem.getInfo(N)then
|
|
I=gc.newImage(N)
|
|
else
|
|
I=gc.newImage("/image/skin/"..list[1]..".png")
|
|
LOG.print("No skin file: "..list[_],"warn")
|
|
end
|
|
for i=0,2 do
|
|
for j=1,8 do
|
|
SKIN.lib[_][8*i+j]=C(30,30)
|
|
gc.draw(I,30-30*j,-30*i)
|
|
|
|
SKIN.libMini[_][8*i+j]=C(6,6)
|
|
gc.draw(I,6-6*j,-6*i,nil,.2)
|
|
end
|
|
end
|
|
I:release()
|
|
gc.setCanvas()
|
|
gc.pop()
|
|
end
|
|
function SKIN.loadAll()
|
|
for i=1,count do
|
|
SFX.loadOne(i)
|
|
end
|
|
end
|
|
function SKIN.prevSet()--Prev skin_set
|
|
local _=(SETTING.skinSet-2)%count+1
|
|
SETTING.skinSet=_
|
|
SKIN.change(_)
|
|
_=list[_]
|
|
TEXT.show(_,1100,100,int(300/#_)+5,"fly")
|
|
end
|
|
function SKIN.nextSet()--Next skin_set
|
|
local _=SETTING.skinSet%count+1
|
|
SETTING.skinSet=_
|
|
SKIN.change(_)
|
|
_=list[_]
|
|
TEXT.show(_,1100,100,int(300/#_)+5,"fly")
|
|
end
|
|
function SKIN.prev(i)--Prev skin for [i]
|
|
local _=SETTING.skin
|
|
_[i]=(_[i]-2)%16+1
|
|
end
|
|
function SKIN.next(i)--Next skin for [i]
|
|
local _=SETTING.skin
|
|
_[i]=_[i]%16+1
|
|
end
|
|
function SKIN.rotate(i)--Change direction of [i]
|
|
SETTING.face[i]=(SETTING.face[i]+1)%4
|
|
SFX.play("rotate")
|
|
end
|
|
function SKIN.change(i)--Change to skin_set[i]
|
|
blockSkin=SKIN.lib[i]
|
|
blockSkinMini=SKIN.libMini[i]
|
|
end
|
|
return SKIN |