From 7276705533ea8eb00be4a24343061166959b6826 Mon Sep 17 00:00:00 2001 From: yugecin Date: Sat, 12 Nov 2016 18:44:04 +0100 Subject: [PATCH] add 5s delay after last hitobj --- src/itdelatrisu/opsu/states/Game.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/itdelatrisu/opsu/states/Game.java b/src/itdelatrisu/opsu/states/Game.java index 15618323..b9b1589f 100644 --- a/src/itdelatrisu/opsu/states/Game.java +++ b/src/itdelatrisu/opsu/states/Game.java @@ -766,7 +766,13 @@ public class Game extends BasicGameState { */ private void updateGame(int mouseX, int mouseY, int delta, int trackPosition, int keys) { // map complete! - if (objectIndex >= gameObjects.length || (MusicController.trackEnded() && objectIndex > 0)) { + boolean complete = objectIndex >= gameObjects.length; + if (GameMod.AUTO.isActive() && complete) { + if (gameObjects.length > 0) { + complete = trackPosition >= gameObjects[gameObjects.length - 1].getEndTime() + 5000; + } + } + if (complete || (MusicController.trackEnded() && objectIndex > 0)) { // track ended before last object was processed: force a hit result if (MusicController.trackEnded() && objectIndex < gameObjects.length) gameObjects[objectIndex].update(true, delta, mouseX, mouseY, false, trackPosition); @@ -803,6 +809,10 @@ public class Game extends BasicGameState { return; } + if (objectIndex >= gameObjects.length) { + return; + } + GameObject g = gameObjects[objectIndex]; if ((g.isCircle() || g.isSlider()) && g.getTime() <= trackPosition) { Cursor.lastObjColor = g.getColor();