|
|
|
@ -391,6 +391,7 @@ public class LLSIG implements KeyListener{ |
|
|
|
|
if (lane!=-1) { |
|
|
|
|
if (EDITOR) { |
|
|
|
|
Lane l = LLSIG.game.lanes.get(lane); |
|
|
|
|
if (!l.keyPressed) { |
|
|
|
|
List<Note> matchingNotes = l.noteChart.stream().filter((note)->note.getBeatSnap()==EDITOR_CURSOR_BEAT||(note.getNoteType()==NoteType.HOLD&¬e.getBeatSnap()<=EDITOR_CURSOR_BEAT&¬e.getBeatSnapEnd()>=EDITOR_CURSOR_BEAT)).collect(Collectors.toList()); |
|
|
|
|
boolean replace=true; |
|
|
|
|
for (Note n : matchingNotes) { |
|
|
|
@ -404,6 +405,8 @@ public class LLSIG implements KeyListener{ |
|
|
|
|
n.setBeatSnap(EDITOR_CURSOR_BEAT); |
|
|
|
|
LLSIG.game.lanes.get(lane).addNote(n,true); |
|
|
|
|
LLSIG.game.lanes.get(lane).lastNoteAdded=n; |
|
|
|
|
l.keyPressed=true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else |
|
|
|
|
if (PLAYING&&EDITMODE) { |
|
|
|
@ -424,7 +427,6 @@ public class LLSIG implements KeyListener{ |
|
|
|
|
n.setBeatSnap(snapBeat); |
|
|
|
|
LLSIG.game.lanes.get(lane).addNote(n); |
|
|
|
|
LLSIG.game.lanes.get(lane).lastNoteAdded=n; |
|
|
|
|
LLSIG.game.lanes.get(lane).keyPressed=true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else |
|
|
|
@ -484,6 +486,21 @@ public class LLSIG implements KeyListener{ |
|
|
|
|
case KeyEvent.VK_SEMICOLON:{lane=8;}break; |
|
|
|
|
} |
|
|
|
|
if (lane!=-1) { |
|
|
|
|
if (EDITOR) { |
|
|
|
|
if (LLSIG.game.lanes.get(lane).keyPressed) { |
|
|
|
|
Note lastNote = LLSIG.game.lanes.get(lane).lastNoteAdded; |
|
|
|
|
if (lastNote!=null) { |
|
|
|
|
if (EDITOR_CURSOR_BEAT!=lastNote.getBeatSnap()) { |
|
|
|
|
double noteBeat = Math.round(((musicPlayer.getPlayPosition()-offset)/beatDelay)*NOTE_RECORD_BEAT_SNAP_MULTIPLE)/(double)NOTE_RECORD_BEAT_SNAP_MULTIPLE; |
|
|
|
|
//Create a hold note to this position.
|
|
|
|
|
lastNote.setNoteType(NoteType.HOLD); |
|
|
|
|
lastNote.setBeatSnapEnd(noteBeat); |
|
|
|
|
lastNote.active2=false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
LLSIG.game.lanes.get(lane).keyPressed=false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (PLAYING&&EDITMODE) { |
|
|
|
|
if (LLSIG.game.lanes.get(lane).keyPressed) { |
|
|
|
|
double noteBeat = Math.round(((musicPlayer.getPlayPosition()-offset)/beatDelay)*NOTE_RECORD_BEAT_SNAP_MULTIPLE)/(double)NOTE_RECORD_BEAT_SNAP_MULTIPLE; |
|
|
|
|