diff --git a/Zframework b/Zframework index 79455c6f..d2ba89b7 160000 --- a/Zframework +++ b/Zframework @@ -1 +1 @@ -Subproject commit 79455c6fc7e55e9d918918188b973701e0c1524a +Subproject commit d2ba89b7fc338218dd976e0419b1400d61c61540 diff --git a/main.lua b/main.lua index e84cf68c..319e9dfd 100644 --- a/main.lua +++ b/main.lua @@ -22,7 +22,6 @@ local fs=love.filesystem VERSION=require"version" TIME=love.timer.getTime -YIELD=coroutine.yield SYSTEM=love.system.getOS()if SYSTEM=='OS X'then SYSTEM='macOS'end FNNS=SYSTEM:find'\79\83'--What does FNSF stand for? IDK so don't ask me lol MOBILE=SYSTEM=='Android'or SYSTEM=='iOS' @@ -662,7 +661,7 @@ for i=1,#_LOADTIMELIST_ do LOG(_LOADTIMELIST_[i])end --Launch testing task if launch param received if TABLE.find(arg,'--test')then TASK.new(function() - while not LOADED do YIELD()end + while not LOADED do coroutine.yield()end LOG("\27[92m\27[1mAutomatic Test Started\27[0m") BGM.setVol(0)SFX.setVol(0) @@ -684,7 +683,7 @@ if TABLE.find(arg,'--test')then end) TASK.new(function() while true do - YIELD() + coroutine.yield() if Z.getErr(1)then break end end LOG("\27[91m\27[1mAutomatic Test Failed :(\27[0m\nThe error message is:\n"..table.concat(Z.getErr(1).mes,"\n").."\27[91m\nAborting\27[0m") diff --git a/parts/eventsets/attacker_h.lua b/parts/eventsets/attacker_h.lua index 5a66f6c0..5adf277f 100644 --- a/parts/eventsets/attacker_h.lua +++ b/parts/eventsets/attacker_h.lua @@ -8,7 +8,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control and P.atkBufferSum==0 then local D=P.modeData if D.wave==50 then diff --git a/parts/eventsets/attacker_u.lua b/parts/eventsets/attacker_u.lua index 67e6d1c9..ec814a12 100644 --- a/parts/eventsets/attacker_u.lua +++ b/parts/eventsets/attacker_u.lua @@ -8,7 +8,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control and P.atkBufferSum<4 then local D=P.modeData if D.wave==50 then diff --git a/parts/eventsets/defender_l.lua b/parts/eventsets/defender_l.lua index d059c529..f2956688 100644 --- a/parts/eventsets/defender_l.lua +++ b/parts/eventsets/defender_l.lua @@ -10,7 +10,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control then local D=P.modeData D.counter=D.counter+1 diff --git a/parts/eventsets/defender_n.lua b/parts/eventsets/defender_n.lua index c20c6917..0ab6a210 100644 --- a/parts/eventsets/defender_n.lua +++ b/parts/eventsets/defender_n.lua @@ -10,7 +10,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control then local D=P.modeData D.counter=D.counter+1 diff --git a/parts/eventsets/dig_h.lua b/parts/eventsets/dig_h.lua index 1a50c103..11e8b657 100644 --- a/parts/eventsets/dig_h.lua +++ b/parts/eventsets/dig_h.lua @@ -6,7 +6,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control then local D=P.modeData D.timer=D.timer+1 diff --git a/parts/eventsets/dig_u.lua b/parts/eventsets/dig_u.lua index c98d6c36..9bdfeb5c 100644 --- a/parts/eventsets/dig_u.lua +++ b/parts/eventsets/dig_u.lua @@ -6,7 +6,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control then local D=P.modeData D.timer=D.timer+1 diff --git a/parts/eventsets/master_ex.lua b/parts/eventsets/master_ex.lua index 5c6944cf..641081bc 100644 --- a/parts/eventsets/master_ex.lua +++ b/parts/eventsets/master_ex.lua @@ -53,7 +53,7 @@ return{ P.modeData.rankPoint=0 P.modeData.rankName=sectionName[1] while true do - YIELD() + coroutine.yield() if P.stat.frame>=3600 then P.modeData.rankPoint=math.min(P.modeData.rankPoint+passPoint,140) P.modeData.rankName=sectionName[math.floor(P.modeData.rankPoint/10)+1] diff --git a/parts/eventsets/master_g.lua b/parts/eventsets/master_g.lua index b47bc548..afdd6fc2 100644 --- a/parts/eventsets/master_g.lua +++ b/parts/eventsets/master_g.lua @@ -289,7 +289,7 @@ return{ local decayRate={125,80,80,50,45,45,45,40,40,40,40,40,30,30,30,20,20,20,20,20,15,15,15,15,15,15,15,15,15,15,10,10,10,9,9,9,8,8,8,7,7,7,6} local decayTimer=0 while true do - YIELD() + coroutine.yield() P.modeData.grade=getGrade() P.modeData.gradePts=math.max(math.min(math.floor(int_grade_boosts[math.min(int_grade+1,#int_grade_boosts)]+rollGrades+cools+1-regrets),#gradeList),1) if P.stat.frame-prevSectTime > reg_time[math.ceil(P.modeData.pt/100+0.01)] and not (isInRoll or isInRollTrans) then @@ -336,7 +336,7 @@ return{ rollGrades=rollGrades+(cools>8 and 1.6 or 0.5) P.modeData.grade=getGrade() P.modeData.gradePts=math.min(math.floor(int_grade_boosts[math.min(int_grade+1,#int_grade_boosts)]+rollGrades+cools+1-regrets),#gradeList) - YIELD() + coroutine.yield() P:win('finish') end end diff --git a/parts/eventsets/master_instinct.lua b/parts/eventsets/master_instinct.lua index 5a42febb..dcadf049 100644 --- a/parts/eventsets/master_instinct.lua +++ b/parts/eventsets/master_instinct.lua @@ -72,7 +72,7 @@ return{ P.modeData.pt=0 P.modeData.target=100 while true do - YIELD() + coroutine.yield() if P.holdTime==0 and P.waiting<=0 and not held then hidetimer=0 held=true diff --git a/parts/eventsets/pctrain_l.lua b/parts/eventsets/pctrain_l.lua index 63be518f..c58e227b 100644 --- a/parts/eventsets/pctrain_l.lua +++ b/parts/eventsets/pctrain_l.lua @@ -11,7 +11,7 @@ local function task_PC(P) P:pushNextList(L,symmetry) P.control=false - if P.frameRun>180 then for _=1,26 do YIELD()end end + if P.frameRun>180 then for _=1,26 do coroutine.yield()end end P.control=true local base=PCbase[difficulty] diff --git a/parts/eventsets/pctrain_n.lua b/parts/eventsets/pctrain_n.lua index d66bf546..a5a74dff 100644 --- a/parts/eventsets/pctrain_n.lua +++ b/parts/eventsets/pctrain_n.lua @@ -14,7 +14,7 @@ local function task_PC(P) P:pushNextList(L,symmetry) P.control=false - if P.frameRun>180 then for _=1,26 do YIELD()end end + if P.frameRun>180 then for _=1,26 do coroutine.yield()end end P.control=true local base=PCbase[difficulty] diff --git a/parts/eventsets/sprintMD.lua b/parts/eventsets/sprintMD.lua index be300c82..d4a1d384 100644 --- a/parts/eventsets/sprintMD.lua +++ b/parts/eventsets/sprintMD.lua @@ -7,9 +7,9 @@ return{ PLY.draw.drawTargetLine(P,r) end, task=function(P) - YIELD() + coroutine.yield() while true do - for _=1,P.holeRND:random(40,200)do YIELD()end + for _=1,P.holeRND:random(40,200)do coroutine.yield()end local r=P.holeRND:random(7) if r==1 then if P.cur and not P:ifoverlap(P.cur.bk,P.curX-1,P.curY)then diff --git a/parts/eventsets/survivor_e.lua b/parts/eventsets/survivor_e.lua index d410008d..4d5c76a5 100644 --- a/parts/eventsets/survivor_e.lua +++ b/parts/eventsets/survivor_e.lua @@ -6,7 +6,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control then local D=P.modeData D.timer=D.timer+1 diff --git a/parts/eventsets/survivor_h.lua b/parts/eventsets/survivor_h.lua index d24ac698..a04ff1a5 100644 --- a/parts/eventsets/survivor_h.lua +++ b/parts/eventsets/survivor_h.lua @@ -6,7 +6,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control then local D=P.modeData D.timer=D.timer+1 diff --git a/parts/eventsets/survivor_l.lua b/parts/eventsets/survivor_l.lua index 266e79a9..01e97010 100644 --- a/parts/eventsets/survivor_l.lua +++ b/parts/eventsets/survivor_l.lua @@ -6,7 +6,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control then local D=P.modeData D.timer=D.timer+1 diff --git a/parts/eventsets/survivor_n.lua b/parts/eventsets/survivor_n.lua index 2c6d0e33..ac5c66ec 100644 --- a/parts/eventsets/survivor_n.lua +++ b/parts/eventsets/survivor_n.lua @@ -6,7 +6,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control then local D=P.modeData D.timer=D.timer+1 diff --git a/parts/eventsets/survivor_u.lua b/parts/eventsets/survivor_u.lua index 34952f2d..f92ee447 100644 --- a/parts/eventsets/survivor_u.lua +++ b/parts/eventsets/survivor_u.lua @@ -6,7 +6,7 @@ return{ end, task=function(P) while true do - YIELD() + coroutine.yield() if P.control then local D=P.modeData D.timer=D.timer+1 diff --git a/parts/eventsets/ultra.lua b/parts/eventsets/ultra.lua index bcfd61aa..e5c614ba 100644 --- a/parts/eventsets/ultra.lua +++ b/parts/eventsets/ultra.lua @@ -21,7 +21,7 @@ return{ BGM.seek(0) P.modeData.section=1 while true do - YIELD() + coroutine.yield() while P.stat.frame>=warnTime[P.modeData.section]do if P.modeData.section<9 then P.modeData.section=P.modeData.section+1 diff --git a/parts/gameFuncs.lua b/parts/gameFuncs.lua index 44e6ffbe..050861c2 100644 --- a/parts/gameFuncs.lua +++ b/parts/gameFuncs.lua @@ -695,7 +695,7 @@ do--function resetGameData(args) local function task_showMods() local time=0 while true do - YIELD() + coroutine.yield() time=time+1 if time%20==0 then local M=GAME.mod[time/20] diff --git a/parts/modes/drought_l.lua b/parts/modes/drought_l.lua index a732af9d..43123af4 100644 --- a/parts/modes/drought_l.lua +++ b/parts/modes/drought_l.lua @@ -5,7 +5,7 @@ return{ sequence=function(P) for _=1,3 do P:getNext(7)end while true do - YIELD() + coroutine.yield() if not P.nextQueue[1]then local height=TABLE.new(0,10) local max=#P.field diff --git a/parts/modes/netBattle.lua b/parts/modes/netBattle.lua index 2238a5ab..11354ad3 100644 --- a/parts/modes/netBattle.lua +++ b/parts/modes/netBattle.lua @@ -1,4 +1,4 @@ -local yield=YIELD +local yield=coroutine.yield local function marginTask(P) local S=P.stat while true do yield()if S.frame>90*60 then P.strength=1;P:setFrameColor(1)break end end diff --git a/parts/net.lua b/parts/net.lua index 54e22aa1..3d8c221f 100644 --- a/parts/net.lua +++ b/parts/net.lua @@ -1,7 +1,6 @@ local loveEncode,loveDecode=love.data.encode,love.data.decode local WS=WS -local yield=YIELD local PLAYERS=PLAYERS local NET={ @@ -73,7 +72,7 @@ local function getMsg(request,timeout) return JSON.decode(mes.body) end else - totalTime=totalTime+yield() + totalTime=totalTime+coroutine.yield() if totalTime>timeout then return end @@ -154,7 +153,7 @@ end function NET.setPW(code,pw) if not TASK.lock('setPW') then return end TASK.new(function() - pw=HASH.hmac() + pw=HASH.pbkdf2(HASH.sha3_256,pw,"salt",26000) local res=getMsg({ pool='setPW', @@ -499,7 +498,7 @@ end --WS task funcs function NET.freshPlayerCount() while WS.status('game')=='running'do - for _=1,260 do yield()end + TEST.yieldN(260) if TASK.lock('freshPlayerCount',10)then WS.send('game',JSON.encode{action=3}) end @@ -507,7 +506,7 @@ function NET.freshPlayerCount() end function NET.updateWS_user() while WS.status('game')~='dead'do - yield() + coroutine.yield() local message,op=WS.read('user') if message then if op=='ping'then diff --git a/parts/player/seqGenerators.lua b/parts/player/seqGenerators.lua index be77cde3..2c6a86cb 100644 --- a/parts/player/seqGenerators.lua +++ b/parts/player/seqGenerators.lua @@ -1,5 +1,5 @@ local ins,rem=table.insert,table.remove -local yield=YIELD +local yield=coroutine.yield local seqGenerators={ none=function()while true do yield()end end, diff --git a/parts/scenes/load.lua b/parts/scenes/load.lua index 8ccc965a..32f54c41 100644 --- a/parts/scenes/load.lua +++ b/parts/scenes/load.lua @@ -26,15 +26,15 @@ local loadingThread=coroutine.wrap(function() logoColor1={COLOR.rainbow(r)} logoColor2={COLOR.rainbow_light(r)} end - YIELD() - YIELD('loadSFX')SFX.load('media/effect/'..SETTING.sfxPack..'/') - YIELD('loadSample')SFX.loadSample{name='bass',path='media/sample/bass',base='A2'}--A2~A4 - YIELD('loadSample')SFX.loadSample{name='lead',path='media/sample/lead',base='A3'}--A3~A5 - YIELD('loadSample')SFX.loadSample{name='bell',path='media/sample/bell',base='A4'}--A4~A6 - YIELD('loadVoice')VOC.load('media/vocal/'..SETTING.vocPack..'/') - YIELD('loadFont')for i=1,17 do getFont(15+5*i)getFont(15+5*i,'mono')end + coroutine.yield() + coroutine.yield('loadSFX')SFX.load('media/effect/'..SETTING.sfxPack..'/') + coroutine.yield('loadSample')SFX.loadSample{name='bass',path='media/sample/bass',base='A2'}--A2~A4 + coroutine.yield('loadSample')SFX.loadSample{name='lead',path='media/sample/lead',base='A3'}--A3~A5 + coroutine.yield('loadSample')SFX.loadSample{name='bell',path='media/sample/bell',base='A4'}--A4~A6 + coroutine.yield('loadVoice')VOC.load('media/vocal/'..SETTING.vocPack..'/') + coroutine.yield('loadFont')for i=1,17 do getFont(15+5*i)getFont(15+5*i,'mono')end - YIELD('loadModeIcon') + coroutine.yield('loadModeIcon') local modeIcons={} modeIcons.marathon=GC.DO{64,64, {'move',3,1}, @@ -91,13 +91,13 @@ local loadingThread=coroutine.wrap(function() {'fRect',20,10,23,43}, } - YIELD('loadMode') + coroutine.yield('loadMode') for _,M in next,MODES do M.records=loadFile("record/"..M.name..".rec",'-luaon -canSkip')or M.score and{} M.icon=M.icon and(modeIcons[M.icon]or GC.newImage("media/image/modeicon/"..M.icon..".png")) end - YIELD('loadOther') + coroutine.yield('loadOther') STAT.run=STAT.run+1 SFX.play('enter',.8) diff --git a/parts/scenes/main.lua b/parts/scenes/main.lua index f328c300..1030c618 100644 --- a/parts/scenes/main.lua +++ b/parts/scenes/main.lua @@ -11,10 +11,10 @@ local widgetX0={ } local enterConsole=coroutine.wrap(function() while true do - Snd('bell',.6,'A4',.7,'E5',1,MATH.coin('A5','B5'))YIELD() - Snd('bell',.6,'A4',.7,'F5',1,MATH.coin('C6','D6'))YIELD() - Snd('bell',.6,'A4',.7,'G5',1,MATH.coin('E6','G6'))YIELD() - Snd('bell',.6,'A4',.7,'A5',1,'A6')SFX.play('ren_mega')SCN.go('app_console')YIELD() + Snd('bell',.6,'A4',.7,'E5',1,MATH.coin('A5','B5'))coroutine.yield() + Snd('bell',.6,'A4',.7,'F5',1,MATH.coin('C6','D6'))coroutine.yield() + Snd('bell',.6,'A4',.7,'G5',1,MATH.coin('E6','G6'))coroutine.yield() + Snd('bell',.6,'A4',.7,'A5',1,'A6')SFX.play('ren_mega')SCN.go('app_console')coroutine.yield() end end) function scene.sceneInit()