From 8e55f84daa1d82b70be05e4d7ce5a33e16f9ba82 Mon Sep 17 00:00:00 2001 From: Song Minjae Date: Wed, 2 Mar 2016 20:30:26 +0900 Subject: [PATCH] Collision detector seems like fixed, it still may cause problems (e.g. sudden teleportation), camera position now clamps at tile index [1, width - 1]; "rim" is now not shown Former-commit-id: 6a285ed713728601cf16435b258522ecc10448a8 Former-commit-id: 4e562028ab08e170461ec0938a1846bc66dbaeb2 --- .../Terrarum/Actors/ActorWithBody.class | Bin 14365 -> 14107 bytes .../com/Torvald/Terrarum/Game.class | Bin 12409 -> 12409 bytes .../Terrarum/MapDrawer/LightmapRenderer.class | Bin 13091 -> 13103 bytes .../Terrarum/MapDrawer/MapCamera.class | Bin 10116 -> 10030 bytes .../Torvald/Terrarum/TileStat/TileStat.class | Bin 2715 -> 2743 bytes .../Terrarum/Actors/ActorWithBody.java | 12 +------- src/com/Torvald/Terrarum/Game.java | 7 +---- .../Terrarum/MapDrawer/LightmapRenderer.java | 8 ++--- .../Torvald/Terrarum/MapDrawer/MapCamera.java | 28 +++++------------- .../Torvald/Terrarum/TileStat/TileStat.java | 16 +++++----- 10 files changed, 22 insertions(+), 49 deletions(-) diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Actors/ActorWithBody.class index 638ee94458483b91c5b3390681e13fca7c079d9d..e7f10bba643e6271f8a07d6049033340efdf511f 100644 GIT binary patch literal 14107 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 diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/Game.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/Game.class index 264b51c2f48864c9301d38819262adb10bdaa7fc..aaf52e7a39e2db65d64ec404eb119866058ebb08 100644 GIT binary patch delta 734 zcmX|VWvM4A*4K)m+$S5c%P%t{nkDJ5qd7hW&a6ab3bK&00lx;#8 zMNHI85d)w$6B4N108yI(L2W!pO*zff9Ur)BqI=X6r(Q!%^&3c}ekFN}7_~*rxIURL$XN{eR) z{wuEY<~lCIiA%^r2mH8#jp)Kwbn^x8V^0qf(F+Iqkb@Z3;sHukV-*HajX^Xj?;wWx zctO3sxJz&drxtr>3;YyjN192jm=*G0$cGM!BHqucFQT)$fx8jRYSHlyGIhC#6!FQq?j=J)eok0~InA zlB}x7$jAEGQoDJUWpvloa0C8D4pBcW$%emVE||DD7CoO|z?t(vXsy+WxP zKrIP~p|ct&N`(|kpjHZLP^g6;P;FW(-HMvq3DiwJQR>xXeV+yc^-1K-%7`^&LKjV$ z&`Ix1^qxWyXUt(sKEb-BuCA%EsiC^QG}u&Acd*f7RF+v4i#)7W#b#DCCCRKLE4ql~ zW_(lZvHVOMBQ4UNR8B^_St(QOk-6kX0}nYyx!$oS((3Fmt@HLn^`#7AKX4Bf|5N3B z@}&%*Dmqk)H%3<-nD<=icIjK`0f;D(9 zeJ@djSJ;Nv*p4^Yi81WPIQC)!<(Nb*-l73hIED{6j*r}&)uMlr#?MH^7dS8tH)iDA zU)k*ms^4Yi2Zueo)Sp7Xggk8V`qbZu!z>qiYt+9&b3&VV+UrpPBM~3*<#E90Q4Nw* zNo8uB{Kt46_Z6#VsFWx@b`EE2T#}uoTE*BF&3e*#I6Ii=fQ_6;rxoziO5W%X#-~Y_ z3l>_%H~fM4bV(V|$jyKJ1vJU7T%C91()Fm_fY?ly=%h1p+@7IBJ sT;))1fZBK>x1#7IAm7YLr{uad(`h=hNavR5JcSqCoh27pqK6dz2O6in=Kufz diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.class index 8e8ee5530ffdee534d084583d32db321738b8768..cdf37ae70b9262e1ba877a2fe06b867ef4c935e5 100644 GIT binary patch delta 980 zcma)%Nla5w6o&uPfwqsqrrMUi7DZ&JrC2H|B5jdDLB&}Sf{Qu?kr>4onFNYPyHFS6 zi$gFmA}bBXgc^KHBhB*2{F-gFm0l;@Fnj%|M~B^|Gjsr>t)v+52@p7 zfm5Xt8w^yc;0%=s{5GiLt=@!6VGC`vQk4QHZBl46ZBd|7wS~4yQzO_WPOYejsHh+& zs1t9ypkB}*XtYs~nglznv{RvGYO&BR1p(S^p*;$M)T+>4+NaQdI$)}-9|IIRNQcBc zY@s8PdsNUSIA)=C1=Zvebg-kjs3=RNQzBy&WZ5gSm)wmiU6w6K&PEMnXuN%yVjE*{U|LOr$2V9ad6PFIIju*lxjuEP%qA z=BlZ-`%l;E@apieil{n#EaT?5jsm+s9_5AAX=4o=F|S&{6NTD$S0Sy{^4%e3i#yC5 zTGG$mRf#A%(2P#B<2cTu2fes}LFP4F#9girxqpm4JVQTbFo3sQ=eVE82o^Ak&q&}K z*F}sFaGh+pL939YVy*%1D{&LI0SqAr!|>rgF2T%yIUX=g2~20qskDht8SgzReh*S! z+9PAyLzItx!ZF|{e8nUy;)g8YDJug%XAV=WjF{kwCOAUIpQwYGmqp9mO#nC0fX%x=VBJJu(c=V8ttxIsCI&{|13slxuO%iKbwO@ii)Du_55hvfI0p zOH-viIzmaO`7gs!nOO}xt=-9VpE9eh)VW+j9w(U3r9)5tljzL-b0D4AlY3rAICFqD R?QM%Jm;c{4jQPH}egSex$bJ9- delta 986 zcma)%OGs347{$*w-f`|+AKAopoR^u+`1a~(Y3evNYFRdA53|Gqd!Qm#hUBYs3~UzB zBE6Jg1f|d}0w<=sXc29SpcXBnO}nBXXcYue)c-SPpmNb&{JwL}{r>0v@BQAT-fIrh zW}O~YBcBx}Dp1fzg^VIAwArvLqLJT1RWem8P-&Awo2f>DMzyTAFzVRWvua=!U^Fs< zoNZ-nV}uw@Rw|=rMvF|_71}|q7TT$xn08sHO+hK`Rwzt+EVNglcG@RZhNc09_R|5* z4_c^$s}C_c8HX)&L_saN8C@dLvnfASqmwLyR3_vQ%OSEiYjmEEj4(zSV~lae1mgnZ zB4d&MKtd`&K3&hQ3pW^W z8gK*zTw?Z^dknZ6h4ds`ZqViQxDBj#)<~-4UPO_r#;lq>i*PI>QblhGYsYe$==tet^;ur>S3TJT|Lm0t1M8&)+{G4#NFp9evLtM;9!au)aI{IIAG;T`S>MdC+ZV^JuR_?>515-J4?VxtANij<$IhMD*Q zzC)&O`iGp>j12(;`HcoP1`T-i28Yw`OTT{8G`@^A4^Ut$jHBo=isLBJ2OY;-O1n}X zqAZT`5;Zj|t3SH3L8Cb3Vzi-&)exLmdd1}h{ diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/MapCamera.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/MapCamera.class index 0d352be17ac40b4f4e3906a2da51b77df6e79a68..62846ee1a886bb1aac6144ba94392f78d5c2066c 100644 GIT binary patch delta 1424 zcmZvcTWr)t6vn@=d-?AU(_O5zxRgS>MQE|GN&zWqRW6mH&_c0X6z$SN0n4q*MGLkN zXjC)-2Odm-NP_Tyn$Sf=6ER?d#s~315f!{t)F@u+4F#2Y&K7y%7U2^-rGmPydiV@Pwt{t0EWCdwH0qBYE9B+Mv#Yf9@ihFQE;!+kW8t&tp^_BDd* z6fs3VMXsX1BF{+P0L4H>zW8K;VVs3J9i%DO8xH0WRYi(o#Zbi!iV}~*WK%1L>xP7S zxls?fNio8(lp}qu-QC@qJIdo|9dA~QQFCR6V|k0gRNmT)x3OH;Zdcsl@lJz@9H$ts zn4lkMqG1K^3Ud-GjbO6JyFK3HaY||(5BNAWl?aT_@K=c^x5~TVHihla})&$a*$-oNu{6)2Hi7BkL>|>c$z0U(jW-7yB%JR`niESbV7XK)^*@ zZ21t&giR`!pvz;G;TcSX5C_QCvYp z7AIFF6HUpbjfpAAM-~!+=4C6FHn`!@&A~uXWo2ec9eKl5FEpEKdJ@Jn9<8(d{} z>7)(>+B=YO5HV2;JJ6>=#)kI8=yw>oDfBNnguaK6*MXcsQ~QD|*#mmAbFO5&j_jh+ z$#@zy*dpI>E7r)k9^0^8O6B(y#18C~nUuyZ$&(j^mQ-fWI6q^l>VDgpmD}E5&lN+F zgUDK}4$kMcF_QMS2az75Ze!jl6WarGdAeZ0{(!+reB{;-EGb-_u9$-isgsFQs7+VQ z#IbZmqgUhJA2?=6Z1?{MlxO>QAnY6M--n!Rf6t-2(d+W*iTtveEeLU~bn-gH*orvY zP|Ecv=LSsUCe*PV^SBxF`6L?o6c(`s%lJ&%M>&FM6fgVnDFWz?**Gmee2AeMXWX0l zV>3Uy0N+K4ne>eZ3x;#68�+`x2dQRzab+U49>5iQXXkInifDzbJaA=&wbe6un!t z^vSdF!QKlZrCZ#v_+WRUAjnQPC!X+LlGX2Ib&Kc&Qc4=p9ginsucS>{xeAE6AFx73 zqYdjKg^Ac}SB+}_)=Kn^t48I$xLt*b=urfD3{k!%=gDhwrwd0!kIUNI$l^N);a7B} P@&?uUyx*i`27dn!tQ0K8 delta 1499 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 diff --git a/src/com/Torvald/Terrarum/Actors/ActorWithBody.java b/src/com/Torvald/Terrarum/Actors/ActorWithBody.java index 50ad53bfd..c65a8dee8 100644 --- a/src/com/Torvald/Terrarum/Actors/ActorWithBody.java +++ b/src/com/Torvald/Terrarum/Actors/ActorWithBody.java @@ -37,8 +37,6 @@ public class ActorWithBody implements Actor, Visible, Glowing { private final float VELO_HARD_LIMIT = 10000; boolean grounded = false; - boolean walledLeft = false; - boolean walledRight = false; SpriteAnimation sprite; @Nullable SpriteAnimation spriteGlow; @@ -57,7 +55,7 @@ public class ActorWithBody implements Actor, Visible, Glowing { */ private volatile float scale = 1; private volatile float mass = 1f; - private final float MASS_LOWEST = Float.MIN_NORMAL; + private final float MASS_LOWEST = 2f; private static final int TSIZE = MapDrawer.TILE_SIZE; private static int AUTO_CLIMB_RATE = TSIZE / 8; @@ -687,14 +685,6 @@ public class ActorWithBody implements Actor, Visible, Glowing { return grounded; } - public boolean isWalledLeft() { - return walledLeft; - } - - public boolean isWalledRight() { - return walledRight; - } - public int getBaseHitboxW() { return baseHitboxW; } diff --git a/src/com/Torvald/Terrarum/Game.java b/src/com/Torvald/Terrarum/Game.java index 0a1ca08c2..55a02232d 100644 --- a/src/com/Torvald/Terrarum/Game.java +++ b/src/com/Torvald/Terrarum/Game.java @@ -145,8 +145,6 @@ public class Game extends BasicGameState { TileStat.update(); - - actorContainer.forEach(actor -> actor.update(gc, delta_t)); actorContainer.forEach( actor -> { @@ -158,10 +156,7 @@ public class Game extends BasicGameState { } } ); - - /** Placed before actor update to give some dynamic view of player on screen, - * or else player will always stay same spot, which is somewhat dull. - */ + MapDrawer.update(gc, delta_t); MapCamera.update(gc, delta_t); diff --git a/src/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.java b/src/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.java index 465b65132..958d8b68f 100644 --- a/src/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.java +++ b/src/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.java @@ -85,11 +85,11 @@ public class LightmapRenderer { } - int for_y_start = div16(MapCamera.getCameraY()); - int for_x_start = div16(MapCamera.getCameraX()); + int for_y_start = div16(MapCamera.getCameraY()) - MUL; + int for_x_start = div16(MapCamera.getCameraX()) - MUL; - int for_y_end = clampHTile(for_y_start + div16(MapCamera.getRenderHeight()) + 2); - int for_x_end = clampWTile(for_x_start + div16(MapCamera.getRenderWidth()) + 2); + int for_y_end = clampHTile(for_y_start + div16(MapCamera.getRenderHeight()) + 2) + MUL; + int for_x_end = clampWTile(for_x_start + div16(MapCamera.getRenderWidth()) + 2) + MUL; /** * Updating order: diff --git a/src/com/Torvald/Terrarum/MapDrawer/MapCamera.java b/src/com/Torvald/Terrarum/MapDrawer/MapCamera.java index fda1a0d41..638ebab33 100644 --- a/src/com/Torvald/Terrarum/MapDrawer/MapCamera.java +++ b/src/com/Torvald/Terrarum/MapDrawer/MapCamera.java @@ -137,14 +137,14 @@ public class MapCamera { renderHeight = FastMath.ceil(Terrarum.HEIGHT / Terrarum.game.screenZoom); // position - (WH / 2) - cameraX = clamp( - Math.round(player.getHitbox().getCenteredX() - (renderWidth / 2)) - , map.width * TSIZE - renderWidth - ); - cameraY = clamp( - Math.round(player.getHitbox().getCenteredY() - (renderHeight / 2)) - , map.height * TSIZE - renderHeight - ); + cameraX = Math.round(FastMath.clamp( + player.getHitbox().getCenteredX() - (renderWidth / 2) + , TSIZE, map.width * TSIZE - renderWidth - TSIZE + )); + cameraY = Math.round(FastMath.clamp( + player.getHitbox().getCenteredY() - (renderHeight / 2) + , TSIZE, map.height * TSIZE - renderHeight - TSIZE + )); } public static void renderBehind(GameContainer gc, Graphics g) { @@ -371,18 +371,6 @@ public class MapCamera { } } - public static int clamp(int x, int lim) { - if (x < 0) { - return 0; - } - else if (x > lim) { - return lim; - } - else { - return x; - } - } - private static Image getTileByIndex(SpriteSheet s, int i) { return s.getSprite(i % 16, i / 16); } diff --git a/src/com/Torvald/Terrarum/TileStat/TileStat.java b/src/com/Torvald/Terrarum/TileStat/TileStat.java index a33904126..3d2721556 100644 --- a/src/com/Torvald/Terrarum/TileStat/TileStat.java +++ b/src/com/Torvald/Terrarum/TileStat/TileStat.java @@ -35,14 +35,14 @@ public class TileStat { int renderWidth = FastMath.ceil(Terrarum.WIDTH); int renderHeight = FastMath.ceil(Terrarum.HEIGHT); - int noZoomCameraX = MapCamera.clamp( - Math.round(player.getHitbox().getPointedX() - (renderWidth / 2)) - , map.width * TSIZE - renderWidth - ); - int noZoomCameraY = MapCamera.clamp( - Math.round(player.getHitbox().getPointedY() - (renderHeight / 2)) - , map.height * TSIZE - renderHeight - ); + int noZoomCameraX = Math.round(FastMath.clamp( + player.getHitbox().getCenteredX() - (renderWidth / 2) + , TSIZE, map.width * TSIZE - renderWidth - TSIZE + )); + int noZoomCameraY = Math.round(FastMath.clamp( + player.getHitbox().getCenteredY() - (renderHeight / 2) + , TSIZE, map.height * TSIZE - renderHeight - TSIZE + )); int for_x_start = MapCamera.div16(noZoomCameraX); int for_y_start = MapCamera.div16(noZoomCameraY);