From 2d52a66ac6dd5f48ea04fdc6606eef75fda2e4a4 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 27 Sep 2016 04:06:06 -0400 Subject: [PATCH] v0.4.3: separated tile display logic from tile types also re-added visual only tile types --- .../java/com/watabou/utils/PathFinder.java | 8 +- core/src/main/assets/tiles0.png | Bin 8862 -> 8862 bytes core/src/main/assets/tiles1.png | Bin 9996 -> 10093 bytes core/src/main/assets/tiles2.png | Bin 7756 -> 7753 bytes core/src/main/assets/tiles3.png | Bin 7641 -> 7627 bytes core/src/main/assets/tiles4.png | Bin 6774 -> 6765 bytes .../shatteredpixeldungeon/DungeonTilemap.java | 138 +++++++++++++++++- .../items/wands/WandOfFireblast.java | 16 +- .../items/wands/WandOfRegrowth.java | 16 +- .../shatteredpixeldungeon/levels/Level.java | 18 +-- .../shatteredpixeldungeon/levels/Terrain.java | 24 ++- 11 files changed, 168 insertions(+), 52 deletions(-) diff --git a/SPD-classes/src/main/java/com/watabou/utils/PathFinder.java b/SPD-classes/src/main/java/com/watabou/utils/PathFinder.java index a4eeb0387..7b91cb70a 100644 --- a/SPD-classes/src/main/java/com/watabou/utils/PathFinder.java +++ b/SPD-classes/src/main/java/com/watabou/utils/PathFinder.java @@ -42,9 +42,10 @@ public class PathFinder { public static int[] NEIGHBOURS8; public static int[] NEIGHBOURS9; - //similar to NEIGHBOURS8, but the order is circular. + //similar to their equivalent neighbour arrays, but the order is clockwise. //Useful for some logic functions, but is slower due to lack of array-access order. - public static int[] CIRCLE; + public static int[] CIRCLE4; + public static int[] CIRCLE8; public static void setMapSize( int width, int height ) { @@ -64,7 +65,8 @@ public class PathFinder { NEIGHBOURS8 = new int[]{-width-1, -width, -width+1, -1, +1, +width-1, +width, +width+1}; NEIGHBOURS9 = new int[]{-width-1, -width, -width+1, -1, 0, +1, +width-1, +width, +width+1}; - CIRCLE = new int[]{-width-1, -width, -width+1, +1, +width+1, +width, +width-1, -1}; + CIRCLE4 = new int[]{-width, +1, +width, -1}; + CIRCLE8 = new int[]{-width-1, -width, -width+1, +1, +width+1, +width, +width-1, -1}; } public static Path find( int from, int to, boolean[] passable ) { diff --git a/core/src/main/assets/tiles0.png b/core/src/main/assets/tiles0.png index 9243413f2a3befdd9355c12441260d52843805e9..f32632a0ae2959699ba88e8c521be4cc5e473667 100644 GIT binary patch delta 8745 zcmXwec{tQ>)c$7-M#z#%*@g;jw#d#*MMxUyTS$y7QL^vrXH>QbWi87Hg%a6!GbBrv zvG0sE%U~?SU}ns(_xE1!dHy?poa=hdx$pbB&+}yJX6nYvgN7f%Q`AIgpT;0%qJLYS zKKt87Z|;iwDADo3`lIPjjjr>pkXeCw0Ywt_;3UJOz{|sxUi2l3^1b$Zod;oM16Nyn zxK9nCp@yufMb0cce|emy#vhKC`ZrX%PF%ob9)9?}^TYF_@etk#?N=iqw?ojg^SSLaLS3_4g$ zIh>1@iyuBqi4LB^trFp)ma@GAiVwI1yM{`?M1$ov2PYtuK^QDxk(#%rywKG5D0He* zi0!uCr*iwJ=d;#)eg(h#*2yUugBaYh0MpW8A0r_FnYFoE36(HFY(NuDv6^w{bMTzM$$Lx{#|9eL;7ap_MaL`6D)oT=o$2LE0}(#y&o$FIKA zo8#3%&BwXWMKD@iVv)64yogAz3?Hu&g5PLh8?n~;-QOOvX-ltL+|{P9-8nvIM)jH} zXwX2vKUQa!kuI>ScNz}Nustswhl>2Y)vJEoi-=&}oe0k(&Gp=FDF1q&Ca3}q6m8Vj zzT_<#yHTI>Q`Jmff8@Dd-uv06GmxLD?tl(3czpF#n`=+HnvkeySeN}5nt8-6Wb47i zVH@}r$LKUDjMfA-5r=fz!#Fq({sJO!udpXW!}KB{UG249;Tm7>;z7iIS5@QDA&J8) zfb^qkn;s}VVi*wtEc8U~IDp$0d3nl}xBVgrCsePwV>JyYh>QO^^@FQKEPw8(O1s1 zMeqw3C#1LA7GgmOZTsO)Bq(Q34Mn%FiUI;$+s)gzYP15r)DJ*$_NKp z&G|9K-U)~sH$F3J@yU`Rd^Up+z{8w>53HPr{AB3+s&GA&iy1D%?5OsAozIyH@OKvA zQk|Fw%=k{V@xpo)1HZ1HUs>mV;;UnQYxr|s9oEa=Y=9RvwHfKGOf z%7+Km5f0K-lp@}y0#nwOaQI)87fa&&;pcmZVP0j`@Nc3>%|JUC-$ZuT#nLwZ&3NnK zLKo^5=r8puSM1FrCyUpIhYl|s?UZ}#51_I+Fp4`X#`!|cF);!SuZ|s4q>z|?MvAK> zwVc(OB+1jBV$wd>*3&I)AfB1sdp^Lawm8KLZEO=aSJwa=Ej?EMHF0+zKw%K(10(~& zFM~H!=5}@pMUJTowNUe~44u0nhHzfR7WRPQ>2RCTSsSvESSuu4k?-X3 zZ`flO2s}vNjY);AA331rHNT@{jD}899g$JQ&OWa6ydMkwvpjiQ8;>Jsyn4$czKXBU zR9_Phi*`+?#bk@2rq@5RCslK7qm(3tXzv5;H2~>@e5|_nA3Q&j z&i&GjClhhH42yeNT3t{eq5hA%A>#^pk9-l;+20+k`kO>yUM~sv{~)gf8v4`MfS|8> zubS<|-C8i7Zmd8gP(MLN1obYc^yjVdwY7 z1i_znrnT-_w@iI|&bfbaqK#81r7P+`b9I-hMo2xOH*T6~;l9N-j)|F+rCx4CM89)v z@@Z&j;O~PhMB=?kYe4$Szj3QVH2^+ONFQXgD{LoX`T(QJT%J1JM#h(_uUibVj(K}g z`JIOw@e0V2R+I#hh#)d3i5*!fp*31%aP zp(-^U_Zov#^Qg9}`J0^?Ub58g@VnbikJ5W)7sHXC1}4@R2?@fii(gUVPOVeIX^+tr z4Yv*p2BZoaKR+_+_D0J5IR5{k-2((-sX1Myq55D|&D7bTi4qd&@W{t(^mxMmKFw)kz2y7&}I`tjY^q@EfHGxiz=o2Fss6`0uh&oXPd; z4xT&|5OqZz$lX;q7P+3&1y{qQ9IeTj(fyC+ z_MekK2r+i0RVbsg&~%#jJpK7pqhD+!5+$lpm_S3tbH~i*RS`opK4dIi8(n`Ne>=1E z3vF8z17d$>^1+vf>xysr`2-`+W(d4d1qg^bwN3u4UdS4H$Fyn#3Z(9R0+gQ4q3yFq#=Wm3aC4q{{>=Y) z?#NIBZ&6_-kI}$KnF>|tx_NJwgXy5h;%}bQ>mS9NX>aG3IPiP107f*lvwTq$caa5i zVbKGiDC7^c@gvhg5Nb@J4=)`=&$n&d>*t+&eGH@oB1d`}3p?|ydZU8dDoR{U65er& zfpq;DRm^$$-o;H~WL+bf9zCD|dIm{e9~-=e|oVare)Kjtz+v z8H;`Y2e9oW{5>8MpQ#1k6Y|&{Pqksi$%v^)(HIggFZtd)2Xd6ak8#BCnp0ZlF7ax+ zjScpAn^rnx`%&-Aw<&~1RRsG0{A!?(n~wD;WS@=|#TdA3x4E)T{@t7===DZnC;T8ia61}N^<93^O+Wx2K4~dMpV$#CrU_LQv?U$@FPP#csP*d+~!}%L-8*@g?BT ziOjua5s!9PGi+zg)I8ikR1}#QQy0e;%iSsin~CZXa1-V|R#+zTT1(E{j`t%Z7N2jH zP{Mr*gb{i|DNm?30xZXejg;^*K*tTON}tpBLjyjgm1zn5viYVILMef|@!;!%#xCM{ z@W_a(hx6Ec&%X!*B1>WhVuRLjJN|Y$PBjGea;-l>FZ05D@%cI)PXSDBQG>;vctvoo zR4g`DRO8WmN=^6fsVk3K)Wms_7qaFFS_S7}D6Gy4!q%;XyT{Lh_dZ-~vUSad{=tKY zIiDR~QRn40=4o+JsK~ZC`S;qMUP+a2nc$Vuh#7V?J?Y2m{Sn772U?=Ad^*FsZe5Lu z3(1DP5?H+zPz0&4ce{K5WIP^;v63rt5ueXk59Ts4M`6b$ksj9 zSbG14i-Yu1r}l7M@m{>_0Q+q8fy&W8v9+^)8O@7{0rMS+M3spHNF!%V@@Qm?OR$NQC#g*0WwS3d2LzWvt z#V-#WEOQ_nA^f)&m^pfJM{unG3Uj_Ku8E$9!oFI}M1VYP4us6G&J0ce4<-y~a3=6& z??F9W1m9zhZ%tCN@N4ek=8=vavwaKxI%BJ^EK(+_G$CP|y0T>d>{&Sen&Mk{l;H1} zr76^-m5NLWD>W89#s2%h)<20^b{Bjr+5lHuoyWcvw;SJon)uCd;J^9LC6^8B-ah!x zBDpC1&s}F?{hcAng7Nj;hc1zVlD4Z24h`K{vEMGg?=DLBKpMJvgI){X*k}JlV6ImY zS9eFyf;UQ4h(QmE8xOxV(zgv8DE)>3>lGs{iiZWb&1SAzuaytt8+!0yok09{Fe3z1 zD(0e6(Zw`Y_WdLFbY7kn=%tdk(N=6bBJK0IJ;aBw7ZSDn1ZGZnWCS!$4dyQd*$Ers&ury(HPDPFM9eb{CP_x zzmS^8n;ucp;BeaZ^_R=WB+M~?d?-Ozxu+G&!!-+#MtB*;w@)6=dm*;-_L z=S5Cw{~U%ztZ6Td%Jr1+GI_Intd$4RT~&vc~M4& z%{UK5z-_W-hH4--*%bU{NiuNUQ`eYpJ~9u3J^!l;a>*Psi_{Oez#5*;I~DwWwKC<# z~&SAAbD)7U0&_)zK7({99zS-|> z^jQ2b?Y|_NwO9FQ8t%P5TGDNI(K7lQj7+cFHwM?k+Kj9MNtFY7mP1Ktcf(Hz!r8Ja z*aAKwM6*Y^jpv7(RTpvqzptNq?XH9W*^l{t9E#Ws zhDc&mtaqTq8C^c@39DCY8*qWS0n>?-$DR};hjwQ#LJlbi<_;oY{+)`r{F|XNl;*-E z45v}LYG@_DDM51&Q-#KOMSC(KqO$i)*2m2-EN3=@ zSvG>%gTxCO^scJNqe30ZEm2L~Fcp78ioAa&G$GFg|IRfo5(&Ae=!DzuWc(raeql8R z{DAdN#Z!+GU!6cg9G@RP(*)*#F8gF+VF=dIG5^LfaRCb80s{M!y9G{+`+&x`6zIv& zcO}{%MNX%CAA|`+Xma_ag=`N~$W{TCaGb9${7J*NxaqoYzS9A>$d&=G?J+#QUdy2x zt`b>owZsK2LGWbmh*#X&KSk*m;k8^Z__TV7^^PVa5&E`y;ox{R)67Sow}Uj&2GK7* z^bTovvE~j20X6Cci3R2CiQ%UzVKV_hyU-Ihz%MRH{3@XkTX|*a@9Vnli$KCs%@s2H zypJE}jE;59T}YwTQi?yM!~OF=ragG)DNynGqKS$#&%ks;H>ZJB-rIP`hc6?^Z%tW#hN+Z+B^A92ZNPreWAe#jj4&^=gm# zuA!q(%k**=i=McKGE9*j?w5?Nu-iJ98Ti)v!`*2UJ6Gop)9z1aewbI>4Kpw-R}Xn_ zDmyehXb+C3*6UD0U$scy1lYCmRVlJB)}$iZ~`8}O_zjKF63`WA+nrpH~Hc{$pXtNkeBr|m%ETB^?p{j zLF+py^|ZZp{x2lwnhi~?1z~OdVdIw~{X`dSznwji8+Mh{7oE`ZC@#L4U(IDb4jMn5 zCJ3Y)TuUHKna6bcB;J!S>1o8~w>KH(sS?Y=(LC}%TV;5vf`Z>=Szb~DXV4%c$ytMA zt!6`UcY1NeyS!}RJY9i9(yg#z>H#Y#`WTCqjC`j-$V7NZA%1i1-Pk|XnZj8rhi=q~ z*0Se2bxM{;xusR-lDhiM_xw*kEnX5zsIu@d2I57Um!z-m^)9lRiOw7eK(oBGfUAet z`@qIOy3*!v(dY+d|JA+6It)%dh}-D9r=2JmcilIoc>3G~zuQiegqKH9_2@L1V`msI zqfN@;SymYxoywfUC%MYJ8XGbQD747v=+hxoV5MI9t<9&=%L^XVO)}YbD*U!s+=JeCmF`!YNlN~X zz82cRNY($V;BOc&(eKKMQ3WxOQUTTrNXKAS&a)BefmkH&6ebXhp&g0&&1m20?eZ`iu{3nc8CY4H9+c!A~9(b7* zhbLdCJmMvn0H6tye8jW}KF@rY1H9U_JdcHMr?D(6V1>D2uW0*%8!u;T!M#}xb^m-_ zhdA$L%Is_P@!`v>c{~-D5sKom($`LN_3U9g=8q!6Wd)L_$#JJ4>h*vu%>ErSWkKi1 z_Ejx2zH2Bcf~x{AKGG#OuY4IHNw^64!@>*rTMUd0yViZ>>N-Q!hEN$LN`NM`GQ6r% z%a@3)V_hz;zXF!o8kUYf=FR{7tmeqa23K3T&spwiP_$iH8LcdSk)zqi{z|T@!Do$Y zYBG*AX3+_^Q=v`4t)nxt_~R_tAB+s|BkZ50qxm?54j);k?wLOLThU_hY4pidF`fh@YQpS zB{&9E%%U?qe7oqISqL(D@xwJhr6eV0RYxvboSu(6fQ6YWDAZ%y0b@ITHYg%AUZRb4Kee1Ap+~Z*eJpASi6-}kFa>v(xtt>@b7Yak=RqAou zX6Q~>@%W&3H7r{Is;^&oS^==;#6WM@KksHqoBKXg9`Nqs73B+~^bM0NxzQus|N7MG zIzVTy3f7gK{-q~c01 z$xMvORr@l{<>MIpM}HKDwP5(^kdhLKNPyQ`cu+T$A+}7F^TcK$P>49YNjZ*V)Jx&kg&~WJbiN31O8}&9JiXRZiukI8B|zUuKg$JbEi(QW&hn%4sY6#6Ya`Al@va4w3VagM?=g==&Dr;Jv`V@!1cHj5GF%2llQIIXq2{&?<5gWu@!th%o z*X~4y>Qq`=+d_U+yyCo0Ij0ZF(v`>+7iR(f9VEaZj{pAp7S&@Zz;a|R^VbrNdc^GM znn|a2&1uzxCLA%(Pqh!~IDJeDY|?st(}_**rQ?lXiojf%UopV=;Z3m;zXNRnh&phP! zwln7egwQV!`Q^{~`9Y0(gs9#;Gr5ti_U57?K;hQD^GO?;O91Y zU0d+JUh*Q4wWTWyaJZ5lvOzJ|H&A&G9yPXBofAs2KYl%at8U%%*WQ7_i`d(;EO_ew zWp!WNL#%GyLDd!wsBiRbuEDeb#9PNF$=3(1Noya01@b?`D}DnNylxJmU(GJM+6npj zG&YP{zJ$bRXU1HBx*e2k69$*5FtCuDBq=QTNMuI zeJ}vgppg`-REps`U;FaP${OjJ%}aq30*{XtES9Dy=>Is^QS+c2Lof+A&zw4PW?CF& z($I~#2BAD8CIqHUqD@F=z)!A?9UUstSbs|XH1Sy{>{0bx+lD#E<3gUnEo>HX%_XO-<{N&04ro2Pn&KI)bbAQQb9lGbsVwirIaVLIsOjrMe_hfj8 zMpKdRl)WR4#_Ro-3YU!yv7NQa0c#m_1L?LM!F}8hDt(7_TZK{lh&IAwB`6($&;!3k z2nUpC0N07L^8ixVa$vWk{~aIZ}fuq zUz_0At4w3LC?`j+$=!Q$cr)TY_^d&_U}P&89l8QwiZzRT8`g3(o;owNH^BZ-C?im| z94jqMV4}_f{r8ja{TL$;a2fCAQ%`99EW5AC74iaW>auoo&{ygccfQq*MI5Wk{(FZ$wWS_&2%pCQP^B+^EmW4-Edza#wUMK!L zgkJ}Kw$EGu8s7{s89dAZK zO|yB5Q-AI-Gnwa2zZhbW_vScFO(x{Yf0;NdLEp&t<(6?|c?)=Ghs+8r&+^}jL^+hmdNH|T`3~xuNiZ%|FW~k_(ot*n*_8zIpfv=@)t|aZOj+2Y zAJhep?9@CRR~|?pnIAn0*gj2?OJpmU-eK0Wrmn{koi6cOH{wEys9a{m*_Or?jUsS8| DHR!Wr delta 8758 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
  • 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 VcCf>~%{LM_ZhzXY;;7$0{|B&>6c7La literal 6774 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 mapWidth){ + return chasmStitcheable.get(map[pos - mapWidth], defaultVisuals.get(tile)); + } + return defaultVisuals.get(tile); + } + + public int screenToTile(int x, int y ) { Point p = camera().screenToCamera( x, y ). offset( this.point().negate() ). invScale( SIZE ). @@ -67,9 +191,6 @@ public class DungeonTilemap extends Tilemap { final Image tile = tile( oldValue ); tile.point( tileToWorld( pos ) ); - // For bright mode - tile.rm = tile.gm = tile.bm = rm; - tile.ra = tile.ga = tile.ba = ra; parent.add( tile ); parent.add( new AlphaTweener( tile, 0, 0.6f ) { @@ -92,7 +213,7 @@ public class DungeonTilemap extends Tilemap { public static Image tile( int index ) { Image img = new Image( instance.texture ); - img.frame( instance.tileset.get( index ) ); + img.frame( instance.tileset.get( defaultVisuals.get(index) ) ); return img; } @@ -103,6 +224,7 @@ public class DungeonTilemap extends Tilemap { @Override protected boolean needsRender(int pos) { - return (Level.discoverable[pos] || Dungeon.level.map[pos] == Terrain.CHASM) && Dungeon.level.map[pos] != Terrain.WATER; + return (Level.discoverable[pos] || data[pos] == defaultVisuals.get(Terrain.CHASM)) + && data[pos] != defaultVisuals.get(Terrain.WATER); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java index 02945833f..68eeedcb9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java @@ -100,9 +100,9 @@ public class WandOfFireblast extends DamageWand { affectedCells.add(cell); if (strength >= 1.5f) { visualCells.remove(cell); - spreadFlames(cell + PathFinder.CIRCLE[left(direction)], strength - 1.5f); - spreadFlames(cell + PathFinder.CIRCLE[direction], strength - 1.5f); - spreadFlames(cell + PathFinder.CIRCLE[right(direction)], strength - 1.5f); + spreadFlames(cell + PathFinder.CIRCLE8[left(direction)], strength - 1.5f); + spreadFlames(cell + PathFinder.CIRCLE8[direction], strength - 1.5f); + spreadFlames(cell + PathFinder.CIRCLE8[right(direction)], strength - 1.5f); } else { visualCells.add(cell); } @@ -134,8 +134,8 @@ public class WandOfFireblast extends DamageWand { int maxDist = (int)(4 * Math.pow(1.5,(chargesPerCast()-1))); int dist = Math.min(bolt.dist, maxDist); - for (int i = 0; i < PathFinder.CIRCLE.length; i++){ - if (bolt.sourcePos+PathFinder.CIRCLE[i] == bolt.path.get(1)){ + for (int i = 0; i < PathFinder.CIRCLE8.length; i++){ + if (bolt.sourcePos+PathFinder.CIRCLE8[i] == bolt.path.get(1)){ direction = i; break; } @@ -146,9 +146,9 @@ public class WandOfFireblast extends DamageWand { strength--; //as we start at dist 1, not 0. affectedCells.add(c); if (strength > 1) { - spreadFlames(c + PathFinder.CIRCLE[left(direction)], strength - 1); - spreadFlames(c + PathFinder.CIRCLE[direction], strength - 1); - spreadFlames(c + PathFinder.CIRCLE[right(direction)], strength - 1); + spreadFlames(c + PathFinder.CIRCLE8[left(direction)], strength - 1); + spreadFlames(c + PathFinder.CIRCLE8[direction], strength - 1); + spreadFlames(c + PathFinder.CIRCLE8[right(direction)], strength - 1); } else { visualCells.add(c); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java index dbe80de92..de126eb38 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java @@ -111,9 +111,9 @@ public class WandOfRegrowth extends Wand { if (strength >= 0 && Level.passable[cell] && !Level.losBlocking[cell]){ affectedCells.add(cell); if (strength >= 1.5f) { - spreadRegrowth(cell + PathFinder.CIRCLE[left(direction)], strength - 1.5f); - spreadRegrowth(cell + PathFinder.CIRCLE[direction], strength - 1.5f); - spreadRegrowth(cell + PathFinder.CIRCLE[right(direction)], strength-1.5f); + spreadRegrowth(cell + PathFinder.CIRCLE8[left(direction)], strength - 1.5f); + spreadRegrowth(cell + PathFinder.CIRCLE8[direction], strength - 1.5f); + spreadRegrowth(cell + PathFinder.CIRCLE8[right(direction)], strength-1.5f); } else { visualCells.add(cell); } @@ -188,8 +188,8 @@ public class WandOfRegrowth extends Wand { int maxDist = Math.round(1.2f + chargesPerCast()*.8f); int dist = Math.min(bolt.dist, maxDist); - for (int i = 0; i < PathFinder.CIRCLE.length; i++){ - if (bolt.sourcePos+PathFinder.CIRCLE[i] == bolt.path.get(1)){ + for (int i = 0; i < PathFinder.CIRCLE8.length; i++){ + if (bolt.sourcePos+PathFinder.CIRCLE8[i] == bolt.path.get(1)){ direction = i; break; } @@ -200,9 +200,9 @@ public class WandOfRegrowth extends Wand { strength--; //as we start at dist 1, not 0. if (!Level.losBlocking[c]) { affectedCells.add(c); - spreadRegrowth(c + PathFinder.CIRCLE[left(direction)], strength - 1); - spreadRegrowth(c + PathFinder.CIRCLE[direction], strength - 1); - spreadRegrowth(c + PathFinder.CIRCLE[right(direction)], strength - 1); + spreadRegrowth(c + PathFinder.CIRCLE8[left(direction)], strength - 1); + spreadRegrowth(c + PathFinder.CIRCLE8[direction], strength - 1); + spreadRegrowth(c + PathFinder.CIRCLE8[right(direction)], strength - 1); } else { visualCells.add(c); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java index ca48fcf82..8ad80672e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java @@ -23,6 +23,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels; import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Challenges; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; +import com.shatteredpixel.shatteredpixeldungeon.DungeonTilemap; import com.shatteredpixel.shatteredpixeldungeon.Statistics; import com.shatteredpixel.shatteredpixeldungeon.actors.Actor; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; @@ -595,24 +596,17 @@ public abstract class Level implements Bundlable { } public void destroy( int pos ) { - if ((Terrain.flags[map[pos]] & Terrain.UNSTITCHABLE) == 0) { - set( pos, Terrain.EMBERS ); - - } else { - boolean flood = false; + if (!DungeonTilemap.waterStitcheable.contains(map[pos])) { for (int j = 0; j < PathFinder.NEIGHBOURS4.length; j++) { if (water[pos + PathFinder.NEIGHBOURS4[j]]) { - flood = true; - break; + set(pos, Terrain.WATER); + return; } } - if (flood) { - set( pos, Terrain.WATER ); - } else { - set( pos, Terrain.EMBERS ); - } } + + set( pos, Terrain.EMBERS ); } protected void cleanWalls() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java index 1242389ba..567e97ab9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java @@ -76,29 +76,27 @@ public class Terrain { public static final int LIQUID = 0x40; public static final int PIT = 0x80; - public static final int UNSTITCHABLE = 0x100; - public static final int[] flags = new int[256]; static { - flags[CHASM] = AVOID | PIT | UNSTITCHABLE; + flags[CHASM] = AVOID | PIT; flags[EMPTY] = PASSABLE; flags[GRASS] = PASSABLE | FLAMABLE; flags[EMPTY_WELL] = PASSABLE; - flags[WATER] = PASSABLE | LIQUID | UNSTITCHABLE; - flags[WALL] = LOS_BLOCKING | SOLID | UNSTITCHABLE; - flags[DOOR] = PASSABLE | LOS_BLOCKING | FLAMABLE | SOLID | UNSTITCHABLE; - flags[OPEN_DOOR] = PASSABLE | FLAMABLE | UNSTITCHABLE; + flags[WATER] = PASSABLE | LIQUID; + flags[WALL] = LOS_BLOCKING | SOLID; + flags[DOOR] = PASSABLE | LOS_BLOCKING | FLAMABLE | SOLID; + flags[OPEN_DOOR] = PASSABLE | FLAMABLE; flags[ENTRANCE] = PASSABLE/* | SOLID*/; flags[EXIT] = PASSABLE; flags[EMBERS] = PASSABLE; - flags[LOCKED_DOOR] = LOS_BLOCKING | SOLID | UNSTITCHABLE; - flags[PEDESTAL] = PASSABLE | UNSTITCHABLE; + flags[LOCKED_DOOR] = LOS_BLOCKING | SOLID; + flags[PEDESTAL] = PASSABLE; flags[WALL_DECO] = flags[WALL]; flags[BARRICADE] = FLAMABLE | SOLID | LOS_BLOCKING; - flags[EMPTY_SP] = flags[EMPTY] | UNSTITCHABLE; + flags[EMPTY_SP] = flags[EMPTY]; flags[HIGH_GRASS] = PASSABLE | LOS_BLOCKING | FLAMABLE; - flags[SECRET_DOOR] = flags[WALL] | SECRET | UNSTITCHABLE; + flags[SECRET_DOOR] = flags[WALL] | SECRET; flags[SECRET_TRAP] = flags[EMPTY] | SECRET; flags[TRAP] = AVOID; flags[INACTIVE_TRAP]= flags[EMPTY]; @@ -109,8 +107,8 @@ public class Terrain { flags[SIGN] = PASSABLE | FLAMABLE; flags[WELL] = AVOID; flags[STATUE] = SOLID; - flags[STATUE_SP] = flags[STATUE] | UNSTITCHABLE; - flags[BOOKSHELF] = flags[BARRICADE] | UNSTITCHABLE; + flags[STATUE_SP] = flags[STATUE]; + flags[BOOKSHELF] = flags[BARRICADE]; flags[ALCHEMY] = PASSABLE; };