fix replay hit results

This commit is contained in:
yugecin
2017-12-21 23:55:16 +01:00
parent 35769b31c7
commit 408c162741
4 changed files with 33 additions and 41 deletions

View File

@@ -1558,6 +1558,9 @@ public class Game extends ComplexOpsuState {
}
gameObjects = new GameObject[beatmap.objects.length];
for (ReplayPlayback replayPlayback : replays) {
replayPlayback.gameObjects = new GameObject[gameObjects.length];
}
playbackSpeed = PlaybackSpeed.NORMAL;
// reset game data
@@ -1604,6 +1607,9 @@ public class Game extends ComplexOpsuState {
} else if (hitObject.isSpinner()) {
gameObjects[i] = new Spinner(hitObject, this, data);
}
for (ReplayPlayback replayPlayback : replays) {
replayPlayback.gameObjects[i] = gameObjects[i].clone(replayPlayback.gdata);
}
} catch (Exception e) {
String message = String.format("Failed to create %s at index %d:\n%s", hitObject.getTypeName(), i, hitObject.toString());
Log.error(message, e);
@@ -1718,14 +1724,6 @@ public class Game extends ComplexOpsuState {
}
}
for (ReplayPlayback replayPlayback : replays) {
GameObject[] objs = new GameObject[gameObjects.length];
for (int i = 0; i < objs.length; i++) {
objs[i] = gameObjects[i].clone(replayPlayback.new GData());
}
replayPlayback.setGameObjects(objs);
}
Dancer.instance.setGameObjects(gameObjects);
storyboardOverlay.setGameObjects(gameObjects);
if (!skippedToCheckpoint) {