File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed
source/funkin/ui/debug/charting Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -3590,13 +3590,16 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
35903590 {
35913591 if (holdNoteSprite == null || holdNoteSprite .noteData == null || ! holdNoteSprite .exists || ! holdNoteSprite .visible ) continue ;
35923592
3593+ // Fixes an issue where dragging an hold note too far would hide its sustain trail
3594+ var isSelectedAndDragged = currentNoteSelection .fastContains (holdNoteSprite .noteData ) && (dragTargetCurrentStep != 0 );
3595+
35933596 if (holdNoteSprite .noteData == currentPlaceNoteData )
35943597 {
35953598 // This hold note is for the note we are currently dragging.
35963599 // It will be displayed by gridGhostHoldNoteSprite instead.
35973600 holdNoteSprite .kill ();
35983601 }
3599- else if (! holdNoteSprite .isHoldNoteVisible (viewAreaBottomPixels , viewAreaTopPixels ))
3602+ else if (! holdNoteSprite .isHoldNoteVisible (viewAreaBottomPixels , viewAreaTopPixels ) && ! isSelectedAndDragged )
36003603 {
36013604 // This hold note is off-screen.
36023605 // Kill the hold note sprite and recycle it.
@@ -3617,7 +3620,7 @@ class ChartEditorState extends UIState // UIState derives from MusicBeatState
36173620 else
36183621 {
36193622 displayedHoldNoteData .push (holdNoteSprite .noteData );
3620- // Update the event sprite's height and position.
3623+ // Update the hold note sprite's height and position.
36213624 // var holdNoteHeight = holdNoteSprite.noteData.getStepLength() * GRID_SIZE;
36223625 // holdNoteSprite.setHeightDirectly(holdNoteHeight);
36233626 holdNoteSprite .updateHoldNotePosition (renderedHoldNotes );
You can’t perform that action at this time.
0 commit comments