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 = (frameInfo[2] != "undefined") ? Std.parseFloat(frameInfo[2]) : 100; var scaleX:Float = 1; var scaleY:Float = 1; if (frameInfo[3] != null) scaleX = Std.parseFloat(frameInfo[4]); if (frameInfo[4] != null) scaleY = Std.parseFloat(frameInfo[4]); var shit:FramesJSFLFrame = { x: x, y: y, alpha: alpha, scaleX: scaleX, scaleY: scaleY }; output.frames.push(shit); } return output; } } typedef FramesJSFLInfo = { var frames:Array; } typedef FramesJSFLFrame = { var x:Float; var y:Float; var alpha:Float; var scaleX:Float; var scaleY:Float; }