diff --git a/main.lua b/main.lua index cf02e0b0..07dc1d6e 100644 --- a/main.lua +++ b/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] diff --git a/parts/gameFuncs.lua b/parts/gameFuncs.lua index 5c72582b..641aeec5 100644 --- a/parts/gameFuncs.lua +++ b/parts/gameFuncs.lua @@ -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 diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index f24786e4..15e761e1 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -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"}, }, diff --git a/parts/language/lang_es.lua b/parts/language/lang_es.lua index c15a72a1..b32f7be6 100644 --- a/parts/language/lang_es.lua +++ b/parts/language/lang_es.lua @@ -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"}, }, diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index fbcad052..a9a1a047 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -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"}, }, diff --git a/parts/language/lang_pt.lua b/parts/language/lang_pt.lua index 15ee1bc3..e8c900d5 100644 --- a/parts/language/lang_pt.lua +++ b/parts/language/lang_pt.lua @@ -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"}, }, diff --git a/parts/language/lang_yygq.lua b/parts/language/lang_yygq.lua index 90d7729a..f0ab54ad 100644 --- a/parts/language/lang_yygq.lua +++ b/parts/language/lang_yygq.lua @@ -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']= {"自定义", "拼图"}, }, diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index 1fd8f9e2..a4724cc7 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -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']= {"自定义", "拼图"}, }, diff --git a/parts/language/lang_zh2.lua b/parts/language/lang_zh2.lua index f22717f0..d9df46ac 100644 --- a/parts/language/lang_zh2.lua +++ b/parts/language/lang_zh2.lua @@ -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']= {"自定义", "拼图"}, }, diff --git a/parts/language/lang_zh3.lua b/parts/language/lang_zh3.lua index 11b94141..db72cc81 100644 --- a/parts/language/lang_zh3.lua +++ b/parts/language/lang_zh3.lua @@ -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']= {"习俗", "令人费解的"}, }, diff --git a/parts/modes.lua b/parts/modes.lua index 66ce4717..dd2c2bd0 100644 --- a/parts/modes.lua +++ b/parts/modes.lua @@ -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'}, diff --git a/parts/scenes/load.lua b/parts/scenes/load.lua index 3ad680f4..e28f19eb 100644 --- a/parts/scenes/load.lua +++ b/parts/scenes/load.lua @@ -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