Fix edit mode press and release holding tracking for editing mode.

main
Joshua Sigona 3 years ago
parent 82c6f63538
commit 39759fa789
  1. 34
      LLSIG/src/main/java/LLSIG/LLSIG.java
  2. 1
      LLSIG/src/main/java/LLSIG/Lane.java

@ -402,12 +402,15 @@ public class LLSIG implements KeyListener{
} }
} else } else
if (PLAYING&&EDITMODE) { if (PLAYING&&EDITMODE) {
Note n = new Note(NoteType.NORMAL,musicPlayer.getPlayPosition()); if (!LLSIG.game.lanes.get(lane).keyPressed) {
n.active=false; Note n = new Note(NoteType.NORMAL,musicPlayer.getPlayPosition());
//System.out.println(Math.round(((musicPlayer.getPlayPosition()-offset)/beatDelay)*NOTE_RECORD_BEAT_SNAP_MULTIPLE)/(double)NOTE_RECORD_BEAT_SNAP_MULTIPLE); n.active=false;
n.setBeatSnap(Math.round(((musicPlayer.getPlayPosition()-offset)/beatDelay)*NOTE_RECORD_BEAT_SNAP_MULTIPLE)/(double)NOTE_RECORD_BEAT_SNAP_MULTIPLE); //System.out.println(Math.round(((musicPlayer.getPlayPosition()-offset)/beatDelay)*NOTE_RECORD_BEAT_SNAP_MULTIPLE)/(double)NOTE_RECORD_BEAT_SNAP_MULTIPLE);
LLSIG.game.lanes.get(lane).addNote(n); n.setBeatSnap(Math.round(((musicPlayer.getPlayPosition()-offset)/beatDelay)*NOTE_RECORD_BEAT_SNAP_MULTIPLE)/(double)NOTE_RECORD_BEAT_SNAP_MULTIPLE);
LLSIG.game.lanes.get(lane).lastNoteAdded=n; LLSIG.game.lanes.get(lane).addNote(n);
LLSIG.game.lanes.get(lane).lastNoteAdded=n;
LLSIG.game.lanes.get(lane).keyPressed=true;
}
} else } else
if (PLAYING&&!EDITMODE&&!EDITOR) { if (PLAYING&&!EDITMODE&&!EDITOR) {
Lane l = lanes.get(lane); Lane l = lanes.get(lane);
@ -466,15 +469,18 @@ public class LLSIG implements KeyListener{
} }
if (lane!=-1) { if (lane!=-1) {
if (PLAYING&&EDITMODE) { if (PLAYING&&EDITMODE) {
double noteBeat = Math.round(((musicPlayer.getPlayPosition()-offset)/beatDelay)*NOTE_RECORD_BEAT_SNAP_MULTIPLE)/(double)NOTE_RECORD_BEAT_SNAP_MULTIPLE; if (LLSIG.game.lanes.get(lane).keyPressed) {
Note lastNote = LLSIG.game.lanes.get(lane).lastNoteAdded; double noteBeat = Math.round(((musicPlayer.getPlayPosition()-offset)/beatDelay)*NOTE_RECORD_BEAT_SNAP_MULTIPLE)/(double)NOTE_RECORD_BEAT_SNAP_MULTIPLE;
if (lastNote!=null) { Note lastNote = LLSIG.game.lanes.get(lane).lastNoteAdded;
if (noteBeat-lastNote.getBeatSnap()>=1) { if (lastNote!=null) {
lastNote.setNoteType(NoteType.HOLD); if (noteBeat-lastNote.getBeatSnap()>=1) {
lastNote.setBeatSnapEnd(noteBeat); lastNote.setNoteType(NoteType.HOLD);
lastNote.active2=false; lastNote.setBeatSnapEnd(noteBeat);
LLSIG.game.lanes.get(lane).lastNoteAdded=null; lastNote.active2=false;
LLSIG.game.lanes.get(lane).lastNoteAdded=null;
}
} }
LLSIG.game.lanes.get(lane).keyPressed=false;
} }
} }
if (PLAYING&&!EDITMODE&&!EDITOR) { if (PLAYING&&!EDITMODE&&!EDITOR) {

@ -7,6 +7,7 @@ public class Lane{
TimingRating lastRating = TimingRating.MISS; TimingRating lastRating = TimingRating.MISS;
double lastNote = -1; double lastNote = -1;
Note lastNoteAdded; Note lastNoteAdded;
boolean keyPressed=false;
public Lane(List<Note> noteChart) { public Lane(List<Note> noteChart) {
super(); super();
this.noteChart = noteChart; this.noteChart = noteChart;

Loading…
Cancel
Save