From 9eb5b00a95578361a06d369abcd2ce731d53e90b Mon Sep 17 00:00:00 2001 From: Song Minjae Date: Tue, 1 Mar 2016 01:08:25 +0900 Subject: [PATCH] fixed "jump to teleport to ceiling" and added some warning on the code comment Former-commit-id: 985626c4d0b8d3a48182a2266835debb2abe8074 Former-commit-id: 8970c37017e4ae50ee1adb3973e65fcb0c1f0e45 --- .../com/Torvald/Rand/FudgeDice.class | Bin 1032 -> 1031 bytes .../Terrarum/Actors/ActorWithBody.class | Bin 15015 -> 15120 bytes .../Terrarum/MapDrawer/LightmapLantern.class | Bin 709 -> 709 bytes .../Terrarum/MapDrawer/LightmapRenderer.class | Bin 12896 -> 13091 bytes res/graphics/sprites/test_player.png | Bin 2781 -> 21104 bytes .../Terrarum/Actors/ActorWithBody.java | 12 +-- .../Terrarum/MapDrawer/LightmapRenderer.java | 75 ++++++++++-------- 7 files changed, 50 insertions(+), 37 deletions(-) diff --git a/out/production/Terrarum_renewed/com/Torvald/Rand/FudgeDice.class b/out/production/Terrarum_renewed/com/Torvald/Rand/FudgeDice.class index efe4d380a775a77a8c2673ac2e1cec69a7694306..01fa627d15d4531a42dea27840db178dad9c072a 100644 GIT binary patch delta 39 ucmeC+Xy@3V%P1w8o>~%|S(WOa7EqL*l$ey6lUY(3l$e*Ey4i#A022TRp$+W- delta 40 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 M2rH|BQ~0$11G}5qUH||9 diff --git a/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/LightmapLantern.class b/out/production/Terrarum_renewed/com/Torvald/Terrarum/MapDrawer/LightmapLantern.class index 333194740a4745d137002375005c59e955ce8d2f..ca2dec3d006d155c3c7c76bd8dc237076bb149e6 100644 GIT binary patch delta 55 zcmX@gdX#m;VMf7x1{S6Q22Q3z20o@D24SY+$yXSo7|SN>Gubd!0ZGxxjZEr{bzs&$ GCUyXf@(uw2 delta 55 zcmX@gdX#m;VMf6e1{S7N22Q3l20o^A24SX*$yXSo7_%qqGubfa14+@zjZEr{#bDMx GCUyXVN)4$1 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 2006e886bd244dc638771d04f84af00a733a6be8..8e8ee5530ffdee534d084583d32db321738b8768 100644 GIT binary patch literal 13091 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%0ASP`LPjyR+yg!WF_Y7 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 delta 2775 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 diff --git a/src/com/Torvald/Terrarum/Actors/ActorWithBody.java b/src/com/Torvald/Terrarum/Actors/ActorWithBody.java index cc6e7fc0f..29f74d170 100644 --- a/src/com/Torvald/Terrarum/Actors/ActorWithBody.java +++ b/src/com/Torvald/Terrarum/Actors/ActorWithBody.java @@ -57,6 +57,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 static final int TSIZE = MapDrawer.TILE_SIZE; private static int AUTO_CLIMB_RATE = TSIZE / 8; @@ -163,6 +164,7 @@ public class ActorWithBody implements Actor, Visible, Glowing { /** * Update variables */ + if (mass < MASS_LOWEST) mass = MASS_LOWEST; // clamp to minimum possible mass baseSpriteHeight = sprite.getHeight(); baseSpriteWidth = sprite.getWidth(); gravitation = Terrarum.game.map.getGravitation(); @@ -259,7 +261,7 @@ public class ActorWithBody implements Actor, Visible, Glowing { } private void adjustHitBottom() { - float newX = nextHitbox.getPointedX(); + float newX = nextHitbox.getPointedX(); // look carefully, getPos or getPointed // int-ify posY of nextHitbox nextHitbox.setPositionYFromPoint( FastMath.floor(nextHitbox.getPointedY()) ); @@ -275,10 +277,10 @@ public class ActorWithBody implements Actor, Visible, Glowing { nextHitbox.setPositionFromPoint(newX, newY + 1); } - private void adjustHitTop() { // FIXME jump to teleport to ceiling - float newX = nextHitbox.getPointedX(); + private void adjustHitTop() { + float newX = nextHitbox.getPosX(); // int-ify posY of nextHitbox - nextHitbox.setPositionY( FastMath.floor(nextHitbox.getPosY()) ); + nextHitbox.setPositionY( FastMath.ceil(nextHitbox.getPosY()) ); int newYOff = 0; // always positive @@ -289,7 +291,7 @@ public class ActorWithBody implements Actor, Visible, Glowing { } while (colliding); float newY = nextHitbox.getPosY() + newYOff; - nextHitbox.setPositionFromPoint(newX, newY - 1); + nextHitbox.setPosition(newX, newY - 1); } private void updateHorizontalPos() { diff --git a/src/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.java b/src/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.java index 656e220e9..465b65132 100644 --- a/src/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.java +++ b/src/com/Torvald/Terrarum/MapDrawer/LightmapRenderer.java @@ -150,24 +150,30 @@ public class LightmapRenderer { if (Terrarum.game.screenZoom >= 1 && ((boolean) Terrarum.game.gameConfig.get("smoothlighting"))) { char thisLightLevel = staticLightMap[y][x]; if (y > 0 && x < for_x_end && thisLightLevel == 0 && staticLightMap[y - 1][x] == 0) { - // coalesce zero intensity blocks to one - int zeroLevelCounter = 1; - while (staticLightMap[y][x + zeroLevelCounter] == 0 - && staticLightMap[y - 1][x + zeroLevelCounter] == 0) { - zeroLevelCounter += 1; + try { + // coalesce zero intensity blocks to one + int zeroLevelCounter = 1; + while (staticLightMap[y][x + zeroLevelCounter] == 0 + && staticLightMap[y - 1][x + zeroLevelCounter] == 0) { + zeroLevelCounter += 1; - if (x + zeroLevelCounter >= for_x_end) break; + if (x + zeroLevelCounter >= for_x_end) break; + } + + g.setColor(new Color(0)); + g.fillRect( + Math.round(x * TSIZE * Terrarum.game.screenZoom) + , Math.round(y * TSIZE * Terrarum.game.screenZoom) + , FastMath.ceil( + TSIZE * Terrarum.game.screenZoom) * zeroLevelCounter + , FastMath.ceil(TSIZE * Terrarum.game.screenZoom) + ); + + x += (zeroLevelCounter - 1); + } + catch (ArrayIndexOutOfBoundsException e) { + // do nothing } - - g.setColor(new Color(0)); - g.fillRect( - Math.round(x * TSIZE * Terrarum.game.screenZoom) - , Math.round(y * TSIZE * Terrarum.game.screenZoom) - , FastMath.ceil(TSIZE * Terrarum.game.screenZoom) * zeroLevelCounter - , FastMath.ceil(TSIZE * Terrarum.game.screenZoom) - ); - - x += (zeroLevelCounter - 1); } else { /** a @@ -216,25 +222,30 @@ public class LightmapRenderer { } // Retro else { - int thisLightLevel = staticLightMap[y][x]; + try { + int thisLightLevel = staticLightMap[y][x]; - // coalesce identical intensity blocks to one - int sameLevelCounter = 1; - while (staticLightMap[y][x + sameLevelCounter] == thisLightLevel) { - sameLevelCounter += 1; + // coalesce identical intensity blocks to one + int sameLevelCounter = 1; + while (staticLightMap[y][x + sameLevelCounter] == thisLightLevel) { + sameLevelCounter += 1; - if (x + sameLevelCounter >= for_x_end) break; + if (x + sameLevelCounter >= for_x_end) break; + } + + g.setColor(toTargetColour(staticLightMap[y][x])); + g.fillRect( + Math.round(x * TSIZE * Terrarum.game.screenZoom) + , Math.round(y * TSIZE * Terrarum.game.screenZoom) + , FastMath.ceil(TSIZE * Terrarum.game.screenZoom) * sameLevelCounter + , FastMath.ceil(TSIZE * Terrarum.game.screenZoom) + ); + + x += (sameLevelCounter - 1); + } + catch (ArrayIndexOutOfBoundsException e) { + // do nothing } - - g.setColor(toTargetColour(staticLightMap[y][x])); - g.fillRect( - Math.round(x * TSIZE * Terrarum.game.screenZoom) - , Math.round(y * TSIZE * Terrarum.game.screenZoom) - , FastMath.ceil(TSIZE * Terrarum.game.screenZoom) * sameLevelCounter - , FastMath.ceil(TSIZE * Terrarum.game.screenZoom) - ); - - x += (sameLevelCounter - 1); } } }