From 6bb4ad0cad5451378ae6c920cad57f7a141ec53a Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 29 Sep 2024 13:36:03 +0200 Subject: [PATCH] added new game element "light rock" to native BD game engine --- docs/elements/bdx_light_rock.txt | 1 + graphics/gfx_classic/RocksBD.png | Bin 20339 -> 20669 bytes graphics/gfx_classic/RocksBD2.png | Bin 7227 -> 7549 bytes src/conf_gfx.c | 8 + src/conf_snd.c | 3 + src/editor.c | 40 +++- src/files.c | 13 +- src/game.c | 3 + src/game_bd/bd_cave.c | 1 + src/game_bd/bd_cave.h | 1 + src/game_bd/bd_cavedb.c | 27 +++ src/game_bd/bd_caveengine.c | 41 ++++ src/game_bd/bd_elements.h | 7 + src/game_bd/bd_sound.c | 3 + src/main.c | 20 ++ src/main.h | 357 +++++++++++++++--------------- src/tools.c | 20 ++ 17 files changed, 354 insertions(+), 191 deletions(-) create mode 100644 docs/elements/bdx_light_rock.txt diff --git a/docs/elements/bdx_light_rock.txt b/docs/elements/bdx_light_rock.txt new file mode 100644 index 00000000..04cfd9c2 --- /dev/null +++ b/docs/elements/bdx_light_rock.txt @@ -0,0 +1 @@ +Like an ordinary rock, but this one is so light that you can push it without delay. diff --git a/graphics/gfx_classic/RocksBD.png b/graphics/gfx_classic/RocksBD.png index 51dd2b6e2b17be58f058d7985fb74e2b800d8a8e..6d30f4808be599ffda523d8793b18055b728a8c9 100644 GIT binary patch delta 19555 zcmbTdcU%*}*YLXu2~~Qp2?)}=NGG8Ps5Avc=~WbvCPJib=m;Vxs0h+jnuQ`r5roiH zs)7R25<1cXQUZkJ;`4i+`@Z*n-uut}D>>)P?9R-Y+3%UNvw!m;pNk+>)-+&Lum5S2 zy4xSV#HNn3J$h=!b&E}kMVyDe?4pS+*C)5ErtdTnu6#tv$qOKM{ouJXiFaTPnntPD zZYUU{^EF&RqS(pLgCSK+0!cS?~{cG%|cTLevdz=GSm$rU`l;ozBxritb#I_ zVjz*9e{jjk^^OOV?~|SDaaKW~*<282pnl7*@zkJv+WU95+uqCuUCRA87LEqBo^{lu zrtTkd`W3;EXjgVz32|?#DgDs;l`I{-9HD!zx@aQUWYU4*&q~eCa8g>2P52aecY*^gR4V@4%C4BU<_7f_#8U7W-NWe1vA2EtSOf zj$!hZ9LTFH)@sPJhSAk5eCsjs@#C{Dg9UFOMf}^TcU_I4rYtk9`zYpfqfjL@_yl;| zo{l)SjFbNeoEmbmt?#j7sGX>uNuIMmeCaAh+nG`waTk|pJ9J7WCRBUR!GZF>X+LJ{ z)p$=QC6d72=f^ce(04xw+?_6tn8C)9KiJ78iKyp{=+20BY^aMBrN_+Z6Jzb7qBSHL zQz<;O!St<_9;w;<0o0Oli2+#l;n#}Wtshm{9W+P+zaXs~V@7JlgG^_-3T~;J$GoMn z2bznm*snr!%S*`j+Fp}X*Gr@W@1mKo^|iN_cEE8IecuzN54LzS#6(07q1r-=*Yhpz zxn8JeCo{I`j>93@-ZfR1QK^pX0Jpl+c=H_7rB)fOw1dCCG4gv-xW4TGZghVUtyO5F zl;ian-V2ZlM>rcqsuiEc=sE!b?H@>G{9R9m>O^f z)oPx&u6UIxgHucM)IzHQEAJ53!?tPg!NyRE|^=^O4i35uk?2C7i|J@ju_%1*SD|4nPz zf7UB5NvSU06wWJi4QP8}UFb<<>y(k>w)xNwrLS0Rc#3>IQ{`k{Aix{(89|jxi4~zg z%_j*9{45&LUggyPzv)5x)7kf+L?nmm&7|w8nqnT3xOPIuZZ$WSE+!kT-DfY){#+As zl_lx5WRGO@N>l*-+v361YoTr{o8n2!{sY)(KUfB(ldoU#GlJReBl(_iuY%n1Q_&Fh zdNk@B)D&f#s%hsXXLjX$H3kmNHf&?R1GVChX-C?gN;N@ZH9;<+YNaCYf%#KRR%QtL zz^7>jOiH1I@t^mglUkX}*RbvsG`7Z%%O3ljX|Up9=jw66kAmy9yoX3I2B3WCOx{ z5O)NUuMHv`O}ufP5GxLm7S>T^+|QG55V6>yq?Wx2ve0KV?G;Fsx^kSvUG4y`L5aK1dL2l@Z501 zcdQ=NM41T>_nd>Q+Kw=wF;}pD+`~{dk&@%%qYSNu*xx_Gx^#uO*)1c_HB_Y|K*K*- zOg_DcMx>>2KIvUk)l=hd3>ohrUB=zK$jdZVvHQFO8Cr$F6hUd!m&Y_$eI$#^bGsFAwr+GkKV82HR5BV*E$k1FPK6r!t_)8N zX{7w}KX(gxW}lkeQuYEh#hmu)=J`J*>dZD(eGWR(=o^IuSRm#iP>Vrcz2tHm`Rm*e zS1O(RNAgcvcV-$}1+#@Bt&*R!BAp4M>LYc${X%+|n2_)4T=P z+=dc8UpQl{>;0db&3zqmRq>zJdES#5^xeqKnvy+YdzQcco#kTVDV`GFa#seuU(;VD zlr*Q_z^X`c&TmBCs`0zTmh2q#KE4?HYh~@ZeddP>mfowdC0@DZw_QCR zYHYHK8eeQx(*|#}d6xB^m!o5P?Bsjc%zeR$L4Y^JQ$g!mhTlLzy;!-dew2Rct*-+N zf$WS{4#7+?%(KiW4qfm)jq}}a@_$z07fSUbDDHc=g^6#hgDxNpH0=;gsi?U_%!;kYAc(D^J5UE_{inO-HHbi zDmV4XJ21ZM5b=cjFnczXF2u3BB=aA+E&qqyxSOov;(a{SaEc8x{W{d)1(Yg|ohO2e z-PE&VMoc*1*cNKa7^Y1fcJ;OgXqPMBOjwt}ey@)ObOy;sT~^|vaqk-YtmWDvL;vj7 zKg9pu=7k$7BdYKQJgpM`@rYTuSbA)1vDARnygVG+g`z{+Cg+6Wh`dg)E{}bF1di} zml@4$4@xcG3kg6<{tMN2-DKOIKP&1c-}Sy2!(>Y-x0X#Z#>T)4C#nI?TtjKXm6jI( zXLIbf zkg#!xQyzub(O_rq3A)Y*B9Og;K6Clvz8O|-k?P&qJ`5S=&Vq=I;EBpPU$BuRb z#RVKl!m-EqQN~tx(I?vN|D_E)LNF-Jp0d!gHFzD%#4U%#|CV+Pf(~jGSJ_ypADTd5 zqjw!IvHf7BDYrl5nsDCiL8ZPdqeQWwHcB zjNED0m3+_Yd;Wp(X$pPN`*=ccHqH}z+j%EDYCtN4ST0yTv?TwC@c4hC8t?A&Kcv<+ zye1Di_k1`BrM&2;`hgvf)7TyBkJ*8?-R%FI>l{^9;TEO zdz$A=$e#y;&EAld6&lF2_p2eOnG+`T?zC5&s#_*pYLOMz@Wr?Y-jEqaCkJxS98LNA z|5=Ii9heStY?0P6B7D-HRFZ{AT5B$po!-YLlH2mDrYiDL4YZer@$H6OSL0Ouv!7tS zd4n0tpG?v-s9T50Z~;MGdrmY~}4I3$7wg`Br#qQ=)FLxu8@HN zm?b@1)(kFbblCeSTdO4Z93(92iz9+W45#=ZKc-&WqE+$_B+7e z;2&=<{Wov@0^ORNOs5Jnr?XHHCnKG$>tSy4X<3}e>oh584;0ZaX$xWMOD6!%_#Xhb z|2KfEJ($BygvCWpxC{m|bMPCvExmi2msR2~&;-~e2-~cJH?BjPW%%ws3wW``zn1vx zM`=@05ZC)DzaQuagRbhePyfT;|Nr=P(jbe;WBU@d;3rPDE_S+MNCOclvCr1)OUapO zdki{$Es$AP5fq@e%6;>Q(fP$Y4#+?zH0w-mB;>Fe(BUuTbzOV!aAp{za+Z(YGDq?+ zMnxe<%I_N@Qzl(DqR2P%oUt-jS8n5pHFya;(&@`3P z%G^>w5vGovLtYJJV*CwM;UGjiqZ%|VyGmVcnXsPISKZ(><%-1RA2VcmLc z@jnwnvd0= z?s3ci4)e3LRWJBqt1MnxrhM1gxg5A#nA5_Z>CeOiI{lxR-STC<%k;nTT>KwAd)iM- z=a1z-oG9+{Ik4V9RSQLiey@w7vifCy&r>@+D==ayoX5D&(P6pdiD0~!LR#JsNRx{3 zG4dwA8YVdZS?jn_qxiTSOd$ye#YM77gguqN8=^7^N?7Wy<$P(+?Aojl);7q{U3_Id zs}NpzazHw@(IOv6+ zFn6Gy;g*Ku!w$BqfLX!UJ+)$%mV25QK!*$29R)FTbf@c`n%SZre#GZ|RQLN^HPeqO0hUB4;~ zEI6SwyY84}K1#QwxwFN#@vuYoINCtORgltaSh@j$IWlOX@624wBdd$2y!NHZkiI z$u`@2YjjfORyG}veQtYjUCQ@58qP&^e5gjGYi}H(S`RWmWBP|}Rdbu~OY<+zgnw1c zdL{N+gqD@B*{(U1%1LMeCOqIujAYFRJ;Ky+B7zCoN_N$GwNlj5ZM2=r+G5I!1Y47f z8A+6r+m*IYEr;yf;LDH<5#GY^v=jma%&!KHK}VhVw;0`Abdo6t{Yq0rl=tMS@EMgp zK*;3|!>4>XYpAdU`j{fwZW0<2Zj#4+Q*N|;>)mB6oW8rpEg|qf15~Mx~ zR&1Wh!YK+z_e&(J1g_74D>L7JVC=Dq6Put|$Y_~OZh2*=BV%H0vv+dww$v*RZ zOOBpcinOn<&AK(CE6b5Ywa7VlzE zsC~4lKwqg$;Z0DSrg~7yskY4&;}D$__gn02&NvSsh*zI(;!UfFpGvIVF3d5v}b zE9c2)FpS-Tl1 z5jIaaX=}TO-I-BAp;S|H?jKbet02He6gMr_}d)93JApO@Zhk|GK;Z*Tb|enGGj`CBL( zIgV^4fjr`t#ncOPEx_8(1cgIdD4IEN$_kN06L`R^Y80w9;%I5|qFu2y8(uO@%?fhC z&Xa5%!3;A^vmbL49XFC489$3h6H2KJb6?>8-Fy4!VQH#&k`t?EV=cvPO_dX0S`d9$oi%AaS8Z;Lc=wehVdQ%e zY1veJj{-rVV!27$%K25_=>*cQJg(j(#ys2wzq6C7>t>FR^l+SHa)#IP2dqt8vODi2kaFg{{K+<&2zmgs&C5-`#^>)=KPG8f)?e~4S=BBS< zZf(uM1J|0g&umzdJIo#@C6US4r=H7MB+Ke!95m2}c_pBYSSbbYXH7afbumhTkza>n zK71;I~>tdPq6NqaQX$Xi~N z(-4^Y>sDw->q~6Am)1FH!1p$TB_e52c~h!iWGkGdujC9Ya6z>nNqE+M5hG8YN$bL- zfXPfs{MxZ6IaZvK>*3F_#|Pj(Y)FHuz{iAd=WMgGP$Lk6oB^tdB*!bKh>^cOvDRqR zsN4dtoP+UOQkdt_Eb6}RkG-idkj||8VG%$Wd!`l&2 zJ$fQX98`yVtB(ymgAxuU548MMNHgPm%v4UFzhSTX(oxPiy)AK4;58tqp#?}iznozR zF_`3aZOr=H!-(A4naam3!zE{MZv%=2YXdL@JD((v*Z}UI9+#1>A)htgg{ygs_A4FdO0(4%;wd(WxcO0Jy zLA-Fv=xOD^c4waS8#C-1p9YAEFcuQO$2T<8rFjQBuE5Pp@G}v*BInHJ?z`&rL6^6J zKSUmR=_t%Z^QZULyL9^!t^)7J(A{{(cM2eJZeyR8@Oo)OOJAW%$fM5>1r_ErNFLf%?@atdZe!-nfIKS8MR z-YV3Jny91Qx0g|qWc`Qo0)=dIw9$lof5hMyuQR49fHq^js~t-UyUHX?$N=r)!k zQw7>WVRPn&Rf_0j4~zs_o5~Go02yq#q&Bw%^WEW-m}^E?PJ418FGt_z_iyK1aQKE{ zu7|?NbhmLgm(3Dwn61cc4`JF6F`@Ri0z-Y#=D>;z;~XK#>uxs8lsiyi7PY{r!Mjxu z41bY|k#DAFdrG|q%)liWqHQ^FVfy=^B=&HDFHn&XWDd+PHQ7K)?+LbNE`+h_AX?u; z^r&DujL!#3Qjls-;$*-pPn#r(Onrl2hkQchwX!fuW#fYm_O|Rv4bcn=X;p(K?%89N zqa9|l*MPJiAGry#&Gtg_2STAFZJvkht_E30X;q6e>*;voYn$22@kKTVnaRTJe4>VK zJjh9xK(%b=p(mWk&SxrIHy|+7)y!&Pd9cFy7UYUGyKK`X?d%j}ZzUZUtnfaqZd0aC zTPg4NR5mWdmF+x*jwJj6DM+S$iQ01vuXL?Pvt5|3=wv1-e4)31AzDOm-}k#~%CvI~sgx~Gp}DW1iqQ6G zN@;JHaF{ha%GjFyLn+dp-CCOkNayi{>e#b;ykJ0KwCrcq*DG@f-%TPDd%WwwPRyGJ zJ!H6-PO4;Ym~Nzx{-Sm(?SoGEIJffWIUHUZa#lg%OGUDB^gAGwv368dXF8H~E?gH! zfSmMZ{Tac77(y<0{uSmg1Y)1^;QA$#nI6NRvsp4B6>f$Q!?7RcAJWt9TVSUN_f>M{ z2cK-II5QPgxLkl_P#*yEu{)6#SAc{gXa*ApIiF`CRa?vmqN`UjK7=jWR3Yc_SeoAm zxd)jJ7A)-J#ZCZT`GBlHP5j$$;kbFj9~CAowgs%qC#x?~NO=b|eAqfXci|3{#Iw=5 z55qcJVHIgo_csx~%!71aLTcMR5*f)a1T3GQQaBBXJ>IvANx+B$b3MZw=?$tTk+gMZ z4lyZ3I)bI$oKN`%Cf^Fn;_~ZL>n_2@;jtG(UI?VGwa z{0KXsKCE_3mre!WmsVO6W~N#i)b=b2CYYO?Q23c>bzHjqM!3f5*7Qi9X5*@7S1IEY zQXWk#$m9t=@^-=J&WHMrbg`r6B*qtp2Lm1wWHTxtG>WbbLIxDPFn0761OPX zzYqS3p=m>{g@aA{nGF6LhyAP+PlRlTlvOdGSv%s-0xs$#5p2ugQ4)*QP6`vgWMay|R@ZLL1zc+k-oC^HwD4^@YkM|JM*jwXVgN04ss(;pGVOZj;Yx zGd*FZU4MMc7&LjAJP6xf#p(nhvBU7X`d}usYrZjd_-X zF9>7bXk#FA7+z=X(s*orjdi)oZcs1(o7(mzUCSN)7K3~}-E$DK?<=+~Q=OsTS0QVW z0!#W+2MnK{-f?}*WqMct2>=SNDHjMH_K&KOU;TXzoP!#j{ooJA96pc$c*Ql1HWXsC zpP@pJY1LrVKWj?`rzev<$Q-X)YFSdY`bfP3>ImJRuVQkaxS31|tMZJUXOxb50C2K# zXi$;5m$%WJS6$;o=wZOG^2v$HZib(5EOoGSX$&(YDx)l+8{_@50L&ZYW(qq0#Uhw~ zl6)xp;q~??(+2%h0sLGJ$b(}Ygl0$vZ;ir`=enL$hxJ4+;W+Qa7{usV@1Xmr^q)^1 zApb1mkwB{McmHDi(-9>HJoqhO`8=!9F+$+}bD0>_519YPR8vjOTf6DX4SQ9_Q;!Wh z(nRfiu=4?~kxN_YVDz_+h!NAZC3;DS8F~4>nRx6d3=JCmHP+!zVV0j_htYF0?zBZq zR#EhCMEI$5l|gw8od%e-^4T?CF>7%O`P#zK75y{P=X#X5uxIXt4@_Be;T}`JMYeoE z*)v1e#FMUdD_#e3TVu9_dDf-|JE@hei5jq=ejp-3SOf-Qaj$7GqU~=LlDj{0F%QDO zPtv5_b5m%yGhIFX%JChPIG9G4ynm~{L;~=+cuNgSrte?1gKNxK0bH?m@N;8wbF(;`QmnA9I4S%ncy-YV0Y=7TZIg%oZ?FO+_?#cXGR?Z9clq2{`@AYAsrQ`Sq3`ca<9h+hzy3^(Eb(zL~JinF=Y8^NR2{A}~E>_2CKBtTFo>e2hr$7i^}XQ5}$4Z#es5j53u1I+ik!`e|J%7N|= z?0nH*DhC5udm(2L7Z1OT#>{Ts%<9dv5;%pv1e~O_nTN<8x!6p@G1~dXm!W8L@pKNOgM)ODv!fo_-Zf(q-?Biq z_f|R7Mp_NZy+$_4q%vk?x_;UR@-~e$`ZhXT*_a9KPd5=GZAT*n8&+n(lLw#cTo8p0 z*;Jr1W}Q!&{}sVz(*4j7{^51j)K!Q<(c(ObY=%K!By<~1hDY@Bp7%WijRK0n&@0~YU7^IY213#!$aa{R7QK~(`VOM z+rg5DjUBgMX6HiRK;k(G3AI1z#owtFsgy4Y(esYKSaRSi5fzX)mX3TYW_rZi-^3H(8 zkM;2D8PXOezR^*M_q6PKP*rbVlA5I7*W$&pZzp_jY`dk(GFG+P6T~-w#GA3Pj<{+) z^yY@{HA3-^i8jC5s%-UU{4gqCUTAGz&)H%9D?D4oJ7OX6C?tRgN#H?HYn8FKb%96b@?BGBvRvm#>hG}+ zT8F^T#=P;&Uo;gNTJJcU(n8QwZ5h&7{6ZR820 z7fq>9^ZaJUw*=PF9m3aDge=lVY2Ev(7wnYf8hd*Nc>~pxmLh-oK9>rFeP7%1{Bv_} z*&7}?EOiMf57fe!mZnPz!z^fAslOC1|IjG)=DpMr-PeXIUOtJU#Rj-3y zbg$xZ^ZSvQjOeGpBIiK$PJqFo2ZO1DD|96XLr=m}w!b5T6kF>Y4&MJ*aj_s=vIV_*#+-STR z@>SukWU7#4S1ue}#t1G{UAk>)*@f7?R72+9d%vDp_;htYt@7<>5Y<4Ao|#Gay9l1;lZNK<5Z5XchkO_!ubY7hW%sMY-VN7w{j6B9w6kt7vMp(RJRrkHp6P z{oZ+YbJd-$C8o%J_hz1HLP0SwzP~96r{A*2Af93Nz^E2<`vTD()0PPhv^(465?%1` z-rKeJ7&{w%@VR0}y@h?b+?=G6RvF-3BQZ+!3Hxd^8jt{JyZ;n#WI;+}3G^&zjj3T8=nrV1oA12N^AOt+;R?_{>?u7g1&HM&j*5Z+P(wVDq@l}cpNp7TI($lEIndR~OPp)xJsG;c zaDGSBOrR<00U$B4e`4I3_-R_ShWRzy0`$Z$HO}o&qV2JRvxf(XhV9;;iqb`KEpy{m z*tm`)OV=S8ibABGXg#$xcC;N7$qd@v^0}uIX@ikTpMBSHe7tcGcQ!hb1P&Tv@tz%+ zU%dEaVr{>t>E`BsKFXBPlY~mtsq%nFhCnbku*r=3`>RW=k4aku-}s+vC}+T*-HZ3u z=BD1v`nUg9M#GY)70U+1XHXiSD~V^V3-=2mng+wvn#qx9HL|xT?%v(*5|z^-Eg(kl zh4=cMqoWhsHW-PPhzz6tJved(M{Ht=4InxqLMF4;LgGj=G<09{Seme~MB_tfIw}~P z*+2AH4l@(cd(Nwa8lwBp1^!q4)|pcl5037ZN70%-s5>MYRg)NVI$ldmGEOHPjqWp4 z(l=EekUy8!cs;yfliemwh`#+MAw4rjjuX@)py(hYT;^`HlIcg#k#-S`TvvkV}8%(-}^(Z*89@2EkwwEbswf{~ZhOUKue(6^! z%#0xKZ*G2m1%($jx(SttY)3-Q2U}rGaMgbgM2n7`H|f8Lc%7s??Md;#Jl_}4cK8qB zp`BT05N}Y5R~VXeoajlfbK1{g1!ERm z$8L#orLumxz=kv_Rk0NYasK?tYRP_hOU+6#6v}`lwSEv*XiuxA;S8L6u5Af5;|Se^ zHrMf()Yyw{dhRR6oSwNKh(4=MWSfm)ob>y(O#>M=N8-eHQ|;wIoQq5Np4bCk7)eoO zDVAg;g|&HaimkN!a!?N*P1F<9#icxN=*=kpWj~f`iw+9Gi8d$wp@$Q1v+Gftv5$H2 z3rx2uxr1#La$l*%a-BoYch0B60LmjuYn1kLJe{ePm8%|N^U1#DTG$J^a2Ny~bGZ|g z!U|kW0qTDU(3M##qk+EpG#LDJ&VRfSQ#&Q=AHu#X25syF$v=KSD9`TcekH zTR8x(WZ1I#SHv_HFsu}*W(F6n`kdLe^mL7|XJf#g#8D_fRdgAPJL1CHyYS!w?iZC& z<$3S{m${X82HOsH0u~b~)q)9E;pka?=xo&Cg}*bC)sqfbbPMR;5co z!R3EdY#@XJF5-qYFIM|y!Kowgm@C8};8$+$7{|CYV@9%jjX$^R**qmGF?0JJz{(mz`V zp`7H8-a;#&owkMNfil>3e*hQ&8n4C|(MQ8HAsJ*Fp;x*vG{q_GFPx&_X@KQbjC-_o z%!oZrcnzdb%NR!l-L3$X4wRna{mW7xZH9TEO}XW@{+ER!=<(lL-_uA##F}*L*jZrN z7M4h0@N?A5>GT6DNquaVoBT~qSHsHjOJjOaK8j-A0<3{~eX4qD$P~l|48JE{tA|{~ z3LRX9;SV^qgw?sfZ%LE)?$IkfcW-s$0(VeYBe{zPIBEzm2$#c4LhzSdi3W z|K%t~S1!`wL@hL0J&T(!{WBv{F)aOS!JB8j7P<`N)2b)0?+!EehnVxurPFvKZ!{zY z;cnkXh7LkWwm4}#Yv=SSk2-x@Y~P^YWp*1yzL3|J9fyIcT)IEe@5*@-xY5}$S~&73 z99xIi%gj+0QWq)_oAeaYC_MBOI%z$1!w_4@SassPzFT{l-q^%x!35iAR|6O6&qy%h z+mb533FBD{lbM3db!A~NT1%@2c}KQmx>W|^JURUesD{oQGO2vN70Ve>IP?vrL{R8$ zEWDw86}uDrP!Sz`L8a*oc{Umbz@HXD+kCKFR85EsN=g6f&G_7PeOTZbDD1S0a46MS zj!jaa4AzmH?;GB;@i@Sx5ZzpK0e9nWi6>VEfw)vTTisZDbr3%?q- zZ<6#E5V&-hGw78GZd60@S38?O&&Vp9+_oJ2PED$*_Y!AC)!pVzt@kWtK>5|L6o1m~ zHv*rVC_>Ci@K-2<#zzgaeldFUOGESAi)QNineT^e3lVN&M!9UV*Mq1 z^D?H-(i_34!~-%1-{iW&(qD3IPaA=ma;R3t3R-W~GiLb83%4~g4sl;n!QW$z->q=% zQD-$9%8*$8LR5nwsVdx=DKmrs?{e}R;sur8bC&pLogl;JMGXgj1U4^*vglqF`nO3L zyjsK)9jGAX1bN!aZLf7-p!MBJ2%3a{E6^e{2ckiK^^I3_p?w9Uyu}z%Y7A7{Bv2(1 zKI5PCgs;ye+JfX|NV0_^5>;3f!?Qc$5Q$WL()sN5EVTqX4LdB%Kk;jqP~*pTmmu+zsityD@VB);D z>X$hmr4?{$_}M~ViETH|J=-N3GSJ1z^EyPn&28P9-JhvyT~XG_w~3)H%!J8mQ)q z;X#Vxe#EE_(%I6v8)M;8NIe-2-~i#s%m;;Exox9NV|l8Qe&~WWa;AKT>VNbce~%~i zAo6~5X6p8DY$4Rh7GKSP@q2OgQY3^Y2EdQ!0TjO|u501rB3i9;+ z&dMpBpymz}wjEC=k})VXLx?}^YU8T62PZ1TkwTd1oi)`?j#8-~y~1}6J>UY?Qgz|j z8vH9i#IkXO6pyPFPs`t4S+U**tj^u$xTTC9{{WvI1BLY<6)5nxVb1pfQtEt#@Ohudt{DsR@p6nxUuK4G)JR3upg11ZA)zy8;8smJuWsEuYfaH4i$X(G z74HWf=4-KBPYzxHY$-1Ze)_!rIdKjG{-)4Y8H(> zBS-E~rOOkj|943r^7jYVNINT;uaXJ~PlChkUoh|OyFm4yjUOLNb|FTWZzrY{;FbSa z&k3`~9~~*y93AQhv!@+2HjBqD zH-YZUBO2G&Puet>e$zDLpxH=ri=ovR_A5~Q3Gp4k|Kgn&NR{3)IlEZjB)()eqo@{h z*U|L&HH&>voyXq(44uUp-H_Iq0s)%kJN}dSfs3cGD>al|*L^W;dJmK)fEUa$dwooslc%YsI ztfu%Ia)M5mSz4n~Cn}k?P$d@xeWOC2i4#3F_)hi@!~_9DVk8<03J#V&>99_|LQePj zp%i`i+WxDN;-U>kl6=4GR00NbUX#qTqPL<5sibkwV(HcmGv`%U{V0x zZXIW%`!I*d_xBM_->UACXp|j4azsgXt?bifxbAB47x7N(2W&+XoZR?!xBM`8=hpWn zcBHR-Q@s|~+I=-zLU<2`VPb~XhwMPJD?!z-C18oAGNB+K4p$W;7T$Q*zs1F4YYa{8 zcQOyi%nJCP_hUzc(K1CFy314s8bW?GP+eLJ!*vjJP_FjeR5h)W{Sws*I~m#9JzE_^ z$!!tNp9cU>gcA6q@>snzNAAB}nt65-rZf04T7qXp&%6>v> zdsdOpCy5|%U+zfLRQ?HlR}Z1??XIN}K0g0bljgEXxn^uscI#q(?GDJG!$akoy$XbI zh{RZ*$Ou*K`x6k8INR%-rd5BF!{?%tG%-ctlNh7JdMK$e9Z`37m<7r@!x5-p)} zSD^2%VQt%xA+ga@+|&Z%C{g{u~! zj1qM(%K{Qz5>h$}uZZh>XPZqn{tOqTK{KFsd+FsYva7MlJ~Q)z3LdM#d>Ad9I7?#kZV37{oV88NT+C4!#V zQ+o!oD2DU78zIPuof7@2RXM*-V#4J*4IzG>oF`&bqVs>YiCwTo;$$Rnv)8dazT7x6 z9a#`^s-HY9DT$NWkdS`?6ftph5O5xx#4)fg3An?B%lhjjhm%>8(6717i8BSDr;*NJ@Y`xyWv#p~J%Nz)b-VyPy9ThKfkLiI;W!TUH-}W^zd?s41RqgZ z2h#$ZfU$!ZW4;+k@@7;p6kRz&q_RvT!as8xz=-`VI)CGqVku?6Ul zoeJ|_jyJ+SY&u`xjVc00Zv8QUL>?YY-A&i!-y6F*hkoF^D`(CA8jZxA^1;bRD(}Mo zm?6=oC??|AaGTeT>UGwtO)d2~z&Sl$rVw`R!%3Gopq|U1Gb?zL-F0nR4Rv(0^`07_ zjjFF7p%0r=9_438UZVaDM`r?Uy=%oRn3K=lCYaTr88@$Dy%H%)#tjO%n`c>`HGR3U z69aXPs)B|T0oM-;;3rRi~>BPTC4EDG9VG zGJ+?q;3-r<-nX!0Cp!*Ic*Sje?<{>f_0faNwSUKZ{lBKS6@e;Pq|Jl;!;+AgS9*8d z4aoa~nhi%MPy>EU);ZjdxIO$4;SUP8tR38+^CSvgE^q!tjE|C9RV{k^OWJSU{UmDm zJ)hg8Ew>Fm7cYNDxFslY&P4W=Nu%{wnoK&u0u76u=_yU5eh~8@6PuoJiC-+#bGS!3 z@}!!u#?jYKHebpE_Y}B`{4nMMaHJb<@BkNi=!rb84RT!!hwXgZHL7<14$dl-KF8(4 zOm$u-x&A<ze4w{$DZt~1%TmxNlE5kY!v#VG`d(Jz~jnI-XaX=!q7Y*0| z=-k&9!Nsi(N9*d(eE-$bF0uvdHRccMNlis$|13^yO2f$+WcxQ*dRHGTD)ujYIeBNM zebZe~YuAA^wUjilvbmq4T7KBnouG3(MaX(fZ2G#sDA-du1Ny!c+aTCu>tq0-;Z&`5 z_S(xhPTY-8m)IORmqlSxoMw_8n~e28?Lqa%116q8TegE-uAp|iBH(Se3>q4uOl<+w zpgzzMSRdz*nX3~v4z^K+4XXx(d4oFbs)4t4GABuiv$f;3OjdXFcLfZ*J2oTO9fS0f z7_cHGml(hyefAk-%SDDN1F{k%P`nVXQOEvHebzLb?9?^GE%<%z$FrUoywE){taE&P z-m-fVqbptKMXaNGz)14ar|QF48+EI$f;Hp1X{u}Fp}E^Pk#6=GQfm99DE#1(8e`!N z@mc`1@ntKl6>n|@(9O*aYu5p5K_(~u5Pe#^EO1rczt_+)gP6{!!-R%%3A*8)RjfP- z2>b&;&TTA24MGc_M@KgbreH2&<31HpdO2wz+WN*4JI6%tk`2|60r6my8@WHbNWG+r3{lwX2i7&1{nVQS8qu2?x3OfZ2(|C|L^60 zD>9Grcs|cQn9C7Hzx4@lq{FbejxH3yU4O(7v^9Z?8WxQ%`=3jgAN349cfPkEjLnOGuKw~NJ?#M{1&=X^=3SlvjT#yLj$N19zzh@ngDn)7Hk=Bg=Peowd#nUoUyz$%9o@ABs!n2*G*I_K}E+pQq$lzMk}2|M{>TQ1LdEyhPPM zT0&8|pS!vr=CJuTCRV$AJl^gdyxB_L_VtXtzv64~Zb6{?@o4ER)9~xc3&r)J%pOiD z3tUvuIEvaW_{CBBrx$ItPEk zXMAvvS5t~5>#YSSzgzy|OxUBiPf&t1Lqp=)%1cH9Q+(-%PBl+UUR!z>q>eA z@sCj>LX%vP*|pgb)X!1yFvA1ok`^g-Nvia0&>!C2U0wuZaLz*&ZtthW&T^NLQJ2Uv z0S}vwPmw{z26=Bq+e6JNnFxqtd8bH6(QiN5zMA}(3_g+D+`Xe_^fGPbt|<9c?cICn zm!$^fy*_UVK zH^=Z`Y`!2tCxLZ{e#TDy?5D+;rlRj^tdq=X6}MIsH&oe}4&)zAxa+&!=Xt_sqc{G?E3H^<@IL$XlxryudP>F}QANiN7M^9)s7vH(x)>^yfq)A+7^XN$s09f8 z-E3d_;#)4-Rq;6gfvh6pDUaQ^ol!A*)fZx~Z4AG01nMNv2ZxzW%7`h-JBj5Rz*fqW z4{aWPdTE1OWf%YJSm1csE{hSP8(Wf^%E?^}bxtp|#a?0l$~q??_J0L33eELs6rfZ? zTJ|JlBWM(VpcGllo{Ve+&jS312=MHJvgx@e7xdf+=k@`E#k7n> zGU4}n*r06N?E-DvcYVKIyj|R1)F!fRZ=#huZ0|4X`?Tm8us!WK22J3%XePV~{Ptc+ z+S+LG4vYOFzc2lY1P2ek>>d7C25o4GW3SK+(R;D)8GWOEWrB+QdS?rl6z*^&g8@VP z1#Yo_`%GOjc$uJ(;0VoL-4Z^L#(JiFTO2`8n|TR5Dt)O0RtO5tgop8qaVr553LMFx z4Zhgz=EL5>8*G^Gc8h}rsOVQAC}!Au4OaAS^e~EYc(NlIwElH|c{v}SK!ITlG23=( z|L`UKHW5SqoAwe6s|u5NH+ttOP!7*_B!gIg!0^ZHFJGHK_pZQTB7J>n{-6Z=SJ9$= zn*>Ap7cY_wySFeU-i=OxTu}@!b|iy4=;UqtIof!*e*uOu#ZC9w?HjzL-zLeBB`C+R zeF;$N-RS-WrSM`$GPncl2MT_oHh|*p@mBi=F6ozMNDGi;c*Ac30uP_;SZ?HsQg~~B z$1(`PF|^UJ-#>WWdW_nn?EwC}l79Gh`Sknc`6I*dM!gIxX>vg+yt5-2gy3ArPQt%Y zfUDfMsr3Q`iFctN1BSU(Ju$puaq8UnxHrwIGO z!5j7b#{GjOuRe&nc_jBYw6Fiy)@?Wl+nwL`w6$*GpfKXwv0c`|#%nH(z@9qX!2`;OGZ`1$4}Kt9_#Qo&`(?_h)^)mkXx^2o%ap{O1*l6lUuO zq7dB&SpWU^d+-+oH?7@lwmd=tkN)LsW*T>jc|im=Q~?*o_uu!Dt3>cXfN5EPP@%Mk z$zKpFOvVIC;();K_uwxG4mO(|EXTuBY9C_sa)=a2F~R!6C!- z@N70=+XW?VKmMZN-QH1TxKs24fl`7iPAC~gF1RN^SOM}bDl0(gf|SCNx3F~V!(SqJ z9L2I#fMvv8@h))$X$7;v)wElR9?esHLA;a`Ur`D#wsmIHwuc0%;Bgdr&a`FdH`c4$ zWP@ibP&Rl16)*pHM}HF1}WZLd2=TE?G`Cfdnz!X*g?LEJhu7)MD?>+V7~J;#R}omNKoA&%Wy0s_*J$zzb+&j(1~dfHD%e;3SKCD* zX*P~@5ti`9!1rOMfNbFgaKHFQl?sG`DOfsu&58nTHYJ9CYvI58$|_J!Tc!we_)6fT zjZ%mA`6_Xnas^UZ%Y;AH$~CCL=5sSb>{Bbkt@Dr1c7!qgZ{8#%Xq|t5w!;nS-@P&a z#|jAlsamk(f9kR>w`_iSdHM4Als-+HW9bJ0b|8R9;lPTxdXTCRL(+L^yL<_D4~cz( zhWs1%^QLEivkD-oM6LUyAT%RQ+hK2H7w0KTzqvy}f-_AYonw5HCauK+{bAeTZB? zcFDy(<=AH-k$yc}J+|=%pJ3!7rfd|dwXKfk&Z9m91!aa55O^+0~=XQA~0$hrhAq7yAo%y)jh4kM( z_eMQy6af4W`Vu%8loKNK(s>zFVBi=oefQ(Jp-0U0XJlFa*#`;zhDt8HsKC%s`R7g& z@c&K>72pU!fZfa3Zl48Us|X--Jf@`>sPIOA0(G4(|5Cp3c|;?Tq5m>rD8Tb9ch@3- zw9`^}#V1*TK!6uv`R*vZ;s3>LTmi7V^eg~aSpbb1(gyHBa_oW+gU|AdTNo!`1?UFx z_hU^NC<2P178ffAF&?l~+nw2VmgZ=inbNJ3) z@N&RvfDJHpLa_?;=J@5#D8Q4Uw)`J|_R4`LXoU(uD=x@y*jwTzRvH1g7B0D^C7e#e zgNrgBFQp3D_V<~6Yr8&S?v)lhF7o!T#_eF4Rws=BEQc%JJE|Vs3`qI!pUc0qgaZ1N zB2dQdq5yyRuN>L+?CpCQDDzs4EZG2VyFwig@4DwkSS(T?;CJVkr%&5JAPh`@^Uf68 zLE2duf@6P*dq4;r^v<6rY`a}RzoUmHokalbb#~N4m7sK$S3836@GdB5iJ^_gwqpka zwC8S+GS{6C-|1ybu_Jfasq#;)sf6!bc)t!IO(ImyQ`|)k3Or6GcuRg|kQx+|Y z?b6|S!g{CT@6-jm=QhB%1pO@~_%4N0;}Gms48ptB{6DV!e?e%pJc{mu)&Kwi07*qo IM6N<$f_Ob@8~^|S delta 19287 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 N07*qoM6N<$0fKk|=PdvL diff --git a/graphics/gfx_classic/RocksBD2.png b/graphics/gfx_classic/RocksBD2.png index 434e6848ca67d757932dfce4790ae382da85bda1..733c5ff4b0873e5bb771005b614276a1a1164176 100644 GIT binary patch delta 6767 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 I+R7*9fB8wu8~^|S delta 6443 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 ILrB8^0ez|~6951J diff --git a/src/conf_gfx.c b/src/conf_gfx.c index 4ef10337..37edabc4 100644 --- a/src/conf_gfx.c +++ b/src/conf_gfx.c @@ -812,6 +812,14 @@ struct ConfigInfo image_config[] = { "bdx_heavy_rock.falling.EDITOR.xpos", "2" }, { "bdx_heavy_rock.falling.EDITOR.ypos", "3" }, + { "bdx_light_rock", "RocksBD.png" }, + { "bdx_light_rock.xpos", "11" }, + { "bdx_light_rock.ypos", "4" }, + { "bdx_light_rock.frames", "1" }, + { "bdx_light_rock.falling.EDITOR", "RocksBD2.png" }, + { "bdx_light_rock.falling.EDITOR.xpos", "5" }, + { "bdx_light_rock.falling.EDITOR.ypos", "3" }, + { "bdx_rock_glued", UNDEFINED_FILENAME }, { "bdx_rock_glued.clone_from", "bd_rock" }, { "bdx_rock_glued.EDITOR", "RocksBD2.png" }, diff --git a/src/conf_snd.c b/src/conf_snd.c index 1b912f2b..1d7b847b 100644 --- a/src/conf_snd.c +++ b/src/conf_snd.c @@ -83,6 +83,9 @@ struct ConfigInfo sound_config[] = { "bdx_heavy_rock.pushing", "pusch.wav" }, { "bdx_heavy_rock.falling", "klopf.wav" }, { "bdx_heavy_rock.impact", "klopf.wav" }, + { "bdx_light_rock.pushing", "pusch.wav" }, + { "bdx_light_rock.falling", "klopf.wav" }, + { "bdx_light_rock.impact", "klopf.wav" }, { "bdx_waiting_rock.pushing", "pusch.wav" }, { "bdx_chasing_rock.pushing", "pusch.wav" }, { "bdx_nut.pushing", "knurk.wav" }, diff --git a/src/editor.c b/src/editor.c index 9f2037e1..716cb3d9 100644 --- a/src/editor.c +++ b/src/editor.c @@ -632,6 +632,7 @@ enum GADGET_ID_BD_MAGIC_WALL_DIAMOND_TO, GADGET_ID_BD_MAGIC_WALL_ROCK_TO, GADGET_ID_BD_MAGIC_WALL_HEAVY_ROCK_TO, + GADGET_ID_BD_MAGIC_WALL_LIGHT_ROCK_TO, GADGET_ID_BD_MAGIC_WALL_NUT_TO, GADGET_ID_BD_MAGIC_WALL_NITRO_PACK_TO, GADGET_ID_BD_MAGIC_WALL_FLYING_DIAMOND_TO, @@ -1370,6 +1371,7 @@ enum ED_DRAWING_ID_BD_MAGIC_WALL_DIAMOND_TO, ED_DRAWING_ID_BD_MAGIC_WALL_ROCK_TO, ED_DRAWING_ID_BD_MAGIC_WALL_HEAVY_ROCK_TO, + ED_DRAWING_ID_BD_MAGIC_WALL_LIGHT_ROCK_TO, ED_DRAWING_ID_BD_MAGIC_WALL_NUT_TO, ED_DRAWING_ID_BD_MAGIC_WALL_NITRO_PACK_TO, ED_DRAWING_ID_BD_MAGIC_WALL_FLYING_DIAMOND_TO, @@ -4955,16 +4957,24 @@ static struct "Changes heavy rocks to:", NULL, NULL, NULL, "Element to turn heavy rocks to" }, { - ED_DRAWING_ID_BD_MAGIC_WALL_NUT_TO, + ED_DRAWING_ID_BD_MAGIC_WALL_LIGHT_ROCK_TO, ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(9), ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF, + GADGET_ID_BD_MAGIC_WALL_LIGHT_ROCK_TO, GADGET_ID_NONE, + &level.bd_magic_wall_light_rock_to, 1, 1, + "Changes light rocks to:", NULL, NULL, NULL, "Element to turn light rocks to" + }, + { + ED_DRAWING_ID_BD_MAGIC_WALL_NUT_TO, + ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(10), + ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF, GADGET_ID_BD_MAGIC_WALL_NUT_TO, GADGET_ID_NONE, &level.bd_magic_wall_nut_to, 1, 1, "Changes nuts to:", NULL, NULL, NULL, "Element to turn nuts to" }, { ED_DRAWING_ID_BD_MAGIC_WALL_NITRO_PACK_TO, - ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(10), + ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(11), ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF, GADGET_ID_BD_MAGIC_WALL_NITRO_PACK_TO, GADGET_ID_NONE, &level.bd_magic_wall_nitro_pack_to, 1, 1, @@ -4972,7 +4982,7 @@ static struct }, { ED_DRAWING_ID_BD_MAGIC_WALL_FLYING_DIAMOND_TO, - ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(11), + ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(12), ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF, GADGET_ID_BD_MAGIC_WALL_FLYING_DIAMOND_TO, GADGET_ID_NONE, &level.bd_magic_wall_flying_diamond_to, 1, 1, @@ -4980,7 +4990,7 @@ static struct }, { ED_DRAWING_ID_BD_MAGIC_WALL_FLYING_ROCK_TO, - ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(12), + ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(13), ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF, GADGET_ID_BD_MAGIC_WALL_FLYING_ROCK_TO, GADGET_ID_NONE, &level.bd_magic_wall_flying_rock_to, 1, 1, @@ -5713,7 +5723,7 @@ static int editor_el_boulderdash_native[] = EL_BDX_STEELWALL_SLOPED_DOWN_RIGHT, EL_BDX_HEAVY_ROCK, - EL_BDX_SWEET, + EL_BDX_LIGHT_ROCK, EL_BDX_INVISIBLE_EXIT_CLOSED, EL_BDX_INVISIBLE_EXIT_OPEN, @@ -5743,7 +5753,7 @@ static int editor_el_boulderdash_native[] = EL_BDX_CONVEYOR_DIR_SWITCH, EL_BDX_CLOCK, - EL_EMPTY, + EL_BDX_SWEET, EL_BDX_GRAVESTONE, EL_BDX_SKELETON, @@ -5790,16 +5800,16 @@ static int editor_el_boulderdash_effects[] = EL_BDX_DIAMOND_FALLING, EL_BDX_ROCK_FALLING, EL_BDX_HEAVY_ROCK_FALLING, - EL_BDX_FLYING_DIAMOND_FLYING, + EL_BDX_LIGHT_ROCK_FALLING, - EL_BDX_FALLING_WALL_FALLING, - EL_BDX_NITRO_PACK_FALLING, - EL_BDX_NUT_FALLING, + EL_BDX_FLYING_DIAMOND_FLYING, EL_BDX_FLYING_ROCK_FLYING, + EL_BDX_NUT_FALLING, + EL_BDX_NITRO_PACK_FALLING, EL_BDX_SAND_BALL_FALLING, EL_BDX_SAND_LOOSE_FALLING, - EL_EMPTY, + EL_BDX_FALLING_WALL_FALLING, EL_EMPTY, EL_BDX_PLAYER_GROWING_1, @@ -5949,13 +5959,18 @@ static int editor_el_boulderdash_scanned[] = EL_BDX_HEAVY_ROCK_SCANNED, EL_BDX_HEAVY_ROCK_FALLING_SCANNED, + EL_BDX_LIGHT_ROCK_SCANNED, + EL_BDX_LIGHT_ROCK_FALLING_SCANNED, + EL_BDX_DIAMOND_SCANNED, EL_BDX_DIAMOND_FALLING_SCANNED, - EL_BDX_FLYING_DIAMOND_SCANNED, EL_BDX_FLYING_DIAMOND_FLYING_SCANNED, + EL_BDX_NUT_SCANNED, EL_BDX_NUT_FALLING_SCANNED, + EL_EMPTY, + EL_EMPTY, EL_BDX_EXPANDABLE_WALL_HORIZONTAL_SCANNED, EL_BDX_EXPANDABLE_WALL_VERTICAL_SCANNED, @@ -12774,6 +12789,7 @@ static void DrawPropertiesConfig(void) MapDrawingArea(ED_DRAWING_ID_BD_MAGIC_WALL_DIAMOND_TO); MapDrawingArea(ED_DRAWING_ID_BD_MAGIC_WALL_ROCK_TO); MapDrawingArea(ED_DRAWING_ID_BD_MAGIC_WALL_HEAVY_ROCK_TO); + MapDrawingArea(ED_DRAWING_ID_BD_MAGIC_WALL_LIGHT_ROCK_TO); MapDrawingArea(ED_DRAWING_ID_BD_MAGIC_WALL_NUT_TO); MapDrawingArea(ED_DRAWING_ID_BD_MAGIC_WALL_NITRO_PACK_TO); MapDrawingArea(ED_DRAWING_ID_BD_MAGIC_WALL_FLYING_DIAMOND_TO); diff --git a/src/files.c b/src/files.c index d2573403..e999cb6c 100644 --- a/src/files.c +++ b/src/files.c @@ -816,21 +816,26 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] = { EL_BDX_MAGIC_WALL, -1, TYPE_ELEMENT, CONF_VALUE_16_BIT(5), - &li.bd_magic_wall_nut_to, EL_BDX_NUT_FALLING + &li.bd_magic_wall_light_rock_to, EL_BDX_LIGHT_ROCK_FALLING }, { EL_BDX_MAGIC_WALL, -1, TYPE_ELEMENT, CONF_VALUE_16_BIT(6), - &li.bd_magic_wall_nitro_pack_to, EL_BDX_HEAVY_ROCK_FALLING + &li.bd_magic_wall_nut_to, EL_BDX_NUT_FALLING }, { EL_BDX_MAGIC_WALL, -1, TYPE_ELEMENT, CONF_VALUE_16_BIT(7), - &li.bd_magic_wall_flying_diamond_to, EL_BDX_FLYING_ROCK_FLYING + &li.bd_magic_wall_nitro_pack_to, EL_BDX_HEAVY_ROCK_FALLING }, { EL_BDX_MAGIC_WALL, -1, TYPE_ELEMENT, CONF_VALUE_16_BIT(8), + &li.bd_magic_wall_flying_diamond_to, EL_BDX_FLYING_ROCK_FLYING + }, + { + EL_BDX_MAGIC_WALL, -1, + TYPE_ELEMENT, CONF_VALUE_16_BIT(9), &li.bd_magic_wall_flying_rock_to, EL_BDX_FLYING_DIAMOND_FLYING }, @@ -4362,6 +4367,7 @@ static void CopyNativeLevel_RND_to_BD(struct LevelInfo *level) cave->magic_diamond_to = LEVEL_TO_CAVE(level->bd_magic_wall_diamond_to); cave->magic_stone_to = LEVEL_TO_CAVE(level->bd_magic_wall_rock_to); cave->magic_mega_stone_to = LEVEL_TO_CAVE(level->bd_magic_wall_heavy_rock_to); + cave->magic_light_stone_to = LEVEL_TO_CAVE(level->bd_magic_wall_light_rock_to); cave->magic_nut_to = LEVEL_TO_CAVE(level->bd_magic_wall_nut_to); cave->magic_nitro_pack_to = LEVEL_TO_CAVE(level->bd_magic_wall_nitro_pack_to); cave->magic_flying_diamond_to = LEVEL_TO_CAVE(level->bd_magic_wall_flying_diamond_to); @@ -4546,6 +4552,7 @@ static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level) level->bd_magic_wall_diamond_to = CAVE_TO_LEVEL(cave->magic_diamond_to); level->bd_magic_wall_rock_to = CAVE_TO_LEVEL(cave->magic_stone_to); level->bd_magic_wall_heavy_rock_to = CAVE_TO_LEVEL(cave->magic_mega_stone_to); + level->bd_magic_wall_light_rock_to = CAVE_TO_LEVEL(cave->magic_light_stone_to); level->bd_magic_wall_nut_to = CAVE_TO_LEVEL(cave->magic_nut_to); level->bd_magic_wall_nitro_pack_to = CAVE_TO_LEVEL(cave->magic_nitro_pack_to); level->bd_magic_wall_flying_diamond_to= CAVE_TO_LEVEL(cave->magic_flying_diamond_to); diff --git a/src/game.c b/src/game.c index a9e5ae96..9866f900 100644 --- a/src/game.c +++ b/src/game.c @@ -15633,6 +15633,7 @@ static int getSoundAction_BD(int sample) { case GD_S_STONE_PUSHING: case GD_S_MEGA_STONE_PUSHING: + case GD_S_LIGHT_STONE_PUSHING: case GD_S_FLYING_STONE_PUSHING: case GD_S_WAITING_STONE_PUSHING: case GD_S_CHASING_STONE_PUSHING: @@ -15644,6 +15645,7 @@ static int getSoundAction_BD(int sample) case GD_S_STONE_FALLING: case GD_S_MEGA_STONE_FALLING: + case GD_S_LIGHT_STONE_FALLING: case GD_S_FLYING_STONE_FALLING: case GD_S_NUT_FALLING: case GD_S_DIRT_BALL_FALLING: @@ -15654,6 +15656,7 @@ static int getSoundAction_BD(int sample) case GD_S_STONE_IMPACT: case GD_S_MEGA_STONE_IMPACT: + case GD_S_LIGHT_STONE_IMPACT: case GD_S_FLYING_STONE_IMPACT: case GD_S_NUT_IMPACT: case GD_S_DIRT_BALL_IMPACT: diff --git a/src/game_bd/bd_cave.c b/src/game_bd/bd_cave.c index 068a588e..f85088fd 100644 --- a/src/game_bd/bd_cave.c +++ b/src/game_bd/bd_cave.c @@ -1854,6 +1854,7 @@ void gd_unscan_cave(GdCave *cave) cave->magic_diamond_to = non_scanned_pair(cave->magic_diamond_to); cave->magic_stone_to = non_scanned_pair(cave->magic_stone_to); cave->magic_mega_stone_to = non_scanned_pair(cave->magic_mega_stone_to); + cave->magic_light_stone_to = non_scanned_pair(cave->magic_light_stone_to); cave->magic_nut_to = non_scanned_pair(cave->magic_nut_to); cave->magic_nitro_pack_to = non_scanned_pair(cave->magic_nitro_pack_to); cave->magic_flying_diamond_to = non_scanned_pair(cave->magic_flying_diamond_to); diff --git a/src/game_bd/bd_cave.h b/src/game_bd/bd_cave.h index b5ca6391..91d46cb6 100644 --- a/src/game_bd/bd_cave.h +++ b/src/game_bd/bd_cave.h @@ -525,6 +525,7 @@ typedef struct _gd_cave GdElement magic_stone_to; // magic wall converts falling stone to GdElement magic_diamond_to; // magic wall converts falling diamond to GdElement magic_mega_stone_to; // magic wall converts a falling mega stone to + GdElement magic_light_stone_to; // magic wall converts a falling light stone to GdElement magic_nitro_pack_to; // magic wall converts a falling nitro pack to GdElement magic_nut_to; // magic wall converts a falling nut to GdElement magic_flying_stone_to; // flying stones are converted to diff --git a/src/game_bd/bd_cavedb.c b/src/game_bd/bd_cavedb.c index e328b9d7..247ea53e 100644 --- a/src/game_bd/bd_cavedb.c +++ b/src/game_bd/bd_cavedb.c @@ -46,6 +46,7 @@ enum _generated_cells_indexes i_h_expanding_steel_wall, i_v_expanding_steel_wall, i_mega_stone_falling, + i_light_stone_falling, i_time_penalty, i_biter_1, i_biter_2, @@ -348,6 +349,26 @@ GdElementProperty gd_element_properties[] = P_SCANNED, "SCANN_MEGABOULDERf", 0, i_mega_stone_falling, i_mega_stone_falling, 272 }, + { + O_LIGHT_STONE, O_LIGHT_STONE_scanned, N_("Light stone"), + P_SLOPED | P_MOVED_BY_CONVEYOR_TOP | P_PUSHABLE | P_CAN_FALL, + "LIGHTBOULDER", 0, 359, 359, 359, 156 + }, // has ckdelay + { + O_LIGHT_STONE_scanned, O_LIGHT_STONE, N_("Light stone (scanned)"), + P_SCANNED, + "SCANN_LIGHTBOULDER", 0, 359, 359, 359 + }, + { + O_LIGHT_STONE_F, O_LIGHT_STONE_F_scanned, N_("Light stone, falling"), + P_FALLING, + "LIGHTBOULDERf", 0, i_light_stone_falling, i_light_stone_falling, 359, 156 + }, // has ckdelay + { + O_LIGHT_STONE_F_scanned, O_LIGHT_STONE_F, N_("Light stone, falling (scanned)"), + P_SCANNED, + "SCANN_LIGHTBOULDERf", 0, i_light_stone_falling, i_light_stone_falling, 359 + }, { O_DIAMOND, O_DIAMOND_scanned, N_("Diamond"), P_SLOPED | P_MOVED_BY_CONVEYOR_TOP | P_COLLECTIBLE | P_CAN_FALL, @@ -2480,6 +2501,11 @@ const GdStructDescriptor gd_cave_properties[] = N_("Mega stone to"), CAVE_OFFSET(magic_mega_stone_to), 1, N_("If a mega stone falls into the magic wall, it will drop this element.") }, + { + "MagicWallProperties.lightstoneto", GD_TYPE_ELEMENT, 0, + N_("Light stone to"), CAVE_OFFSET(magic_light_stone_to), 1, + N_("If a light stone falls into the magic wall, it will drop this element.") + }, { "MagicWallProperties.nitropackto", GD_TYPE_ELEMENT, 0, N_("Nitro pack to"), CAVE_OFFSET(magic_nitro_pack_to), 1, @@ -3112,6 +3138,7 @@ GdPropertyDefault gd_cave_defaults_gdash[] = { CAVE_OFFSET(magic_diamond_to), O_STONE_F }, { CAVE_OFFSET(magic_stone_to), O_DIAMOND_F }, { CAVE_OFFSET(magic_mega_stone_to), O_NITRO_PACK_F }, + { CAVE_OFFSET(magic_light_stone_to), O_LIGHT_STONE_F }, { CAVE_OFFSET(magic_nitro_pack_to), O_MEGA_STONE_F }, { CAVE_OFFSET(magic_nut_to), O_NUT_F }, { CAVE_OFFSET(magic_flying_stone_to), O_FLYING_DIAMOND_F }, diff --git a/src/game_bd/bd_caveengine.c b/src/game_bd/bd_caveengine.c index 1d887030..99880bbb 100644 --- a/src/game_bd/bd_caveengine.c +++ b/src/game_bd/bd_caveengine.c @@ -170,6 +170,14 @@ static void play_sound_of_element(GdCave *cave, GdElement element, int x, int y) gd_sound_play(cave, GD_S_MEGA_STONE_IMPACT, element, x, y); break; + case O_LIGHT_STONE: + gd_sound_play(cave, GD_S_LIGHT_STONE_FALLING, element, x, y); + break; + + case O_LIGHT_STONE_F: + gd_sound_play(cave, GD_S_LIGHT_STONE_IMPACT, element, x, y); + break; + case O_NITRO_PACK: gd_sound_play(cave, GD_S_NITRO_PACK_FALLING, element, x, y); break; @@ -285,6 +293,10 @@ static void play_sound_of_element_pushing(GdCave *cave, GdElement element, int x gd_sound_play(cave, GD_S_MEGA_STONE_PUSHING, element, x, y); break; + case O_LIGHT_STONE: + gd_sound_play(cave, GD_S_LIGHT_STONE_PUSHING, element, x, y); + break; + case O_WAITING_STONE: gd_sound_play(cave, GD_S_WAITING_STONE_PUSHING, element, x, y); break; @@ -1238,6 +1250,7 @@ static boolean do_push(GdCave *cave, int x, int y, GdDirection player_move, bool case O_NITRO_PACK: case O_CHASING_STONE: case O_MEGA_STONE: + case O_LIGHT_STONE: case O_FLYING_STONE: case O_NUT: // pushing some kind of stone or nut @@ -1269,6 +1282,11 @@ static boolean do_push(GdCave *cave, int x, int y, GdDirection player_move, bool prob = 1000000; // p = 1, always push break; + case O_LIGHT_STONE: + // light stones are light, can always push + prob = 1000000; + break; + case O_STONE: case O_NUT: case O_FLYING_STONE: @@ -2297,6 +2315,10 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, do_start_fall(cave, x, y, cave->gravity, O_MEGA_STONE_F); break; + case O_LIGHT_STONE: // standing light_stone + do_start_fall(cave, x, y, cave->gravity, O_LIGHT_STONE_F); + break; + case O_DIAMOND: // standing diamond do_start_fall(cave, x, y, cave->gravity, cave->diamond_falling_effect); break; @@ -2374,6 +2396,25 @@ void gd_cave_iterate(GdCave *cave, GdDirection player_move, boolean player_fire, } break; + case O_LIGHT_STONE_F: // falling light stone + if (!cave->gravity_disabled) + { + if (do_fall_try_crush_voodoo(cave, x, y, cave->gravity)) + break; + + if (do_fall_try_crack_nut(cave, x, y, cave->gravity, O_LIGHT_STONE)) + break; + + if (do_fall_try_magic(cave, x, y, cave->gravity, cave->magic_light_stone_to)) + break; + + if (do_fall_try_crush(cave, x, y, cave->gravity)) + break; + + do_fall_roll_or_stop(cave, x, y, cave->gravity, O_LIGHT_STONE); + } + break; + case O_DIAMOND_F: // falling diamond if (!cave->gravity_disabled) { diff --git a/src/game_bd/bd_elements.h b/src/game_bd/bd_elements.h index d318699e..ad594c46 100644 --- a/src/game_bd/bd_elements.h +++ b/src/game_bd/bd_elements.h @@ -71,6 +71,10 @@ typedef enum _element O_MEGA_STONE_scanned, O_MEGA_STONE_F, O_MEGA_STONE_F_scanned, + O_LIGHT_STONE, + O_LIGHT_STONE_scanned, + O_LIGHT_STONE_F, + O_LIGHT_STONE_F_scanned, O_DIAMOND, O_DIAMOND_scanned, O_DIAMOND_F, @@ -418,6 +422,9 @@ typedef enum _sound GD_S_MEGA_STONE_PUSHING, GD_S_MEGA_STONE_FALLING, GD_S_MEGA_STONE_IMPACT, + GD_S_LIGHT_STONE_PUSHING, + GD_S_LIGHT_STONE_FALLING, + GD_S_LIGHT_STONE_IMPACT, GD_S_FLYING_STONE_PUSHING, GD_S_FLYING_STONE_FALLING, GD_S_FLYING_STONE_IMPACT, diff --git a/src/game_bd/bd_sound.c b/src/game_bd/bd_sound.c index e1bdfc4d..5468cb72 100644 --- a/src/game_bd/bd_sound.c +++ b/src/game_bd/bd_sound.c @@ -81,6 +81,9 @@ static SoundProperty sound_flags[] = { GD_S_MEGA_STONE_PUSHING, 1, 10 }, { GD_S_MEGA_STONE_FALLING, 1, 10 }, { GD_S_MEGA_STONE_IMPACT, 1, 10 }, + { GD_S_LIGHT_STONE_PUSHING, 1, 10 }, + { GD_S_LIGHT_STONE_FALLING, 1, 10 }, + { GD_S_LIGHT_STONE_IMPACT, 1, 10 }, { GD_S_FLYING_STONE_PUSHING, 1, 10 }, { GD_S_FLYING_STONE_FALLING, 1, 10 }, { GD_S_FLYING_STONE_IMPACT, 1, 10 }, diff --git a/src/main.c b/src/main.c index bda0cd4f..ea86e5d7 100644 --- a/src/main.c +++ b/src/main.c @@ -7237,6 +7237,11 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "bdx_magic_wall", "Magic wall" }, + { + "bdx_light_rock", + "bdx_light_rock", + "Light rock" + }, { "bdx_sand_ball.falling", "bdx_sand_ball", @@ -7262,6 +7267,11 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "bdx_heavy_rock", "Heavy rock (falling)" }, + { + "bdx_light_rock.falling", + "bdx_light_rock", + "Light rock (falling)" + }, { "bdx_diamond.falling", "bdx_diamond", @@ -7757,6 +7767,16 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "bdx_heavy_rock", "Heavy rock (falling) (scanned)" }, + { + "bdx_light_rock.scanned", + "bdx_light_rock", + "Light rock (scanned)" + }, + { + "bdx_light_rock.falling.scanned", + "bdx_light_rock", + "Light rock (falling) (scanned)" + }, { "bdx_diamond.scanned", "bdx_diamond", diff --git a/src/main.h b/src/main.h index c311346f..36096060 100644 --- a/src/main.h +++ b/src/main.h @@ -2244,195 +2244,199 @@ #define EL_BDX_ROCK 1405 #define EL_BDX_DIAMOND 1406 #define EL_BDX_MAGIC_WALL 1407 +#define EL_BDX_LIGHT_ROCK 1408 // BD style elements (effects/scanned; runtime elements, but can also be stored in level file) -#define EL_BDX_RUNTIME_START 1408 +#define EL_BDX_RUNTIME_START 1409 #define EL_BDX_EFFECTS_START EL_BDX_RUNTIME_START #define EL_BDX_SAND_BALL_FALLING EL_BDX_EFFECTS_START -#define EL_BDX_SAND_LOOSE_FALLING 1409 -#define EL_BDX_ROCK_FALLING 1410 -#define EL_BDX_FLYING_ROCK_FLYING 1411 -#define EL_BDX_HEAVY_ROCK_FALLING 1412 -#define EL_BDX_DIAMOND_FALLING 1413 -#define EL_BDX_FLYING_DIAMOND_FLYING 1414 -#define EL_BDX_NUT_FALLING 1415 -#define EL_BDX_FALLING_WALL_FALLING 1416 -#define EL_BDX_NITRO_PACK_FALLING 1417 -#define EL_BDX_WATER_1 1418 -#define EL_BDX_WATER_2 1419 -#define EL_BDX_WATER_3 1420 -#define EL_BDX_WATER_4 1421 -#define EL_BDX_WATER_5 1422 -#define EL_BDX_WATER_6 1423 -#define EL_BDX_WATER_7 1424 -#define EL_BDX_WATER_8 1425 -#define EL_BDX_WATER_9 1426 -#define EL_BDX_WATER_10 1427 -#define EL_BDX_WATER_11 1428 -#define EL_BDX_WATER_12 1429 -#define EL_BDX_WATER_13 1430 -#define EL_BDX_WATER_14 1431 -#define EL_BDX_WATER_15 1432 -#define EL_BDX_WATER_16 1433 -#define EL_BDX_COW_ENCLOSED_1 1434 -#define EL_BDX_COW_ENCLOSED_2 1435 -#define EL_BDX_COW_ENCLOSED_3 1436 -#define EL_BDX_COW_ENCLOSED_4 1437 -#define EL_BDX_COW_ENCLOSED_5 1438 -#define EL_BDX_COW_ENCLOSED_6 1439 -#define EL_BDX_COW_ENCLOSED_7 1440 -#define EL_BDX_BUBBLE_1 1441 -#define EL_BDX_BUBBLE_2 1442 -#define EL_BDX_BUBBLE_3 1443 -#define EL_BDX_BUBBLE_4 1444 -#define EL_BDX_BUBBLE_5 1445 -#define EL_BDX_BUBBLE_6 1446 -#define EL_BDX_BUBBLE_7 1447 -#define EL_BDX_BUBBLE_8 1448 -#define EL_BDX_PLAYER_GROWING_1 1449 -#define EL_BDX_PLAYER_GROWING_2 1450 -#define EL_BDX_PLAYER_GROWING_3 1451 -#define EL_BDX_BOMB_TICKING_1 1452 -#define EL_BDX_BOMB_TICKING_2 1453 -#define EL_BDX_BOMB_TICKING_3 1454 -#define EL_BDX_BOMB_TICKING_4 1455 -#define EL_BDX_BOMB_TICKING_5 1456 -#define EL_BDX_BOMB_TICKING_6 1457 -#define EL_BDX_BOMB_TICKING_7 1458 -#define EL_BDX_CLOCK_GROWING_1 1459 -#define EL_BDX_CLOCK_GROWING_2 1460 -#define EL_BDX_CLOCK_GROWING_3 1461 -#define EL_BDX_CLOCK_GROWING_4 1462 -#define EL_BDX_DIAMOND_GROWING_1 1463 -#define EL_BDX_DIAMOND_GROWING_2 1464 -#define EL_BDX_DIAMOND_GROWING_3 1465 -#define EL_BDX_DIAMOND_GROWING_4 1466 -#define EL_BDX_DIAMOND_GROWING_5 1467 -#define EL_BDX_EXPLODING_1 1468 -#define EL_BDX_EXPLODING_2 1469 -#define EL_BDX_EXPLODING_3 1470 -#define EL_BDX_EXPLODING_4 1471 -#define EL_BDX_EXPLODING_5 1472 -#define EL_BDX_ROCK_GROWING_1 1473 -#define EL_BDX_ROCK_GROWING_2 1474 -#define EL_BDX_ROCK_GROWING_3 1475 -#define EL_BDX_ROCK_GROWING_4 1476 -#define EL_BDX_STEELWALL_GROWING_1 1477 -#define EL_BDX_STEELWALL_GROWING_2 1478 -#define EL_BDX_STEELWALL_GROWING_3 1479 -#define EL_BDX_STEELWALL_GROWING_4 1480 -#define EL_BDX_GHOST_EXPLODING_1 1481 -#define EL_BDX_GHOST_EXPLODING_2 1482 -#define EL_BDX_GHOST_EXPLODING_3 1483 -#define EL_BDX_GHOST_EXPLODING_4 1484 -#define EL_BDX_BOMB_EXPLODING_1 1485 -#define EL_BDX_BOMB_EXPLODING_2 1486 -#define EL_BDX_BOMB_EXPLODING_3 1487 -#define EL_BDX_BOMB_EXPLODING_4 1488 -#define EL_BDX_NITRO_PACK_EXPLODING 1489 -#define EL_BDX_NITRO_PACK_EXPLODING_1 1490 -#define EL_BDX_NITRO_PACK_EXPLODING_2 1491 -#define EL_BDX_NITRO_PACK_EXPLODING_3 1492 -#define EL_BDX_NITRO_PACK_EXPLODING_4 1493 -#define EL_BDX_AMOEBA_2_EXPLODING_1 1494 -#define EL_BDX_AMOEBA_2_EXPLODING_2 1495 -#define EL_BDX_AMOEBA_2_EXPLODING_3 1496 -#define EL_BDX_AMOEBA_2_EXPLODING_4 1497 -#define EL_BDX_NUT_BREAKING_1 1498 -#define EL_BDX_NUT_BREAKING_2 1499 -#define EL_BDX_NUT_BREAKING_3 1500 -#define EL_BDX_NUT_BREAKING_4 1501 +#define EL_BDX_SAND_LOOSE_FALLING 1410 +#define EL_BDX_ROCK_FALLING 1411 +#define EL_BDX_FLYING_ROCK_FLYING 1412 +#define EL_BDX_HEAVY_ROCK_FALLING 1413 +#define EL_BDX_LIGHT_ROCK_FALLING 1414 +#define EL_BDX_DIAMOND_FALLING 1415 +#define EL_BDX_FLYING_DIAMOND_FLYING 1416 +#define EL_BDX_NUT_FALLING 1417 +#define EL_BDX_FALLING_WALL_FALLING 1418 +#define EL_BDX_NITRO_PACK_FALLING 1419 +#define EL_BDX_WATER_1 1420 +#define EL_BDX_WATER_2 1421 +#define EL_BDX_WATER_3 1422 +#define EL_BDX_WATER_4 1423 +#define EL_BDX_WATER_5 1424 +#define EL_BDX_WATER_6 1425 +#define EL_BDX_WATER_7 1426 +#define EL_BDX_WATER_8 1427 +#define EL_BDX_WATER_9 1428 +#define EL_BDX_WATER_10 1429 +#define EL_BDX_WATER_11 1430 +#define EL_BDX_WATER_12 1431 +#define EL_BDX_WATER_13 1432 +#define EL_BDX_WATER_14 1433 +#define EL_BDX_WATER_15 1434 +#define EL_BDX_WATER_16 1435 +#define EL_BDX_COW_ENCLOSED_1 1436 +#define EL_BDX_COW_ENCLOSED_2 1437 +#define EL_BDX_COW_ENCLOSED_3 1438 +#define EL_BDX_COW_ENCLOSED_4 1439 +#define EL_BDX_COW_ENCLOSED_5 1440 +#define EL_BDX_COW_ENCLOSED_6 1441 +#define EL_BDX_COW_ENCLOSED_7 1442 +#define EL_BDX_BUBBLE_1 1443 +#define EL_BDX_BUBBLE_2 1444 +#define EL_BDX_BUBBLE_3 1445 +#define EL_BDX_BUBBLE_4 1446 +#define EL_BDX_BUBBLE_5 1447 +#define EL_BDX_BUBBLE_6 1448 +#define EL_BDX_BUBBLE_7 1449 +#define EL_BDX_BUBBLE_8 1450 +#define EL_BDX_PLAYER_GROWING_1 1451 +#define EL_BDX_PLAYER_GROWING_2 1452 +#define EL_BDX_PLAYER_GROWING_3 1453 +#define EL_BDX_BOMB_TICKING_1 1454 +#define EL_BDX_BOMB_TICKING_2 1455 +#define EL_BDX_BOMB_TICKING_3 1456 +#define EL_BDX_BOMB_TICKING_4 1457 +#define EL_BDX_BOMB_TICKING_5 1458 +#define EL_BDX_BOMB_TICKING_6 1459 +#define EL_BDX_BOMB_TICKING_7 1460 +#define EL_BDX_CLOCK_GROWING_1 1461 +#define EL_BDX_CLOCK_GROWING_2 1462 +#define EL_BDX_CLOCK_GROWING_3 1463 +#define EL_BDX_CLOCK_GROWING_4 1464 +#define EL_BDX_DIAMOND_GROWING_1 1465 +#define EL_BDX_DIAMOND_GROWING_2 1466 +#define EL_BDX_DIAMOND_GROWING_3 1467 +#define EL_BDX_DIAMOND_GROWING_4 1468 +#define EL_BDX_DIAMOND_GROWING_5 1469 +#define EL_BDX_EXPLODING_1 1470 +#define EL_BDX_EXPLODING_2 1471 +#define EL_BDX_EXPLODING_3 1472 +#define EL_BDX_EXPLODING_4 1473 +#define EL_BDX_EXPLODING_5 1474 +#define EL_BDX_ROCK_GROWING_1 1475 +#define EL_BDX_ROCK_GROWING_2 1476 +#define EL_BDX_ROCK_GROWING_3 1477 +#define EL_BDX_ROCK_GROWING_4 1478 +#define EL_BDX_STEELWALL_GROWING_1 1479 +#define EL_BDX_STEELWALL_GROWING_2 1480 +#define EL_BDX_STEELWALL_GROWING_3 1481 +#define EL_BDX_STEELWALL_GROWING_4 1482 +#define EL_BDX_GHOST_EXPLODING_1 1483 +#define EL_BDX_GHOST_EXPLODING_2 1484 +#define EL_BDX_GHOST_EXPLODING_3 1485 +#define EL_BDX_GHOST_EXPLODING_4 1486 +#define EL_BDX_BOMB_EXPLODING_1 1487 +#define EL_BDX_BOMB_EXPLODING_2 1488 +#define EL_BDX_BOMB_EXPLODING_3 1489 +#define EL_BDX_BOMB_EXPLODING_4 1490 +#define EL_BDX_NITRO_PACK_EXPLODING 1491 +#define EL_BDX_NITRO_PACK_EXPLODING_1 1492 +#define EL_BDX_NITRO_PACK_EXPLODING_2 1493 +#define EL_BDX_NITRO_PACK_EXPLODING_3 1494 +#define EL_BDX_NITRO_PACK_EXPLODING_4 1495 +#define EL_BDX_AMOEBA_2_EXPLODING_1 1496 +#define EL_BDX_AMOEBA_2_EXPLODING_2 1497 +#define EL_BDX_AMOEBA_2_EXPLODING_3 1498 +#define EL_BDX_AMOEBA_2_EXPLODING_4 1499 +#define EL_BDX_NUT_BREAKING_1 1500 +#define EL_BDX_NUT_BREAKING_2 1501 +#define EL_BDX_NUT_BREAKING_3 1502 +#define EL_BDX_NUT_BREAKING_4 1503 #define EL_BDX_EFFECTS_END EL_BDX_NUT_BREAKING_4 -#define EL_BDX_SCANNED_START 1502 +#define EL_BDX_SCANNED_START 1504 #define EL_BDX_SAND_BALL_SCANNED EL_BDX_SCANNED_START -#define EL_BDX_SAND_BALL_FALLING_SCANNED 1503 -#define EL_BDX_SAND_LOOSE_SCANNED 1504 -#define EL_BDX_SAND_LOOSE_FALLING_SCANNED 1505 -#define EL_BDX_ROCK_SCANNED 1506 -#define EL_BDX_ROCK_FALLING_SCANNED 1507 -#define EL_BDX_FLYING_ROCK_SCANNED 1508 -#define EL_BDX_FLYING_ROCK_FLYING_SCANNED 1509 -#define EL_BDX_HEAVY_ROCK_SCANNED 1510 -#define EL_BDX_HEAVY_ROCK_FALLING_SCANNED 1511 -#define EL_BDX_DIAMOND_SCANNED 1512 -#define EL_BDX_DIAMOND_FALLING_SCANNED 1513 -#define EL_BDX_FLYING_DIAMOND_SCANNED 1514 -#define EL_BDX_FLYING_DIAMOND_FLYING_SCANNED 1515 -#define EL_BDX_NUT_SCANNED 1516 -#define EL_BDX_NUT_FALLING_SCANNED 1517 -#define EL_BDX_EXPANDABLE_WALL_HORIZONTAL_SCANNED 1518 -#define EL_BDX_EXPANDABLE_WALL_VERTICAL_SCANNED 1519 -#define EL_BDX_EXPANDABLE_WALL_ANY_SCANNED 1520 -#define EL_BDX_EXPANDABLE_STEELWALL_HORIZONTAL_SCANNED 1521 -#define EL_BDX_EXPANDABLE_STEELWALL_VERTICAL_SCANNED 1522 -#define EL_BDX_EXPANDABLE_STEELWALL_ANY_SCANNED 1523 -#define EL_BDX_ACID_SCANNED 1524 -#define EL_BDX_FALLING_WALL_FALLING_SCANNED 1525 -#define EL_BDX_COW_LEFT_SCANNED 1526 -#define EL_BDX_COW_UP_SCANNED 1527 -#define EL_BDX_COW_RIGHT_SCANNED 1528 -#define EL_BDX_COW_DOWN_SCANNED 1529 -#define EL_BDX_AMOEBA_1_SCANNED 1530 -#define EL_BDX_AMOEBA_2_SCANNED 1531 -#define EL_BDX_WAITING_ROCK_SCANNED 1532 -#define EL_BDX_CHASING_ROCK_SCANNED 1533 -#define EL_BDX_GHOST_SCANNED 1534 -#define EL_BDX_FIREFLY_1_RIGHT_SCANNED 1535 -#define EL_BDX_FIREFLY_1_UP_SCANNED 1536 -#define EL_BDX_FIREFLY_1_LEFT_SCANNED 1537 -#define EL_BDX_FIREFLY_1_DOWN_SCANNED 1538 -#define EL_BDX_FIREFLY_2_RIGHT_SCANNED 1539 -#define EL_BDX_FIREFLY_2_UP_SCANNED 1540 -#define EL_BDX_FIREFLY_2_LEFT_SCANNED 1541 -#define EL_BDX_FIREFLY_2_DOWN_SCANNED 1542 -#define EL_BDX_BUTTERFLY_1_RIGHT_SCANNED 1543 -#define EL_BDX_BUTTERFLY_1_UP_SCANNED 1544 -#define EL_BDX_BUTTERFLY_1_LEFT_SCANNED 1545 -#define EL_BDX_BUTTERFLY_1_DOWN_SCANNED 1546 -#define EL_BDX_BUTTERFLY_2_RIGHT_SCANNED 1547 -#define EL_BDX_BUTTERFLY_2_UP_SCANNED 1548 -#define EL_BDX_BUTTERFLY_2_LEFT_SCANNED 1549 -#define EL_BDX_BUTTERFLY_2_DOWN_SCANNED 1550 -#define EL_BDX_STONEFLY_RIGHT_SCANNED 1551 -#define EL_BDX_STONEFLY_UP_SCANNED 1552 -#define EL_BDX_STONEFLY_LEFT_SCANNED 1553 -#define EL_BDX_STONEFLY_DOWN_SCANNED 1554 -#define EL_BDX_BITER_RIGHT_SCANNED 1555 -#define EL_BDX_BITER_UP_SCANNED 1556 -#define EL_BDX_BITER_LEFT_SCANNED 1557 -#define EL_BDX_BITER_DOWN_SCANNED 1558 -#define EL_BDX_DRAGONFLY_RIGHT_SCANNED 1559 -#define EL_BDX_DRAGONFLY_UP_SCANNED 1560 -#define EL_BDX_DRAGONFLY_LEFT_SCANNED 1561 -#define EL_BDX_DRAGONFLY_DOWN_SCANNED 1562 -#define EL_BDX_PLAYER_SCANNED 1563 -#define EL_BDX_PLAYER_WITH_BOMB_SCANNED 1564 -#define EL_BDX_PLAYER_WITH_ROCKET_LAUNCHER_SCANNED 1565 -#define EL_BDX_ROCKET_RIGHT_SCANNED 1566 -#define EL_BDX_ROCKET_UP_SCANNED 1567 -#define EL_BDX_ROCKET_LEFT_SCANNED 1568 -#define EL_BDX_ROCKET_DOWN_SCANNED 1569 -#define EL_BDX_NITRO_PACK_SCANNED 1570 -#define EL_BDX_NITRO_PACK_FALLING_SCANNED 1571 -#define EL_BDX_NITRO_PACK_EXPLODING_SCANNED 1572 -#define EL_BDX_CLOCK_GROWING_0 1573 -#define EL_BDX_DIAMOND_GROWING_0 1574 -#define EL_BDX_EXPLODING_0 1575 -#define EL_BDX_ROCK_GROWING_0 1576 -#define EL_BDX_STEELWALL_GROWING_0 1577 -#define EL_BDX_GHOST_EXPLODING_0 1578 -#define EL_BDX_BOMB_EXPLODING_0 1579 -#define EL_BDX_NITRO_PACK_EXPLODING_0 1580 -#define EL_BDX_AMOEBA_2_EXPLODING_0 1581 -#define EL_BDX_NUT_BREAKING_0 1582 +#define EL_BDX_SAND_BALL_FALLING_SCANNED 1505 +#define EL_BDX_SAND_LOOSE_SCANNED 1506 +#define EL_BDX_SAND_LOOSE_FALLING_SCANNED 1507 +#define EL_BDX_ROCK_SCANNED 1508 +#define EL_BDX_ROCK_FALLING_SCANNED 1509 +#define EL_BDX_FLYING_ROCK_SCANNED 1510 +#define EL_BDX_FLYING_ROCK_FLYING_SCANNED 1511 +#define EL_BDX_HEAVY_ROCK_SCANNED 1512 +#define EL_BDX_HEAVY_ROCK_FALLING_SCANNED 1513 +#define EL_BDX_LIGHT_ROCK_SCANNED 1514 +#define EL_BDX_LIGHT_ROCK_FALLING_SCANNED 1515 +#define EL_BDX_DIAMOND_SCANNED 1516 +#define EL_BDX_DIAMOND_FALLING_SCANNED 1517 +#define EL_BDX_FLYING_DIAMOND_SCANNED 1518 +#define EL_BDX_FLYING_DIAMOND_FLYING_SCANNED 1519 +#define EL_BDX_NUT_SCANNED 1520 +#define EL_BDX_NUT_FALLING_SCANNED 1521 +#define EL_BDX_EXPANDABLE_WALL_HORIZONTAL_SCANNED 1522 +#define EL_BDX_EXPANDABLE_WALL_VERTICAL_SCANNED 1523 +#define EL_BDX_EXPANDABLE_WALL_ANY_SCANNED 1524 +#define EL_BDX_EXPANDABLE_STEELWALL_HORIZONTAL_SCANNED 1525 +#define EL_BDX_EXPANDABLE_STEELWALL_VERTICAL_SCANNED 1526 +#define EL_BDX_EXPANDABLE_STEELWALL_ANY_SCANNED 1527 +#define EL_BDX_ACID_SCANNED 1528 +#define EL_BDX_FALLING_WALL_FALLING_SCANNED 1529 +#define EL_BDX_COW_LEFT_SCANNED 1530 +#define EL_BDX_COW_UP_SCANNED 1531 +#define EL_BDX_COW_RIGHT_SCANNED 1532 +#define EL_BDX_COW_DOWN_SCANNED 1533 +#define EL_BDX_AMOEBA_1_SCANNED 1534 +#define EL_BDX_AMOEBA_2_SCANNED 1535 +#define EL_BDX_WAITING_ROCK_SCANNED 1536 +#define EL_BDX_CHASING_ROCK_SCANNED 1537 +#define EL_BDX_GHOST_SCANNED 1538 +#define EL_BDX_FIREFLY_1_RIGHT_SCANNED 1539 +#define EL_BDX_FIREFLY_1_UP_SCANNED 1540 +#define EL_BDX_FIREFLY_1_LEFT_SCANNED 1541 +#define EL_BDX_FIREFLY_1_DOWN_SCANNED 1542 +#define EL_BDX_FIREFLY_2_RIGHT_SCANNED 1543 +#define EL_BDX_FIREFLY_2_UP_SCANNED 1544 +#define EL_BDX_FIREFLY_2_LEFT_SCANNED 1545 +#define EL_BDX_FIREFLY_2_DOWN_SCANNED 1546 +#define EL_BDX_BUTTERFLY_1_RIGHT_SCANNED 1547 +#define EL_BDX_BUTTERFLY_1_UP_SCANNED 1548 +#define EL_BDX_BUTTERFLY_1_LEFT_SCANNED 1549 +#define EL_BDX_BUTTERFLY_1_DOWN_SCANNED 1550 +#define EL_BDX_BUTTERFLY_2_RIGHT_SCANNED 1551 +#define EL_BDX_BUTTERFLY_2_UP_SCANNED 1552 +#define EL_BDX_BUTTERFLY_2_LEFT_SCANNED 1553 +#define EL_BDX_BUTTERFLY_2_DOWN_SCANNED 1554 +#define EL_BDX_STONEFLY_RIGHT_SCANNED 1555 +#define EL_BDX_STONEFLY_UP_SCANNED 1556 +#define EL_BDX_STONEFLY_LEFT_SCANNED 1557 +#define EL_BDX_STONEFLY_DOWN_SCANNED 1558 +#define EL_BDX_BITER_RIGHT_SCANNED 1559 +#define EL_BDX_BITER_UP_SCANNED 1560 +#define EL_BDX_BITER_LEFT_SCANNED 1561 +#define EL_BDX_BITER_DOWN_SCANNED 1562 +#define EL_BDX_DRAGONFLY_RIGHT_SCANNED 1563 +#define EL_BDX_DRAGONFLY_UP_SCANNED 1564 +#define EL_BDX_DRAGONFLY_LEFT_SCANNED 1565 +#define EL_BDX_DRAGONFLY_DOWN_SCANNED 1566 +#define EL_BDX_PLAYER_SCANNED 1567 +#define EL_BDX_PLAYER_WITH_BOMB_SCANNED 1568 +#define EL_BDX_PLAYER_WITH_ROCKET_LAUNCHER_SCANNED 1569 +#define EL_BDX_ROCKET_RIGHT_SCANNED 1570 +#define EL_BDX_ROCKET_UP_SCANNED 1571 +#define EL_BDX_ROCKET_LEFT_SCANNED 1572 +#define EL_BDX_ROCKET_DOWN_SCANNED 1573 +#define EL_BDX_NITRO_PACK_SCANNED 1574 +#define EL_BDX_NITRO_PACK_FALLING_SCANNED 1575 +#define EL_BDX_NITRO_PACK_EXPLODING_SCANNED 1576 +#define EL_BDX_CLOCK_GROWING_0 1577 +#define EL_BDX_DIAMOND_GROWING_0 1578 +#define EL_BDX_EXPLODING_0 1579 +#define EL_BDX_ROCK_GROWING_0 1580 +#define EL_BDX_STEELWALL_GROWING_0 1581 +#define EL_BDX_GHOST_EXPLODING_0 1582 +#define EL_BDX_BOMB_EXPLODING_0 1583 +#define EL_BDX_NITRO_PACK_EXPLODING_0 1584 +#define EL_BDX_AMOEBA_2_EXPLODING_0 1585 +#define EL_BDX_NUT_BREAKING_0 1586 #define EL_BDX_SCANNED_END EL_BDX_NUT_BREAKING_0 #define EL_BDX_RUNTIME_END EL_BDX_SCANNED_END #define EL_BDX_END EL_BDX_RUNTIME_END -#define NUM_FILE_ELEMENTS 1583 +#define NUM_FILE_ELEMENTS 1587 // "real" (and therefore drawable) runtime elements @@ -3807,6 +3811,7 @@ struct LevelInfo int bd_magic_wall_diamond_to; // BD magic wall turns diamonds to specified element int bd_magic_wall_rock_to; // BD magic wall turns rocks to specified element int bd_magic_wall_heavy_rock_to; // BD magic wall turns heavy rocks to specified element + int bd_magic_wall_light_rock_to; // BD magic wall turns light rocks to specified element int bd_magic_wall_nut_to; // BD magic wall turns nuts to specified element int bd_magic_wall_nitro_pack_to; // BD magic wall turns nitro packs to specified element int bd_magic_wall_flying_diamond_to; // BD magic wall turns flying diamonds to specified element diff --git a/src/tools.c b/src/tools.c index 03229296..626f7dc8 100644 --- a/src/tools.c +++ b/src/tools.c @@ -6316,6 +6316,18 @@ bd_object_mapping_list[] = O_MEGA_STONE_F, FALSE, EL_BDX_HEAVY_ROCK, ACTION_FALLING, -1 }, + { + O_LIGHT_STONE, TRUE, + EL_BDX_LIGHT_ROCK, -1, -1 + }, + { + O_LIGHT_STONE_F, TRUE, + EL_BDX_LIGHT_ROCK_FALLING, -1, -1 + }, + { + O_LIGHT_STONE_F, FALSE, + EL_BDX_LIGHT_ROCK, ACTION_FALLING, -1 + }, { O_DIAMOND, TRUE, EL_BDX_DIAMOND, -1, -1 @@ -7491,6 +7503,14 @@ bd_object_mapping_list[] = O_MEGA_STONE_F_scanned, TRUE, EL_BDX_HEAVY_ROCK_FALLING_SCANNED, -1, -1 }, + { + O_LIGHT_STONE_scanned, TRUE, + EL_BDX_LIGHT_ROCK_SCANNED, -1, -1 + }, + { + O_LIGHT_STONE_F_scanned, TRUE, + EL_BDX_LIGHT_ROCK_FALLING_SCANNED, -1, -1 + }, { O_DIAMOND_scanned, TRUE, EL_BDX_DIAMOND_SCANNED, -1, -1 -- 2.34.1