0.9.2:调试界面,新背景,布局微调
This commit is contained in:
@@ -44,21 +44,6 @@ back.rgb={
|
|||||||
)
|
)
|
||||||
end,
|
end,
|
||||||
}--Changing pure color
|
}--Changing pure color
|
||||||
back.strap={
|
|
||||||
init=function()
|
|
||||||
t=0
|
|
||||||
end,
|
|
||||||
update=function(dt)
|
|
||||||
t=t+dt
|
|
||||||
end,
|
|
||||||
draw=function()
|
|
||||||
SHADER.strap:send("t",t*.626)
|
|
||||||
gc.setColor(.4,.626,.626)
|
|
||||||
gc.setShader(SHADER.strap)
|
|
||||||
gc.rectangle("fill",0,0,scr.w,scr.h)
|
|
||||||
gc.setShader()
|
|
||||||
end,
|
|
||||||
}--Horizonal ranbow
|
|
||||||
back.flink={
|
back.flink={
|
||||||
init=function()
|
init=function()
|
||||||
t=0
|
t=0
|
||||||
@@ -95,63 +80,58 @@ back.aura={
|
|||||||
back.game1={
|
back.game1={
|
||||||
init=function()
|
init=function()
|
||||||
t=0
|
t=0
|
||||||
BG.resize(scr.w,scr.h)
|
BG.resize(scr.w)
|
||||||
end,
|
end,
|
||||||
resize=function(w,h)
|
resize=function(w)
|
||||||
SHADER.rainbow:send("w",w*scr.dpi)
|
SHADER.gradient1:send("w",w*scr.dpi)
|
||||||
SHADER.rainbow:send("h",h*scr.dpi)
|
|
||||||
end,
|
end,
|
||||||
update=function(dt)
|
update=function(dt)
|
||||||
t=t+dt
|
t=t+dt
|
||||||
end,
|
end,
|
||||||
draw=function()
|
draw=function()
|
||||||
SHADER.rainbow:send("t",t)
|
SHADER.gradient1:send("t",t)
|
||||||
gc.setColor(.6,.6,.6)
|
gc.setShader(SHADER.gradient1)
|
||||||
gc.setShader(SHADER.rainbow)
|
|
||||||
gc.rectangle("fill",0,0,scr.w,scr.h)
|
gc.rectangle("fill",0,0,scr.w,scr.h)
|
||||||
gc.setShader()
|
gc.setShader()
|
||||||
end,
|
end,
|
||||||
}--Rolling rainbow
|
}--Horizonal red-blue gradient
|
||||||
back.game2={
|
back.game2={
|
||||||
init=function()
|
init=function()
|
||||||
t=0
|
t=0
|
||||||
BG.resize(scr.w,scr.h)
|
BG.resize(nil,scr.h)
|
||||||
end,
|
end,
|
||||||
resize=function(w,h)
|
resize=function(w,h)
|
||||||
SHADER.rainbow:send("w",w*scr.dpi)
|
SHADER.gradient2:send("h",h*scr.dpi)
|
||||||
SHADER.rainbow:send("h",h*scr.dpi)
|
|
||||||
end,
|
end,
|
||||||
update=function(dt)
|
update=function(dt)
|
||||||
t=t+dt
|
t=t+dt
|
||||||
end,
|
end,
|
||||||
draw=function()
|
draw=function()
|
||||||
SHADER.rainbow:send("t",t)
|
SHADER.gradient2:send("t",t)
|
||||||
gc.setColor(.7,.4,.4)
|
gc.setShader(SHADER.gradient2)
|
||||||
gc.setShader(SHADER.rainbow)
|
|
||||||
gc.rectangle("fill",0,0,scr.w,scr.h)
|
gc.rectangle("fill",0,0,scr.w,scr.h)
|
||||||
gc.setShader()
|
gc.setShader()
|
||||||
end,
|
end,
|
||||||
}--Red rolling rainbow
|
}--Vertical red-green gradient
|
||||||
back.game3={
|
back.game3={
|
||||||
init=function()
|
init=function()
|
||||||
t=0
|
t=0
|
||||||
BG.resize(scr.w,scr.h)
|
BG.resize(scr.w,scr.h)
|
||||||
end,
|
end,
|
||||||
resize=function(w,h)
|
resize=function(w,h)
|
||||||
SHADER.rainbow:send("w",w*scr.dpi)
|
SHADER.gradient3:send("w",w*scr.dpi)
|
||||||
SHADER.rainbow:send("h",h*scr.dpi)
|
SHADER.gradient3:send("h",h*scr.dpi)
|
||||||
end,
|
end,
|
||||||
update=function(dt)
|
update=function(dt)
|
||||||
t=t+dt
|
t=t+dt
|
||||||
end,
|
end,
|
||||||
draw=function()
|
draw=function()
|
||||||
SHADER.rainbow:send("t",t)
|
SHADER.gradient3:send("t",t)
|
||||||
gc.setColor(.5,.5,.8)
|
gc.setShader(SHADER.gradient3)
|
||||||
gc.setShader(SHADER.rainbow)
|
|
||||||
gc.rectangle("fill",0,0,scr.w,scr.h)
|
gc.rectangle("fill",0,0,scr.w,scr.h)
|
||||||
gc.setShader()
|
gc.setShader()
|
||||||
end,
|
end,
|
||||||
}--Blue rolling rainbow
|
}--beautiful RGB
|
||||||
back.game4={
|
back.game4={
|
||||||
init=function()
|
init=function()
|
||||||
t=0
|
t=0
|
||||||
@@ -160,11 +140,7 @@ back.game4={
|
|||||||
t=t+dt
|
t=t+dt
|
||||||
end,
|
end,
|
||||||
draw=function()
|
draw=function()
|
||||||
SHADER.strap:send("t",t*1.26)
|
|
||||||
gc.setColor(.5,.626,.74)
|
|
||||||
gc.setShader(SHADER.strap)
|
|
||||||
gc.rectangle("fill",0,0,scr.w,scr.h)
|
|
||||||
gc.setShader()
|
|
||||||
end,
|
end,
|
||||||
}--Blue strap
|
}--Blue strap
|
||||||
back.game5={
|
back.game5={
|
||||||
@@ -189,7 +165,7 @@ back.game6={
|
|||||||
t=0
|
t=0
|
||||||
colorLib=_G.SKIN.libColor
|
colorLib=_G.SKIN.libColor
|
||||||
colorSet=_G.setting.skin
|
colorSet=_G.setting.skin
|
||||||
miniBlock=_G.miniBlock
|
blockImg=_G.TEXTURE.miniBlock
|
||||||
end,
|
end,
|
||||||
update=function(dt)
|
update=function(dt)
|
||||||
t=t+dt
|
t=t+dt
|
||||||
@@ -202,7 +178,7 @@ back.game6={
|
|||||||
local R=7-int(t*.5)%7
|
local R=7-int(t*.5)%7
|
||||||
local _=colorLib[colorSet[R]]
|
local _=colorLib[colorSet[R]]
|
||||||
gc.setColor(_[1],_[2],_[3],.1)
|
gc.setColor(_[1],_[2],_[3],.1)
|
||||||
gc.draw(miniBlock[R],640,360,t%3.1416*6,400,400,scs[R][0][2]-.5,#blocks[R][0]-scs[R][0][1]+.5)
|
gc.draw(blockImg[R],640,360,t%3.1416*6,400,400,scs[R][0][2]-.5,#blocks[R][0]-scs[R][0][1]+.5)
|
||||||
end,
|
end,
|
||||||
}--Fast lightning + spining tetromino
|
}--Fast lightning + spining tetromino
|
||||||
|
|
||||||
@@ -284,7 +260,7 @@ BG={
|
|||||||
update=NULL,
|
update=NULL,
|
||||||
draw=back.none.draw,
|
draw=back.none.draw,
|
||||||
}
|
}
|
||||||
function BG.set(bg)
|
function BG.set(bg,data)
|
||||||
if bg==BG.cur or not setting.bg then return end
|
if bg==BG.cur or not setting.bg then return end
|
||||||
if BG.discard then
|
if BG.discard then
|
||||||
BG.discard()
|
BG.discard()
|
||||||
|
|||||||
@@ -290,8 +290,8 @@ end
|
|||||||
local customSet={
|
local customSet={
|
||||||
{3,20,1,1,7,1,1,1,3,4,1,2,3},
|
{3,20,1,1,7,1,1,1,3,4,1,2,3},
|
||||||
{5,20,1,1,7,1,1,1,8,3,8,3,3},
|
{5,20,1,1,7,1,1,1,8,3,8,3,3},
|
||||||
{1,22,1,1,7,3,1,1,8,4,1,7,7},
|
{1,22,1,1,7,3,1,1,8,4,1,6,7},
|
||||||
{3,20,1,1,7,1,1,3,8,3,1,7,8},
|
{3,20,1,1,7,1,1,3,8,3,1,6,8},
|
||||||
{25,11,8,11,4,1,2,1,8,3,1,4,9},
|
{25,11,8,11,4,1,2,1,8,3,1,4,9},
|
||||||
}
|
}
|
||||||
function keyDown.custom(key)
|
function keyDown.custom(key)
|
||||||
@@ -696,7 +696,16 @@ function gamepadUp.play(key)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function touchDown.help(id,x,y)
|
function keyDown.staff(key,RESET)
|
||||||
|
if key=="escape"then
|
||||||
|
SCN.back()
|
||||||
|
elseif key=="\122"then
|
||||||
|
if RESET or kb.isDown("\109")and kb.isDown("\114")then
|
||||||
|
SCN.goto("debug")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function touchDown.staff(id,x,y)
|
||||||
local pw=sceneTemp.pw
|
local pw=sceneTemp.pw
|
||||||
local t=pw%4
|
local t=pw%4
|
||||||
if
|
if
|
||||||
@@ -707,8 +716,7 @@ function touchDown.help(id,x,y)
|
|||||||
then
|
then
|
||||||
pw=pw+1
|
pw=pw+1
|
||||||
if pw==8 then
|
if pw==8 then
|
||||||
marking=nil
|
SCN.goto("debug")
|
||||||
SFX.play("reach")
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
pw=x<640 and y<360==1 and 1 or 0
|
pw=x<640 and y<360==1 and 1 or 0
|
||||||
@@ -716,66 +724,6 @@ function touchDown.help(id,x,y)
|
|||||||
sceneTemp.pw=pw
|
sceneTemp.pw=pw
|
||||||
end
|
end
|
||||||
|
|
||||||
function keyDown.staff(key,RESET)
|
|
||||||
if key=="escape"then
|
|
||||||
SCN.back()
|
|
||||||
elseif key=="\122"then
|
|
||||||
if RESET or kb.isDown("\109")and kb.isDown("\114")then
|
|
||||||
sceneTemp.ct=sceneTemp.ct+1
|
|
||||||
if sceneTemp.ct==5 then
|
|
||||||
TEXT.show("What are you up to?",640,200,40,"appear",.5)
|
|
||||||
elseif sceneTemp.ct==10 then
|
|
||||||
TEXT.show("Stop what you are doing.",640,200,40,"flicker",.5)
|
|
||||||
elseif sceneTemp.ct==16 then
|
|
||||||
TEXT.show("RESET ALL DATA?",640,200,40,"appear",.3,.2)
|
|
||||||
elseif sceneTemp.ct==20 then
|
|
||||||
TEXT.show("SURE?????",640,200,40,"beat",.3,.2)
|
|
||||||
elseif sceneTemp.ct==26 then
|
|
||||||
local L=love.filesystem.getDirectoryItems("")
|
|
||||||
for i=1,#L do
|
|
||||||
local s=L[i]
|
|
||||||
if s:sub(-4)==".dat"then
|
|
||||||
love.filesystem.remove(s)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
SFX.play("lock")
|
|
||||||
SFX.play("clear_4")
|
|
||||||
SFX.play("finesseError_long")
|
|
||||||
SCN.back()
|
|
||||||
TEXT.clear()
|
|
||||||
end
|
|
||||||
sceneTemp.v=-6.26
|
|
||||||
marking=nil
|
|
||||||
SFX.play("reach")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
function touchDown.staff(id,x,y)
|
|
||||||
if #tc.getTouches()==5 then
|
|
||||||
keyDown.staff('\122',true)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function keyDown.stat(key)
|
|
||||||
if key=="u"and kb.isDown("lshift","rshift")then
|
|
||||||
touchDown.stat()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
function touchDown.stat(id,x,y)
|
|
||||||
local s=sceneTemp
|
|
||||||
s.count=s.count+1
|
|
||||||
if rnd()<.0626 and s.count>26 then
|
|
||||||
for name,M in next,Modes do
|
|
||||||
if not modeRanks[name]then
|
|
||||||
modeRanks[name]=M.score and 0 or 6
|
|
||||||
end
|
|
||||||
end
|
|
||||||
FILE.saveUnlock()
|
|
||||||
TEXT.show("DEV:\85\78\76\79\67\75\65\76\76",640,360,60,"stretch",.6)
|
|
||||||
SFX.play("clear_4")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function wheelMoved.history(x,y)
|
function wheelMoved.history(x,y)
|
||||||
wheelScroll(y)
|
wheelScroll(y)
|
||||||
end
|
end
|
||||||
@@ -1088,7 +1036,7 @@ function love.run()
|
|||||||
local R=int(r)%7+1
|
local R=int(r)%7+1
|
||||||
_=SKIN.libColor[setting.skin[R]]
|
_=SKIN.libColor[setting.skin[R]]
|
||||||
gc.setColor(_[1],_[2],_[3],min(1-abs(1-r%1*2),.3))
|
gc.setColor(_[1],_[2],_[3],min(1-abs(1-r%1*2),.3))
|
||||||
gc.draw(miniBlock[R],mx,my,Timer()%3.1416*4,20,20,scs[2*R]-.5,#blocks[R][0]-scs[2*R-1]+.5)
|
gc.draw(TEXTURE.miniBlock[R],mx,my,Timer()%3.1416*4,20,20,scs[2*R]-.5,#blocks[R][0]-scs[2*R-1]+.5)
|
||||||
gc.setColor(1,1,1,.5)gc.circle("fill",mx,my,5)
|
gc.setColor(1,1,1,.5)gc.circle("fill",mx,my,5)
|
||||||
gc.setColor(1,1,1)gc.circle("fill",mx,my,3)
|
gc.setColor(1,1,1)gc.circle("fill",mx,my,3)
|
||||||
end--Awesome mouse!
|
end--Awesome mouse!
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
local langList={
|
local langList={
|
||||||
{
|
{
|
||||||
anykey="按任意键继续",
|
anykey="按任意键继续",
|
||||||
newVersion="检测到更新!存档格式已修改",
|
newVersion="检测到更新!",
|
||||||
marking="游戏作者:MrZ_26\n任何视频/直播不得出现此水印\n任何转述声明无效",
|
marking="游戏作者:MrZ_26\n任何视频/直播不得出现此水印\n任何转述声明无效",
|
||||||
lang="中文",
|
lang="中文",
|
||||||
atkModeName={"随机","徽章","击杀","反击"},
|
atkModeName={"随机","徽章","击杀","反击"},
|
||||||
@@ -146,7 +146,7 @@ local langList={
|
|||||||
"",
|
"",
|
||||||
"使用LOVE2D引擎",
|
"使用LOVE2D引擎",
|
||||||
"错误或者建议请附带截图发送到内测群或者作者邮箱~",
|
"错误或者建议请附带截图发送到内测群或者作者邮箱~",
|
||||||
"仅通过内测群822023725进行免费下载/更新",
|
"仅通过内测群1080457319进行免费下载/更新",
|
||||||
"其他渠道获得游戏皆有被修改/加广告/植入病毒的风险,程序只申请了震动&联网权限!",
|
"其他渠道获得游戏皆有被修改/加广告/植入病毒的风险,程序只申请了震动&联网权限!",
|
||||||
"若由于被修改的本游戏产生的各种损失作者不负责(我怎么负责啊跟我有啥关系)",
|
"若由于被修改的本游戏产生的各种损失作者不负责(我怎么负责啊跟我有啥关系)",
|
||||||
"请从正规途径获得最新版,游戏现为免费,不过有打赏当然感谢啦~",
|
"请从正规途径获得最新版,游戏现为免费,不过有打赏当然感谢啦~",
|
||||||
@@ -176,7 +176,7 @@ local langList={
|
|||||||
simple-love-lights[dylhunn]
|
simple-love-lights[dylhunn]
|
||||||
]],
|
]],
|
||||||
support="支持作者",
|
support="支持作者",
|
||||||
group="官方QQ群(如果没有被暗改的话就是这个):822023725",
|
group="官方QQ群(如果没有被暗改的话就是这个):1080457319",
|
||||||
WidgetText={
|
WidgetText={
|
||||||
main={
|
main={
|
||||||
play="开始",
|
play="开始",
|
||||||
@@ -364,6 +364,12 @@ local langList={
|
|||||||
path="打开存储目录",
|
path="打开存储目录",
|
||||||
back="返回",
|
back="返回",
|
||||||
},
|
},
|
||||||
|
debug={
|
||||||
|
killWTM="关闭水印",
|
||||||
|
unlock="解锁全模式",
|
||||||
|
reset="清空所有数据",
|
||||||
|
back="返回",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
modes={
|
modes={
|
||||||
["sprint_10"]= {"竞速", "10L", "消除10行"},
|
["sprint_10"]= {"竞速", "10L", "消除10行"},
|
||||||
@@ -443,7 +449,7 @@ local langList={
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
anykey="按任意键继续",
|
anykey="按任意键继续",
|
||||||
newVersion="检测到更新!存档格式已修改",
|
newVersion="检测到更新!",
|
||||||
marking="游戏作者:MrZ_26\n任何视频/直播不得出现此水印\n任何转述声明无效",
|
marking="游戏作者:MrZ_26\n任何视频/直播不得出现此水印\n任何转述声明无效",
|
||||||
lang="全中文",
|
lang="全中文",
|
||||||
atkModeName={"随机","徽章","击杀","反击"},
|
atkModeName={"随机","徽章","击杀","反击"},
|
||||||
@@ -585,7 +591,7 @@ local langList={
|
|||||||
"从TO/C2/KOS/TGM3/JS等方块获得过灵感",
|
"从TO/C2/KOS/TGM3/JS等方块获得过灵感",
|
||||||
"",
|
"",
|
||||||
"错误或者建议请附带截图发送到内测群或者作者邮箱~",
|
"错误或者建议请附带截图发送到内测群或者作者邮箱~",
|
||||||
"仅通过内测群822023725进行免费下载/更新",
|
"仅通过内测群1080457319进行免费下载/更新",
|
||||||
"其他渠道获得游戏皆有被修改/加广告/植入病毒的风险,程序只申请了震动&联网权限!",
|
"其他渠道获得游戏皆有被修改/加广告/植入病毒的风险,程序只申请了震动&联网权限!",
|
||||||
"若由于被修改的本游戏产生的各种损失作者不负责(我怎么负责啊跟我有啥关系)",
|
"若由于被修改的本游戏产生的各种损失作者不负责(我怎么负责啊跟我有啥关系)",
|
||||||
"请从正规途径获得最新版,游戏现为免费,不过有打赏当然感谢啦~",
|
"请从正规途径获得最新版,游戏现为免费,不过有打赏当然感谢啦~",
|
||||||
@@ -615,7 +621,7 @@ local langList={
|
|||||||
simple-love-lights[dylhunn]
|
simple-love-lights[dylhunn]
|
||||||
]],
|
]],
|
||||||
support="支持作者",
|
support="支持作者",
|
||||||
group="官方QQ群(如果没有被暗改的话就是这个):822023725",
|
group="官方QQ群(如果没有被暗改的话就是这个):1080457319",
|
||||||
WidgetText={
|
WidgetText={
|
||||||
main={
|
main={
|
||||||
play="开始",
|
play="开始",
|
||||||
@@ -803,6 +809,12 @@ local langList={
|
|||||||
path="打开存储目录",
|
path="打开存储目录",
|
||||||
back="返回",
|
back="返回",
|
||||||
},
|
},
|
||||||
|
debug={
|
||||||
|
killWTM="关闭水印",
|
||||||
|
unlock="解锁全模式",
|
||||||
|
reset="清空所有数据",
|
||||||
|
back="返回",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
modes={
|
modes={
|
||||||
["sprint_10"]= {"竞速", "10行", "消除10行"},
|
["sprint_10"]= {"竞速", "10行", "消除10行"},
|
||||||
@@ -882,7 +894,7 @@ local langList={
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
anykey="Press any button",
|
anykey="Press any button",
|
||||||
newVersion="Updating detected! Saving format updated",
|
newVersion="Updating detected!",
|
||||||
marking="Game Author:MrZ_26\nIllegal recording if see this\nAny explanation invalid",
|
marking="Game Author:MrZ_26\nIllegal recording if see this\nAny explanation invalid",
|
||||||
lang="English",
|
lang="English",
|
||||||
atkModeName={"Random","Badges","K.O.s","Attackers"},
|
atkModeName={"Random","Badges","K.O.s","Attackers"},
|
||||||
@@ -1043,7 +1055,7 @@ local langList={
|
|||||||
},
|
},
|
||||||
used="Tool used:\n\tBeepbox\n\tGFIE\n\tGoldwave\nLib used:\n\tCold_Clear[MinusKelvin]\n\tsimple-love-lights[dylhunn]",
|
used="Tool used:\n\tBeepbox\n\tGFIE\n\tGoldwave\nLib used:\n\tCold_Clear[MinusKelvin]\n\tsimple-love-lights[dylhunn]",
|
||||||
support="Support author",
|
support="Support author",
|
||||||
group="Official QQ Group(if not hacked):822023725",
|
group="Official QQ Group(if not hacked):1080457319",
|
||||||
WidgetText={
|
WidgetText={
|
||||||
main={
|
main={
|
||||||
play="Play",
|
play="Play",
|
||||||
@@ -1231,6 +1243,12 @@ local langList={
|
|||||||
path="Open Data Folder",
|
path="Open Data Folder",
|
||||||
back="Back",
|
back="Back",
|
||||||
},
|
},
|
||||||
|
debug={
|
||||||
|
killWTM="kill watermark",
|
||||||
|
unlock="unlock all",
|
||||||
|
reset="reset all",
|
||||||
|
back="Back",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
modes={
|
modes={
|
||||||
["sprint_10"]= {"Sprint", "10L", "Clear 10 lines!"},
|
["sprint_10"]= {"Sprint", "10L", "Clear 10 lines!"},
|
||||||
@@ -1310,7 +1328,7 @@ local langList={
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
anykey="↓□↓",
|
anykey="↓□↓",
|
||||||
newVersion="&!!! ___!",
|
newVersion="&!!!",
|
||||||
marking="Game Author:MrZ_26\nIllegal recording if see this\nAny explanation invalid",
|
marking="Game Author:MrZ_26\nIllegal recording if see this\nAny explanation invalid",
|
||||||
lang="?????",
|
lang="?????",
|
||||||
atkModeName={"?","( )","!","←→"},
|
atkModeName={"?","( )","!","←→"},
|
||||||
@@ -1471,7 +1489,7 @@ local langList={
|
|||||||
},
|
},
|
||||||
used="Tool used:\n\tBeepbox\n\tGFIE\n\tGoldwave\nLib used:\n\tCold_Clear[MinusKelvin]\n\tsimple-love-lights[dylhunn]",
|
used="Tool used:\n\tBeepbox\n\tGFIE\n\tGoldwave\nLib used:\n\tCold_Clear[MinusKelvin]\n\tsimple-love-lights[dylhunn]",
|
||||||
support="Support author",
|
support="Support author",
|
||||||
group="Official QQ Group(if not hacked):822023725",
|
group="Official QQ Group(if not hacked):1080457319",
|
||||||
WidgetText={
|
WidgetText={
|
||||||
main={
|
main={
|
||||||
play="!!!",
|
play="!!!",
|
||||||
@@ -1658,6 +1676,12 @@ local langList={
|
|||||||
path="_$_",
|
path="_$_",
|
||||||
back="X",
|
back="X",
|
||||||
},
|
},
|
||||||
|
debug={
|
||||||
|
killWTM="kill watermark",
|
||||||
|
unlock="unlock all",
|
||||||
|
reset="reset all",
|
||||||
|
back="X",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
modes={
|
modes={
|
||||||
["sprint_10"]= {"Sprint", "10L", "Clear 10 lines!"},
|
["sprint_10"]= {"Sprint", "10L", "Clear 10 lines!"},
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ local function drawVirtualkey()
|
|||||||
local a=setting.VKAlpha*.1
|
local a=setting.VKAlpha*.1
|
||||||
local _
|
local _
|
||||||
if setting.VKIcon then
|
if setting.VKIcon then
|
||||||
|
local icons=TEXTURE.VKIcon
|
||||||
for i=1,#V do
|
for i=1,#V do
|
||||||
if V[i].ava then
|
if V[i].ava then
|
||||||
local B=V[i]
|
local B=V[i]
|
||||||
@@ -72,7 +73,7 @@ local function drawVirtualkey()
|
|||||||
gc.setLineWidth(B.r*.07)
|
gc.setLineWidth(B.r*.07)
|
||||||
gc.circle("line",B.x,B.y,B.r,10)--Button outline
|
gc.circle("line",B.x,B.y,B.r,10)--Button outline
|
||||||
_=V[i].pressTime
|
_=V[i].pressTime
|
||||||
gc.draw(VKIcon[i],B.x,B.y,nil,B.r*.026+_*.08,nil,18,18)--icon
|
gc.draw(icons[i],B.x,B.y,nil,B.r*.026+_*.08,nil,18,18)--icon
|
||||||
if _>0 then
|
if _>0 then
|
||||||
gc.setColor(1,1,1,a*_*.08)
|
gc.setColor(1,1,1,a*_*.08)
|
||||||
gc.circle("fill",B.x,B.y,B.r*.94,10)--Glow
|
gc.circle("fill",B.x,B.y,B.r*.94,10)--Glow
|
||||||
@@ -265,7 +266,7 @@ function Pnt.mode()
|
|||||||
end
|
end
|
||||||
if cam.keyCtrl then
|
if cam.keyCtrl then
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
gc.draw(mapCross,460-20,360-20)
|
gc.draw(TEXTURE.mapCross,460-20,360-20)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
function Pnt.music()
|
function Pnt.music()
|
||||||
@@ -322,11 +323,11 @@ function Pnt.sequence()
|
|||||||
setFont(40)
|
setFont(40)
|
||||||
gc.print(len,120,300)
|
gc.print(len,120,300)
|
||||||
|
|
||||||
local L=miniBlock
|
local L=TEXTURE.miniBlock
|
||||||
local x,y=120,126
|
local x,y=120,126
|
||||||
local cx,cy=120,126
|
local cx,cy=120,126
|
||||||
for i=1,len do
|
for i=1,len do
|
||||||
local B=miniBlock[bag[i]]
|
local B=L[bag[i]]
|
||||||
gc.draw(B,x,y,nil,15,15,0,B:getHeight()*.5)
|
gc.draw(B,x,y,nil,15,15,0,B:getHeight()*.5)
|
||||||
x=x+B:getWidth()*15+10
|
x=x+B:getWidth()*15+10
|
||||||
if x>1126 then
|
if x>1126 then
|
||||||
@@ -528,7 +529,7 @@ function Pnt.pause()
|
|||||||
setFont(26)
|
setFont(26)
|
||||||
for i=1,10 do
|
for i=1,10 do
|
||||||
gc.print(text.pauseStat[i],40,210+40*i)
|
gc.print(text.pauseStat[i],40,210+40*i)
|
||||||
gc.printf(_[i],245,210+40*i,250,"right")
|
gc.printf(_[i],195,210+40*i,300,"right")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -750,17 +751,12 @@ end
|
|||||||
function Pnt.staff()
|
function Pnt.staff()
|
||||||
local L=text.staff
|
local L=text.staff
|
||||||
local t=sceneTemp.time
|
local t=sceneTemp.time
|
||||||
if t>0 then
|
setFont(40)
|
||||||
setFont(40)
|
for i=1,#L do
|
||||||
for i=1,#L do
|
mStr(L[i],640,800+80*i-t*40)
|
||||||
mStr(L[i],640,800+80*i-t*40)
|
|
||||||
end
|
|
||||||
mDraw(IMG.coloredTitleImage,640,800-t*40,nil,2)
|
|
||||||
mDraw(IMG.coloredTitleImage,640,2160-t*40,nil,2)
|
|
||||||
else
|
|
||||||
setFont(60)
|
|
||||||
mStr("Don't tell this to anyone.",640,-100-t*40)
|
|
||||||
end
|
end
|
||||||
|
mDraw(IMG.coloredTitleImage,640,800-t*40,nil,2)
|
||||||
|
mDraw(IMG.coloredTitleImage,640,2160-t*40,nil,2)
|
||||||
end
|
end
|
||||||
function Pnt.stat()
|
function Pnt.stat()
|
||||||
local chart=sceneTemp.chart
|
local chart=sceneTemp.chart
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ function sceneInit.setting_control()
|
|||||||
dir=1,
|
dir=1,
|
||||||
wait=30,
|
wait=30,
|
||||||
}
|
}
|
||||||
BG.set("strap")
|
BG.set("game1")
|
||||||
end
|
end
|
||||||
function sceneInit.setting_key()
|
function sceneInit.setting_key()
|
||||||
sceneTemp={
|
sceneTemp={
|
||||||
@@ -208,16 +208,13 @@ function sceneInit.setting_touchSwitch()
|
|||||||
BG.set("matrix")
|
BG.set("matrix")
|
||||||
end
|
end
|
||||||
function sceneInit.help()
|
function sceneInit.help()
|
||||||
sceneTemp={
|
|
||||||
pw=0,
|
|
||||||
}
|
|
||||||
BG.set("space")
|
BG.set("space")
|
||||||
end
|
end
|
||||||
function sceneInit.staff()
|
function sceneInit.staff()
|
||||||
sceneTemp={
|
sceneTemp={
|
||||||
|
pw=0,
|
||||||
time=0,
|
time=0,
|
||||||
v=1,
|
v=1,
|
||||||
ct=0,
|
|
||||||
}
|
}
|
||||||
BG.set("space")
|
BG.set("space")
|
||||||
end
|
end
|
||||||
@@ -234,7 +231,6 @@ function sceneInit.stat()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
sceneTemp={
|
sceneTemp={
|
||||||
count=0,
|
|
||||||
chart={
|
chart={
|
||||||
A1=S.spin,A2=S.clear,
|
A1=S.spin,A2=S.clear,
|
||||||
X1=X1,X2=X2,
|
X1=X1,X2=X2,
|
||||||
@@ -259,9 +255,14 @@ function sceneInit.stat()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
function sceneInit.history()
|
function sceneInit.history()
|
||||||
BG.set("strap")
|
BG.set("game1")
|
||||||
sceneTemp={require("parts/updateLog"),1}--scroll pos
|
sceneTemp={require("parts/updateLog"),1}--scroll pos
|
||||||
end
|
end
|
||||||
|
function sceneInit.debug()
|
||||||
|
sceneTemp={
|
||||||
|
ct=0,
|
||||||
|
}
|
||||||
|
end
|
||||||
function sceneInit.quit()
|
function sceneInit.quit()
|
||||||
love.timer.sleep(.3)
|
love.timer.sleep(.3)
|
||||||
love.event.quit()
|
love.event.quit()
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ return{
|
|||||||
alpha=N("alpha"),
|
alpha=N("alpha"),
|
||||||
warning=N("warning"),
|
warning=N("warning"),
|
||||||
|
|
||||||
rainbow=N("rainbow"),
|
|
||||||
strap=N("strap"),
|
|
||||||
aura=N("aura"),
|
aura=N("aura"),
|
||||||
|
gradient1=N("grad1"),--Horizonal
|
||||||
|
gradient2=N("grad2"),--Vertical
|
||||||
|
gradient3=N("grad3"),--Oblique
|
||||||
}
|
}
|
||||||
10
Zframework/shader/grad1.glsl
Normal file
10
Zframework/shader/grad1.glsl
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
extern float t,w;
|
||||||
|
vec4 effect(vec4 color,Image text,vec2 pos,vec2 scr_pos){
|
||||||
|
float x=scr_pos.x/w;
|
||||||
|
return vec4(
|
||||||
|
.8-x*.6,
|
||||||
|
.3+.2*sin(t),
|
||||||
|
.15+x*.7,
|
||||||
|
1
|
||||||
|
);
|
||||||
|
}
|
||||||
10
Zframework/shader/grad2.glsl
Normal file
10
Zframework/shader/grad2.glsl
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
extern float t,h;
|
||||||
|
vec4 effect(vec4 color,Image text,vec2 pos,vec2 scr_pos){
|
||||||
|
float y=scr_pos.y/h;
|
||||||
|
return vec4(
|
||||||
|
.8-y*.6,
|
||||||
|
.2+y*.4,
|
||||||
|
.3+.1*sin(t),
|
||||||
|
1
|
||||||
|
);
|
||||||
|
}
|
||||||
11
Zframework/shader/grad3.glsl
Normal file
11
Zframework/shader/grad3.glsl
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
extern float t,w,h;
|
||||||
|
vec4 effect(vec4 color,Image text,vec2 pos,vec2 scr_pos){
|
||||||
|
float x=scr_pos.x/w;
|
||||||
|
float y=scr_pos.y/h;
|
||||||
|
return vec4(
|
||||||
|
.8-y*.6-.2*sin(t/6.26),
|
||||||
|
.3+.1*sin(t),
|
||||||
|
.2+x*.6,
|
||||||
|
1
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#define PI 3.14159265
|
|
||||||
extern float w,h;
|
|
||||||
extern float t;
|
|
||||||
vec4 effect(vec4 color,Image text,vec2 pos,vec2 scr_pos){
|
|
||||||
float x=scr_pos.x-w/2.;
|
|
||||||
float y=scr_pos.y-h/2.;
|
|
||||||
float a=(step(0.,x)*2.-1.)*PI+atan(y,x)+PI*0.5+t*0.626;
|
|
||||||
|
|
||||||
return vec4(
|
|
||||||
color.r*(sin(a+PI*0./3.)*0.3+0.5),
|
|
||||||
color.g*(sin(a+PI*2./3.)*0.3+0.5),
|
|
||||||
color.b*(sin(a+PI*4./3.)*0.3+0.5),
|
|
||||||
1.
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#define PI 3.14159265
|
|
||||||
extern float t;
|
|
||||||
vec4 effect(vec4 color,Image text,vec2 pos,vec2 scr_pos){
|
|
||||||
float x=scr_pos.x/262.+t;
|
|
||||||
return vec4(
|
|
||||||
color.r*(sin(x+PI*0./3.)*0.3+0.5),
|
|
||||||
color.g*(sin(x+PI*2./3.)*0.3+0.5),
|
|
||||||
color.b*(sin(x+PI*4./3.)*0.3+0.5),
|
|
||||||
1.
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -139,24 +139,24 @@ local Widgets={
|
|||||||
O= newButton(650, 440,90, 90,C.white, 50,pressKey(6)),
|
O= newButton(650, 440,90, 90,C.white, 50,pressKey(6)),
|
||||||
I= newButton(750, 440,90, 90,C.white, 50,pressKey(7)),
|
I= newButton(750, 440,90, 90,C.white, 50,pressKey(7)),
|
||||||
|
|
||||||
Z5= newButton(150, 540,90, 90,C.white, 50,pressKey(8)),
|
Z5= newButton(150, 540,90, 90,C.darkGrey, 50,pressKey(8)),
|
||||||
S5= newButton(250, 540,90, 90,C.white, 50,pressKey(9)),
|
S5= newButton(250, 540,90, 90,C.darkGrey, 50,pressKey(9)),
|
||||||
P= newButton(350, 540,90, 90,C.white, 50,pressKey(10)),
|
P= newButton(350, 540,90, 90,C.darkGrey, 50,pressKey(10)),
|
||||||
Q= newButton(450, 540,90, 90,C.white, 50,pressKey(11)),
|
Q= newButton(450, 540,90, 90,C.darkGrey, 50,pressKey(11)),
|
||||||
F= newButton(550, 540,90, 90,C.white, 50,pressKey(12)),
|
F= newButton(550, 540,90, 90,C.darkGrey, 50,pressKey(12)),
|
||||||
E= newButton(650, 540,90, 90,C.white, 50,pressKey(13)),
|
E= newButton(650, 540,90, 90,C.darkGrey, 50,pressKey(13)),
|
||||||
T5= newButton(750, 540,90, 90,C.white, 50,pressKey(14)),
|
T5= newButton(750, 540,90, 90,C.darkGrey, 50,pressKey(14)),
|
||||||
U= newButton(850, 540,90, 90,C.white, 50,pressKey(15)),
|
U= newButton(850, 540,90, 90,C.darkGrey, 50,pressKey(15)),
|
||||||
V= newButton(950, 540,90, 90,C.white, 50,pressKey(16)),
|
V= newButton(950, 540,90, 90,C.darkGrey, 50,pressKey(16)),
|
||||||
W= newButton(150, 640,90, 90,C.white, 50,pressKey(17)),
|
W= newButton(150, 640,90, 90,C.darkGrey, 50,pressKey(17)),
|
||||||
X= newButton(250, 640,90, 90,C.white, 50,pressKey(18)),
|
X= newButton(250, 640,90, 90,C.darkGrey, 50,pressKey(18)),
|
||||||
J5= newButton(350, 640,90, 90,C.white, 50,pressKey(19)),
|
J5= newButton(350, 640,90, 90,C.darkGrey, 50,pressKey(19)),
|
||||||
L5= newButton(450, 640,90, 90,C.white, 50,pressKey(20)),
|
L5= newButton(450, 640,90, 90,C.darkGrey, 50,pressKey(20)),
|
||||||
R= newButton(550, 640,90, 90,C.white, 50,pressKey(21)),
|
R= newButton(550, 640,90, 90,C.darkGrey, 50,pressKey(21)),
|
||||||
Y= newButton(650, 640,90, 90,C.white, 50,pressKey(22)),
|
Y= newButton(650, 640,90, 90,C.darkGrey, 50,pressKey(22)),
|
||||||
N= newButton(750, 640,90, 90,C.white, 50,pressKey(23)),
|
N= newButton(750, 640,90, 90,C.darkGrey, 50,pressKey(23)),
|
||||||
H= newButton(850, 640,90, 90,C.white, 50,pressKey(24)),
|
H= newButton(850, 640,90, 90,C.darkGrey, 50,pressKey(24)),
|
||||||
I5= newButton(950, 640,90, 90,C.white, 50,pressKey(25)),
|
I5= newButton(950, 640,90, 90,C.darkGrey, 50,pressKey(25)),
|
||||||
|
|
||||||
left= newButton(850, 440,90, 90,C.lightGreen, 55,pressKey("left")),
|
left= newButton(850, 440,90, 90,C.lightGreen, 55,pressKey("left")),
|
||||||
right= newButton(950, 440,90, 90,C.lightGreen, 55,pressKey("right")),
|
right= newButton(950, 440,90, 90,C.lightGreen, 55,pressKey("right")),
|
||||||
@@ -425,6 +425,44 @@ local Widgets={
|
|||||||
path= newButton(980,620,250,80,C.white,25,function()love.system.openURL(love.filesystem.getSaveDirectory())end,mobileHide,"back"),
|
path= newButton(980,620,250,80,C.white,25,function()love.system.openURL(love.filesystem.getSaveDirectory())end,mobileHide,"back"),
|
||||||
back= newButton(640,620,200,80,C.white,40,BACK,nil,"path"),
|
back= newButton(640,620,200,80,C.white,40,BACK,nil,"path"),
|
||||||
},
|
},
|
||||||
|
debug={
|
||||||
|
killWTM=newButton(340,200,260,100,C.white,35,function()
|
||||||
|
marking=nil
|
||||||
|
TEXT.show("\68\69\86\58\87\97\116\101\114\109\97\114\107\32\82\101\109\111\118\101\100",640,360,60,"stretch",.6)
|
||||||
|
SFX.play("clear")
|
||||||
|
end),
|
||||||
|
unlock= newButton(640,200,260,100,C.white,40,function()
|
||||||
|
for name,M in next,Modes do
|
||||||
|
if not modeRanks[name]then
|
||||||
|
modeRanks[name]=M.score and 0 or 6
|
||||||
|
end
|
||||||
|
end
|
||||||
|
FILE.saveUnlock()
|
||||||
|
TEXT.show("\68\69\86\58\85\78\76\79\67\75\65\76\76",640,360,60,"stretch",.6)
|
||||||
|
SFX.play("clear_2")
|
||||||
|
end),
|
||||||
|
reset= newButton(940,200,260,100,C.white,40,function()
|
||||||
|
sceneTemp.ct=sceneTemp.ct+1
|
||||||
|
if sceneTemp.ct==1 then
|
||||||
|
TEXT.show("RESET ALL DATA?",640,360,50,"appear",.5)
|
||||||
|
elseif sceneTemp.ct==5 then
|
||||||
|
TEXT.show("SURE?????",640,360,80,"beat",.5)
|
||||||
|
elseif sceneTemp.ct==10 then
|
||||||
|
local L=love.filesystem.getDirectoryItems("")
|
||||||
|
for i=1,#L do
|
||||||
|
local s=L[i]
|
||||||
|
if s:sub(-4)==".dat"then
|
||||||
|
love.filesystem.remove(s)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
SFX.play("clear_4")SFX.play("finesseError_long")
|
||||||
|
TEXT.clear()
|
||||||
|
TEXT.show("ALL SAVING FILE DELETED",640,360,60,"stretch",.4)
|
||||||
|
SCN.back()
|
||||||
|
end
|
||||||
|
end),
|
||||||
|
back= newButton(640,620,200,80,C.white,40,BACK),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
mobileHide,SETval,SETsto,SETrev=nil
|
mobileHide,SETval,SETsto,SETrev=nil
|
||||||
pressKey,setPen,prevSkin,nextSkin=nil
|
pressKey,setPen,prevSkin,nextSkin=nil
|
||||||
|
|||||||
2
conf.lua
2
conf.lua
@@ -1,4 +1,4 @@
|
|||||||
gameVersion="Alpha V0.9.1"
|
gameVersion="Alpha V0.9.2"
|
||||||
function love.conf(t)
|
function love.conf(t)
|
||||||
t.identity="Techmino"--saving folder
|
t.identity="Techmino"--saving folder
|
||||||
t.version="11.1"
|
t.version="11.1"
|
||||||
|
|||||||
38
main.lua
38
main.lua
@@ -43,9 +43,9 @@ freeRow= require("parts/freeRow")
|
|||||||
|
|
||||||
require("parts/list")
|
require("parts/list")
|
||||||
require("parts/gametoolfunc")
|
require("parts/gametoolfunc")
|
||||||
require("parts/texture")
|
|
||||||
require("parts/default_data")
|
require("parts/default_data")
|
||||||
|
|
||||||
|
TEXTURE=require("parts/texture")
|
||||||
SKIN= require("parts/skin")
|
SKIN= require("parts/skin")
|
||||||
PLY= require("parts/player")
|
PLY= require("parts/player")
|
||||||
AIfunc= require("parts/ai")
|
AIfunc= require("parts/ai")
|
||||||
@@ -81,43 +81,7 @@ if fs.getInfo("virtualkey.dat")then FILE.loadVK()end
|
|||||||
|
|
||||||
--update data file
|
--update data file
|
||||||
S=stat
|
S=stat
|
||||||
S.clear_B,S.clear_S=nil
|
|
||||||
if not S.clear[1][5]then
|
|
||||||
for i=1,7 do
|
|
||||||
S.clear[i][5]=0
|
|
||||||
S.spin[i][5]=0
|
|
||||||
end
|
|
||||||
for i=8,25 do
|
|
||||||
S.clear[i]={0,0,0,0,0}
|
|
||||||
S.spin[i]={0,0,0,0,0}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if not S.off then
|
|
||||||
S.off=S.recv-S.pend
|
|
||||||
end
|
|
||||||
if S.clear[1][4]>0 then
|
|
||||||
for i=1,6 do
|
|
||||||
S.clear[7][4]=S.clear[7][4]+S.clear[i][4]
|
|
||||||
S.clear[i][4]=0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
while #modeRanks>73 do
|
|
||||||
table.remove(modeRanks)
|
|
||||||
end
|
|
||||||
if modeRanks[73]==6 then modeRanks[73]=0 end
|
|
||||||
if modeRanks[1]then--rename key of modeRanks
|
|
||||||
local L=modeRanks
|
|
||||||
for i=1,#L do
|
|
||||||
L[Modes[i].name],L[i]=L[i]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if setting.skin[10]==5 then
|
|
||||||
setting.skin[10],setting.skin[11]=1,5
|
|
||||||
end
|
|
||||||
if S.version~=gameVersion then
|
if S.version~=gameVersion then
|
||||||
if S.version then
|
|
||||||
setting.spawn=true
|
|
||||||
end
|
|
||||||
S.version=gameVersion
|
S.version=gameVersion
|
||||||
TEXT.show(text.newVersion,640,200,30,"fly",.3)
|
TEXT.show(text.newVersion,640,200,30,"fly",.3)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ return{
|
|||||||
mindas=7,minarr=1,minsdarr=1,
|
mindas=7,minarr=1,minsdarr=1,
|
||||||
drop=.5,wait=8,fall=20,
|
drop=.5,wait=8,fall=20,
|
||||||
target=50,dropPiece=check,
|
target=50,dropPiece=check,
|
||||||
bg="strap",bgm="push",
|
bg="game2",bgm="push",
|
||||||
},
|
},
|
||||||
pauseLimit=true,
|
pauseLimit=true,
|
||||||
slowMark=true,
|
slowMark=true,
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ return{
|
|||||||
wait=8,fall=20,
|
wait=8,fall=20,
|
||||||
target=10,dropPiece=check_LVup,
|
target=10,dropPiece=check_LVup,
|
||||||
mindas=7,minarr=1,minsdarr=1,
|
mindas=7,minarr=1,minsdarr=1,
|
||||||
bg="strap",bgm="push",
|
bg="game2",bgm="push",
|
||||||
},
|
},
|
||||||
pauseLimit=true,
|
pauseLimit=true,
|
||||||
slowMark=true,
|
slowMark=true,
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ return{
|
|||||||
fall=rush_fall[1],
|
fall=rush_fall[1],
|
||||||
dropPiece=score,
|
dropPiece=score,
|
||||||
freshLimit=15,
|
freshLimit=15,
|
||||||
bg="strap",bgm="secret8th",
|
bg="game1",bgm="secret8th",
|
||||||
},
|
},
|
||||||
slowMark=true,
|
slowMark=true,
|
||||||
load=function()
|
load=function()
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
drop=1e99,lock=1e99,
|
drop=1e99,lock=1e99,
|
||||||
oncehold=false,
|
oncehold=false,
|
||||||
dropPiece=update_round,
|
dropPiece=update_round,
|
||||||
bg="game2",bgm="push",
|
bg="game3",bgm="push",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
drop=1e99,lock=1e99,
|
drop=1e99,lock=1e99,
|
||||||
oncehold=false,
|
oncehold=false,
|
||||||
dropPiece=update_round,
|
dropPiece=update_round,
|
||||||
bg="game2",bgm="push",
|
bg="game3",bgm="push",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
drop=1e99,lock=1e99,
|
drop=1e99,lock=1e99,
|
||||||
oncehold=false,
|
oncehold=false,
|
||||||
dropPiece=update_round,
|
dropPiece=update_round,
|
||||||
bg="game2",bgm="push",
|
bg="game3",bgm="push",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
drop=1e99,lock=1e99,
|
drop=1e99,lock=1e99,
|
||||||
oncehold=false,
|
oncehold=false,
|
||||||
dropPiece=update_round,
|
dropPiece=update_round,
|
||||||
bg="game2",bgm="push",
|
bg="game3",bgm="push",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
drop=1e99,lock=1e99,
|
drop=1e99,lock=1e99,
|
||||||
oncehold=false,
|
oncehold=false,
|
||||||
dropPiece=update_round,
|
dropPiece=update_round,
|
||||||
bg="game2",bgm="push",
|
bg="game3",bgm="push",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ return{
|
|||||||
env={
|
env={
|
||||||
drop=60,lock=60,
|
drop=60,lock=60,
|
||||||
target=10,dropPiece=PLY.reach_winCheck,
|
target=10,dropPiece=PLY.reach_winCheck,
|
||||||
bg="strap",bgm="race",
|
bg="game2",bgm="race",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ return{
|
|||||||
env={
|
env={
|
||||||
drop=60,lock=60,
|
drop=60,lock=60,
|
||||||
target=100,dropPiece=PLY.reach_winCheck,
|
target=100,dropPiece=PLY.reach_winCheck,
|
||||||
bg="strap",bgm="race",
|
bg="game2",bgm="race",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ return{
|
|||||||
env={
|
env={
|
||||||
drop=60,lock=60,
|
drop=60,lock=60,
|
||||||
target=1000,dropPiece=PLY.reach_winCheck,
|
target=1000,dropPiece=PLY.reach_winCheck,
|
||||||
bg="strap",bgm="push",
|
bg="game3",bgm="push",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ return{
|
|||||||
env={
|
env={
|
||||||
drop=60,lock=60,
|
drop=60,lock=60,
|
||||||
target=20,dropPiece=PLY.reach_winCheck,
|
target=20,dropPiece=PLY.reach_winCheck,
|
||||||
bg="strap",bgm="race",
|
bg="game2",bgm="race",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ return{
|
|||||||
env={
|
env={
|
||||||
drop=60,lock=60,
|
drop=60,lock=60,
|
||||||
target=40,dropPiece=PLY.reach_winCheck,
|
target=40,dropPiece=PLY.reach_winCheck,
|
||||||
bg="strap",bgm="race",
|
bg="game2",bgm="race",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ return{
|
|||||||
env={
|
env={
|
||||||
drop=60,lock=60,
|
drop=60,lock=60,
|
||||||
target=400,dropPiece=PLY.reach_winCheck,
|
target=400,dropPiece=PLY.reach_winCheck,
|
||||||
bg="strap",bgm="push",
|
bg="game3",bgm="push",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ return{
|
|||||||
drop=120,lock=120,
|
drop=120,lock=120,
|
||||||
oncehold=false,target=200,
|
oncehold=false,target=200,
|
||||||
dropPiece=PLY.reach_winCheck,
|
dropPiece=PLY.reach_winCheck,
|
||||||
bg="strap",bgm="infinite",
|
bg="game2",bgm="infinite",
|
||||||
},
|
},
|
||||||
load=function()
|
load=function()
|
||||||
PLY.newPlayer(1,340,15)
|
PLY.newPlayer(1,340,15)
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
snapLevelValue={1,10,20,40,60,80}
|
||||||
customID={
|
customID={
|
||||||
"drop","lock",
|
"drop","lock",
|
||||||
"wait","fall",
|
"wait","fall",
|
||||||
@@ -20,7 +21,51 @@ customRange={
|
|||||||
target={10,20,40,100,200,500,1000,1e99},
|
target={10,20,40,100,200,500,1000,1e99},
|
||||||
freshLimit={0,8,15,1e99},
|
freshLimit={0,8,15,1e99},
|
||||||
opponent={0,1,2,3,4,5,11,12,13,14,15,16},
|
opponent={0,1,2,3,4,5,11,12,13,14,15,16},
|
||||||
bg={"none","game1","game2","game3","strap","aura","rgb","glow","matrix"},
|
bg={"none","game1","game2","game3","aura","rgb","glow","matrix"},
|
||||||
bgm={"blank","way","race","newera","push","reason","infinite","secret7th","secret8th","rockblock"},
|
bgm={"blank","way","race","newera","push","reason","infinite","secret7th","secret8th","rockblock"},
|
||||||
}
|
}
|
||||||
snapLevelValue={1,10,20,40,60,80}
|
local function T(s,t)return love.graphics.newText(setFont(s),t)end
|
||||||
|
drawableText={
|
||||||
|
question=T(100,"?"),
|
||||||
|
bpm=T(15,"BPM"),kpm=T(15,"KPM"),
|
||||||
|
speedLV=T(20,"speed level"),
|
||||||
|
atk=T(20,"Attack"),
|
||||||
|
eff=T(20,"Efficiency"),
|
||||||
|
tsd=T(35,"TSD"),
|
||||||
|
line=T(25,"Lines"),
|
||||||
|
techrash=T(25,"Techrash"),
|
||||||
|
grade=T(25,"Grade"),
|
||||||
|
wave=T(30,"Wave"),
|
||||||
|
rpm=T(35,"RPM"),
|
||||||
|
nextWave=T(30,"Next"),
|
||||||
|
combo=T(20,"Combo"),
|
||||||
|
mxcmb=T(20,"Max Combo"),
|
||||||
|
pc=T(20,"Perfect Clear"),
|
||||||
|
ko=T(25,"KO"),
|
||||||
|
D=T(100,"D"),
|
||||||
|
C=T(100,"C"),
|
||||||
|
B=T(100,"B"),
|
||||||
|
A=T(100,"A"),
|
||||||
|
S=T(100,"S"),
|
||||||
|
|
||||||
|
|
||||||
|
modeName=T(30),levelName=T(30),
|
||||||
|
|
||||||
|
|
||||||
|
anykey=T(40),
|
||||||
|
next=T(40),hold=T(40),
|
||||||
|
win=T(120),finish=T(120),
|
||||||
|
lose=T(120),pause=T(120),
|
||||||
|
|
||||||
|
custom=T(80),sequence=T(80),
|
||||||
|
setting_game=T(80),setting_video=T(80),setting_sound=T(80),
|
||||||
|
setting_control=T(70),setting_skin=T(70),
|
||||||
|
preview=T(40),
|
||||||
|
keyboard=T(25),joystick=T(25),
|
||||||
|
ctrlSetHelp=T(30),
|
||||||
|
musicRoom=T(80),
|
||||||
|
nowPlaying=T(50),
|
||||||
|
VKTchW=T(30),VKOrgW=T(30),VKCurW=T(30),
|
||||||
|
noScore=T(45),
|
||||||
|
highScore=T(30),
|
||||||
|
}
|
||||||
@@ -692,15 +692,15 @@ local function Pdraw_norm(P)
|
|||||||
|
|
||||||
--Draw Hold
|
--Draw Hold
|
||||||
if P.gameEnv.hold then
|
if P.gameEnv.hold then
|
||||||
gc.setColor(0,0,0,.4)gc.rectangle("fill",-143,36,124,80)
|
gc.setColor(0,0,0,.4)gc.rectangle("fill",-140,36,124,80)
|
||||||
gc.setColor(1,1,1)gc.rectangle("line",-143,36,124,80)
|
gc.setColor(1,1,1)gc.rectangle("line",-140,36,124,80)
|
||||||
mText(drawableText.hold,-81,-15)
|
mText(drawableText.hold,-78,-15)
|
||||||
if P.hd then
|
if P.hd then
|
||||||
if P.holded then gc.setColor(.6,.5,.5)end
|
if P.holded then gc.setColor(.6,.5,.5)end
|
||||||
local B=P.hd.bk
|
local B=P.hd.bk
|
||||||
for i=1,#B do for j=1,#B[1]do
|
for i=1,#B do for j=1,#B[1]do
|
||||||
if B[i][j]then
|
if B[i][j]then
|
||||||
drawPixel(i+17.5-#B*.5,j-2.7-#B[1]*.5,P.hd.color)
|
drawPixel(i+17.5-#B*.5,j-2.6-#B[1]*.5,P.hd.color)
|
||||||
end
|
end
|
||||||
end end
|
end end
|
||||||
end
|
end
|
||||||
@@ -709,15 +709,15 @@ local function Pdraw_norm(P)
|
|||||||
--Draw Next(s)
|
--Draw Next(s)
|
||||||
local N=P.gameEnv.next*72
|
local N=P.gameEnv.next*72
|
||||||
if P.gameEnv.next>0 then
|
if P.gameEnv.next>0 then
|
||||||
gc.setColor(0,0,0,.4)gc.rectangle("fill",319,36,124,N)
|
gc.setColor(0,0,0,.4)gc.rectangle("fill",316,36,124,N)
|
||||||
gc.setColor(1,1,1)gc.rectangle("line",319,36,124,N)
|
gc.setColor(1,1,1)gc.rectangle("line",316,36,124,N)
|
||||||
mText(drawableText.next,381,-15)
|
mText(drawableText.next,378,-15)
|
||||||
N=1
|
N=1
|
||||||
while N<=P.gameEnv.next and P.next[N]do
|
while N<=P.gameEnv.next and P.next[N]do
|
||||||
local b,c=P.next[N].bk,P.next[N].color
|
local b,c=P.next[N].bk,P.next[N].color
|
||||||
for i=1,#b do for j=1,#b[1] do
|
for i=1,#b do for j=1,#b[1] do
|
||||||
if b[i][j]then
|
if b[i][j]then
|
||||||
drawPixel(i+20-2.4*N-#b*.5,j+12.7-#b[1]*.5,c)
|
drawPixel(i+20-2.4*N-#b*.5,j+12.6-#b[1]*.5,c)
|
||||||
end
|
end
|
||||||
end end
|
end end
|
||||||
N=N+1
|
N=N+1
|
||||||
@@ -731,7 +731,7 @@ local function Pdraw_norm(P)
|
|||||||
gc.setColor(.8,.5,.5)
|
gc.setColor(.8,.5,.5)
|
||||||
for i=C,N-1,L do
|
for i=C,N-1,L do
|
||||||
local y=72*i+36
|
local y=72*i+36
|
||||||
gc.line(321+P.fieldOff.x,y,441,y)
|
gc.line(318+P.fieldOff.x,y,438,y)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -745,18 +745,23 @@ local function Pdraw_norm(P)
|
|||||||
mStr(int(count/60+1),0,0)
|
mStr(int(count/60+1),0,0)
|
||||||
gc.pop()
|
gc.pop()
|
||||||
end--Draw starting counter
|
end--Draw starting counter
|
||||||
TEXT.draw(P.bonus)--Bonus texts
|
|
||||||
|
--Bonus texts
|
||||||
|
TEXT.draw(P.bonus)
|
||||||
|
|
||||||
|
--Speed dials
|
||||||
setFont(25)
|
setFont(25)
|
||||||
drawDial(360,520,P.dropSpeed)
|
drawDial(360,510,P.dropSpeed)
|
||||||
drawDial(405,575,P.keySpeed)
|
drawDial(405,565,P.keySpeed)
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
|
gc.draw(drawableText.bpm,390,480)
|
||||||
|
gc.draw(drawableText.kpm,344,573)
|
||||||
mStr(format("%.2f",P.stat.time),-81,518)--Time
|
mStr(format("%.2f",P.stat.time),-81,518)--Time
|
||||||
mStr(P.score1,-81,560)--Score
|
mStr(P.score1,-81,560)--Score
|
||||||
gc.draw(drawableText.bpm,390,490)
|
|
||||||
gc.draw(drawableText.kpm,344,583)
|
--Other messages
|
||||||
--Speed dials
|
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
curMode.mesDisp(P)--Other messages
|
curMode.mesDisp(P)
|
||||||
|
|
||||||
if modeEnv.royaleMode then
|
if modeEnv.royaleMode then
|
||||||
if P.atkMode then
|
if P.atkMode then
|
||||||
@@ -773,6 +778,7 @@ local function Pdraw_norm(P)
|
|||||||
gc.pop()
|
gc.pop()
|
||||||
end
|
end
|
||||||
local function Pdraw_small(P)
|
local function Pdraw_small(P)
|
||||||
|
--draw content
|
||||||
P.frameWait=P.frameWait-1
|
P.frameWait=P.frameWait-1
|
||||||
if P.frameWait==0 then
|
if P.frameWait==0 then
|
||||||
P.frameWait=10
|
P.frameWait=10
|
||||||
@@ -781,16 +787,20 @@ local function Pdraw_small(P)
|
|||||||
gc.push("transform")
|
gc.push("transform")
|
||||||
gc.origin()
|
gc.origin()
|
||||||
gc.setColor(1,1,1,P.result and max(20-P.endCounter,0)*.05 or 1)
|
gc.setColor(1,1,1,P.result and max(20-P.endCounter,0)*.05 or 1)
|
||||||
|
|
||||||
|
--Field
|
||||||
local F=P.field
|
local F=P.field
|
||||||
for j=1,#F do
|
for j=1,#F do
|
||||||
for i=1,10 do if F[j][i]>0 then
|
for i=1,10 do if F[j][i]>0 then
|
||||||
gc.draw(blockSkinMini[F[j][i]],6*i-6,120-6*j)
|
gc.draw(blockSkinMini[F[j][i]],6*i-6,120-6*j)
|
||||||
end end
|
end end
|
||||||
end--Field
|
end
|
||||||
|
|
||||||
|
--Draw boarder
|
||||||
if P.alive then
|
if P.alive then
|
||||||
gc.setLineWidth(2)
|
gc.setLineWidth(2)
|
||||||
gc.setColor(frameColor[P.strength])gc.rectangle("line",1,1,58,118)
|
gc.setColor(frameColor[P.strength])gc.rectangle("line",1,1,58,118)
|
||||||
end--Draw boarder
|
end
|
||||||
if modeEnv.royaleMode then
|
if modeEnv.royaleMode then
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
for i=1,P.strength do
|
for i=1,P.strength do
|
||||||
@@ -804,11 +814,11 @@ local function Pdraw_small(P)
|
|||||||
end
|
end
|
||||||
gc.pop()
|
gc.pop()
|
||||||
gc.setCanvas()
|
gc.setCanvas()
|
||||||
--draw content
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--draw Canvas
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
gc.draw(P.canvas,P.x,P.y,nil,P.size*10)
|
gc.draw(P.canvas,P.x,P.y,nil,P.size*10)
|
||||||
--draw Canvas
|
|
||||||
if P.killMark then
|
if P.killMark then
|
||||||
gc.setLineWidth(3)
|
gc.setLineWidth(3)
|
||||||
gc.setColor(1,0,0,min(P.endCounter,25)*.04)
|
gc.setColor(1,0,0,min(P.endCounter,25)*.04)
|
||||||
@@ -861,38 +871,43 @@ local function Pdraw_demo(P)
|
|||||||
drawFXs(P)
|
drawFXs(P)
|
||||||
|
|
||||||
if P.cur and P.waiting==-1 then
|
if P.cur and P.waiting==-1 then
|
||||||
|
--Draw ghost
|
||||||
gc.setColor(1,1,1,.3)
|
gc.setColor(1,1,1,.3)
|
||||||
for i=1,P.r do for j=1,P.c do
|
for i=1,P.r do for j=1,P.c do
|
||||||
if P.cur.bk[i][j]then
|
if P.cur.bk[i][j]then
|
||||||
drawPixel(i+P.y_img-1,j+P.curX-1,curColor)
|
drawPixel(i+P.y_img-1,j+P.curX-1,curColor)
|
||||||
end
|
end
|
||||||
end end
|
end end
|
||||||
--Ghost draw
|
|
||||||
|
--Draw block
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
for i=1,P.r do for j=1,P.c do
|
for i=1,P.r do for j=1,P.c do
|
||||||
if P.cur.bk[i][j]then
|
if P.cur.bk[i][j]then
|
||||||
drawPixel(i+P.curY-1,j+P.curX-1,curColor)
|
drawPixel(i+P.curY-1,j+P.curX-1,curColor)
|
||||||
end
|
end
|
||||||
end end--Block
|
end end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--Draw hold
|
||||||
|
local blockImg=TEXTURE.miniBlock
|
||||||
if P.hd then
|
if P.hd then
|
||||||
local id=P.hd.id
|
local id=P.hd.id
|
||||||
_=P.color[id]
|
_=P.color[id]
|
||||||
gc.setColor(_[1],_[2],_[3],.3)
|
gc.setColor(_[1],_[2],_[3],.3)
|
||||||
_=miniBlock[id]
|
_=blockImg[id]
|
||||||
gc.draw(_,15,30,nil,16,nil,0,_:getHeight()*.5)
|
gc.draw(_,15,30,nil,16,nil,0,_:getHeight()*.5)
|
||||||
end--Hold
|
end
|
||||||
|
|
||||||
|
--Draw next
|
||||||
local N=1
|
local N=1
|
||||||
while N<=P.gameEnv.next and P.next[N]do
|
while N<=P.gameEnv.next and P.next[N]do
|
||||||
local id=P.next[N].id
|
local id=P.next[N].id
|
||||||
_=P.color[id]
|
_=P.color[id]
|
||||||
gc.setColor(_[1],_[2],_[3],.3)
|
gc.setColor(_[1],_[2],_[3],.3)
|
||||||
_=miniBlock[id]
|
_=blockImg[id]
|
||||||
gc.draw(_,285,40*N-10,nil,16,nil,_:getWidth(),_:getHeight()*.5)
|
gc.draw(_,285,40*N-10,nil,16,nil,_:getWidth(),_:getHeight()*.5)
|
||||||
N=N+1
|
N=N+1
|
||||||
end--Next
|
end
|
||||||
|
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
gc.translate(-P.fieldOff.x,-P.fieldOff.y)
|
gc.translate(-P.fieldOff.x,-P.fieldOff.y)
|
||||||
@@ -1121,7 +1136,7 @@ function player.garbageRise(P,color,amount,pos)
|
|||||||
P.fieldBeneath=P.fieldBeneath+amount*30
|
P.fieldBeneath=P.fieldBeneath+amount*30
|
||||||
P.curY=P.curY+amount
|
P.curY=P.curY+amount
|
||||||
P.garbageBeneath=P.garbageBeneath+amount
|
P.garbageBeneath=P.garbageBeneath+amount
|
||||||
P:freshgho()
|
P.y_img=P.y_img+amount
|
||||||
for i=1,#P.clearingRow do
|
for i=1,#P.clearingRow do
|
||||||
P.clearingRow[i]=P.clearingRow[i]+amount
|
P.clearingRow[i]=P.clearingRow[i]+amount
|
||||||
end
|
end
|
||||||
@@ -1155,7 +1170,7 @@ function player.pushLine(P,L,mir)
|
|||||||
end
|
end
|
||||||
P.fieldBeneath=P.fieldBeneath+120
|
P.fieldBeneath=P.fieldBeneath+120
|
||||||
P.curY=P.curY+#L
|
P.curY=P.curY+#L
|
||||||
P:freshgho()
|
P.y_img=P.y_img+#L
|
||||||
end
|
end
|
||||||
function player.pushNext(P,L,mir)
|
function player.pushNext(P,L,mir)
|
||||||
for i=1,#L do
|
for i=1,#L do
|
||||||
@@ -1211,6 +1226,7 @@ function player.changeAtk(P,R)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
function player.freshgho(P)
|
function player.freshgho(P)
|
||||||
|
if not P.cur then return end
|
||||||
P.y_img=min(#P.field+1,P.curY)
|
P.y_img=min(#P.field+1,P.curY)
|
||||||
if P.gameEnv._20G or P.keyPressing[7]and P.gameEnv.sdarr==0 then
|
if P.gameEnv._20G or P.keyPressing[7]and P.gameEnv.sdarr==0 then
|
||||||
while not P:ifoverlap(P.cur.bk,P.curX,P.y_img-1)do
|
while not P:ifoverlap(P.cur.bk,P.curX,P.y_img-1)do
|
||||||
|
|||||||
@@ -1,27 +1,26 @@
|
|||||||
local gc=love.graphics
|
local gc=love.graphics
|
||||||
local N=gc.newImage
|
|
||||||
local int=math.floor
|
local int=math.floor
|
||||||
local function T(s,t)return gc.newText(setFont(s),t)end
|
|
||||||
local function C(x,y)
|
local function C(x,y)
|
||||||
local _=gc.newCanvas(x,y)
|
local _=gc.newCanvas(x,y)
|
||||||
gc.setCanvas(_)
|
gc.setCanvas(_)
|
||||||
return _
|
return _
|
||||||
end
|
end
|
||||||
local c
|
local c
|
||||||
|
local TEXTURE={}
|
||||||
|
|
||||||
gc.setDefaultFilter("nearest","nearest")
|
gc.setDefaultFilter("nearest","nearest")
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
local VKI=N("/image/virtualkey.png")
|
local VKI=gc.newImage("/image/virtualkey.png")
|
||||||
VKIcon={}
|
TEXTURE.VKIcon={}
|
||||||
for i=1,20 do
|
for i=1,20 do
|
||||||
VKIcon[i]=C(36,36)
|
TEXTURE.VKIcon[i]=C(36,36)
|
||||||
gc.draw(VKI,(i-1)%5*-36,int((i-1)*.2)*-36)
|
gc.draw(VKI,(i-1)%5*-36,int((i-1)*.2)*-36)
|
||||||
end
|
end
|
||||||
|
|
||||||
miniBlock={}
|
TEXTURE.miniBlock={}
|
||||||
for i=1,25 do
|
for i=1,25 do
|
||||||
local b=blocks[i][0]
|
local b=blocks[i][0]
|
||||||
miniBlock[i]=C(#b[1],#b)
|
TEXTURE.miniBlock[i]=C(#b[1],#b)
|
||||||
for y=1,#b do for x=1,#b[1]do
|
for y=1,#b do for x=1,#b[1]do
|
||||||
if b[y][x]then
|
if b[y][x]then
|
||||||
gc.rectangle("fill",x-1,#b-y,1,1)
|
gc.rectangle("fill",x-1,#b-y,1,1)
|
||||||
@@ -29,56 +28,12 @@ for i=1,25 do
|
|||||||
end end
|
end end
|
||||||
end
|
end
|
||||||
|
|
||||||
mapCross=C(40,40)
|
TEXTURE.mapCross=C(40,40)
|
||||||
gc.setColor(1,1,1)
|
gc.setColor(1,1,1)
|
||||||
gc.setLineWidth(4)
|
gc.setLineWidth(4)
|
||||||
gc.line(0,20,40,20)
|
gc.line(0,20,40,20)
|
||||||
gc.line(20,0,20,40)
|
gc.line(20,0,20,40)
|
||||||
|
|
||||||
gc.setDefaultFilter("linear","linear")
|
gc.setDefaultFilter("linear","linear")
|
||||||
|
gc.setCanvas()
|
||||||
drawableText={
|
return TEXTURE
|
||||||
question=T(100,"?"),
|
|
||||||
bpm=T(15,"BPM"),kpm=T(15,"KPM"),
|
|
||||||
speedLV=T(20,"speed level"),
|
|
||||||
atk=T(20,"Attack"),
|
|
||||||
eff=T(20,"Efficiency"),
|
|
||||||
tsd=T(35,"TSD"),
|
|
||||||
line=T(25,"Lines"),
|
|
||||||
techrash=T(25,"Techrash"),
|
|
||||||
grade=T(25,"Grade"),
|
|
||||||
wave=T(30,"Wave"),
|
|
||||||
rpm=T(35,"RPM"),
|
|
||||||
nextWave=T(30,"Next"),
|
|
||||||
combo=T(20,"Combo"),
|
|
||||||
mxcmb=T(20,"Max Combo"),
|
|
||||||
pc=T(20,"Perfect Clear"),
|
|
||||||
ko=T(25,"KO"),
|
|
||||||
D=T(100,"D"),
|
|
||||||
C=T(100,"C"),
|
|
||||||
B=T(100,"B"),
|
|
||||||
A=T(100,"A"),
|
|
||||||
S=T(100,"S"),
|
|
||||||
|
|
||||||
|
|
||||||
modeName=T(30),levelName=T(30),
|
|
||||||
|
|
||||||
|
|
||||||
anykey=T(40),
|
|
||||||
next=T(40),hold=T(40),
|
|
||||||
win=T(120),finish=T(120),
|
|
||||||
lose=T(120),pause=T(120),
|
|
||||||
|
|
||||||
custom=T(80),sequence=T(80),
|
|
||||||
setting_game=T(80),setting_video=T(80),setting_sound=T(80),
|
|
||||||
setting_control=T(70),setting_skin=T(70),
|
|
||||||
preview=T(40),
|
|
||||||
keyboard=T(25),joystick=T(25),
|
|
||||||
ctrlSetHelp=T(30),
|
|
||||||
musicRoom=T(80),
|
|
||||||
nowPlaying=T(50),
|
|
||||||
VKTchW=T(30),VKOrgW=T(30),VKCurW=T(30),
|
|
||||||
noScore=T(45),
|
|
||||||
highScore=T(30),
|
|
||||||
}
|
|
||||||
gc.setCanvas()
|
|
||||||
@@ -69,12 +69,18 @@ Future outlook:
|
|||||||
more graphic FXs & 3D features & animations
|
more graphic FXs & 3D features & animations
|
||||||
network game
|
network game
|
||||||
new AI: task-Z
|
new AI: task-Z
|
||||||
|
0.9.2: Bug Fixed
|
||||||
0.9.1: next piece SFX
|
|
||||||
new:
|
new:
|
||||||
next piece spawn SFX
|
debug page
|
||||||
code:
|
change:
|
||||||
render background to canvas first, not redering each frame
|
three little better backgrounds instead of stupid rainbow
|
||||||
|
little change of in-game layout
|
||||||
|
fixed:
|
||||||
|
error in infinite-dig
|
||||||
|
|
||||||
|
0.9.1: Piece Spawn SFX
|
||||||
|
new:
|
||||||
|
piece spawn SFX
|
||||||
fixed:
|
fixed:
|
||||||
error when moving [nothing] when arr>0
|
error when moving [nothing] when arr>0
|
||||||
error when complete master-advanced
|
error when complete master-advanced
|
||||||
|
|||||||
Reference in New Issue
Block a user