Skip to content

Commit 37dc66b

Browse files
NotHyper-474EliteMasterEric
authored andcommitted
i hate these yanderedev ass if-elses but I just wanna fix this bug
1 parent 7462779 commit 37dc66b

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

source/funkin/ui/debug/charting/ChartEditorState.hx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff 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);

0 commit comments

Comments
 (0)