Compare commits
11 Commits
pre0.16.4-
...
v0.16.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
86edeb1e0c | ||
|
|
53b1852f28 | ||
|
|
e3c385693b | ||
|
|
572c0fbfa1 | ||
|
|
bbdf71167a | ||
|
|
2136ccd9a2 | ||
|
|
2131aea575 | ||
|
|
32b21c7d29 | ||
|
|
8f6f6f316f | ||
|
|
66f9ac2791 | ||
|
|
ac0ba90438 |
20
.github/workflows/release.yml
vendored
20
.github/workflows/release.yml
vendored
@@ -14,6 +14,7 @@ jobs:
|
||||
code: ${{ steps.actual-get-info.outputs.code }}
|
||||
release: ${{ steps.actual-get-info.outputs.release }}
|
||||
updateTitle: ${{ steps.actual-get-info.outputs.updateTitle }}
|
||||
updateNote: ${{ steps.actual-get-info.outputs.updateNote }}
|
||||
commit: ${{ steps.actual-get-info.outputs.commit }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@@ -23,11 +24,16 @@ jobs:
|
||||
- name: Get Version
|
||||
id: actual-get-info
|
||||
run: |
|
||||
UPDATE_NOTE=$(lua .github/workflows/getVersion.lua -updateNote)
|
||||
UPDATE_NOTE="${UPDATE_NOTE//'%'/'%25'}"
|
||||
UPDATE_NOTE="${UPDATE_NOTE//$'\n'/'%0A'}"
|
||||
UPDATE_NOTE="${UPDATE_NOTE//$'\r'/'%0D'}"
|
||||
echo "::set-output name=name::$(lua .github/workflows/getVersion.lua -name)"
|
||||
echo "::set-output name=apkCode::$(lua .github/workflows/getVersion.lua -apkCode)"
|
||||
echo "::set-output name=code::$(lua .github/workflows/getVersion.lua -code)"
|
||||
echo "::set-output name=release::$(lua .github/workflows/getVersion.lua -release)"
|
||||
echo "::set-output name=updateTitle::$(lua .github/workflows/getVersion.lua -updateTitle)"
|
||||
echo "::set-output name=updateNote::$UPDATE_NOTE"
|
||||
echo "::set-output name=commit::$(git rev-parse --short ${{ GITHUB.SHA }})"
|
||||
|
||||
build-windows-x64:
|
||||
@@ -160,7 +166,7 @@ jobs:
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ needs.get-info.outputs.updateTitle }}
|
||||
files: Techmino.a${{ needs.get-info.outputs.release }}.macOS.zip
|
||||
files: Techmino.a${{ needs.get-info.outputs.release }}.macOS.dmg
|
||||
|
||||
build-iOS:
|
||||
runs-on: macos-latest
|
||||
@@ -176,7 +182,7 @@ jobs:
|
||||
APPLE_API_ISSUER: '${{ secrets.APPLE_API_ISSUER }}'
|
||||
APPLE_API_KEY: '${{ secrets.APPLE_API_KEY }}'
|
||||
APPLE_APP_BUILD: '${{ needs.get-info.outputs.code }}.0.${{ github.run_number }}.${{ github.run_attempt }}'
|
||||
APPLE_APP_CHANGELOG: '${{ github.event.commits[0].message }}'
|
||||
APPLE_APP_CHANGELOG: '${{ needs.get-info.outputs.updateNote }}'
|
||||
APPLE_APP_ID: '${{ secrets.APPLE_APP_ID }}'
|
||||
APPLE_APP_IDENTIFIER: '${{ secrets.APPLE_APP_IDENTIFIER }}'
|
||||
APPLE_APP_PROFILE: '${{ secrets.APPLE_APP_PROFILE }}'
|
||||
@@ -216,16 +222,8 @@ jobs:
|
||||
needs: get-info
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install lua
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get upgrade -y
|
||||
sudo apt-get install lua5.3 -y
|
||||
- name: Get ReleaseNote
|
||||
run: |
|
||||
lua .github/workflows/getVersion.lua -updateNote > updateNote.txt
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
name: ${{ needs.get-info.outputs.updateTitle }}
|
||||
body_path: updateNote.txt
|
||||
body: ${{ needs.get-info.outputs.updateNote }}
|
||||
|
||||
@@ -61,7 +61,7 @@ function back.draw()
|
||||
gc.setColor(wingColor[i])
|
||||
local B=crystals[i]
|
||||
gc.draw(crystal_img,B.x,B.y,B.a,k,k,21,0)
|
||||
B=crystals[17-i]
|
||||
B=crystals[8+i]
|
||||
gc.draw(crystal_img,B.x,B.y,B.a,-k,k,21,0)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5,6 +5,7 @@ return{
|
||||
setFont(60)
|
||||
mStr(P.stat.row,63,280)
|
||||
mText(TEXTOBJ.line,63,350)
|
||||
PLY.draw.drawMarkLine(P,20,.3,1,1,TIME()%.42<.21 and .95 or .6)
|
||||
end,
|
||||
dropPiece=function(P)
|
||||
if #P.field>20 then
|
||||
|
||||
@@ -5,6 +5,7 @@ return{
|
||||
setFont(60)
|
||||
mStr(P.stat.row,63,280)
|
||||
mText(TEXTOBJ.line,63,350)
|
||||
PLY.draw.drawMarkLine(P,18,.3,1,1,TIME()%.42<.21 and .95 or .6)
|
||||
end,
|
||||
dropPiece=function(P)
|
||||
if #P.field>20 then
|
||||
|
||||
@@ -5,6 +5,7 @@ return{
|
||||
setFont(60)
|
||||
mStr(P.stat.row,63,280)
|
||||
mText(TEXTOBJ.line,63,350)
|
||||
PLY.draw.drawMarkLine(P,17,.3,1,1,TIME()%.42<.21 and .95 or .6)
|
||||
end,
|
||||
dropPiece=function(P)
|
||||
if #P.field>20 then
|
||||
|
||||
@@ -1066,7 +1066,7 @@ return{
|
||||
{"Furea",
|
||||
"furea fuleiya jk",
|
||||
"name",
|
||||
"(ふれあ)\n\nOne of the top players.\nWorld record holder of Puyo Puyo Tetris's Sprint mode and Ultra mode.",
|
||||
"(ふれあ)\n\nOne of the top players.\nWorld record holder of Puyo Puyo Tetris's Ultra mode.",
|
||||
},
|
||||
{"Iljain",
|
||||
"iljain yijianlian",
|
||||
@@ -1193,7 +1193,7 @@ return{
|
||||
{"他天一",
|
||||
"tty tatianyi hydrofierus",
|
||||
"name",
|
||||
"(Tā Tiān Yī)\n\nTetris Research community member.\nPersonal bests: Sprint 22.72 seconds, U rank on Tetr.io.\nOne of the top players of Tetris in China.",
|
||||
"(Tā Tiān Yī)\n\nTetris Research community member.\nPersonal bests: Sprint 21.908 seconds, U rank on Tetr.io.\nOne of the top players of Tetris in China.",
|
||||
"https://space.bilibili.com/3895759",
|
||||
},
|
||||
{"Mars608",
|
||||
@@ -1205,7 +1205,7 @@ return{
|
||||
{"Mifu",
|
||||
"mifu swl nanmaomao",
|
||||
"name",
|
||||
"Originally known as swl.\nPersonal bests: Sprint 32 seconds, Tetris Research community member.\nMiya's Tetris coach. Miya made an animated character art for him called Mifu, meaning \"Miya's Shifu\".",
|
||||
"Originally known as swl.\nPersonal bests: Sprint 28.445 seconds, Tetris Research community member.\nMiya's Tetris coach. Miya made an animated character art for him called Mifu, meaning \"Miya's Shifu\".",
|
||||
"https://space.bilibili.com/109356367",
|
||||
},
|
||||
{"ZXC",
|
||||
@@ -1247,7 +1247,7 @@ return{
|
||||
{"琳雨空",
|
||||
"linyukong",
|
||||
"name",
|
||||
"(Lín Yǔ Kong)\n\nTetris Research community member.\nSprint 38.3 seconds, S Rank in pentomino mode and Blind-WTF (world No.1)",
|
||||
"(Lín Yǔ Kong)\n\nTetris Research community member.\nSprint 38.3 seconds, Highest Rank in pentomino mode and Blind-WTF (world No.1)",
|
||||
"https://space.bilibili.com/263909369",
|
||||
},
|
||||
{"子心Koishi",
|
||||
|
||||
@@ -1101,12 +1101,12 @@ return{
|
||||
{"Furea",
|
||||
"furea fuleiya jk",
|
||||
"name",
|
||||
"一流玩家,PPT的40L和Ultra的WR保持者。",
|
||||
"一流玩家,PPT的Ultra的WR保持者。",
|
||||
},
|
||||
{"Iljain",
|
||||
"iljain yijianlian",
|
||||
"name",
|
||||
"一流玩家,得过C2 Rank1,",
|
||||
"一流玩家,得过C2 Rank1。",
|
||||
},
|
||||
{"Jonas",
|
||||
"jonas",
|
||||
@@ -1225,7 +1225,7 @@ return{
|
||||
{"他天一",
|
||||
"他天一 tty tatianyi hydrofierus t512",
|
||||
"name",
|
||||
"【研究群】「T512」\n其他名称:Hydrofierus\n40L 22.72s,io段位X\nC2/SRS对战水平国内一流\n常用定式:tki 开局pc",
|
||||
"【研究群】「T512」\n其他名称:Hydrofierus\n40L 21.908s,io段位X\nC2/SRS对战水平国内一流\n常用定式:tki 开局pc",
|
||||
"https://space.bilibili.com/3895759",
|
||||
},
|
||||
{"Mars608",
|
||||
@@ -1237,7 +1237,7 @@ return{
|
||||
{"Mifu",
|
||||
"mifu swl nanmaomao t616",
|
||||
"name",
|
||||
"【研究群】「T616」\n40L 32s\nvup,miya的哥哥",
|
||||
"【研究群】「T616」\n40L 28.445s\nvup,miya的哥哥",
|
||||
"https://space.bilibili.com/109356367",
|
||||
},
|
||||
{"ZXC",
|
||||
@@ -1285,7 +1285,7 @@ return{
|
||||
{"琳雨空",
|
||||
"琳雨空 linyukong t1505",
|
||||
"name",
|
||||
"【研究群】「T1505」\n40L 38.3s,五连块S,黑屏隐形S(世界首位)",
|
||||
"【研究群】「T1505」\n40L 38.3s,五连块最高评级,黑屏隐形最高评级(世界首位)",
|
||||
"https://space.bilibili.com/263909369",
|
||||
},
|
||||
{"子心",
|
||||
|
||||
@@ -47,7 +47,7 @@ return{
|
||||
PLY.newPlayer(1)
|
||||
local P1=PLAYERS[1]
|
||||
for _=1,8 do
|
||||
P1:garbageRise(13,1,generateLine(P1.holeRND:random(10)))
|
||||
P1:garbageRise(13,1,P1:getHolePos())
|
||||
end
|
||||
P1.fieldBeneath=0
|
||||
end,
|
||||
|
||||
@@ -627,20 +627,29 @@ local function _drawStartCounter(time)
|
||||
time=179-time
|
||||
gc_push('transform')
|
||||
gc_translate(300,300)
|
||||
local r,g,b
|
||||
local num=int(time/60)+1
|
||||
local d=time%60
|
||||
if num==3 then
|
||||
gc_setColor(.7,.8,.98)
|
||||
r,g,b=.7,.8,.98
|
||||
if d>45 then gc_rotate((d-45)^2*.00355)end
|
||||
elseif num==2 then
|
||||
gc_setColor(.98,.85,.75)
|
||||
r,g,b=.98,.85,.75
|
||||
if d>45 then gc_scale(1+(d/15-3)^2,1)end
|
||||
elseif num==1 then
|
||||
gc_setColor(1,.7,.7)
|
||||
r,g,b=1,.7,.7
|
||||
if d>45 then gc_scale(1,1+(d/15-3)^2)end
|
||||
end
|
||||
if d<20 then gc_scale((d/20)^.4)end
|
||||
setFont(100)
|
||||
|
||||
gc_setColor(r,g,b,d/60)
|
||||
gc_push('transform')
|
||||
gc_scale((1.5-d/60*.6)^1.5)
|
||||
mStr(num,0,-70)
|
||||
gc_pop()
|
||||
|
||||
gc_setColor(r,g,b)
|
||||
gc_scale(min(d/20,1)^.4)
|
||||
mStr(num,0,-70)
|
||||
gc_pop()
|
||||
end
|
||||
@@ -649,16 +658,26 @@ local draw={}
|
||||
draw.drawGhost=drawGhost
|
||||
draw.applyField=_applyField
|
||||
draw.cancelField=_cancelField
|
||||
function draw.drawTargetLine(P,r)
|
||||
if r<=20+(P.fieldBeneath+P.fieldUp+10)/30 and r>0 then
|
||||
function draw.drawTargetLine(P,h)
|
||||
if h<=20+(P.fieldBeneath+P.fieldUp+10)/30 and h>0 then
|
||||
gc_setLineWidth(3)
|
||||
gc_setColor(1,r>10 and 0 or .2+.8*rnd(),.5)
|
||||
gc_setColor(1,h>10 and 0 or .2+.8*rnd(),.5)
|
||||
_applyField(P)
|
||||
r=600-30*r
|
||||
h=600-30*h
|
||||
if P.falling~=-1 then
|
||||
r=r-#P.clearingRow*(P.gameEnv.smooth and(P.falling/(P.gameEnv.fall+1))^1.6*30 or 30)
|
||||
h=h-#P.clearingRow*(P.gameEnv.smooth and(P.falling/(P.gameEnv.fall+1))^1.6*30 or 30)
|
||||
end
|
||||
gc_line(0,r,300,r)
|
||||
gc_line(0,h,300,h)
|
||||
_cancelField()
|
||||
end
|
||||
end
|
||||
function draw.drawMarkLine(P,h,r,g,b,a)
|
||||
if h<=20+(P.fieldBeneath+P.fieldUp+10)/30 and h>0 then
|
||||
gc_setLineWidth(4)
|
||||
gc_setColor(r,g,b,a)
|
||||
_applyField(P)
|
||||
h=600-30*h
|
||||
gc_line(0,h,300,h)
|
||||
_cancelField()
|
||||
end
|
||||
end
|
||||
|
||||
@@ -152,8 +152,8 @@ end
|
||||
|
||||
scene.widgetList={
|
||||
listBox,
|
||||
WIDGET.newButton{name='export',x=200,y=640,w=70,color='lG',code=pressKey"cC",font=50,fText=CHAR.icon.export},
|
||||
WIDGET.newButton{name='import',x=300,y=640,w=70,color='lN',code=pressKey"cV",font=50,fText=CHAR.icon.import},
|
||||
WIDGET.newButton{name='export',x=180,y=640,w=140,h=80,color='lG',code=pressKey"cC",font=50,fText=CHAR.icon.export},
|
||||
WIDGET.newButton{name='import',x=350,y=640,w=140,h=80,color='lN',code=pressKey"cV",font=50,fText=CHAR.icon.import},
|
||||
WIDGET.newButton{name='play', x=700,y=640,w=170,h=80,color='lY',code=pressKey"return",font=65,fText=CHAR.icon.play},
|
||||
WIDGET.newButton{name='delete',x=850,y=640,w=80,h=80,color='lR',code=pressKey"delete",font=50,fText=CHAR.icon.trash},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,fText=CHAR.icon.back,code=backScene},
|
||||
|
||||
@@ -5,10 +5,15 @@ local sin=math.sin
|
||||
local selRS
|
||||
local minoRot={0,0,0,0,0,0,0}
|
||||
local minoRot0={}
|
||||
local selEggMode
|
||||
|
||||
local playEgg=WIDGET.newButton{name='playEgg', x=1140,y=540,w=140,h=65,color='lP',font=60,fText=CHAR.icon.rankZ,code=function()loadGame(selEggMode,true)end}
|
||||
|
||||
local scene={}
|
||||
|
||||
function scene.sceneInit()
|
||||
selEggMode=false
|
||||
scene.widgetList.playEgg.hide=true
|
||||
BG.set()
|
||||
selRS=RSlist[SETTING.RS]
|
||||
for i=1,7 do
|
||||
@@ -59,14 +64,18 @@ end
|
||||
local function _nextDir(i)
|
||||
SETTING.face[i]=(SETTING.face[i]+1)%4
|
||||
minoRot0[i]=minoRot0[i]+1.5707963
|
||||
if not GAME.playing then
|
||||
if not selEggMode and not GAME.playing then
|
||||
if minoRot0[5]>62 then
|
||||
loadGame('marathon_bfmax',true)
|
||||
selEggMode='marathon_bfmax'
|
||||
playEgg.color=COLOR.dR
|
||||
elseif minoRot0[6]>62 then
|
||||
loadGame('techrash_n',true)
|
||||
selEggMode='techrash_n'
|
||||
playEgg.color=COLOR.lP
|
||||
elseif minoRot0[7]>62 then
|
||||
loadGame('techrash_u',true)
|
||||
selEggMode='techrash_u'
|
||||
playEgg.color=COLOR.lY
|
||||
end
|
||||
playEgg.hide=not selEggMode
|
||||
end
|
||||
SFX.play('rotate')
|
||||
end
|
||||
@@ -115,6 +124,7 @@ scene.widgetList={
|
||||
SFX.play('hold')
|
||||
end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,fText=CHAR.icon.back,code=backScene},
|
||||
playEgg,
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -24,24 +24,25 @@ return[=[
|
||||
修改堆叠模式玩法(自动清除之前记录)
|
||||
添加消7~20和20+的消除文本与消除音效
|
||||
改动:
|
||||
修改TRS的JL踢墙表的0-R和R-0最后几项(可能会导致部分录像无法正常播放)
|
||||
暂时取消导入存档的版本限制(过早存档请不要导入!只能保证近两三个版本一定能用)
|
||||
修改TRS的JL踢墙表的0-R和R-0最后几项和R/Y块的踢墙表(会导致部分录像无法正常播放)
|
||||
移除组合键切换攻击模式功能,固定为单点切换
|
||||
iOS设备支持三档振动(原来只有一档)
|
||||
微调TRS的R/Y块踢墙表
|
||||
调整模式地图右下角区域
|
||||
移除极简评级的颜色
|
||||
添加legals页面
|
||||
应用更多定制字体
|
||||
微调倒计时动画
|
||||
修改wing背景
|
||||
计算器可以弹琴了
|
||||
词典添加一些词条
|
||||
控制台可以查看日志
|
||||
暂时取消导入存档的版本限制(过早存档请不要导入!只能保证近两三个版本一定能用)
|
||||
控制台可以查看运行日志
|
||||
微调部分彩蛋模式进入方法
|
||||
代码:
|
||||
SFX模块大升级,支持播放乐器采样
|
||||
整理大量代码
|
||||
修复:
|
||||
iOS上概率卡掉第一个触摸导致不能玩
|
||||
无尽挖掘开局垃圾行可能会在同一列
|
||||
生成AI玩家时没刷新20G开关
|
||||
小程序uttt和calc的问题
|
||||
"就这"语言的词典是英文
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
return{
|
||||
["apkCode"]=391,
|
||||
["apkCode"]=392,
|
||||
["code"]=1604,
|
||||
["string"]="V0.16.4",
|
||||
["room"]="ver A-0",
|
||||
|
||||
Reference in New Issue
Block a user