允许运行中加载模式文件(仅限不在地图上的,故目前只用于彩蛋模式)
移除所有隐藏模式的名称翻译,只认内部名
This commit is contained in:
32
main.lua
32
main.lua
@@ -304,9 +304,10 @@ end
|
||||
--Load mode files
|
||||
for i=1,#MODES do
|
||||
local m=MODES[i]--Mode template
|
||||
local M=require('parts.modes.'..m.name)--Mode file
|
||||
for k,v in next,m do M[k]=v end
|
||||
MODES[m.name],MODES[i]=M
|
||||
if fs.getRealDirectory('parts/modes/'..m.name)~=SAVEDIR then
|
||||
TABLE.complete(require('parts.modes.'..m.name),MODES[i])
|
||||
MODES[m.name],MODES[i]=MODES[i]
|
||||
end
|
||||
end
|
||||
|
||||
--Update data
|
||||
@@ -388,12 +389,31 @@ do
|
||||
if RANKS.master_l then RANKS.master_n,RANKS.master_l=RANKS.master_l needSave=true end
|
||||
if RANKS.master_u then RANKS.master_h,RANKS.master_u=RANKS.master_u needSave=true end
|
||||
for _,v in next,VK_org do v.color=nil end
|
||||
for k in next,RANKS do
|
||||
if type(k)=='number'then
|
||||
RANKS[k]=nil
|
||||
for name,rank in next,RANKS do
|
||||
if type(name)=='number'or type(rank)~='number'then
|
||||
RANKS[name]=nil
|
||||
needSave=true
|
||||
else
|
||||
local M=MODES[name]
|
||||
if M and M.unlock and rank>0 then
|
||||
for _,unlockName in next,M.unlock do
|
||||
if not RANKS[unlockName]then
|
||||
RANKS[unlockName]=0
|
||||
needSave=true
|
||||
end
|
||||
end
|
||||
end
|
||||
if not(M and M.x)then
|
||||
RANKS[name]=nil
|
||||
needSave=true
|
||||
end
|
||||
end
|
||||
end
|
||||
if not MODES[STAT.lastPlay]then
|
||||
STAT.lastPlay='sprint_10l'
|
||||
needSave=true
|
||||
end
|
||||
|
||||
for k,v in next,oldModeNameTable do
|
||||
if RANKS[k]then
|
||||
RANKS[v]=RANKS[k]
|
||||
|
||||
@@ -312,6 +312,10 @@ end
|
||||
function loadGame(mode,ifQuickPlay,ifNet)--Load a mode and go to game scene
|
||||
freshDate()
|
||||
if legalGameTime()then
|
||||
if not MODES[mode]and love.filesystem.getRealDirectory('parts/modes/'..mode)~=SAVEDIR then
|
||||
MODES[mode]=require('parts.modes.'..mode)
|
||||
MODES[mode].name=mode
|
||||
end
|
||||
if MODES[mode].score then
|
||||
STAT.lastPlay=mode
|
||||
end
|
||||
|
||||
@@ -775,17 +775,6 @@ return{
|
||||
['infinite']= {'infinite', "", "Just a sandbox"},
|
||||
['infinite_dig']= {"Infinite: Dig", "", "Dig-diggin'-dug"},
|
||||
|
||||
['sprintFix']= {"Sprint", "NO LEFT/RIGHT"},
|
||||
['sprintLock']= {"Sprint", "NO ROTATIONS"},
|
||||
['sprintSmooth']= {"Sprint", "NO FRICTION"},
|
||||
['marathon_bfmax']={"Marathon", "ULTIMATE"},
|
||||
['sprintMD']= {"Sprint", "MISDROP"},
|
||||
['sprintSym']= {"Sprint", "SYMMETRY"},
|
||||
['techrash_u']= {"Techrash", "ULTIMATE"},
|
||||
|
||||
['master_l']= {"Master", "LUNATIC"},
|
||||
['master_u']= {"Master", "ULTIMATE"},
|
||||
|
||||
['custom_clear']= {"Custom", "NORMAL"},
|
||||
['custom_puzzle']= {"Custom", "PUZZLE"},
|
||||
},
|
||||
|
||||
@@ -726,17 +726,6 @@ return{
|
||||
['infinite']= {"Infinito", "", "Modo Sandbox."},
|
||||
['infinite_dig']= {"Infinito: Queso", "", "Limpia, limpia, más limpia que tú."},
|
||||
|
||||
['sprintFix']= {"Sprint", "Sin mover a Izq./Der."},
|
||||
['sprintLock']= {"Sprint", "Sin rotar"},
|
||||
['sprintSmooth']= {"Sprint", "SIN FRICCIÓN"},
|
||||
['marathon_bfmax']= {"Maratón", "Supremo"},
|
||||
-- ['sprintMD']= {"Sprint", "MISDROP"},
|
||||
-- ['sprintSym']= {"Sprint", "SYMMETRY"},
|
||||
-- ['techrash_u']= {"Techrash", "ULTIMATE"},
|
||||
|
||||
['master_l']= {"Master", "Lunático"},
|
||||
['master_u']= {"Master", "Supremo"},
|
||||
|
||||
['custom_clear']= {"Personalizado", "Normal"},
|
||||
['custom_puzzle']= {"Personalizado", "Puzzle"},
|
||||
},
|
||||
|
||||
@@ -730,17 +730,6 @@ return{
|
||||
['infinite']= {"Infini", "", "Mode tranquile."},
|
||||
['infinite_dig']= {"Infini : Dig", "", "Creuser, creuser, creuser."},
|
||||
|
||||
['sprintFix']= {"Sprint", "Sans gauche/droite"},
|
||||
['sprintLock']= {"Sprint", "Sans rotation"},
|
||||
-- ['sprintSmooth']= {"Sprint", "NO FRICTION"},
|
||||
['marathon_bfmax']={"Marathon", "ULTIME"},
|
||||
-- ['sprintMD']= {"Sprint", "MISDROP"},
|
||||
-- ['sprintSym']= {"Sprint", "SYMMETRY"},
|
||||
-- ['techrash_u']= {"Techrash", "ULTIMATE"},
|
||||
|
||||
['master_l']= {"Master", "LUNATIQUE"},
|
||||
['master_u']= {"Master", "ULTIME"},
|
||||
|
||||
['custom_clear']= {"Perso.", "NORMAL"},
|
||||
['custom_puzzle']= {"Perso.", "PUZZLE"},
|
||||
},
|
||||
|
||||
@@ -765,17 +765,6 @@ return{
|
||||
['infinite']= {"Infinito", "", "Modo Sandbox."},
|
||||
['infinite_dig']= {"Infinito:Cave", "", "Cava, Cava, Cava."},
|
||||
|
||||
['sprintFix']= {"Sprint", "SEM ESQUERDA/DIREITA"},
|
||||
['sprintLock']= {"Sprint", "SEM ROTAÇÃO"},
|
||||
-- ['sprintSmooth']= {"Sprint", "NO FRICTION"},
|
||||
['marathon_bfmax']= {"Maratona", "ULTIMATE"},
|
||||
-- ['sprintMD']= {"Sprint", "MISDROP"},
|
||||
-- ['sprintSym']= {"Sprint", "SYMMETRY"},
|
||||
-- ['techrash_u']= {"Techrash", "ULTIMATE"},
|
||||
|
||||
['master_l']= {"Mestre", "LUNÁTICO"},
|
||||
['master_u']= {"Mestre", "ULTIMATE"},
|
||||
|
||||
['custom_clear']= {"Custom", "NORMAL"},
|
||||
['custom_puzzle']= {"Custom", "PUZZLE"},
|
||||
},
|
||||
|
||||
@@ -270,17 +270,6 @@ return{
|
||||
['infinite']= {"无尽", "", "真的有人会玩这个?"},
|
||||
['infinite_dig']= {"无尽:挖掘", "", "闲得慌就来挖"},
|
||||
|
||||
['sprintFix']= {"竞速", "无移动"},
|
||||
['sprintLock']= {"竞速", "无旋转"},
|
||||
['sprintSmooth']= {"竞速", "无摩擦"},
|
||||
['marathon_bfmax']= {"马拉松", "极限"},
|
||||
['sprintMD']= {"竞速", "MD"},
|
||||
['sprintSym']= {"竞速", "对称"},
|
||||
['techrash_u']= {"消四", "极限"},
|
||||
|
||||
['master_l']= {"大师", "疯狂"},
|
||||
['master_u']= {"大师", "极限"},
|
||||
|
||||
['custom_clear']= {"自定义", "普通"},
|
||||
['custom_puzzle']= {"自定义", "拼图"},
|
||||
},
|
||||
|
||||
@@ -779,17 +779,6 @@ return{
|
||||
['infinite']= {"无尽", "", "沙盒"},
|
||||
['infinite_dig']= {"无尽:挖掘", "", "挖呀挖呀挖"},
|
||||
|
||||
['sprintFix']= {"竞速", "无移动"},
|
||||
['sprintLock']= {"竞速", "无旋转"},
|
||||
['sprintSmooth']= {"竞速", "无摩擦"},
|
||||
['marathon_bfmax']= {"马拉松", "极限"},
|
||||
['sprintMD']= {"竞速", "MD"},
|
||||
['sprintSym']= {"竞速", "对称"},
|
||||
['techrash_u']= {"消四", "极限"},
|
||||
|
||||
['master_l']= {"大师", "疯狂"},
|
||||
['master_u']= {"大师", "极限"},
|
||||
|
||||
['custom_clear']= {"自定义", "普通"},
|
||||
['custom_puzzle']= {"自定义", "拼图"},
|
||||
},
|
||||
|
||||
@@ -179,17 +179,6 @@ return{
|
||||
['infinite']= {"无尽", "", "沙盒"},
|
||||
['infinite_dig']= {"无尽:挖掘", "", "挖呀挖呀挖"},
|
||||
|
||||
['sprintFix']= {"竞速", "无移动"},
|
||||
['sprintLock']= {"竞速", "无旋转"},
|
||||
['sprintSmooth']= {"竞速", "无摩擦"},
|
||||
['marathon_bfmax']= {"马拉松", "极限"},
|
||||
['sprintMD']= {"竞速", "手滑"},
|
||||
['sprintSym']= {"竞速", "对称"},
|
||||
['techrash_u']= {"消四", "极限"},
|
||||
|
||||
['master_l']= {"大师", "疯狂"},
|
||||
['master_u']= {"大师", "极限"},
|
||||
|
||||
['custom_clear']= {"自定义", "普通"},
|
||||
['custom_puzzle']= {"自定义", "拼图"},
|
||||
},
|
||||
|
||||
@@ -777,17 +777,6 @@ return{
|
||||
['infinite']= {"无限", "", "这只是一个沙箱"},
|
||||
['infinite_dig']= {"无限:挖掘", "", "挖,挖,挖"},
|
||||
|
||||
['sprintFix']= {"冲刺", "没有左/右"},
|
||||
['sprintLock']= {"冲刺", "不轮换"},
|
||||
['sprintSmooth']= {"冲刺", "无摩擦"},
|
||||
['marathon_bfmax']={"马拉松赛跑", "终极"} ,
|
||||
['sprintMD']= {"竞速", "误滴"},
|
||||
['sprintSym']= {"竞速", "对称性"},
|
||||
['techrash_u']= {"消四", "极限"},
|
||||
|
||||
['master_l']= {"主人", "疯子"},
|
||||
['master_u']= {"主人", "终极"} ,
|
||||
|
||||
['custom_clear']= {"习俗", "正常"} ,
|
||||
['custom_puzzle']= {"习俗", "令人费解的"},
|
||||
},
|
||||
|
||||
@@ -118,15 +118,6 @@ return{
|
||||
{name='infinite', x=-1000, y=-400, size=40,shape=1,icon='infinite'},
|
||||
{name='infinite_dig', x=-800, y=-400, size=40,shape=1,icon="dig"},
|
||||
|
||||
--Secret
|
||||
{name='sprintFix'},
|
||||
{name='sprintLock'},
|
||||
{name='sprintSmooth'},
|
||||
{name='marathon_bfmax'},
|
||||
{name='sprintMD'},
|
||||
{name='sprintSym'},
|
||||
{name='techrash_u'},
|
||||
|
||||
--Special
|
||||
{name='custom_puzzle'},
|
||||
{name='custom_clear'},
|
||||
|
||||
@@ -88,31 +88,6 @@ local loadingThread=coroutine.wrap(function()
|
||||
M.records=FILE.load("record/"..M.name..".rec")or M.score and{}
|
||||
M.icon=M.icon and(modeIcons[M.icon]or gc.newImage("media/image/modeicon/"..M.icon..".png"))
|
||||
end
|
||||
if not MODES[STAT.lastPlay]then
|
||||
STAT.lastPlay='sprint_10l'
|
||||
end
|
||||
local editFlag
|
||||
for name,rank in next,RANKS do
|
||||
local M=MODES[name]
|
||||
if type(rank)~='number'then
|
||||
RANKS[name]=nil
|
||||
editFlag=true
|
||||
elseif M and M.unlock and rank>0 then
|
||||
for _,unlockName in next,M.unlock do
|
||||
if not RANKS[unlockName]then
|
||||
RANKS[unlockName]=0
|
||||
editFlag=true
|
||||
end
|
||||
end
|
||||
end
|
||||
if not(M and M.x)then
|
||||
RANKS[name]=nil
|
||||
editFlag=true
|
||||
end
|
||||
end
|
||||
if editFlag then
|
||||
saveProgress()
|
||||
end
|
||||
|
||||
YIELD('loadOther')
|
||||
STAT.run=STAT.run+1
|
||||
|
||||
Reference in New Issue
Block a user