允许运行中加载模式文件(仅限不在地图上的,故目前只用于彩蛋模式)

移除所有隐藏模式的名称翻译,只认内部名
This commit is contained in:
MrZ626
2021-10-12 01:59:42 +08:00
parent 993866ab5b
commit 6868d53224
12 changed files with 30 additions and 128 deletions

View File

@@ -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]

View File

@@ -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

View File

@@ -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"},
},

View File

@@ -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"},
},

View File

@@ -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"},
},

View File

@@ -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"},
},

View File

@@ -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']= {"自定义", "拼图"},
},

View File

@@ -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']= {"自定义", "拼图"},
},

View File

@@ -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']= {"自定义", "拼图"},
},

View File

@@ -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']= {"习俗", "令人费解的"},
},

View File

@@ -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'},

View File

@@ -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