注释后加空格

联网稍微推进
This commit is contained in:
MrZ_26
2022-10-03 02:43:51 +08:00
parent 06f4bb4e1a
commit f8d17b23b6
121 changed files with 1628 additions and 1622 deletions

View File

@@ -1,43 +1,43 @@
local defaultCenterTex=GC.DO{1,1}--No texture
local defaultCenterPos={--For SRS-like RSs
--Tetromino
{[0]={0,1},{1,0},{1,1},{1,1}},--Z
{[0]={0,1},{1,0},{1,1},{1,1}},--S
{[0]={0,1},{1,0},{1,1},{1,1}},--J
{[0]={0,1},{1,0},{1,1},{1,1}},--L
{[0]={0,1},{1,0},{1,1},{1,1}},--T
{[0]={.5,.5},{.5,.5},{.5,.5},{.5,.5}},--O
{[0]={-.5,1.5},{1.5,-.5},{.5,1.5},{1.5,.5}},--I
local defaultCenterTex=GC.DO{1,1}-- No texture
local defaultCenterPos={-- For SRS-like RSs
-- Tetromino
{[0]={0,1},{1,0},{1,1},{1,1}},-- Z
{[0]={0,1},{1,0},{1,1},{1,1}},-- S
{[0]={0,1},{1,0},{1,1},{1,1}},-- J
{[0]={0,1},{1,0},{1,1},{1,1}},-- L
{[0]={0,1},{1,0},{1,1},{1,1}},-- T
{[0]={.5,.5},{.5,.5},{.5,.5},{.5,.5}},-- O
{[0]={-.5,1.5},{1.5,-.5},{.5,1.5},{1.5,.5}},-- I
--Pentomino
{[0]={1,1},{1,1},{1,1},{1,1}},--Z5
{[0]={1,1},{1,1},{1,1},{1,1}},--S5
{[0]={0,1},{1,0},{1,1},{1,1}},--P
{[0]={0,1},{1,0},{1,1},{1,1}},--Q
{[0]={1,1},{1,1},{1,1},{1,1}},--F
{[0]={1,1},{1,1},{1,1},{1,1}},--E
{[0]={1,1},{1,1},{1,1},{1,1}},--T5
{[0]={0,1},{1,0},{1,1},{1,1}},--U
{[0]={.5,1.5},{.5,.5},{1.5,.5},{1.5,1.5}},--V
{[0]={1,1},{1,1},{1,1},{1,1}},--W
{[0]={1,1},{1,1},{1,1},{1,1}},--X
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},--J5
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},--L5
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},--R
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},--Y
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},--N
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},--H
{[0]={0,2},{2,0},{0,2},{2,0}},--I5
-- Pentomino
{[0]={1,1},{1,1},{1,1},{1,1}},-- Z5
{[0]={1,1},{1,1},{1,1},{1,1}},-- S5
{[0]={0,1},{1,0},{1,1},{1,1}},-- P
{[0]={0,1},{1,0},{1,1},{1,1}},-- Q
{[0]={1,1},{1,1},{1,1},{1,1}},-- F
{[0]={1,1},{1,1},{1,1},{1,1}},-- E
{[0]={1,1},{1,1},{1,1},{1,1}},-- T5
{[0]={0,1},{1,0},{1,1},{1,1}},-- U
{[0]={.5,1.5},{.5,.5},{1.5,.5},{1.5,1.5}},-- V
{[0]={1,1},{1,1},{1,1},{1,1}},-- W
{[0]={1,1},{1,1},{1,1},{1,1}},-- X
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},-- J5
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},-- L5
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},-- R
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},-- Y
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},-- N
{[0]={.5,1.5},{1.5,.5},{.5,1.5},{1.5,.5}},-- H
{[0]={0,2},{2,0},{0,2},{2,0}},-- I5
--Trimino
{[0]={0,1},{1,0},{0,1},{1,0}},--I3
{[0]={.5,.5},{.5,.5},{.5,.5},{.5,.5}},--C
-- Trimino
{[0]={0,1},{1,0},{0,1},{1,0}},-- I3
{[0]={.5,.5},{.5,.5},{.5,.5},{.5,.5}},-- C
--Domino
{[0]={-.5,.5},{.5,-.5},{.5,.5},{.5,.5}},--I2
-- Domino
{[0]={-.5,.5},{.5,-.5},{.5,.5},{.5,.5}},-- I2
--Dot
{[0]={0,0},{0,0},{0,0},{0,0}},--O1
-- Dot
{[0]={0,0},{0,0},{0,0},{0,0}},-- O1
}
local noKickSet,noKickSet_180 do
@@ -52,14 +52,14 @@ local function _strToVec(list)
return list
end
--Use this if the block is centrosymmetry, *PTR!!!
-- Use this if the block is centrosymmetry, *PTR!!!
local function _centroSymSet(L)
L[23]=L[01]L[32]=L[10]
L[21]=L[03]L[12]=L[30]
L[20]=L[02]L[31]=L[13]
end
--Use this to copy a symmetry set
-- Use this to copy a symmetry set
local function _flipList(O)
if not O then
return
@@ -91,21 +91,21 @@ end
local TRS
do
local OspinList={
{111,5,2, 0,-1,0},{111,5,2,-1,-1,0},{111,5,0,-1, 0,0},--T
{333,5,2,-1,-1,0},{333,5,2, 0,-1,0},{333,5,0, 0, 0,0},--T
{313,1,2,-1, 0,0},{313,1,2, 0,-1,0},{313,1,2, 0, 0,0},--Z
{131,2,2, 0, 0,0},{131,2,2,-1,-1,0},{131,2,2,-1, 0,0},--S
{131,1,2,-1, 0,0},{131,1,2, 0,-1,0},{131,1,2, 0, 0,0},--Z(misOrder)
{313,2,2, 0, 0,0},{313,2,2,-1,-1,0},{313,2,2,-1, 0,0},--S(misOrder)
{331,3,2, 0,-1,0},--J(farDown)
{113,4,2,-1,-1,0},--L(farDown)
{113,3,2,-1,-1,0},{113,3,0, 0, 0,0},--J
{331,4,2, 0,-1,0},{331,4,0,-1, 0,0},--L
{222,7,0,-1, 1,1},{222,7,0,-2, 1,1},{222,7,0, 0, 1,1},--I(high)
{222,7,2,-1, 0,2},{222,7,2,-2, 0,2},{222,7,2, 0, 0,2},--I(low)
{121,6,0, 1,-1,2},{112,6,0, 2,-1,2},{122,6,0, 1,-2,2},--O
{323,6,0,-1,-1,2},{332,6,0,-2,-1,2},{322,6,0,-1,-2,2},--O
}--{keys, ID, dir, dx, dy, freeLevel (0=immovable, 1=U/D-immovable, 2=free)}
{111,5,2, 0,-1,0},{111,5,2,-1,-1,0},{111,5,0,-1, 0,0},-- T
{333,5,2,-1,-1,0},{333,5,2, 0,-1,0},{333,5,0, 0, 0,0},-- T
{313,1,2,-1, 0,0},{313,1,2, 0,-1,0},{313,1,2, 0, 0,0},-- Z
{131,2,2, 0, 0,0},{131,2,2,-1,-1,0},{131,2,2,-1, 0,0},-- S
{131,1,2,-1, 0,0},{131,1,2, 0,-1,0},{131,1,2, 0, 0,0},-- Z(misOrder)
{313,2,2, 0, 0,0},{313,2,2,-1,-1,0},{313,2,2,-1, 0,0},-- S(misOrder)
{331,3,2, 0,-1,0},-- J(farDown)
{113,4,2,-1,-1,0},-- L(farDown)
{113,3,2,-1,-1,0},{113,3,0, 0, 0,0},-- J
{331,4,2, 0,-1,0},{331,4,0,-1, 0,0},-- L
{222,7,0,-1, 1,1},{222,7,0,-2, 1,1},{222,7,0, 0, 1,1},-- I(high)
{222,7,2,-1, 0,2},{222,7,2,-2, 0,2},{222,7,2, 0, 0,2},-- I(low)
{121,6,0, 1,-1,2},{112,6,0, 2,-1,2},{122,6,0, 1,-2,2},-- O
{323,6,0,-1,-1,2},{332,6,0,-2,-1,2},{322,6,0,-1,-2,2},-- O
}-- {keys, ID, dir, dx, dy, freeLevel (0=immovable, 1=U/D-immovable, 2=free)}
local XspinList={
{{ 1,-1},{ 1, 0},{ 1, 1},{ 1,-2},{ 1, 2}},
{{ 0,-1},{ 0,-2},{ 0, 1},{ 0,-2},{ 0, 2}},
@@ -137,8 +137,8 @@ do
[20]={'+0+0','-1+0','+1+0','+0+1','+0-1'},
[13]={'+0+0','+0-1','+0+1','+0-2'},
[31]={'+0+0','+0+1','+0-1','+0+2'},
},--Z
false,--S
},-- Z
false,-- S
{
[01]={'+0+0','-1+0','-1+1','+0-2','+1+1','+0+1','+0-1'},
[10]={'+0+0','+1+0','+1-1','+0+2','-1-1','+0-1','+0+1'},
@@ -152,8 +152,8 @@ do
[20]={'+0+0','+1+0','-1+0','+0+1','+0-1'},
[13]={'+0+0','+0-1','+0+1','+1+0'},
[31]={'+0+0','+0+1','+0-1','-1+0'},
},--J
false,--L
},-- J
false,-- L
{
[01]={'+0+0','-1+0','-1+1','+0-2','-1-2','+0+1'},
[10]={'+0+0','+1+0','+1-1','+0+2','+1+2','+0+1','+0-1'},
@@ -167,7 +167,7 @@ do
[20]={'+0+0','+1+0','-1+0','+0-1'},
[13]={'+0+0','+0-1','+0+1','+1+0','+0-2','+0+2'},
[31]={'+0+0','+0-1','+0+1','-1+0','+0-2','+0+2'},
},--T
},-- T
function(P,d)
if P.gameEnv.easyFresh then
P:freshBlock('fresh')
@@ -220,7 +220,7 @@ do
SFX.play('rotate',nil,P:getCenterX()*.15)
end
end
end,--O
end,-- O
{
[01]={'+0+0','+0+1','+1+0','-2+0','-2-1','+1+2'},
[10]={'+0+0','+2+0','-1+0','-1-2','+2+1','+0+1'},
@@ -234,14 +234,14 @@ do
[20]={'+0+0','+1+0','-1+0','+0+1','+0-1'},
[13]={'+0+0','+0-1','-1+0','+1+0','+0+1'},
[31]={'+0+0','+0-1','+1+0','-1+0','+0+1'},
},--I
},-- I
{
[01]={'+0+0','+0+1','+1+1','-1+0','+0-3','+0+2','+0-2','+0+3','-1+2'},
[10]={'+0+0','+0-1','-1-1','+1+0','+0-3','+0+2','+0-2','+0+3','+1-2'},
[03]={'+0+0','+1+0','+0-3','+0-1','+0+1','+0-2','+0+2','+0+3','+1+2'},
[30]={'+0+0','-1+0','+0-1','+0+1','+0-2','+0-3','+0+2','+0+3','-1-2'},
},--Z5
false,--S5
},-- Z5
false,-- S5
{
[01]={'+0+0','-1+0','-1+1','+0-2','-1-2','-1-1','+0+1'},
[10]={'+0+0','+1+0','+1-1','+0+2','+1+2','+0-1','+1+1'},
@@ -255,8 +255,8 @@ do
[20]={'+0+0','+1+0','+0+1','+0-1'},
[13]={'+0+0','+1+0','+0+1','-1+0'},
[31]={'+0+0','-1+0','+0-1','+1+0'},
},--P
false,--Q
},-- P
false,-- Q
{
[01]={'+0+0','-1+0','+1+0','-1+1','+0-2','+0-3'},
[10]={'+0+0','+1+0','+1-1','-1+0','+0+2','+0+3'},
@@ -270,8 +270,8 @@ do
[20]={'+0+0','-1+0','+1+0','+1+1'},
[13]={'+0+0','+0-1','-1+1','+0+1'},
[31]={'+0+0','+0-1','+1-1','+0+1'},
},--F
false,--E
},-- F
false,-- E
{
[01]={'+0+0','+0-1','-1-1','+1+0','+1+1','+0-3','-1+0','+0+2','-1+2'},
[10]={'+0+0','+1+0','+0-1','-1-1','+0-2','-1+1','+0-3','+1-2','+0+1'},
@@ -285,7 +285,7 @@ do
[20]={'+0+0','+0-1','+0+1','+0-2'},
[13]={'+0+0','+1+0','-1+1','-2+0'},
[31]={'+0+0','-1+0','+1+1','+2+0'},
},--T5
},-- T5
{
[01]={'+0+0','-1+0','-1+1','+0-2','-1-2'},
[10]={'+0+0','+1+0','+1-1','+0+2','+1+2'},
@@ -299,7 +299,7 @@ do
[20]={'+0+0','+0-1'},
[13]={'+0+0','+0-1','+0+1','+1+0'},
[31]={'+0+0','+0-1','+0+1','-1+0'},
},--U
},-- U
{
[01]={'+0+0','+0+1','-1+0','+0-2','-1-2'},
[10]={'+0+0','+0+1','+1+0','+0-2','+1-2'},
@@ -313,7 +313,7 @@ do
[20]={'+0+0','+1-1','-1+1'},
[13]={'+0+0','+1+1','-1-1'},
[31]={'+0+0','-1-1','+1+1'},
},--V
},-- V
{
[01]={'+0+0','+0-1','-1+0','+1+0','+1-1','+0+2'},
[10]={'+0+0','+0-1','-1-1','+0+1','+0-2','+1-2','+0+2'},
@@ -327,7 +327,7 @@ do
[20]={'+0+0','+0+1','+1+0'},
[13]={'+0+0','+0+1','-1+0'},
[31]={'+0+0','+0-1','+1+0'},
},--W
},-- W
function(P,d)
if P.type=='human' then
SFX.play('rotate',nil,P:getCenterX()*.15)
@@ -344,7 +344,7 @@ do
end
end
P:freshBlock('fresh')
end,--X
end,-- X
{
[01]={'+0+0','-1+0','-1+1','+0-3','-1+1','-1+2','+0+1'},
[10]={'+0+0','-1+0','+1-1','+0+3','+1-1','+1-2','+0+1'},
@@ -358,8 +358,8 @@ do
[20]={'+0+0','+0+1','+1+1','-1+1','+1+0','-2+1'},
[13]={'+0+0','-1+0','-1-1','+0+1','-1-2'},
[31]={'+0+0','+1+0','+1+1','+0-1','+1+2'},
},--J5
false,--L5
},-- J5
false,-- L5
{
[01]={'+0+0','-1+0','-1+1','+1+0','-1+2','-1-1','+0-3','+0+1'},
[10]={'+0+0','-1+0','+1+0','+1-1','+1-2','+1+1','+0+3','+0+1'},
@@ -373,8 +373,8 @@ do
[20]={'+0+0','+0+1','-1+1','+1+0','-2+1','+0-1'},
[13]={'+0+0','-1+0','-1-1','+0+1','-1-2'},
[31]={'+0+0','+1+0','+1+1','+0-1','+1+2'},
},--R
false,--Y
},-- R
false,-- Y
{
[01]={'+0+0','-1+0','-1+1','+0+1','+1+0','+1+1','-1+2','-2+0','+0-2'},
[10]={'+0+0','+1+0','-1+0','+0-1','-1-1','+1-1','+1-2','+2+0','+0+2'},
@@ -388,20 +388,20 @@ do
[20]={'+0+0','+1+0','+0-2','+0+1'},
[13]={'+0+0','-1+0','-1-1','+0+1','+1+2'},
[31]={'+0+0','+1+0','+1+1','+0-1','-1-2'},
},--N
false,--H
},-- N
false,-- H
{
[01]={'+0+0','+1-1','+1+0','+1+1','+0+1','-1+1','-1+0','-1-1','+0-1','+0-2','-2-1','-2-2','+2+0','+2-1','+2-2','+1+2','+2+2','-1+2','-2+2'},
[10]={'+0+0','-1+0','-1-1','+0-1','+1-1','-2-2','-2-1','-2+0','-1-2','+0-2','+1-2','+2-2','-1+1','-2+1','-2+2','+1+0','+2+0','+2-1','+0+1','+1-1','+2-2'},
[03]={'+0+0','-1-1','-1+0','-1+1','+0+1','+1+1','+1+0','+1-1','+0-1','+0-2','+2-1','+2-2','-2+0','-2-1','-2-2','-1+2','-2+2','+1+2','+2+2'},
[30]={'+0+0','+1+0','+1-1','+0-1','-1-1','+2-2','+2-1','+2+0','+1-2','+0-2','-1-2','-2-2','+1+1','+2+1','+2+2','-1+0','-2+0','-2-1','+0+1','-1-1','-2-2'},
},--I5
},-- I5
{
[01]={'+0+0','-1+0','-1-1','+1+1','-1+1'},
[10]={'+0+0','-1+0','+1+0','-1-1','+1+1'},
[03]={'+0+0','+1+0','+1-1','-1+1','+1+1'},
[30]={'+0+0','+1+0','-1+0','+1-1','-1+1'},
},--I3
},-- I3
{
[01]={'+0+0','-1+0','+1+0'},
[10]={'+0+0','+1+0','-1+0'},
@@ -415,7 +415,7 @@ do
[20]={'+0+0','+0+1','-1+1','+1+1'},
[13]={'+0+0','+0-1','-1-1','+1-1'},
[31]={'+0+0','+0+1','+1+1','-1+1'},
},--C
},-- C
{
[01]={'+0+0','-1+0','+0+1'},
[10]={'+0+0','+1+0','+0+1'},
@@ -429,22 +429,22 @@ do
[20]={'+0+0','+0+1','+0-1'},
[13]={'+0+0','-1+0','+1+0'},
[31]={'+0+0','+1+0','-1+0'},
},--I2
nil,--O1
},-- I2
nil,-- O1
}
}
TRS.centerDisp[6]=false
TRS.centerDisp[18]=false
TRS.kickTable[2]= _reflect(TRS.kickTable[1])--SZ
TRS.kickTable[4]= _reflect(TRS.kickTable[3])--LJ
TRS.kickTable[9]= _reflect(TRS.kickTable[8])--S5Z5
TRS.kickTable[11]=_reflect(TRS.kickTable[10])--PQ
TRS.kickTable[13]=_reflect(TRS.kickTable[12])--FE
TRS.kickTable[20]=_reflect(TRS.kickTable[19])--L5J5
TRS.kickTable[22]=_reflect(TRS.kickTable[21])--RY
TRS.kickTable[24]=_reflect(TRS.kickTable[23])--NH
_centroSymSet(TRS.kickTable[8])_centroSymSet(TRS.kickTable[9])--S5Z5
_centroSymSet(TRS.kickTable[25])_centroSymSet(TRS.kickTable[26])--I5I3
TRS.kickTable[2]= _reflect(TRS.kickTable[1])-- SZ
TRS.kickTable[4]= _reflect(TRS.kickTable[3])-- LJ
TRS.kickTable[9]= _reflect(TRS.kickTable[8])-- S5Z5
TRS.kickTable[11]=_reflect(TRS.kickTable[10])-- PQ
TRS.kickTable[13]=_reflect(TRS.kickTable[12])-- FE
TRS.kickTable[20]=_reflect(TRS.kickTable[19])-- L5J5
TRS.kickTable[22]=_reflect(TRS.kickTable[21])-- RY
TRS.kickTable[24]=_reflect(TRS.kickTable[23])-- NH
_centroSymSet(TRS.kickTable[8])_centroSymSet(TRS.kickTable[9])-- S5Z5
_centroSymSet(TRS.kickTable[25])_centroSymSet(TRS.kickTable[26])-- I5I3
end
local SRS
@@ -469,12 +469,12 @@ do
[32]={'+0+0','-1+0','-1-1','+0+2','-1+2'},
[23]={'+0+0','+1+0','+1+1','+0-2','+1-2'},
[02]={'+0+0'},[20]={'+0+0'},[13]={'+0+0'},[31]={'+0+0'},
},--Z
false,--S
false,--J
false,--L
false,--T
noKickSet,--O
},-- Z
false,-- S
false,-- J
false,-- L
false,-- T
noKickSet,-- O
{
[01]={'+0+0','-2+0','+1+0','-2-1','+1+2'},
[10]={'+0+0','+2+0','-1+0','+2+1','-1-2'},
@@ -485,7 +485,7 @@ do
[30]={'+0+0','+1+0','-2+0','+1-2','-2+1'},
[03]={'+0+0','-1+0','+2+0','-1+2','+2-1'},
[02]={'+0+0'},[20]={'+0+0'},[13]={'+0+0'},[31]={'+0+0'},
}--I
}-- I
}
}
for i=2,5 do SRS.kickTable[i]=SRS.kickTable[1] end
@@ -519,12 +519,12 @@ do
[20]={'+0+0','+1+0','-1+0','+0-1','+0+1'},
[13]={'+0+0','+0-1','-1+0','+1+0','+0+1'},
[31]={'+0+0','+0-1','-1+0','+1+0','+0+1'},
},--Z
false,--S
false,--J
false,--L
false,--T
noKickSet,--O
},-- Z
false,-- S
false,-- J
false,-- L
false,-- T
noKickSet,-- O
{
[01]={'+0+0','-2+0','+1+0','-2-1','+1+2'},
[10]={'+0+0','+2+0','-1+0','+2+1','-1-2'},
@@ -538,7 +538,7 @@ do
[20]={'+0+0','+1+0','-1+0','+0+1','+0-1'},
[13]={'+0+0','+0-1','-1+0','+1+0','+0+1'},
[31]={'+0+0','+0-1','+1+0','-1+0','+0+1'},
}--I
}-- I
}
}
for i=2,5 do SRS_plus.kickTable[i]=SRS_plus.kickTable[1] end
@@ -570,19 +570,19 @@ do
[20]={'+0+0','+1+0','-1+0','+0-1','+0+1'},
[13]={'+0+0','+0-1','-1+0','+1+0','+0+1'},
[31]={'+0+0','+0-1','-1+0','+1+0','+0+1'},
},--Z
false,--S
false,--J
false,--L
false,--T
noKickSet,--O
false,--I
},-- Z
false,-- S
false,-- J
false,-- L
false,-- T
noKickSet,-- O
false,-- I
}
}
for i=2,5 do SRS_X.kickTable[i]=SRS_X.kickTable[1] end
for i=7,29 do SRS_X.kickTable[i]=TRS.kickTable[i] end
SRS_X.kickTable[10]=SRS_X.kickTable[1]--P
SRS_X.kickTable[11]=SRS_X.kickTable[1]--Q
SRS_X.kickTable[10]=SRS_X.kickTable[1]-- P
SRS_X.kickTable[11]=SRS_X.kickTable[1]-- Q
end
local BiRS
@@ -591,37 +591,37 @@ do
local L=_strToVec{'+0+0','+1+0','+1-1','+0-1','+1+1','-1-1','-1+0','+0+1','-1+1','+0+2','+1+2','-1+2','+2+0','-2+0'}
local F=_strToVec{'+0+0','+0-1','+0+1','+0+2'}
local list={
{[02]=L,[20]=R,[13]=R,[31]=L},--Z
{[02]=R,[20]=L,[13]=L,[31]=R},--S
{[02]=L,[20]=R,[13]=L,[31]=R},--J
{[02]=R,[20]=L,[13]=L,[31]=R},--L
{[02]=F,[20]=F,[13]=L,[31]=R},--T
{[02]=F,[20]=F,[13]=F,[31]=F},--O
{[02]=F,[20]=F,[13]=R,[31]=L},--I
{[02]=L,[20]=R,[13]=R,[31]=L},-- Z
{[02]=R,[20]=L,[13]=L,[31]=R},-- S
{[02]=L,[20]=R,[13]=L,[31]=R},-- J
{[02]=R,[20]=L,[13]=L,[31]=R},-- L
{[02]=F,[20]=F,[13]=L,[31]=R},-- T
{[02]=F,[20]=F,[13]=F,[31]=F},-- O
{[02]=F,[20]=F,[13]=R,[31]=L},-- I
{[02]=L,[20]=L,[13]=R,[31]=R},--Z5
{[02]=R,[20]=R,[13]=L,[31]=L},--S5
{[02]=L,[20]=R,[13]=L,[31]=R},--P
{[02]=R,[20]=L,[13]=R,[31]=L},--Q
{[02]=R,[20]=L,[13]=L,[31]=R},--F
{[02]=L,[20]=R,[13]=R,[31]=L},--E
{[02]=F,[20]=F,[13]=L,[31]=R},--T5
{[02]=F,[20]=F,[13]=L,[31]=R},--U
{[02]=R,[20]=L,[13]=L,[31]=R},--V
{[02]=R,[20]=L,[13]=L,[31]=R},--W
{[02]=F,[20]=F,[13]=F,[31]=F},--X
{[02]=L,[20]=R,[13]=R,[31]=L},--J5
{[02]=R,[20]=L,[13]=L,[31]=R},--L5
{[02]=L,[20]=R,[13]=R,[31]=L},--R
{[02]=R,[20]=L,[13]=L,[31]=R},--Y
{[02]=L,[20]=R,[13]=R,[31]=L},--N
{[02]=R,[20]=L,[13]=L,[31]=R},--H
{[02]=F,[20]=F,[13]=F,[31]=F},--I5
{[02]=L,[20]=L,[13]=R,[31]=R},-- Z5
{[02]=R,[20]=R,[13]=L,[31]=L},-- S5
{[02]=L,[20]=R,[13]=L,[31]=R},-- P
{[02]=R,[20]=L,[13]=R,[31]=L},-- Q
{[02]=R,[20]=L,[13]=L,[31]=R},-- F
{[02]=L,[20]=R,[13]=R,[31]=L},-- E
{[02]=F,[20]=F,[13]=L,[31]=R},-- T5
{[02]=F,[20]=F,[13]=L,[31]=R},-- U
{[02]=R,[20]=L,[13]=L,[31]=R},-- V
{[02]=R,[20]=L,[13]=L,[31]=R},-- W
{[02]=F,[20]=F,[13]=F,[31]=F},-- X
{[02]=L,[20]=R,[13]=R,[31]=L},-- J5
{[02]=R,[20]=L,[13]=L,[31]=R},-- L5
{[02]=L,[20]=R,[13]=R,[31]=L},-- R
{[02]=R,[20]=L,[13]=L,[31]=R},-- Y
{[02]=L,[20]=R,[13]=R,[31]=L},-- N
{[02]=R,[20]=L,[13]=L,[31]=R},-- H
{[02]=F,[20]=F,[13]=F,[31]=F},-- I5
{[02]=F,[20]=F,[13]=F,[31]=F},--I3
{[02]=R,[20]=L,[13]=L,[31]=R},--C
{[02]=F,[20]=F,[13]=R,[31]=L},--I2
{[02]=F,[20]=F,[13]=F,[31]=F},--O1
{[02]=F,[20]=F,[13]=F,[31]=F},-- I3
{[02]=R,[20]=L,[13]=L,[31]=R},-- C
{[02]=F,[20]=F,[13]=R,[31]=L},-- I2
{[02]=F,[20]=F,[13]=F,[31]=F},-- O1
}
for i=1,29 do
local a,b=R,L
@@ -700,7 +700,7 @@ do
end
end
--Try release left/right, then softdrop, failed to rotate otherwise
-- Try release left/right, then softdrop, failed to rotate otherwise
if dx~=0 then
dx=0
elseif dy~=0 then
@@ -728,24 +728,24 @@ do
[02]=upOnly,[20]=upOnly,[13]=upOnly,[31]=upOnly,
}
local centerPos=TABLE.copy(defaultCenterPos)
centerPos[1]={[0]={1,1},{1,0},{1,1},{1,0}}--Z
centerPos[2]={[0]={1,1},{1,1},{1,1},{1,1}}--S
centerPos[3]={[0]={1,1},{1,0},{1,1},{1,1}}--L
centerPos[4]={[0]={1,1},{1,0},{1,1},{1,1}}--J
centerPos[5]={[0]={1,1},{1,0},{1,1},{1,1}}--T
centerPos[7]={[0]={0,2},{2,0},{0,2},{2,0}}--I
centerPos[10]={[0]={1,1},{1,0},{1,1},{1,0}}--P
centerPos[11]={[0]={1,1},{1,1},{1,1},{1,1}}--Q
centerPos[15]={[0]={1,1},{1,0},{1,1},{1,1}}--U
centerPos[16]={[0]={1,1},{1,1},{1,1},{1,1}}--V
centerPos[19]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--J5
centerPos[20]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--L5
centerPos[21]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--R
centerPos[22]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--Y
centerPos[23]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--N
centerPos[24]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--H
centerPos[26]={[0]={0,1},{0,0},{0,1},{0,0}}--I3
centerPos[28]={[0]={0,1},{0,0},{0,1},{0,0}}--I2
centerPos[1]={[0]={1,1},{1,0},{1,1},{1,0}}-- Z
centerPos[2]={[0]={1,1},{1,1},{1,1},{1,1}}-- S
centerPos[3]={[0]={1,1},{1,0},{1,1},{1,1}}-- L
centerPos[4]={[0]={1,1},{1,0},{1,1},{1,1}}-- J
centerPos[5]={[0]={1,1},{1,0},{1,1},{1,1}}-- T
centerPos[7]={[0]={0,2},{2,0},{0,2},{2,0}}-- I
centerPos[10]={[0]={1,1},{1,0},{1,1},{1,0}}-- P
centerPos[11]={[0]={1,1},{1,1},{1,1},{1,1}}-- Q
centerPos[15]={[0]={1,1},{1,0},{1,1},{1,1}}-- U
centerPos[16]={[0]={1,1},{1,1},{1,1},{1,1}}-- V
centerPos[19]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- J5
centerPos[20]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- L5
centerPos[21]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- R
centerPos[22]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- Y
centerPos[23]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- N
centerPos[24]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- H
centerPos[26]={[0]={0,1},{0,0},{0,1},{0,0}}-- I3
centerPos[28]={[0]={0,1},{0,0},{0,1},{0,0}}-- I2
ARS_Z={
centerTex=GC.DO{10,10,
@@ -765,24 +765,24 @@ end
local DRS_weak
do
local centerPos=TABLE.copy(defaultCenterPos)
centerPos[1]={[0]={1,1},{1,0},{1,1},{1,1}}--Z
centerPos[2]={[0]={1,1},{1,0},{1,1},{1,1}}--S
centerPos[3]={[0]={1,1},{1,0},{1,1},{1,1}}--L
centerPos[4]={[0]={1,1},{1,0},{1,1},{1,1}}--J
centerPos[5]={[0]={1,1},{1,0},{1,1},{1,1}}--T
centerPos[7]={[0]={.5,1.5},{1.5,-.5},{.5,1.5},{1.5,.5}}--I
centerPos[10]={[0]={1,1},{1,0},{1,1},{1,0}}--P
centerPos[11]={[0]={1,1},{1,1},{1,1},{1,1}}--Q
centerPos[15]={[0]={1,1},{1,0},{1,1},{1,1}}--U
centerPos[16]={[0]={1,1},{1,1},{1,1},{1,1}}--V
centerPos[19]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--J5
centerPos[20]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--L5
centerPos[21]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--R
centerPos[22]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--Y
centerPos[23]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--N
centerPos[24]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}--H
centerPos[26]={[0]={0,1},{0,0},{0,1},{0,0}}--I3
centerPos[28]={[0]={0,1},{0,0},{0,1},{0,0}}--I2
centerPos[1]={[0]={1,1},{1,0},{1,1},{1,1}}-- Z
centerPos[2]={[0]={1,1},{1,0},{1,1},{1,1}}-- S
centerPos[3]={[0]={1,1},{1,0},{1,1},{1,1}}-- L
centerPos[4]={[0]={1,1},{1,0},{1,1},{1,1}}-- J
centerPos[5]={[0]={1,1},{1,0},{1,1},{1,1}}-- T
centerPos[7]={[0]={.5,1.5},{1.5,-.5},{.5,1.5},{1.5,.5}}-- I
centerPos[10]={[0]={1,1},{1,0},{1,1},{1,0}}-- P
centerPos[11]={[0]={1,1},{1,1},{1,1},{1,1}}-- Q
centerPos[15]={[0]={1,1},{1,0},{1,1},{1,1}}-- U
centerPos[16]={[0]={1,1},{1,1},{1,1},{1,1}}-- V
centerPos[19]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- J5
centerPos[20]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- L5
centerPos[21]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- R
centerPos[22]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- Y
centerPos[23]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- N
centerPos[24]={[0]={1.5,1.5},{1.5,0.5},{1.5,1.5},{1.5,0.5}}-- H
centerPos[26]={[0]={0,1},{0,0},{0,1},{0,0}}-- I3
centerPos[28]={[0]={0,1},{0,0},{0,1},{0,0}}-- I2
local L={'+0+0','-1+0','+1+0','+0-1','-1-1','+1-1'}
local R={'+0+0','+1+0','-1+0','+0-1','+1-1','-1-1'}
@@ -802,24 +802,24 @@ do
},
centerPos=centerPos,
kickTable={
Z,S,--Z,S
Z,S,--J,L
Z,--T
noKickSet,--O
Z,--I
Z,S,-- Z,S
Z,S,-- J,L
Z,-- T
noKickSet,-- O
Z,-- I
Z,S,--Z5,S5
Z,S,--P,Q
Z,S,--F,E
Z,Z,Z,Z,--T5,U,V,W
noKickSet,--X
Z,S,--J5,L5
Z,S,--R,Y
Z,S,--N,H
Z,--I5
Z,S,-- Z5,S5
Z,S,-- P,Q
Z,S,-- F,E
Z,Z,Z,Z,-- T5,U,V,W
noKickSet,-- X
Z,S,-- J5,L5
Z,S,-- R,Y
Z,S,-- N,H
Z,-- I5
Z,Z,--I3,C
Z,Z,--I2,O1
Z,Z,-- I3,C
Z,Z,-- I2,O1
}
}
end
@@ -916,24 +916,24 @@ do
{'fRect',3,3,4,4},
},
kickTable={
Z,S,--Z,S
Z,S,--J,L
Z,--T
noKickSet,--O
Z,--I
Z,S,-- Z,S
Z,S,-- J,L
Z,-- T
noKickSet,-- O
Z,-- I
Z,S,--Z5,S5
Z,S,--P,Q
Z,S,--F,E
Z,Z,Z,Z,--T5,U,V,W
noKickSet,--X
Z,S,--J5,L5
Z,S,--R,Y
Z,S,--N,H
Z,--I5
Z,S,-- Z5,S5
Z,S,-- P,Q
Z,S,-- F,E
Z,Z,Z,Z,-- T5,U,V,W
noKickSet,-- X
Z,S,-- J5,L5
Z,S,-- R,Y
Z,S,-- N,H
Z,-- I5
Z,Z,--I3,C
Z,Z,--I2,O1
Z,Z,-- I3,C
Z,Z,-- I2,O1
}
}
end
@@ -1013,7 +1013,7 @@ for _,rs in next,RSlist do
if not rs.centerPos then rs.centerPos=defaultCenterPos end
if not rs.centerTex then rs.centerTex=defaultCenterTex end
--Make all string vec to the same table vec
-- Make all string vec to the same table vec
for _,set in next,rs.kickTable do
if type(set)=='table' then
for _,list in next,set do