From 2b66d74b0109bb0ff6895d02225de4cc435376ee Mon Sep 17 00:00:00 2001 From: rufius Date: Sun, 21 Sep 2025 08:35:27 -0700 Subject: [PATCH] Add default font customization flags for FunkinText (#762) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add default font customization flags for FunkinText * dont mind me * organizing these and deleting duplicates * oh wait oops --------- Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com> --- source/funkin/backend/FunkinText.hx | 7 ++++-- source/funkin/backend/system/Flags.hx | 4 ++++ source/funkin/backend/utils/CoolUtil.hx | 32 +++++++------------------ 3 files changed, 18 insertions(+), 25 deletions(-) diff --git a/source/funkin/backend/FunkinText.hx b/source/funkin/backend/FunkinText.hx index aa3728ea..f63ac03a 100644 --- a/source/funkin/backend/FunkinText.hx +++ b/source/funkin/backend/FunkinText.hx @@ -2,11 +2,14 @@ package funkin.backend; import flixel.text.FlxText; import flixel.util.FlxColor; +import funkin.backend.system.Flags; class FunkinText extends FlxText { - public function new(X:Float = 0, Y:Float = 0, FieldWidth:Float = 0, ?Text:String, Size:Int = 16, Border:Bool = true) { + public function new(X:Float = 0, Y:Float = 0, FieldWidth:Float = 0, ?Text:String, ?Size:Int, Border:Bool = true) { + if (Size == null) Size = Flags.DEFAULT_FONT_SIZE; + super(X, Y, FieldWidth, Text, Size); - setFormat(Paths.font("vcr.ttf"), Size, FlxColor.WHITE); + setFormat(Paths.font(Flags.DEFAULT_FONT), Size, FlxColor.WHITE); if (Border) { borderStyle = OUTLINE; borderSize = 1; diff --git a/source/funkin/backend/system/Flags.hx b/source/funkin/backend/system/Flags.hx index 8b32a1ea..1b96f726 100644 --- a/source/funkin/backend/system/Flags.hx +++ b/source/funkin/backend/system/Flags.hx @@ -148,6 +148,10 @@ class Flags { public static var DEFAULT_HUD_ZOOM_MULT:Float = 0.03; public static var DEFAULT_CAM_ZOOM_LERP:Float = 0.05; public static var DEFAULT_HUD_ZOOM_LERP:Float = 0.05; + + // Font configuration + public static var DEFAULT_FONT:String = "vcr.ttf"; + public static var DEFAULT_FONT_SIZE:Int = 16; // to translate these you need to convert them into ids // Resume -> pause.resume diff --git a/source/funkin/backend/utils/CoolUtil.hx b/source/funkin/backend/utils/CoolUtil.hx index d06b416c..6f570949 100644 --- a/source/funkin/backend/utils/CoolUtil.hx +++ b/source/funkin/backend/utils/CoolUtil.hx @@ -3,31 +3,15 @@ package funkin.backend.utils; #if cpp import cpp.Float64; #end -import flxanimate.data.AnimationData.AnimAtlas; -import flixel.graphics.FlxGraphic; -import openfl.display.BitmapData; -import flixel.graphics.frames.FlxAtlasFrames; -import flixel.graphics.frames.FlxFramesCollection; #if sys import sys.FileSystem; #end -import flixel.text.FlxText; -import funkin.backend.utils.XMLUtil.TextFormat; -import flixel.util.typeLimit.OneOfTwo; -import flixel.util.typeLimit.OneOfThree; -import flixel.tweens.FlxTween; -import flixel.system.frontEnds.SoundFrontEnd; -import flixel.sound.FlxSound; -import funkin.backend.system.Conductor; -import flixel.sound.FlxSoundGroup; -import haxe.Json; -import haxe.io.Path; -import haxe.io.Bytes; -import haxe.xml.Access; -import flixel.input.keyboard.FlxKey; -import lime.utils.Assets; import flixel.animation.FlxAnimation; +import flixel.graphics.FlxGraphic; +import flixel.graphics.frames.FlxAtlasFrames; +import flixel.graphics.frames.FlxFramesCollection; import flixel.input.keyboard.FlxKey; +import flixel.math.FlxPoint; import flixel.sound.FlxSound; import flixel.sound.FlxSoundGroup; import flixel.system.frontEnds.SoundFrontEnd; @@ -35,19 +19,21 @@ import flixel.text.FlxText; import flixel.tweens.FlxTween; import flixel.util.FlxAxes; import flixel.util.FlxColor; +import flixel.util.typeLimit.OneOfThree; import flixel.util.typeLimit.OneOfTwo; +import flxanimate.data.AnimationData.AnimAtlas; import funkin.backend.system.Conductor; import funkin.backend.utils.XMLUtil.TextFormat; import haxe.CallStack; +import haxe.Constraints.IMap; +import haxe.EnumTools.EnumValueTools; import haxe.Json; import haxe.io.Bytes; import haxe.io.Path; import haxe.xml.Access; import lime.utils.Assets; +import openfl.display.BitmapData; import openfl.geom.ColorTransform; -import flixel.math.FlxPoint; -import haxe.Constraints.IMap; -import haxe.EnumTools.EnumValueTools; using StringTools;