diff --git a/source/funkin/editors/charter/Charter.hx b/source/funkin/editors/charter/Charter.hx index 342bf8cf..1c4e76da 100644 --- a/source/funkin/editors/charter/Charter.hx +++ b/source/funkin/editors/charter/Charter.hx @@ -1,6 +1,7 @@ package funkin.editors.charter; // ! FUCK YOU CHUF (your biggest fan -lunar) <3 +import flixel.FlxLayer; import funkin.editors.extra.CameraHoverDummy; import flixel.input.keyboard.FlxKey; import flixel.math.FlxPoint; @@ -88,6 +89,8 @@ class Charter extends UIState { public static var clipboard:Array = []; public static var waveformHandler:CharterWaveformHandler; + public var textLayer:FlxLayer; + public function new(song:String, diff:String, reload:Bool = true) { super(); if (song != null) { @@ -468,6 +471,7 @@ class Charter extends UIState { // adds grid and notes so that they're ALWAYS behind the UI add(gridBackdrops); + add(textLayer = new FlxLayer()); add(eventsBackdrop); add(addEventSpr); add(eventsGroup); diff --git a/source/funkin/editors/charter/CharterBackdropGroup.hx b/source/funkin/editors/charter/CharterBackdropGroup.hx index 2ceab5be..cd11c80c 100644 --- a/source/funkin/editors/charter/CharterBackdropGroup.hx +++ b/source/funkin/editors/charter/CharterBackdropGroup.hx @@ -133,7 +133,7 @@ class CharterBackdrop extends FlxTypedGroup { waveformSprite = new FlxSprite().makeSolid(1, 1, 0xFF000000); waveformSprite.scale.set(160, 1); - waveformSprite.updateHitbox(); + waveformSprite.updateHitbox(); add(waveformSprite); sectionSeparator = new FlxBackdrop(null, Y, 0, 0); diff --git a/source/funkin/editors/charter/CharterNote.hx b/source/funkin/editors/charter/CharterNote.hx index bb5d627d..6a684a37 100644 --- a/source/funkin/editors/charter/CharterNote.hx +++ b/source/funkin/editors/charter/CharterNote.hx @@ -67,6 +67,7 @@ class CharterNote extends UISprite implements ICharterSelectable { if(noteTypeTexts[v] == null || noteTypeTexts[v].graphic.isDestroyed) { noteTypeTexts[v] = new UIText(x, y, 0, Std.string(v)); noteTypeTexts[v].exists = v != 0; + noteTypeTexts[v].layer = (Charter.instance != null) ? Charter.instance.textLayer : null; } typeText = noteTypeTexts[v]; @@ -92,8 +93,7 @@ class CharterNote extends UISprite implements ICharterSelectable { this.type = type; if (strumLine != null) this.strumLine = strumLine; - // - //typeText.text = Std.string(this.type); + sustainSpr.exists = susLength != 0; y = step * 40; @@ -144,10 +144,12 @@ class CharterNote extends UISprite implements ICharterSelectable { public override function update(elapsed:Float) { super.update(elapsed); - var sprLength:Float = (40 * (susLength+tempSusLength)) + ((susLength+tempSusLength) != 0 ? (height/2) : 0); - sustainSpr.scale.set(10, __susInstaLerp ? sprLength : CoolUtil.fpsLerp(sustainSpr.scale.y, sprLength, 1/2)); - sustainSpr.updateHitbox(); - sustainSpr.follow(this, 15, 20); + if(susLength != 0) { + var sprLength:Float = (40 * (susLength+tempSusLength)) + ((susLength+tempSusLength) != 0 ? (height/2) : 0); + sustainSpr.scale.set(10, __susInstaLerp ? sprLength : CoolUtil.fpsLerp(sustainSpr.scale.y, sprLength, 1/2)); + sustainSpr.updateHitbox(); + sustainSpr.follow(this, 15, 20); + } sustainDraggable = false; if (!hovered && susLength != 0) {