diff --git a/source/ChartingState.hx b/source/ChartingState.hx index 3d59846..cb55627 100644 --- a/source/ChartingState.hx +++ b/source/ChartingState.hx @@ -1285,7 +1285,7 @@ class ChartingState extends MusicBeatState FlxG.sound.music.stop(); if (!PlayState.isSM) vocals.stop(); - PlayState.startTime = lastUpdatedSection.startTime; + PlayState.startTime = _song.notes[curSection].startTime; LoadingState.loadAndSwitchState(new PlayState()); }); @@ -1834,6 +1834,7 @@ class ChartingState extends MusicBeatState { if (i.overlaps(selectBox) && !i.charterSelected) { + trace("seleting " + i.strumTime); selectNote(i, false); } } @@ -2225,7 +2226,7 @@ class ChartingState extends MusicBeatState { if (FlxG.keys.pressed.CONTROL) { - selectNote(note); + selectNote(note, false); } else { @@ -2699,27 +2700,31 @@ class ChartingState extends MusicBeatState selectedBoxes.members.remove(selectedBoxes.members[0]); } - for (i in getSectionByTime(note.strumTime).sectionNotes) + for(sec in _song.notes) { - if (i[0] == note.strumTime && i[1] == note.rawNoteData) + swagNum = 0; + for(i in sec.sectionNotes) { - curSelectedNote = getSectionByTime(note.strumTime).sectionNotes[swagNum]; - if (curSelectedNoteObject != null) - curSelectedNoteObject.charterSelected = false; - - curSelectedNoteObject = note; - if (!note.charterSelected) - { - var box = new ChartingBox(note.x,note.y,note); - box.connectedNoteData = i; - selectedBoxes.add(box); - note.charterSelected = true; - curSelectedNoteObject.charterSelected = true; - } - - } + if (i[0] == note.strumTime && i[1] == note.rawNoteData) + { + curSelectedNote = sec.sectionNotes[swagNum]; + if (curSelectedNoteObject != null) + curSelectedNoteObject.charterSelected = false; - swagNum += 1; + curSelectedNoteObject = note; + if (!note.charterSelected) + { + var box = new ChartingBox(note.x,note.y,note); + box.connectedNoteData = i; + selectedBoxes.add(box); + note.charterSelected = true; + curSelectedNoteObject.charterSelected = true; + } + + + } + swagNum += 1; + } } updateNoteUI(); diff --git a/source/PlayState.hx b/source/PlayState.hx index 3de8d13..a3fed22 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -1061,6 +1061,46 @@ class PlayState extends MusicBeatState } } + if (startTime != 0) + { + var toBeRemoved = []; + for(i in 0...notes.members.length) + { + var dunceNote:Note = notes.members[i]; + + if (dunceNote.strumTime - startTime <= 0) + toBeRemoved.push(dunceNote); + else + { + if (PlayStateChangeables.useDownscroll) + { + if (dunceNote.mustPress) + dunceNote.y = (playerStrums.members[Math.floor(Math.abs(dunceNote.noteData))].y + + 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, + 2)) - dunceNote.noteYOff; + else + dunceNote.y = (strumLineNotes.members[Math.floor(Math.abs(dunceNote.noteData))].y + + 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, + 2)) - dunceNote.noteYOff; + } + else + { + if (dunceNote.mustPress) + dunceNote.y = (playerStrums.members[Math.floor(Math.abs(dunceNote.noteData))].y + - 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, + 2)) + dunceNote.noteYOff; + else + dunceNote.y = (strumLineNotes.members[Math.floor(Math.abs(dunceNote.noteData))].y + - 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, + 2)) + dunceNote.noteYOff; + } + } + } + + for(i in toBeRemoved) + notes.members.remove(i); + } + trace('generated'); // add(strumLine); @@ -1362,34 +1402,7 @@ class PlayState extends MusicBeatState //generateStaticArrows(0); //generateStaticArrows(1); - if (startTime != 0) - { - var toBeRemoved = []; - for(i in 0...unspawnNotes.length) - { - var dunceNote:Note = unspawnNotes[i]; - if (dunceNote.strumTime - startTime <= 0) - toBeRemoved.push(dunceNote); - else if (dunceNote.strumTime - startTime < 3500) - { - notes.add(dunceNote); - - if (dunceNote.mustPress) - dunceNote.y = (playerStrums.members[Math.floor(Math.abs(dunceNote.noteData))].y - + 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, - 2)) - dunceNote.noteYOff; - else - dunceNote.y = (strumLineNotes.members[Math.floor(Math.abs(dunceNote.noteData))].y - + 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, - 2)) - dunceNote.noteYOff; - toBeRemoved.push(dunceNote); - } - } - - for(i in toBeRemoved) - unspawnNotes.remove(i); - } #if windows // pre lowercasing the song name (startCountdown)