From 68aad5ba59c038630609931b5e088151a488f593 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 27 Aug 2024 15:37:38 -0400 Subject: [PATCH] v2.5.0: fixed water jitter when scene is reset --- .../shatteredpixeldungeon/scenes/GameScene.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index 54d3d71a3..4e1bce08e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -694,6 +694,8 @@ public class GameScene extends PixelScene { public static boolean tagDisappeared = false; public static boolean updateTags = false; + + private static float waterOfs = 0; @Override public synchronized void update() { @@ -717,7 +719,11 @@ public class GameScene extends PixelScene { if (notifyDelay > 0) notifyDelay -= Game.elapsed; - if (!Emitter.freezeEmitters) water.offset( 0, -5 * Game.elapsed ); + if (!Emitter.freezeEmitters) { + waterOfs -= 5 * Game.elapsed; + water.offsetTo( 0, waterOfs ); + waterOfs = water.offsetY(); //re-assign to account for auto adjust + } if (!Actor.processing() && Dungeon.hero.isAlive()) { if (actorThread == null || !actorThread.isAlive()) {