diff --git a/source/CoolUtil.hx b/source/CoolUtil.hx index 8c24449bb..dea229ee4 100644 --- a/source/CoolUtil.hx +++ b/source/CoolUtil.hx @@ -1,5 +1,13 @@ package; +import flixel.FlxG; +import flixel.graphics.FlxGraphic; +import flixel.graphics.frames.FlxAtlasFrames; +import flixel.math.FlxPoint; +import flixel.math.FlxRect; +import flixel.system.FlxAssets.FlxGraphicAsset; +import haxe.Json; +import lime.math.Rectangle; import lime.utils.Assets; using StringTools; @@ -34,4 +42,63 @@ class CoolUtil } return dumbArray; } + + public static function fromAnimate(Source:FlxGraphicAsset, Description:String):FlxAtlasFrames + { + var graphic:FlxGraphic = FlxG.bitmap.add(Source); + if (graphic == null) + return null; + + var frames:FlxAtlasFrames = FlxAtlasFrames.findFrame(graphic); + if (frames != null) + return frames; + + if (graphic == null || Description == null) + return null; + + frames = new FlxAtlasFrames(graphic); + + var data:AnimateObject; + + var json:String = Description; + + trace(json); + + if (Assets.exists(json)) + json = Assets.getText(json); + + data = cast Json.parse(json).ATLAS; + + for (sprite in data.SPRITES) + { + // probably nicer way to do this? Oh well + var swagSprite:AnimateSprite = sprite.SPRITE; + + var rect = FlxRect.get(swagSprite.x, swagSprite.y, swagSprite.w, swagSprite.h); + + var size = new Rectangle(0, 0, rect.width, rect.height); + + var offset = FlxPoint.get(-size.left, -size.top); + var sourceSize = FlxPoint.get(size.width, size.height); + + frames.addAtlasFrame(rect, sourceSize, offset, swagSprite.name); + } + + return frames; + } +} + +typedef AnimateObject = +{ + SPRITES:Array +} + +typedef AnimateSprite = +{ + var name:String; + var x:Int; + var y:Int; + var w:Int; + var h:Int; + var rotated:Bool; } diff --git a/source/TitleState.hx b/source/TitleState.hx index bdb394bcf..b658244a1 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -53,8 +53,6 @@ class TitleState extends MusicBeatState polymod.Polymod.init({modRoot: "mods", dirs: ['introMod'], framework: OPENFL}); #end - AnimationAtlas.fromAnimate(Paths.image('money'), Paths.file('images/money.json')); - swagShader = new ColorSwap(); FlxG.sound.muteKeys = [ZERO]; @@ -198,6 +196,10 @@ class TitleState extends MusicBeatState blackScreen = new FlxSprite().makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); credGroup.add(blackScreen); + var atlasBullShit:FlxSprite = new FlxSprite(); + atlasBullShit.frames = CoolUtil.fromAnimate(Paths.image('money'), Paths.file('images/money.json')); + credGroup.add(atlasBullShit); + credTextShit = new Alphabet(0, 0, "ninjamuffin99\nPhantomArcade\nkawaisprite\nevilsk8er", true); credTextShit.screenCenter(); diff --git a/source/animate/Animation.hx b/source/animate/Animation.hx deleted file mode 100644 index eec2c6c60..000000000 --- a/source/animate/Animation.hx +++ /dev/null @@ -1,11 +0,0 @@ -package animate; - -import flixel.group.FlxGroup; - -class Aniamtion extends FlxGroup -{ - public function new(symbolName:String, atlas:AnimationAtlas):Void - { - super(); - } -} diff --git a/source/animate/AnimationAtlas.hx b/source/animate/AnimationAtlas.hx deleted file mode 100644 index cd87c39d0..000000000 --- a/source/animate/AnimationAtlas.hx +++ /dev/null @@ -1,78 +0,0 @@ -package animate; - -import flixel.FlxG; -import flixel.addons.ui.FlxUIColorSwatchSelecter.SwatchGraphic; -import flixel.graphics.FlxGraphic; -import flixel.graphics.frames.FlxAtlasFrames; -import flixel.math.FlxPoint; -import flixel.math.FlxRect; -import flixel.system.FlxAssets.FlxGraphicAsset; -import haxe.Json; -import openfl.Assets; -import openfl.geom.Rectangle; - -class AnimationAtlas -{ - public function new(data:Dynamic, atlas:FlxAtlasFrames):Void {} - - public static function fromAnimate(Source:FlxGraphicAsset, Description:String):FlxAtlasFrames - { - var graphic:FlxGraphic = FlxG.bitmap.add(Source); - if (graphic == null) - return null; - - var frames:FlxAtlasFrames = FlxAtlasFrames.findFrame(graphic); - if (frames != null) - return frames; - - if (graphic == null || Description == null) - return null; - - frames = new FlxAtlasFrames(graphic); - - var data:AnimateObject; - - var json:String = Description; - - trace(json); - - if (Assets.exists(json)) - json = Assets.getText(json); - - trace(json); - - data = cast Json.parse(json).ATLAS; - - for (sprite in data.SPRITES) - { - // probably nicer way to do this? Oh well - var swagSprite:AnimateSprite = sprite.SPRITE; - - var rect = FlxRect.get(swagSprite.x, swagSprite.y, swagSprite.w, swagSprite.h); - - var size = new Rectangle(0, 0, rect.width, rect.height); - - var offset = FlxPoint.get(-size.left, -size.top); - var sourceSize = FlxPoint.get(size.width, size.height); - - frames.addAtlasFrame(rect, sourceSize, offset, swagSprite.name); - } - - return frames; - } -} - -typedef AnimateObject = -{ - SPRITES:Array -} - -typedef AnimateSprite = -{ - var name:String; - var x:Int; - var y:Int; - var w:Int; - var h:Int; - var rotated:Bool; -}