From 28068b1a86f46e7ff2dacaa18c426b6644bb6767 Mon Sep 17 00:00:00 2001 From: FabsTheFabs Date: Sat, 15 Jun 2024 06:08:55 +0100 Subject: [PATCH] updating more stuff --- .../funkin/graphics/shaders/MosaicEffect.hx | 23 +++++++++ .../ui/charSelect/CharSelectSubState.hx | 1 - source/funkin/util/FramesJSFLParser.hx | 48 +++++++++++++++++++ 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 source/funkin/graphics/shaders/MosaicEffect.hx create mode 100644 source/funkin/util/FramesJSFLParser.hx diff --git a/source/funkin/graphics/shaders/MosaicEffect.hx b/source/funkin/graphics/shaders/MosaicEffect.hx new file mode 100644 index 000000000..fc3737aff --- /dev/null +++ b/source/funkin/graphics/shaders/MosaicEffect.hx @@ -0,0 +1,23 @@ +package funkin.graphics.shaders; + +import flixel.addons.display.FlxRuntimeShader; +import openfl.utils.Assets; +import funkin.Paths; +import flixel.math.FlxPoint; + +class MosaicEffect extends FlxRuntimeShader +{ + public var blockSize:FlxPoint = FlxPoint.get(1.0, 1.0); + + public function new() + { + super(Assets.getText(Paths.frag('mosaic'))); + setBlockSize(1.0, 1.0); + } + + public function setBlockSize(w:Float, h:Float) + { + blockSize.set(w, h); + setFloatArray("uBlocksize", [w, h]); + } +} diff --git a/source/funkin/ui/charSelect/CharSelectSubState.hx b/source/funkin/ui/charSelect/CharSelectSubState.hx index a360328a2..40fa874f3 100644 --- a/source/funkin/ui/charSelect/CharSelectSubState.hx +++ b/source/funkin/ui/charSelect/CharSelectSubState.hx @@ -9,7 +9,6 @@ import openfl.display.BlendMode; import flixel.group.FlxGroup.FlxTypedGroup; import flixel.group.FlxSpriteGroup; import funkin.play.stage.Stage; -import funkin.play.stage.StageData.StageDataParser; import funkin.modding.events.ScriptEvent; import funkin.modding.events.ScriptEventDispatcher; import funkin.graphics.adobeanimate.FlxAtlasSprite; diff --git a/source/funkin/util/FramesJSFLParser.hx b/source/funkin/util/FramesJSFLParser.hx new file mode 100644 index 000000000..33bcf9d9d --- /dev/null +++ b/source/funkin/util/FramesJSFLParser.hx @@ -0,0 +1,48 @@ +package funkin.util; + +import openfl.Assets; + +/** + * See `funScripts/jsfl/frames.jsfl` for more information in the art repo/folder! + * Homemade dipshit proprietary format to get simple animation info out of flash! + * Pure convienience! + */ +class FramesJSFLParser +{ + public static function parse(path:String):FramesJSFLInfo + { + var text:String = Assets.getText(path); + + // TODO: error handle if text is null + + var output:FramesJSFLInfo = {frames: []}; + + var frames:Array = text.split("\n"); + + for (frame in frames) + { + var frameInfo:Array = frame.split(" "); + + var x:Float = Std.parseFloat(frameInfo[0]); + var y:Float = Std.parseFloat(frameInfo[1]); + var alpha:Float = Std.parseFloat(frameInfo[2]); + + var shit:FramesJSFLFrame = {x: x, y: y, alpha: alpha}; + output.frames.push(shit); + } + + return output; + } +} + +typedef FramesJSFLInfo = +{ + var frames:Array; +} + +typedef FramesJSFLFrame = +{ + var x:Float; + var y:Float; + var alpha:Float; +}