From 8fa83c96239b1f2eac42e67e2eca41b451791472 Mon Sep 17 00:00:00 2001 From: Ne_Eo Date: Fri, 21 Jun 2024 22:21:01 +0200 Subject: [PATCH] Added x offset --- source/funkin/menus/ui/NewAlphabet.hx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/funkin/menus/ui/NewAlphabet.hx b/source/funkin/menus/ui/NewAlphabet.hx index cc66efff..a030fc5d 100644 --- a/source/funkin/menus/ui/NewAlphabet.hx +++ b/source/funkin/menus/ui/NewAlphabet.hx @@ -68,6 +68,7 @@ class NewAlphabet extends FlxSprite { var defaults:Map = []; var anims:Map = []; var failedLetters:Array = []; + var xOffset:Map = []; var yOffset:Map = []; var advances:Map = []; @@ -146,10 +147,13 @@ class NewAlphabet extends FlxSprite { var frameToGet = Math.floor(__animTime * fps) % anim.numFrames; frame = frames.frames[anim.frames[frameToGet]]; + var offsetX = xOffset.exists(letter) ? xOffset.get(letter) : 0; var offsetY = frame.sourceSize.y - lineGap + (yOffset.exists(letter) ? yOffset.get(letter) : 0); + frameOffset.x += offsetX; frameOffset.y += offsetY; if (!isOnScreen(camera)) { frameOffset.y -= offsetY; + frameOffset.x -= offsetX; frameOffset.x -= advance; continue; } @@ -158,6 +162,7 @@ class NewAlphabet extends FlxSprite { super.drawComplex(camera); frameOffset.y -= offsetY; + frameOffset.x -= offsetX; frameOffset.x -= advance; } } @@ -253,6 +258,7 @@ class NewAlphabet extends FlxSprite { defaults = new Map(); anims = new Map(); advances = new Map(); + xOffset = new Map(); yOffset = new Map(); failedLetters = []; @@ -274,6 +280,11 @@ class NewAlphabet extends FlxSprite { var advance = Std.parseFloat(node.get("advance")).getDefault(defaultAdvance); advances.set(char, advance); } + if (node.exists("x")) { + // negative since flixel is weird + var xOff = -Std.parseFloat(node.get("x")).getDefault(0.0); + xOffset.set(char, xOff); + } if (node.exists("y")) { var yOff = Std.parseFloat(node.get("y")).getDefault(0.0); yOffset.set(char, yOff);