diff --git a/main.lua b/main.lua index afad7b4f..e6951706 100644 --- a/main.lua +++ b/main.lua @@ -271,7 +271,7 @@ do --Check setting file if type(SETTING.block)~="boolean"or - type(SETTING.spawn)~="number"or + type(SETTING.sfx_spawn)~="number"or type(SETTING.ghost)~="number"or type(SETTING.center)~="number"or type(SETTING.grid)~="number"or diff --git a/media/SFX/warning.ogg b/media/SFX/warning.ogg new file mode 100644 index 00000000..629b16c6 Binary files /dev/null and b/media/SFX/warning.ogg differ diff --git a/parts/globalTables.lua b/parts/globalTables.lua index 48ee1caf..da958b8e 100644 --- a/parts/globalTables.lua +++ b/parts/globalTables.lua @@ -295,7 +295,8 @@ SETTING={--Settings --Sound sfx=1, - spawn=.3, + sfx_spawn=.3, + sfx_warn=.3, bgm=.7, stereo=.7, vib=0, diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index 85457fc5..a1b2e833 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -311,9 +311,10 @@ return{ graphic="Video→", sfx="SFX", - stereo="Stereo", spawn="Spawning", + warn="Warning", bgm="BGM", + stereo="Stereo", vib="Vibration", voc="Voice", cv="Voice Pack", diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index 0bd758b3..cfcd559c 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -291,9 +291,10 @@ return{ graphic="Vidéo→", sfx="Sons", - stereo="Stéréo", spawn="Apparition", + warn="Alerte de danger", bgm="Musique", + stereo="Stéréo", vib="Vibration", voc="Voix", }, diff --git a/parts/language/lang_pt.lua b/parts/language/lang_pt.lua index c2ac05b9..d1089a74 100644 --- a/parts/language/lang_pt.lua +++ b/parts/language/lang_pt.lua @@ -310,9 +310,10 @@ return{ graphic="Vídeo→", sfx="SFX", - stereo="Stereo", spawn="Nascida", + warn="Alerta de perigo", bgm="BGM", + stereo="Stereo", vib="Vibração", voc="Voz", cv="Pacote de voz", diff --git a/parts/language/lang_sp.lua b/parts/language/lang_sp.lua index 18f9d7ae..89bcf70f 100644 --- a/parts/language/lang_sp.lua +++ b/parts/language/lang_sp.lua @@ -291,9 +291,10 @@ return{ graphic="Video→", sfx="SFX", - stereo="Estéreo", spawn="Spawn de Pzas.", + warn="Alerta de Peligro", bgm="BGM", + stereo="Estéreo", vib="Vibración", voc="Voces", }, diff --git a/parts/language/lang_symbol.lua b/parts/language/lang_symbol.lua index 470d9d6f..7f4ae206 100644 --- a/parts/language/lang_symbol.lua +++ b/parts/language/lang_symbol.lua @@ -183,9 +183,10 @@ return{ graphic="Video→", sfx="#!#", - stereo="←~→", spawn="#[]#", + warn="!↑↑↑!", bgm="#~#", + stereo="←~→", vib="=~=", voc="~~~", }, diff --git a/parts/language/lang_yygq.lua b/parts/language/lang_yygq.lua index 9a07b45d..df5abca9 100644 --- a/parts/language/lang_yygq.lua +++ b/parts/language/lang_yygq.lua @@ -86,6 +86,7 @@ return{ graphic="改画面→", spawn="出块", + warn="警告", bgm="曲", vib="嗡嗡", cv="谁", diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index e436bc63..bba5d977 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -312,9 +312,10 @@ return{ graphic="画面设置→", sfx="音效", - stereo="立体声", spawn="方块生成", + warn="危险警告", bgm="音乐", + stereo="立体声", vib="振动", voc="语音", cv="语音包", diff --git a/parts/modes/blind_wtf.lua b/parts/modes/blind_wtf.lua index cbef271a..5f1b2d06 100644 --- a/parts/modes/blind_wtf.lua +++ b/parts/modes/blind_wtf.lua @@ -16,7 +16,7 @@ return{ pauseLimit=true, load=function() PLY.newPlayer(1) - if SETTING.spawn==0 then + if SETTING.sfx_spawn==0 then LOG.print(text.switchSpawnSFX,COLOR.yellow) end end, diff --git a/parts/player/player.lua b/parts/player/player.lua index 365af9c0..7f72ccb9 100644 --- a/parts/player/player.lua +++ b/parts/player/player.lua @@ -544,7 +544,7 @@ function Player.resetBlock(P) --Spawn SFX if P.sound and id<8 then - SFX.fplay(spawnSFX_name[id],SETTING.spawn) + SFX.fplay(spawnSFX_name[id],SETTING.sfx_spawn) end end @@ -1651,7 +1651,6 @@ function Player.lose(P,force) SYSFX.newShade(1.4,P.fieldX,P.fieldY,300*P.size,610*P.size) SYSFX.newRectRipple(2,P.fieldX,P.fieldY,300*P.size,610*P.size) SYSFX.newRipple(2,P.x+(475+25*(P.life<3 and P.life or 0)+12)*P.size,P.y+(665+12)*P.size,20) - --300+25*i,595 SFX.play("clear_3") SFX.play("emit") diff --git a/parts/player/update.lua b/parts/player/update.lua index 26f44cb6..408de941 100644 --- a/parts/player/update.lua +++ b/parts/player/update.lua @@ -1,8 +1,5 @@ local int,max,min,abs=math.floor,math.max,math.min,math.abs local rem=table.remove -local resume=coroutine.resume -local status=coroutine.status -local assert=assert local function updateLine(P)--Attacks, line pushing, cam moving local bf=P.atkBuffer @@ -95,13 +92,18 @@ local function updateFXs(P,dt) TEXT.update(P.bonus) end end -local function updateTasks(P) - local L=P.tasks - for i=#L,1,-1 do - local tr=L[i].thread - assert(resume(tr)) - if status(tr)=="dead"then - rem(L,i) +local updateTasks do--updateTasks(P) + local resume=coroutine.resume + local status=coroutine.status + local assert=assert + function updateTasks(P) + local L=P.tasks + for i=#L,1,-1 do + local tr=L[i].thread + assert(resume(tr)) + if status(tr)=="dead"then + rem(L,i) + end end end end diff --git a/parts/scenes/play.lua b/parts/scenes/play.lua index 3ccd2f0b..c044822b 100644 --- a/parts/scenes/play.lua +++ b/parts/scenes/play.lua @@ -248,6 +248,9 @@ function scene.update(dt) elseif GAME.warnLVL>0 then GAME.warnLVL=max(GAME.warnLVL-.026,0) end + if GAME.warnLVL>1.126 and GAME.frame%30==0 then + SFX.fplay("warning",SETTING.sfx_warn) + end end local function drawAtkPointer(x,y) diff --git a/parts/scenes/setting_sound.lua b/parts/scenes/setting_sound.lua index 4639320f..3ca485a5 100644 --- a/parts/scenes/setting_sound.lua +++ b/parts/scenes/setting_sound.lua @@ -62,9 +62,10 @@ scene.widgetList={ WIDGET.newButton{name="graphic",x=1080, y=80,w=240,h=80,color="lCyan",font=35,code=swapScene"setting_video","swipeL"}, WIDGET.newSlider{name="sfx", x=180, y=200,w=400, font=35,change=function()SFX.play("blip_1")end, disp=lnk_SETval("sfx"),code=lnk_SETsto("sfx")}, - WIDGET.newSlider{name="stereo", x=180, y=500,w=400, font=35,change=function()SFX.play("move",1,-1)SFX.play("lock",1,1)end,disp=lnk_SETval("stereo"),code=lnk_SETsto("stereo"),hide=function()return SETTING.sx==0 end}, - WIDGET.newSlider{name="spawn", x=180, y=300,w=400, font=30,change=function()SFX.fplay("spawn_"..math.random(7),SETTING.spawn)end,disp=lnk_SETval("spawn"),code=lnk_SETsto("spawn")}, - WIDGET.newSlider{name="bgm", x=180, y=400,w=400, font=35, disp=lnk_SETval("bgm"),code=function(v)SETTING.bgm=v BGM.freshVolume()end}, + WIDGET.newSlider{name="spawn", x=180, y=300,w=400, font=30,change=function()SFX.fplay("spawn_"..math.random(7),SETTING.sfx_spawn)end,disp=lnk_SETval("sfx_spawn"),code=lnk_SETsto("sfx_spawn")}, + WIDGET.newSlider{name="warn", x=180, y=400,w=400, font=30,change=function()SFX.fplay("warning",SETTING.sfx_warn)end,disp=lnk_SETval("sfx_warn"),code=lnk_SETsto("sfx_warn")}, + WIDGET.newSlider{name="bgm", x=180, y=500,w=400, font=35, disp=lnk_SETval("bgm"),code=function(v)SETTING.bgm=v BGM.freshVolume()end}, + WIDGET.newSlider{name="stereo", x=180, y=600,w=400, font=35,change=function()SFX.play("move",1,-1)SFX.play("lock",1,1)end,disp=lnk_SETval("stereo"),code=lnk_SETsto("stereo"),hide=function()return SETTING.sx==0 end}, WIDGET.newSlider{name="vib", x=750, y=200,w=400,unit=5, font=25,change=function()VIB(2)end, disp=lnk_SETval("vib"),code=lnk_SETsto("vib")}, WIDGET.newSlider{name="voc", x=750, y=300,w=400, font=35,change=function()VOC.play("test")end, disp=lnk_SETval("voc"),code=lnk_SETsto("voc")}, WIDGET.newSelector{name="cv", x=1100, y=380,w=200, list={"miya","naki"}, disp=function()return cv end,code=function(i)cv=i end},