Handle hold note judgement endings. Fix rendering and removed unnecessary note removal
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
657d380161
commit
912907cb1b
@ -162,7 +162,7 @@ public class Canvas extends JPanel implements AudioSpectrumListener{
|
|||||||
int noteCounter = 0;
|
int noteCounter = 0;
|
||||||
while (lane.noteExists(noteCounter)) {
|
while (lane.noteExists(noteCounter)) {
|
||||||
Note n = lane.getNote(noteCounter);
|
Note n = lane.getNote(noteCounter);
|
||||||
if (n.active) {
|
if (n.active||n.active2) {
|
||||||
double PLAYTIME_RATIO = (1-(((double)n.getStartFrame()-LLSIG.game.musicPlayer.getPlayPosition())/LLSIG.game.NOTE_SPEED));
|
double PLAYTIME_RATIO = (1-(((double)n.getStartFrame()-LLSIG.game.musicPlayer.getPlayPosition())/LLSIG.game.NOTE_SPEED));
|
||||||
double PLAYTIME_END_RATIO = (1-(((double)n.getEndFrame()-LLSIG.game.musicPlayer.getPlayPosition())/LLSIG.game.NOTE_SPEED));
|
double PLAYTIME_END_RATIO = (1-(((double)n.getEndFrame()-LLSIG.game.musicPlayer.getPlayPosition())/LLSIG.game.NOTE_SPEED));
|
||||||
if (n.getNoteType()==NoteType.HOLD) {
|
if (n.getNoteType()==NoteType.HOLD) {
|
||||||
|
@ -346,11 +346,6 @@ public class LLSIG implements KeyListener{
|
|||||||
if (l.noteExists()) {
|
if (l.noteExists()) {
|
||||||
Note n = l.getNote();
|
Note n = l.getNote();
|
||||||
double diff = n.getStartFrame()-LLSIG.game.musicPlayer.getPlayPosition();
|
double diff = n.getStartFrame()-LLSIG.game.musicPlayer.getPlayPosition();
|
||||||
double diff2 = n.getEndFrame()-LLSIG.game.musicPlayer.getPlayPosition();
|
|
||||||
if (n.getNoteType()==NoteType.HOLD&&n.active2&&!n.active&&diff2<=BAD_TIMING_WINDOW) {
|
|
||||||
judgeNote(l, diff2);
|
|
||||||
n.active2=false;
|
|
||||||
}
|
|
||||||
if (n.active&&diff<=BAD_TIMING_WINDOW) {
|
if (n.active&&diff<=BAD_TIMING_WINDOW) {
|
||||||
judgeNote(l, diff);
|
judgeNote(l, diff);
|
||||||
n.active=false;
|
n.active=false;
|
||||||
@ -397,6 +392,15 @@ public class LLSIG implements KeyListener{
|
|||||||
}
|
}
|
||||||
if (lane!=-1) {
|
if (lane!=-1) {
|
||||||
keyState[lane]=false;
|
keyState[lane]=false;
|
||||||
|
Lane l = lanes.get(lane);
|
||||||
|
if (l.noteExists()) {
|
||||||
|
Note n = l.getNote();
|
||||||
|
double diff2 = n.getEndFrame()-LLSIG.game.musicPlayer.getPlayPosition();
|
||||||
|
if (n.getNoteType()==NoteType.HOLD&&n.active2&&!n.active&&diff2<=BAD_TIMING_WINDOW) {
|
||||||
|
judgeNote(l, diff2);
|
||||||
|
n.active2=false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ public class Lane{
|
|||||||
for (int i=noteOffset;i<noteChart.size();i++)
|
for (int i=noteOffset;i<noteChart.size();i++)
|
||||||
{
|
{
|
||||||
Note n = noteChart.get(i);
|
Note n = noteChart.get(i);
|
||||||
if (n.active) {return n;}
|
if (n.active||n.active2) {return n;}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user