From 4af660666ba2dec221fa4bfc8d2405c2f6e8dfa9 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Wed, 27 Jan 2021 12:32:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8D=B1=E9=99=A9=E8=AD=A6?= =?UTF-8?q?=E5=91=8A=E9=9F=B3=E6=95=88=EF=BC=8C=E6=95=B4=E7=90=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.lua | 2 +- media/SFX/warning.ogg | Bin 0 -> 6098 bytes parts/globalTables.lua | 3 ++- parts/language/lang_en.lua | 3 ++- parts/language/lang_fr.lua | 3 ++- parts/language/lang_pt.lua | 3 ++- parts/language/lang_sp.lua | 3 ++- parts/language/lang_symbol.lua | 3 ++- parts/language/lang_yygq.lua | 1 + parts/language/lang_zh.lua | 3 ++- parts/modes/blind_wtf.lua | 2 +- parts/player/player.lua | 3 +-- parts/player/update.lua | 22 ++++++++++++---------- parts/scenes/play.lua | 3 +++ parts/scenes/setting_sound.lua | 7 ++++--- 15 files changed, 37 insertions(+), 24 deletions(-) create mode 100644 media/SFX/warning.ogg 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 0000000000000000000000000000000000000000..629b16c636ab39cf250d2a73504ce94891a5a337 GIT binary patch literal 6098 zcmb7I30Tv|wx19P37b(C0g)zvLMU4h6ewt9Q4&QU5|Aab%Vw$qaYH1^QbaZpB4Vnb zY*E%*gJN5V3!sPr#DvuXDp17*3JR4fcmBclYv1?2cki2TGMPDN=FFU#-#K&U?;a7c z6UcxsDa>N2l4gFY7^RCkxGy#&Dh?r`oT~s>glWnhCH=pNaz{q~m5`Ar*s61hy1C2> z>G@YWgIB?mQfCr$sY6Can{?Bv2B%G++s+N$B)Sg#u?K+y?2y1VDuFy_+2x)Ny zt1xu{WC4eSEs7m+eD(93uGaW+Pi^Biq?UThB3~=jp_uB4#54O zV2LSebXQ{Pp9QI`FeHOiUKr9&s?dq+Ah!{cRqTE(J?r6!Bb9p4jQOScbegHeFYfKn z@=xR5ZJsBj;2oimKMScI1h^JR43iQO$xHH<)FJ>5qB-@9+QWLCN8LJ)rgb`(ukl>5 zrrXlAhi<)dodd(mMeN1!VKAA8SmJ{$F_+crEvdGU|IAX=2`EskZ=0u2%F`p| zJ-5k|O-ZYg0b$6N6dPqcx5<9tn!P3}Z_g2K#Hpgn^F_b%FDgj8z_XM^Rs%*3XG|Q< zjyRGhEsH9mipu}nOo_a23@C6f+Yaa~<*l&>^3ol?58#Q^*|7y_~#+OV~2^NYT~lfzU{1ir>b>lkJTepH%}|Kp8q26R68NX3si*o{T^;K z2fHpeSh_77C|0us>!h?a6YP*)@`6y*RW$R+R;6gHn6GxB=k_VD3x!Y zk=AowoQTwZzNPqlS5cgZs#H|AR6DZbf_ydqF{Eit@Kjp0f?>a?$3^n|{#|gaZ&%TH zWuqFboyxypC}{Lrk|z}!C*tqsiEi7D!V#wiF2pqAn6UPH81L;P972QhekpKL_)y@v z1@~#Tet(jXn2iZhBbF1->c;1&oGm8bCza}EWpAPJlRfBKhGp?5rJ54}NWuRd#l$qt zkaS`NFIK_0vNSKlxZUW74$FroNKtiHWH(uN7w@D*zW$hIVlDO#%@T}XjH|JAjVTjI z{Jt)O04J3#Srj}}LRju*jF!|s(h6gtRTQ68`1`?48FVgR-Tk-RIjsZ1yo6^dm>E6? zS-$7kgEvx{eeB`h#Npnoz?Es?zTAK0CDoxO05K=2Ip&9ClG}L6I~;LK2mHlywjNMx zJEQa9jKQ{l8Mr+*dGwo=`;1k$stbh6PIYFtI=e?BeCK**k9BwtBV2qiyuTsb|3;#3 zL*nq<-*PYe@0J72M$b0;x$8eIC;ORAwmvn_z&CHL)N=UeFTUho{vVc89GOv3m{F0Q zF_E5abc!2ws_1It<-P4Slehk3{>yTp!NBZ7H*oofz>{t&rdx~YrVK9!#(zp;#I)eX7Dzp_kJNeVO-S#UrG zsI*PnQ+u2}A6t3OZtrG0bjLHPJ==Gxx-i7fo(wl10jt|9-2bsv&lA|R_Vi+STC@7S z7=s_S_i){M#Vk(-+rNPoe3&&j=g@Nl7)ckgM z!$mkzAmsXl_pki+>H6b?bEy&1RdqA0yS>hUF@CSCpc{X$2rT2XzgPRyC2oIc39p*2zPG?@dI(hYtLbLJ1J9Uab&I~n~=d%ar zSx+N|nsTO}|IvCTX7CPqvLSA$sm7#vX5I1dT}R8K2FoWu-gZ$sAThs5^1lUu$zcImf{TUl=wT4NXN zCJtqbrj&3HPzW|GN|e;J|D^}gRY4FwR)s7_q$@#xP^RKYTONwHoG1!cVd6o(3(dTHqZMZ7RXjVoLHgok*tTlIZQ#Vr?>p7`KBq z&V$|!G9;E0mGLU{R|I&SN7t9Cg^uy^mF$dHr{vR&$p!f#O8k4?^bA3%S7=QAm`13m zBwu5jaXnp5g&>oky<)zsZf;NuSRghcGDIO+No+N zio|b$qD)(MIZ;iy`5~sHmcEdV#ul!>e2E~JmI;^ZpJ{tT60KZzZ`ab~nSu|R$mE*a zjIH4ami32$kSbdNHzvA%TqCqoFeZr+{ahi5cB>y72$n@FO!obP?V`;05YVLi?yL1l0LXsy-*atr6@*pyR9(P-Bh9z+TqZ`jd|2KSLB}y zObbh^@S{U4(muadhKWUUDw2r7#XpYv(0<&}ipjjY`VT zqtU8U=`J0*Bf-Iy7WM+Jcv-btr+44 z(Swn3N2z~T5#dOt+xwJ=1Of-+tEO%sslI*dv~oKEsZp(ldcK_K(LY{hM2142&2M$ zM_1As0D^=lKoF)_dPLr*0RoIP3HSVBs^MiB!iNQ{rO~9#|ErMRs{ijo9sKGu3Pu)# z?!Lkrx`ducO{3NdQ;(xCK-#h7LaolY$)*g~Ell8 z0WohI&q+e61miF|aS&*PR$EUD#Z4idMFJRodsMgVim9=cA5B1kA!QYS$E_FD<;8p3 zXa`8Q$pCOD>Eu>koC-8xXBrubk;cQWq%X9T+%L3}e7fZlZB4!hG*P4UIhNDY}+S~D(F z17QCMyb^+QB>vtrpx`RJjoV;9on|;RBK!Six;*j( z1JGeE1E39qU*4^=^}9BC*Yx{XDiz^?5g?QY!eAL^XREgE(P`8QJxfRW3MmUIWM!A4 ze&j(YD=U5B$@*_wVk0j+gdSdmF<)n4m6&X1VQy}YLXwK5RpN0=vblxnQqyYP@nmx{ z+1hNWNw!Ll%5hIQId|#GfVExu^c5zeE*L*X};ubb8sFLqFtv+z}meQklci;xxN)TwUS5o+(Fx2yh1kp|OuqU?tS$ z)=?NqYU&^M>eURD9r*y2w;wNs^x{5Pa8~ww?jGE?Dbmw@2a?7oCQuYKsB9dj{j@Zq)Z02HqT@{Q9so2fJT4nfT1oL|!QsS9T$Vx(1*uy_zrRNnu zL4itbK+K5t)>;4Cqw~MNl<)yX4)_ApJR&aWd(3QB(nqUf+245|So9XVIwX(%(FTNx zs5Tkk@y;}^AhxhhnTi7J^#ptTPzadKYHs{4E+Nv?{*wC2l9&ZQaC2mJIuNoRzTb|b z6`={q4;<&Ll~A{nt^nI9b@YqW#aXK%L&s}J74)w?@I40t_n|onoGYq8`1#pvNop+r z%%`sa)&%Dvr}=pc;6*L|k+Jx;?(LmQzrYeh)Q8$@Oq?->qYNk?$=6)Y-xmNkd*S)ibqmGd9Os zunN#4gIR;x_XWAmi1siYi=ES5UOT*QXN5yGABX>L;0Px}9~BKaKP|3GIy=65X7!I_ zXN)*qG}+1>RptIzj>?OIO^vO!S9gE*3V=e)<}qF!xGn&c<%BA2tALCO#dc$Xe$9S{ z*N_*TIK8GKC&Cq7L~Ur^k+^TuP5YSHic8;gqxxiA3G0I}1jQwkMQVdSMS>d0rPN75 zMmg&woZD=#_hz9t35$5x%xQ6CwE!c01A`l{v#YK^qr$^iIpAE{w@(8Y0WgMZdgnvi zmhf))$%dJO?12^jIEn&64^fc|0sceNhD*ke-o9KYGaLX$1Z9pP&?Cx$pdt+5ffN)+ z){%$UDF7tov&g%j=QdHHrv+1wpmP`rE}%nBq^|=kg?`Jw`epu&|1-bI&!0c*DnsAE zF}f*spGqqrr$$x}?5~-; z;I8wlzJn44N7dQQb1)e(C8O|vWJyP?9SSXB{CL_cAVn`!5kgGX#teXG@8j3X6dM~+ zPFzCO8EoYJo=j9mK=UGX_~Ph&Y_(-)sPBSo531=nhV!FxI8nNzxy81LWHd>A& zBd^2&{@ExH##+3wZP$i{0PFWxcXomW{eUTBN{bGFAFaN9|KV;w)~&s8j?P)}3IdwI z=s?M;FJ7-nur_I%|771;tPJkG=!?~v-ZjZEo_m-8+k7v)Ii8lh=saium@+Z8Ubo}0YZy&3`%Eo zIq(qTah6jL_^7*I=^-%tsPlHZ%kNea$;`1JcpHS7wMRYB037oQT{U5S5yrz~5js%f zNlV`6YT_!ymFZ^3lnAEGXp*L7-%w`WHKT=Y2FMgP6Wxl&9gGjIU99;AhdglUn;~#NN{+7)D0=Hw) z@XoCBJI1~A%C-2HUfh#n6~JlslL+WP?v@v#cP>+DzxL_Ep3gsoD^fZJhOtTp+~y-W zpB}_cG6GUAZ5Mq69L2Sq40#F~WL~&yU>tPQM60;?GiF5jP%^%OUO0K&N)Z$t*;30G zzFVuH?T~0_%?rXt0I>PXeKi}yu>iX$();Qr0GIP1j@sg*l;PjO99MWt!8HEvt4lnq zs}qZ&ea)W^o<3@C3)6uC_&L(@haa>vS%Wh(Gk}0NAM{_S3w&A=bCG2T0zoAv2nkxk zKB1dVmA|77FWYEPy=8h^ zCBL7jIhmQ6`WKHTB)DL-D0am&8^M`e8GzSwLxaw1(4z|N(YG<+Af}7kx7*TF(V`CpDZh8}7@^J3c%0TPx# literal 0 HcmV?d00001 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},