From 0550686a5b3aa59e2c3c4aee051a1a3c4a1e9027 Mon Sep 17 00:00:00 2001 From: exch-bms2 Date: Sun, 7 Oct 2018 00:02:23 +0900 Subject: [PATCH] update jbms-parser, fix #100 --- lib/jbms-parser.jar | Bin 1777506 -> 1778587 bytes .../player/beatoraja/PlayDataAccessor.java | 3 +-- src/bms/player/beatoraja/PlayerResource.java | 2 ++ src/bms/player/beatoraja/play/BMSPlayer.java | 2 +- .../beatoraja/song/SongInformation.java | 8 ++++---- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/jbms-parser.jar b/lib/jbms-parser.jar index 41cd6525cb0c55da786d3b725ad4e8f7f5ca082b..9952282bca655810b2a6a85e96ac1358ab098f1e 100644 GIT binary patch delta 24854 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 delta 23045 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 MDKU31`Tr9BAA>pLUjP6A diff --git a/src/bms/player/beatoraja/PlayDataAccessor.java b/src/bms/player/beatoraja/PlayDataAccessor.java index 0ccb28e41..6f4d714a4 100644 --- a/src/bms/player/beatoraja/PlayDataAccessor.java +++ b/src/bms/player/beatoraja/PlayDataAccessor.java @@ -607,8 +607,7 @@ public void wrireReplayData(ReplayData[] rd, BMSModel[] models, int lnmode, int boolean ln = false; for (int i = 0; i < models.length; i++) { hashes[i] = models[i].getSHA256(); - ln |= models[i].getTotalNotes(BMSModel.TOTALNOTES_LONG_KEY) - + models[i].getTotalNotes(BMSModel.TOTALNOTES_LONG_SCRATCH) > 0; + ln |= models[i].containsUndefinedLongNote(); } this.wrireReplayData(rd, hashes, ln, lnmode, index, constraint); diff --git a/src/bms/player/beatoraja/PlayerResource.java b/src/bms/player/beatoraja/PlayerResource.java index 142aebc39..d88475808 100644 --- a/src/bms/player/beatoraja/PlayerResource.java +++ b/src/bms/player/beatoraja/PlayerResource.java @@ -10,6 +10,7 @@ import bms.model.BMSDecoder; import bms.model.BMSGenerator; import bms.model.BMSModel; +import bms.model.BMSModelUtils; import bms.model.BMSONDecoder; import bms.player.beatoraja.CourseData.CourseDataConstraint; import bms.player.beatoraja.TableData.TableFolder; @@ -188,6 +189,7 @@ public BMSModel loadBMSModel(Path f, int lnmode) { generator = decoder.getBMSGenerator(); } + BMSModelUtils.setStartNoteSection(model, 1.0); BMSPlayerRule.validate(model, bmson); return model; } diff --git a/src/bms/player/beatoraja/play/BMSPlayer.java b/src/bms/player/beatoraja/play/BMSPlayer.java index 30c814c1c..594ef6390 100644 --- a/src/bms/player/beatoraja/play/BMSPlayer.java +++ b/src/bms/player/beatoraja/play/BMSPlayer.java @@ -467,7 +467,7 @@ public void render() { control.setEnableControl(true); control.setEnableCursor(true); if (property.freq != 100) { - model.setFrequency(property.freq / 100f); + BMSModelUtils.changeFrequency(model, property.freq / 100f); if (main.getConfig().getAudioFreqOption() == Config.AUDIO_PLAY_FREQ) { main.getAudioProcessor().setGlobalPitch(property.freq / 100f); } diff --git a/src/bms/player/beatoraja/song/SongInformation.java b/src/bms/player/beatoraja/song/SongInformation.java index 1969aa9d1..f4ce288f4 100644 --- a/src/bms/player/beatoraja/song/SongInformation.java +++ b/src/bms/player/beatoraja/song/SongInformation.java @@ -54,10 +54,10 @@ public SongInformation() { } public SongInformation(BMSModel model) { - n = model.getTotalNotes(BMSModel.TOTALNOTES_KEY); - ln = model.getTotalNotes(BMSModel.TOTALNOTES_LONG_KEY); - s = model.getTotalNotes(BMSModel.TOTALNOTES_SCRATCH); - ls = model.getTotalNotes(BMSModel.TOTALNOTES_LONG_SCRATCH); + n = BMSModelUtils.getTotalNotes(model, BMSModelUtils.TOTALNOTES_KEY); + ln = BMSModelUtils.getTotalNotes(model, BMSModelUtils.TOTALNOTES_LONG_KEY); + s = BMSModelUtils.getTotalNotes(model, BMSModelUtils.TOTALNOTES_SCRATCH); + ls = BMSModelUtils.getTotalNotes(model, BMSModelUtils.TOTALNOTES_LONG_SCRATCH); total = model.getTotal(); int[][] data = new int[model.getLastTime() / 1000 + 2][7];