diff --git a/parts/gametoolfunc.lua b/parts/gametoolfunc.lua index e75ae1fc..57512b5d 100644 --- a/parts/gametoolfunc.lua +++ b/parts/gametoolfunc.lua @@ -23,6 +23,7 @@ function saveSettings() end function applySettings() love.window.setFullscreen(SETTING.fullscreen) + love.audio.setVolume(SETTING.mainVol) LANG.set(SETTING.lang) VK.setShape(SETTING.VKSkin) applyBlockSatur(SETTING.blockSatur) diff --git a/parts/globalTables.lua b/parts/globalTables.lua index 0cb30d18..70710d9e 100644 --- a/parts/globalTables.lua +++ b/parts/globalTables.lua @@ -301,6 +301,7 @@ SETTING={--Settings warn=true, --Sound + mainVol=1, sfx=1, sfx_spawn=0, sfx_warn=.4, diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index f3444898..eabcf222 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -375,6 +375,7 @@ return{ game="←Game", graphic="Video→", + mainVol="Main Volume", bgm="BGM", sfx="SFX", stereo="Stereo", diff --git a/parts/language/lang_es.lua b/parts/language/lang_es.lua index da34c742..a1b44b08 100644 --- a/parts/language/lang_es.lua +++ b/parts/language/lang_es.lua @@ -340,6 +340,7 @@ return{ game="←Juego", graphic="Video→", + -- mainVol="Main Volume", bgm="BGM", sfx="SFX", stereo="Estéreo", diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index abe74e87..01423ebc 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -339,6 +339,7 @@ return{ game="←Jeu", graphic="Vidéo→", + -- mainVol="Main Volume", bgm="Musique", sfx="Sons", stereo="Stéréo", diff --git a/parts/language/lang_pt.lua b/parts/language/lang_pt.lua index 299574b8..1210ea29 100644 --- a/parts/language/lang_pt.lua +++ b/parts/language/lang_pt.lua @@ -363,6 +363,7 @@ return{ game="←Jogo", graphic="Vídeo→", + -- mainVol="Main Volume", bgm="BGM", sfx="SFX", stereo="Stereo", diff --git a/parts/language/lang_symbol.lua b/parts/language/lang_symbol.lua index 76f6f0e6..0e5b0621 100644 --- a/parts/language/lang_symbol.lua +++ b/parts/language/lang_symbol.lua @@ -257,6 +257,7 @@ return{ game="←Game", graphic="Video→", + mainVol="#_#", bgm="#~#", sfx="#!#", stereo="←~→", diff --git a/parts/language/lang_yygq.lua b/parts/language/lang_yygq.lua index fa555dd8..4c51f5ef 100644 --- a/parts/language/lang_yygq.lua +++ b/parts/language/lang_yygq.lua @@ -100,6 +100,7 @@ return{ game="←游戏设置", graphic="改画面→", + mainVol="总", bgm="曲", spawn="出块", warn="警告", diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index 9f68bcc0..7089ada7 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -374,6 +374,7 @@ return{ game="←游戏设置", graphic="画面设置→", + mainVol="总音量", bgm="音乐", sfx="音效", stereo="立体声", diff --git a/parts/scenes/setting_sound.lua b/parts/scenes/setting_sound.lua index fc17ad65..f9bc9b28 100644 --- a/parts/scenes/setting_sound.lua +++ b/parts/scenes/setting_sound.lua @@ -4,7 +4,6 @@ local sin=math.sin local rnd=math.random local scene={} -local soundBeforeMute local last--Last touch time local jump--Animation timer(10 to 0) @@ -76,29 +75,15 @@ scene.widgetList={ WIDGET.newButton{name="game", x=200, y=80,w=240,h=80,color='lC',font=35,code=swapScene('setting_game','swipeR')}, WIDGET.newButton{name="graphic",x=1080,y=80,w=240,h=80,color='lC',font=35,code=swapScene('setting_video','swipeL')}, - WIDGET.newSlider{name="bgm", x=300, y=190,w=420,color='lG',disp=SETval('bgm'),code=function(v)SETTING.bgm=v BGM.freshVolume()end}, - WIDGET.newSlider{name="sfx", x=300, y=260,w=420,color='lC',change=function()SFX.play('blip_1')end,disp=SETval('sfx'),code=SETsto('sfx')}, - WIDGET.newSlider{name="stereo", x=300, y=330,w=420,color='lC',change=function()SFX.play('move',1,-1)SFX.play('lock',1,1)end,disp=SETval('stereo'),code=SETsto('stereo'),hideF=function()return SETTING.sx==0 end}, - WIDGET.newSlider{name="spawn", x=300, y=400,w=420,color='lC',change=function()SFX.fplay('spawn_'..math.random(7),SETTING.sfx_spawn)end,disp=SETval('sfx_spawn'),code=SETsto('sfx_spawn')}, - WIDGET.newSlider{name="warn", x=300, y=470,w=420,color='lC',change=function()SFX.fplay('warning',SETTING.sfx_warn)end,disp=SETval('sfx_warn'),code=SETsto('sfx_warn')}, - WIDGET.newSlider{name="vib", x=300, y=540,w=420,color='lN',unit=10,change=function()VIB(2)end,disp=SETval('vib'),code=SETsto('vib')}, - WIDGET.newSlider{name="voc", x=300, y=610,w=420,color='lN',change=function()VOC.play('test')end,disp=SETval('voc'),code=SETsto('voc')}, + WIDGET.newSlider{name="mainVol",x=300, y=170,w=520,color='lG',disp=SETval('mainVol'),code=function(v)SETTING.mainVol=v love.audio.setVolume(SETTING.mainVol)end}, + WIDGET.newSlider{name="bgm", x=300, y=240,w=420,color='lG',disp=SETval('bgm'),code=function(v)SETTING.bgm=v BGM.freshVolume()end}, + WIDGET.newSlider{name="sfx", x=300, y=310,w=420,color='lC',change=function()SFX.play('blip_1')end,disp=SETval('sfx'),code=SETsto('sfx')}, + WIDGET.newSlider{name="stereo", x=300, y=380,w=420,color='lC',change=function()SFX.play('move',1,-1)SFX.play('lock',1,1)end,disp=SETval('stereo'),code=SETsto('stereo'),hideF=function()return SETTING.sx==0 end}, + WIDGET.newSlider{name="spawn", x=300, y=450,w=420,color='lC',change=function()SFX.fplay('spawn_'..math.random(7),SETTING.sfx_spawn)end,disp=SETval('sfx_spawn'),code=SETsto('sfx_spawn')}, + WIDGET.newSlider{name="warn", x=300, y=520,w=420,color='lC',change=function()SFX.fplay('warning',SETTING.sfx_warn)end,disp=SETval('sfx_warn'),code=SETsto('sfx_warn')}, + WIDGET.newSlider{name="vib", x=300, y=590,w=420,color='lN',unit=10,change=function()VIB(2)end,disp=SETval('vib'),code=SETsto('vib')}, + WIDGET.newSlider{name="voc", x=300, y=660,w=420,color='lN',change=function()VOC.play('test')end,disp=SETval('voc'),code=SETsto('voc')}, - WIDGET.newKey{name="mute", x=1160,y=180,w=80,color='lR',fText=TEXTURE.mute, - code=function() - if SETTING.sfx+SETTING.sfx_spawn+SETTING.sfx_warn+SETTING.bgm+SETTING.vib+SETTING.voc==0 then - if not soundBeforeMute then - soundBeforeMute={1,0,.4,.7,0,0} - end - SETTING.sfx,SETTING.sfx_spawn,SETTING.sfx_warn,SETTING.bgm,SETTING.vib,SETTING.voc=unpack(soundBeforeMute) - soundBeforeMute=false - else - soundBeforeMute={ - SETTING.sfx,SETTING.sfx_spawn,SETTING.sfx_warn,SETTING.bgm,SETTING.vib,SETTING.voc} - SETTING.sfx,SETTING.sfx_spawn,SETTING.sfx_warn,SETTING.bgm,SETTING.vib,SETTING.voc=0,0,0,0,0,0 - end - BGM.freshVolume() - end}, WIDGET.newSwitch{name="fine", x=1150,y=270,disp=SETval('fine'),code=function()SETTING.fine=not SETTING.fine if SETTING.fine then SFX.play('finesseError',.6)end end}, WIDGET.newSelector{name="cv", x=1100,y=380,w=200,list={'miya','naki','xiaoya','miku'},disp=function()return cv end,code=function(i)cv=i end},