From af9541f6172f656163c0d2f69e5c12bcaff2e7e3 Mon Sep 17 00:00:00 2001 From: SrtHero278 Date: Fri, 21 Jun 2024 07:41:41 -0700 Subject: [PATCH] override drawComplex instead --- source/funkin/menus/ui/NewAlphabet.hx | 20 +++++++++++++++++++- source/funkin/menus/ui/NewAlphabetTest.hx | 10 ++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/source/funkin/menus/ui/NewAlphabet.hx b/source/funkin/menus/ui/NewAlphabet.hx index cd0ae9c9..7c25affe 100644 --- a/source/funkin/menus/ui/NewAlphabet.hx +++ b/source/funkin/menus/ui/NewAlphabet.hx @@ -27,6 +27,7 @@ class NewAlphabet extends FlxSprite { var __forceWidth:Float = 0; // TODO: implement functionality for this. var __queueResize:Bool = false; var __animTime:Float = 0; + var __ogForceScreen:Bool = false; public var font(default, set):String; var defaultAdvance:Float = 40; @@ -44,6 +45,18 @@ class NewAlphabet extends FlxSprite { } override function draw() { + __ogForceScreen = forceIsOnScreen; + forceIsOnScreen = true; + super.draw(); + } + + override function isSimpleRender(?camera:FlxCamera):Bool { + return false; // maybe ill get simple render working another time??? not right now tho. + } + + override function drawComplex(camera:FlxCamera) { + forceIsOnScreen = __ogForceScreen; + __animTime += FlxG.elapsed; var curLine = 0; var daText = switch (forceCase) { @@ -71,9 +84,14 @@ class NewAlphabet extends FlxSprite { } else { var frameToGet = Math.floor(__animTime * fps) % anim.numFrames; frame = frames.frames[anim.frames[frameToGet]]; + + if (!isOnScreen(camera)) continue; + if (shader != null && shader is flixel.graphics.tile.FlxGraphicsShader) + shader.setCamSize(_frame.frame.x, _frame.frame.y, _frame.frame.width, _frame.frame.height); + var offsetY = frame.sourceSize.y - lineGap + (yOffset.exists(letter) ? yOffset.get(letter) : 0); frameOffset.y += offsetY; - super.draw(); + super.drawComplex(camera); frameOffset.y -= offsetY; frameOffset.x -= frame.sourceSize.x; } diff --git a/source/funkin/menus/ui/NewAlphabetTest.hx b/source/funkin/menus/ui/NewAlphabetTest.hx index 1989d90d..035a7a2e 100644 --- a/source/funkin/menus/ui/NewAlphabetTest.hx +++ b/source/funkin/menus/ui/NewAlphabetTest.hx @@ -9,6 +9,7 @@ class NewAlphabetTest extends MusicBeatState { override function create() { super.create(); + MusicBeatState.skipTransIn = true; bgColor = 0xFF808080; alphabet = new NewAlphabet(100, 360, "bold"); @@ -16,5 +17,14 @@ class NewAlphabetTest extends MusicBeatState { alphabet.alignment = CENTER; add(alphabet); } + + override function update(elapsed:Float) { + super.update(elapsed); + if (controls.BACK) { + if (FlxG.sound.music != null) + FlxG.sound.music.stop(); + FlxG.resetState(); + } + } } #end \ No newline at end of file