diff --git a/parts/gametoolfunc.lua b/parts/gametoolfunc.lua index 57abc8a1..54e4e1ff 100644 --- a/parts/gametoolfunc.lua +++ b/parts/gametoolfunc.lua @@ -6,6 +6,25 @@ local sub,find=string.sub,string.find local char,byte=string.char,string.byte local ins,rem=table.insert,table.remove +local default_setting={ + "das","arr", + "sddas","sdarr", + "ihs","irs","ims", + "maxNext", + "swap", + -- "face", +} +local function copyGameSetting() + local S={face={}} + for _,v in next,default_setting do + S[v]=setting[v] + end + for i=1,25 do + S.face[i]=setting.face[i] + end + return S +end + function destroyPlayers() for i=#players,1,-1 do local P=players[i] @@ -282,6 +301,7 @@ function resetGameData() game.warnLVL=0 game.recording=true game.replaying=false + game.setting=copyGameSetting() game.rec={} math.randomseed(tm.getTime()) game.seed=rnd(261046101471026) @@ -333,6 +353,7 @@ function resetPartGameData(replaying) game.pauseCount=0 game.recording=true game.replaying=false + game.setting=copyGameSetting() game.rec={} math.randomseed(tm.getTime()) game.seed=rnd(1046101471,2662622626) diff --git a/parts/player.lua b/parts/player.lua index dc4a9a70..b27090e4 100644 --- a/parts/player.lua +++ b/parts/player.lua @@ -2577,11 +2577,13 @@ local function loadGameEnv(P)--Load gameEnv --Load game settings for k,v in next,gameEnv0 do if modeEnv[k]~=nil then - v=modeEnv[k] + v=modeEnv[k] --Mode setting + elseif game.setting[k]~=nil then + v=game.setting[k] --Game setting elseif setting[k]~=nil then - v=setting[k] + v=setting[k] --Global setting end - ENV[k]=v + ENV[k]=v --Default setting end end local function applyGameEnv(P)--Finish gameEnv processing