From 6d3b6f22f193d09089321f1a28b0be4b20712b71 Mon Sep 17 00:00:00 2001 From: kittstone Date: Wed, 8 Sep 2021 22:42:22 -0500 Subject: [PATCH 01/21] var theShit = new CutSprite(0, 0, "assets/images/cuts/theFunny", 'poggies'); --- .gitignore | 1 + source/plugins/tools/CutSprite.hx | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 source/plugins/tools/CutSprite.hx diff --git a/.gitignore b/.gitignore index 84f8c3c7a..68872216f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ export/ .vscode/ .idea/ +vscode-project.hxml diff --git a/source/plugins/tools/CutSprite.hx b/source/plugins/tools/CutSprite.hx new file mode 100644 index 000000000..0670b6822 --- /dev/null +++ b/source/plugins/tools/CutSprite.hx @@ -0,0 +1,28 @@ +package plugins.tools; + +import flixel.FlxSprite; +// utility sprite that handles dancing for you +class CutSprite extends DynamicSprite { + /** + * Create a CutSprite + * @param x X Position + * @param y Y Position + * @param location The Location of the Shit + * @param animName The Animation Name of the Shit + */ + public function new (x:Float, y:Float, location:String, animName:String){ + super(x, y); + var theShit = new FlxSprite(x, y); + var thePng = FNFAssets.getBitmapData(location + '.png'); + var theXml = FNFAssets.getText(location + '.xml'); + + theShit.frames = FlxAtlasFrames.fromSparrow(thePng, theXml); + theShit.animation.addByPrefix('cut', animName, 24, false); + } + public function play():Void { + theShit.animation.play('cut'); + if (theShit.animation.finished){ + theShit.remove(); + } + } + } \ No newline at end of file From 4e00a0c481179272e92b462de1e03d4112c1758d Mon Sep 17 00:00:00 2001 From: kittstone Date: Thu, 9 Sep 2021 21:40:15 -0500 Subject: [PATCH 02/21] support fucking with the window n shit, and also gamejolt trophies :trollface: --- assets/data/windowShit.json | 3 ++ source/GameJoltState.hx | 80 +++++++++++++++++++++++++++++++++++++ source/OptionsHandler.hx | 1 + source/PlayState.hx | 12 ++++++ source/SaveDataState.hx | 12 +++++- 5 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 assets/data/windowShit.json create mode 100644 source/GameJoltState.hx diff --git a/assets/data/windowShit.json b/assets/data/windowShit.json new file mode 100644 index 000000000..7b15429dd --- /dev/null +++ b/assets/data/windowShit.json @@ -0,0 +1,3 @@ +{ + "windowName": "Friday Night Funkin'" +} \ No newline at end of file diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx new file mode 100644 index 000000000..cbe335e00 --- /dev/null +++ b/source/GameJoltState.hx @@ -0,0 +1,80 @@ +package; + +import flixel.addons.api.FlxGameJolt; +import flash.text.TextField; +import flixel.FlxG; +import flixel.FlxSprite; +import flixel.addons.display.FlxGridOverlay; +import flixel.group.FlxGroup.FlxTypedGroup; +import flixel.math.FlxMath; +import flixel.text.FlxText; +import flixel.util.FlxColor; +import lime.utils.Assets; +import DifficultyIcons; +import flixel.addons.ui.FlxInputText; +import flixel.addons.ui.FlxUI9SliceSprite; +import flixel.addons.ui.FlxUI; +import flixel.addons.ui.FlxUICheckBox; +import flixel.addons.ui.FlxUIDropDownMenu; +import flixel.addons.ui.FlxUIInputText; +import flixel.addons.ui.FlxUINumericStepper; +import flixel.ui.FlxButton; +import flixel.ui.FlxSpriteButton; +import flixel.addons.ui.FlxUITabMenu; +import lime.system.System; +#if sys +import sys.io.File; +import haxe.io.Path; +import openfl.utils.ByteArray; +import lime.media.AudioBuffer; +import sys.FileSystem; +import flash.media.Sound; + +#end +import lime.ui.FileDialog; +import lime.app.Event; +import haxe.Json; +import tjson.TJSON; +import openfl.net.FileReference; +import openfl.utils.ByteArray; +import lime.ui.FileDialogType; +using StringTools; + +class GameJoltState +{ + var menuBG = new FlxSprite().loadGraphic('assets/images/menuDesat.png'); + menuBG.color = 0xFF7194fc; + menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); + menuBG.updateHitbox(); + menuBG.screenCenter(); + menuBG.antialiasing = true; + var gjUser = new FlxUIInputText(100,50,70,"username"); + var gjToken = new FlxUIInputText(100,10,70,"token"); + public var gUser:String; + public var gToken:String; + switch (gUser){ + default: + gUser = "null (you arent logged in yet, go to options to log in)"; + } + var loginButton = new FlxButton(100, -30, "login", function():Void + { + gUser = gjUser.text; + gToken = gjToken.text; + FlxGameJolt.authUser(gUser, gToken, callbackWorked()); + } + add(menuBG); + add(gjUser); + add(gjToken); + add(loginButton); + public var curAcc:FlxText = new FlxText(5, FlxG.height - 16, 0, "Logged in as" + GameJoltState.gUser, 12); + curAcc.scrollFactor.set(); + curAcc.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + add(curAcc); + function callbackWorked() + { + LoadingState.loadAndSwitchState(new SaveDataState()); + } + if (Controls.BACK){ + LoadingState.loadAndSwitchState(new SaveDataState()); + } +} \ No newline at end of file diff --git a/source/OptionsHandler.hx b/source/OptionsHandler.hx index a4b259e20..791852b72 100644 --- a/source/OptionsHandler.hx +++ b/source/OptionsHandler.hx @@ -4,6 +4,7 @@ import lime.utils.Assets; import sys.io.File; #end import flixel.FlxG; +import flixel.addons.api.FlxGameJolt; enum abstract AccuracyMode(Int) from Int to Int { var None = -1; var Simple; diff --git a/source/PlayState.hx b/source/PlayState.hx index abe765400..fdb2a5ab6 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -1,5 +1,12 @@ package; +import GameJoltState; +import lime.tools.WindowData; +import lime.ui.Window; +import lime.ui.MouseCursor; +import lime.ui.WindowAttributes; +import lime.tools.WindowData; +import flixel.addons.api.FlxGameJolt; #if web import js.lib.intl.RelativeTimeFormat.RelativeTimeUnit; #end @@ -92,6 +99,8 @@ enum abstract DisplayLayer(Int) from Int to Int { } class PlayState extends MusicBeatState { + public var windowName:Array = []; + Window.title = CoolUtil.parseJson(FNFAssets.getJson("assets/data/windowShit")).windowName; public static var customPrecence = FNFAssets.getText("assets/discord/presence/play.txt"); public static var curStage:String = ''; public static var SONG:SwagSong; @@ -366,6 +375,9 @@ class PlayState extends MusicBeatState interp.variables.set("iconP1", iconP1); interp.variables.set("iconP2", iconP2); interp.variables.set("currentPlayState", this); + interp.variables.set("curWindow", Window); + interp.variables.set("GameJoltFlx", FlxGameJolt); + interp.variables.set("GameJolt", GameJoltState); interp.variables.set("PlayState", PlayState); interp.variables.set("window", Lib.application.window); // give them access to save data, everything will be fine ;) diff --git a/source/SaveDataState.hx b/source/SaveDataState.hx index 30f5bff42..7d20bd7d0 100644 --- a/source/SaveDataState.hx +++ b/source/SaveDataState.hx @@ -115,7 +115,14 @@ class SaveDataState extends MusicBeatState {name:"New Stage...", value:false, intName:'newstage', desc: "Make a new stage!", ignore: true, }, {name: "New Song...", value: false, intName:'newsong', desc: "Make a new song!", ignore: true, }, {name: "New Week...", value: false, intName: 'newweek', desc: "Make a new week!", ignore: true,}, - {name: "Sort...", value: false, intName: 'sort', desc: "Sort some of your current songs/weeks!", ignore : true,} + {name: "Sort...", value: false, intName: 'sort', desc: "Sort some of your current songs/weeks!", ignore : true,}, + { + name: "Game Jolt Login", + value: false, + intName: 'gjlogin', + desc: "Login with your GJ Account using your Username and Token.", + ignore: true, + } #end ]; var kidsToKill:Array = []; @@ -349,6 +356,9 @@ class SaveDataState extends MusicBeatState case "Credits": saveOptions(); LoadingState.loadAndSwitchState(new CreditsState()); + case "Game Jolt Login": + saveOptions(); + LoadingState.loadAndSwitchState(new GameJoltState()); default: if (OptionsHandler.options.allowEditOptions){ checkmarks.members[optionsSelected].visible = !checkmarks.members[optionsSelected].visible; From 7e8f18d03fa11bddaa458b48f56f8423331875e4 Mon Sep 17 00:00:00 2001 From: kittstone Date: Thu, 9 Sep 2021 22:09:44 -0500 Subject: [PATCH 03/21] :person_standing: --- source/GameJoltState.hx | 8 ++++---- source/PlayState.hx | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index cbe335e00..12a88e264 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -44,10 +44,10 @@ class GameJoltState { var menuBG = new FlxSprite().loadGraphic('assets/images/menuDesat.png'); menuBG.color = 0xFF7194fc; - menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); - menuBG.updateHitbox(); - menuBG.screenCenter(); - menuBG.antialiasing = true; + menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); + menuBG.updateHitbox(); + menuBG.screenCenter(); + menuBG.antialiasing = true; var gjUser = new FlxUIInputText(100,50,70,"username"); var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; diff --git a/source/PlayState.hx b/source/PlayState.hx index fdb2a5ab6..85ed02898 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -100,7 +100,6 @@ enum abstract DisplayLayer(Int) from Int to Int { class PlayState extends MusicBeatState { public var windowName:Array = []; - Window.title = CoolUtil.parseJson(FNFAssets.getJson("assets/data/windowShit")).windowName; public static var customPrecence = FNFAssets.getText("assets/discord/presence/play.txt"); public static var curStage:String = ''; public static var SONG:SwagSong; @@ -512,6 +511,8 @@ class PlayState extends MusicBeatState } }); + Window.title = CoolUtil.parseJson(FNFAssets.getJson("assets/data/windowShit")).windowName; + trace("set stuff"); interp.execute(program); hscriptStates.set(usehaxe,interp); From 03e88dcf4066f74dc7326d718ed35549c6425642 Mon Sep 17 00:00:00 2001 From: kittstone Date: Thu, 9 Sep 2021 22:13:00 -0500 Subject: [PATCH 04/21] :grimacing: --- source/GameJoltState.hx | 7 ------- 1 file changed, 7 deletions(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index 12a88e264..5fbe14955 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -42,12 +42,6 @@ using StringTools; class GameJoltState { - var menuBG = new FlxSprite().loadGraphic('assets/images/menuDesat.png'); - menuBG.color = 0xFF7194fc; - menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); - menuBG.updateHitbox(); - menuBG.screenCenter(); - menuBG.antialiasing = true; var gjUser = new FlxUIInputText(100,50,70,"username"); var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; @@ -62,7 +56,6 @@ class GameJoltState gToken = gjToken.text; FlxGameJolt.authUser(gUser, gToken, callbackWorked()); } - add(menuBG); add(gjUser); add(gjToken); add(loginButton); From cdce796a7802d87059d1c3f0855c3aa3ed0120b3 Mon Sep 17 00:00:00 2001 From: kittstone Date: Thu, 9 Sep 2021 22:17:53 -0500 Subject: [PATCH 05/21] :slight_smile: --- source/GameJoltState.hx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index 5fbe14955..f3607a7a1 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -46,10 +46,6 @@ class GameJoltState var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; public var gToken:String; - switch (gUser){ - default: - gUser = "null (you arent logged in yet, go to options to log in)"; - } var loginButton = new FlxButton(100, -30, "login", function():Void { gUser = gjUser.text; From 01e6b8a3091275c19994871930baf487e602d465 Mon Sep 17 00:00:00 2001 From: kittstone Date: Thu, 9 Sep 2021 22:21:49 -0500 Subject: [PATCH 06/21] Update GameJoltState.hx --- source/GameJoltState.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index f3607a7a1..6e46c0d63 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -51,7 +51,7 @@ class GameJoltState gUser = gjUser.text; gToken = gjToken.text; FlxGameJolt.authUser(gUser, gToken, callbackWorked()); - } + }); add(gjUser); add(gjToken); add(loginButton); From dc2c7b5acfe34f2b049b1d59a05ff52549bb55b8 Mon Sep 17 00:00:00 2001 From: kittstone Date: Thu, 9 Sep 2021 22:27:10 -0500 Subject: [PATCH 07/21] Update GameJoltState.hx --- source/GameJoltState.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index 6e46c0d63..fcf74141d 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -46,7 +46,7 @@ class GameJoltState var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; public var gToken:String; - var loginButton = new FlxButton(100, -30, "login", function():Void + var loginButton = new FlxButton(100, -30, "login", function() { gUser = gjUser.text; gToken = gjToken.text; From 2b6abc5b8c40bc60d9a77cbc8648ea57b3cc7a47 Mon Sep 17 00:00:00 2001 From: kittstone Date: Fri, 10 Sep 2021 03:33:57 -0500 Subject: [PATCH 08/21] Update GameJoltState.hx --- source/GameJoltState.hx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index fcf74141d..941484bbf 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -42,23 +42,23 @@ using StringTools; class GameJoltState { + var loginButton = new FlxButton(100, -30, "login", function() + { + gUser = gjUser.text; + gToken = gjToken.text; + FlxGameJolt.authUser(gUser, gToken, callbackWorked()); + }); var gjUser = new FlxUIInputText(100,50,70,"username"); var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; public var gToken:String; - var loginButton = new FlxButton(100, -30, "login", function() - { - gUser = gjUser.text; - gToken = gjToken.text; - FlxGameJolt.authUser(gUser, gToken, callbackWorked()); - }); - add(gjUser); - add(gjToken); - add(loginButton); public var curAcc:FlxText = new FlxText(5, FlxG.height - 16, 0, "Logged in as" + GameJoltState.gUser, 12); curAcc.scrollFactor.set(); curAcc.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); add(curAcc); + add(gjUser); + add(gjToken); + add(loginButton); function callbackWorked() { LoadingState.loadAndSwitchState(new SaveDataState()); From af9a04218571df1e4f96ea052cfd50d6e8083f7a Mon Sep 17 00:00:00 2001 From: kittstone Date: Fri, 10 Sep 2021 03:40:40 -0500 Subject: [PATCH 09/21] Revert "Update GameJoltState.hx" This reverts commit 2b6abc5b8c40bc60d9a77cbc8648ea57b3cc7a47. --- source/GameJoltState.hx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index 941484bbf..fcf74141d 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -42,23 +42,23 @@ using StringTools; class GameJoltState { - var loginButton = new FlxButton(100, -30, "login", function() - { - gUser = gjUser.text; - gToken = gjToken.text; - FlxGameJolt.authUser(gUser, gToken, callbackWorked()); - }); var gjUser = new FlxUIInputText(100,50,70,"username"); var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; public var gToken:String; + var loginButton = new FlxButton(100, -30, "login", function() + { + gUser = gjUser.text; + gToken = gjToken.text; + FlxGameJolt.authUser(gUser, gToken, callbackWorked()); + }); + add(gjUser); + add(gjToken); + add(loginButton); public var curAcc:FlxText = new FlxText(5, FlxG.height - 16, 0, "Logged in as" + GameJoltState.gUser, 12); curAcc.scrollFactor.set(); curAcc.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); add(curAcc); - add(gjUser); - add(gjToken); - add(loginButton); function callbackWorked() { LoadingState.loadAndSwitchState(new SaveDataState()); From bd9450480566f8ae2b1488b1c78379623a5846f9 Mon Sep 17 00:00:00 2001 From: kittstone Date: Fri, 10 Sep 2021 03:40:41 -0500 Subject: [PATCH 10/21] Revert "Update GameJoltState.hx" This reverts commit dc2c7b5acfe34f2b049b1d59a05ff52549bb55b8. --- source/GameJoltState.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index fcf74141d..6e46c0d63 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -46,7 +46,7 @@ class GameJoltState var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; public var gToken:String; - var loginButton = new FlxButton(100, -30, "login", function() + var loginButton = new FlxButton(100, -30, "login", function():Void { gUser = gjUser.text; gToken = gjToken.text; From 16eeea43b28769d3f9f527409732d7b72dd15e5d Mon Sep 17 00:00:00 2001 From: kittstone Date: Fri, 10 Sep 2021 03:40:42 -0500 Subject: [PATCH 11/21] Revert "Update GameJoltState.hx" This reverts commit 01e6b8a3091275c19994871930baf487e602d465. --- source/GameJoltState.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index 6e46c0d63..f3607a7a1 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -51,7 +51,7 @@ class GameJoltState gUser = gjUser.text; gToken = gjToken.text; FlxGameJolt.authUser(gUser, gToken, callbackWorked()); - }); + } add(gjUser); add(gjToken); add(loginButton); From f13a2a46dfd8b86fcc6cfad24441cfc4c9c792ce Mon Sep 17 00:00:00 2001 From: kittstone Date: Fri, 10 Sep 2021 03:40:43 -0500 Subject: [PATCH 12/21] Revert ":slight_smile:" This reverts commit cdce796a7802d87059d1c3f0855c3aa3ed0120b3. --- source/GameJoltState.hx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index f3607a7a1..5fbe14955 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -46,6 +46,10 @@ class GameJoltState var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; public var gToken:String; + switch (gUser){ + default: + gUser = "null (you arent logged in yet, go to options to log in)"; + } var loginButton = new FlxButton(100, -30, "login", function():Void { gUser = gjUser.text; From 1713ecd2248cc9a6cf69fcb33e367680a28c5b83 Mon Sep 17 00:00:00 2001 From: kittstone Date: Fri, 10 Sep 2021 03:40:45 -0500 Subject: [PATCH 13/21] Revert ":grimacing:" This reverts commit 03e88dcf4066f74dc7326d718ed35549c6425642. --- source/GameJoltState.hx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index 5fbe14955..12a88e264 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -42,6 +42,12 @@ using StringTools; class GameJoltState { + var menuBG = new FlxSprite().loadGraphic('assets/images/menuDesat.png'); + menuBG.color = 0xFF7194fc; + menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); + menuBG.updateHitbox(); + menuBG.screenCenter(); + menuBG.antialiasing = true; var gjUser = new FlxUIInputText(100,50,70,"username"); var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; @@ -56,6 +62,7 @@ class GameJoltState gToken = gjToken.text; FlxGameJolt.authUser(gUser, gToken, callbackWorked()); } + add(menuBG); add(gjUser); add(gjToken); add(loginButton); From 3b93c63ad1567f07fd5e6f6973baa3f0e1a9c977 Mon Sep 17 00:00:00 2001 From: kittstone Date: Fri, 10 Sep 2021 03:40:47 -0500 Subject: [PATCH 14/21] Revert ":person_standing:" This reverts commit 7e8f18d03fa11bddaa458b48f56f8423331875e4. --- source/GameJoltState.hx | 8 ++++---- source/PlayState.hx | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx index 12a88e264..cbe335e00 100644 --- a/source/GameJoltState.hx +++ b/source/GameJoltState.hx @@ -44,10 +44,10 @@ class GameJoltState { var menuBG = new FlxSprite().loadGraphic('assets/images/menuDesat.png'); menuBG.color = 0xFF7194fc; - menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); - menuBG.updateHitbox(); - menuBG.screenCenter(); - menuBG.antialiasing = true; + menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); + menuBG.updateHitbox(); + menuBG.screenCenter(); + menuBG.antialiasing = true; var gjUser = new FlxUIInputText(100,50,70,"username"); var gjToken = new FlxUIInputText(100,10,70,"token"); public var gUser:String; diff --git a/source/PlayState.hx b/source/PlayState.hx index 85ed02898..fdb2a5ab6 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -100,6 +100,7 @@ enum abstract DisplayLayer(Int) from Int to Int { class PlayState extends MusicBeatState { public var windowName:Array = []; + Window.title = CoolUtil.parseJson(FNFAssets.getJson("assets/data/windowShit")).windowName; public static var customPrecence = FNFAssets.getText("assets/discord/presence/play.txt"); public static var curStage:String = ''; public static var SONG:SwagSong; @@ -511,8 +512,6 @@ class PlayState extends MusicBeatState } }); - Window.title = CoolUtil.parseJson(FNFAssets.getJson("assets/data/windowShit")).windowName; - trace("set stuff"); interp.execute(program); hscriptStates.set(usehaxe,interp); From 47f3db2db20d8999448c0758524a703d27d43692 Mon Sep 17 00:00:00 2001 From: kittstone Date: Fri, 10 Sep 2021 03:40:52 -0500 Subject: [PATCH 15/21] Revert "support fucking with the window n shit, and also gamejolt trophies :trollface:" This reverts commit 4e00a0c481179272e92b462de1e03d4112c1758d. --- assets/data/windowShit.json | 3 -- source/GameJoltState.hx | 80 ------------------------------------- source/OptionsHandler.hx | 1 - source/PlayState.hx | 12 ------ source/SaveDataState.hx | 12 +----- 5 files changed, 1 insertion(+), 107 deletions(-) delete mode 100644 assets/data/windowShit.json delete mode 100644 source/GameJoltState.hx diff --git a/assets/data/windowShit.json b/assets/data/windowShit.json deleted file mode 100644 index 7b15429dd..000000000 --- a/assets/data/windowShit.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "windowName": "Friday Night Funkin'" -} \ No newline at end of file diff --git a/source/GameJoltState.hx b/source/GameJoltState.hx deleted file mode 100644 index cbe335e00..000000000 --- a/source/GameJoltState.hx +++ /dev/null @@ -1,80 +0,0 @@ -package; - -import flixel.addons.api.FlxGameJolt; -import flash.text.TextField; -import flixel.FlxG; -import flixel.FlxSprite; -import flixel.addons.display.FlxGridOverlay; -import flixel.group.FlxGroup.FlxTypedGroup; -import flixel.math.FlxMath; -import flixel.text.FlxText; -import flixel.util.FlxColor; -import lime.utils.Assets; -import DifficultyIcons; -import flixel.addons.ui.FlxInputText; -import flixel.addons.ui.FlxUI9SliceSprite; -import flixel.addons.ui.FlxUI; -import flixel.addons.ui.FlxUICheckBox; -import flixel.addons.ui.FlxUIDropDownMenu; -import flixel.addons.ui.FlxUIInputText; -import flixel.addons.ui.FlxUINumericStepper; -import flixel.ui.FlxButton; -import flixel.ui.FlxSpriteButton; -import flixel.addons.ui.FlxUITabMenu; -import lime.system.System; -#if sys -import sys.io.File; -import haxe.io.Path; -import openfl.utils.ByteArray; -import lime.media.AudioBuffer; -import sys.FileSystem; -import flash.media.Sound; - -#end -import lime.ui.FileDialog; -import lime.app.Event; -import haxe.Json; -import tjson.TJSON; -import openfl.net.FileReference; -import openfl.utils.ByteArray; -import lime.ui.FileDialogType; -using StringTools; - -class GameJoltState -{ - var menuBG = new FlxSprite().loadGraphic('assets/images/menuDesat.png'); - menuBG.color = 0xFF7194fc; - menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); - menuBG.updateHitbox(); - menuBG.screenCenter(); - menuBG.antialiasing = true; - var gjUser = new FlxUIInputText(100,50,70,"username"); - var gjToken = new FlxUIInputText(100,10,70,"token"); - public var gUser:String; - public var gToken:String; - switch (gUser){ - default: - gUser = "null (you arent logged in yet, go to options to log in)"; - } - var loginButton = new FlxButton(100, -30, "login", function():Void - { - gUser = gjUser.text; - gToken = gjToken.text; - FlxGameJolt.authUser(gUser, gToken, callbackWorked()); - } - add(menuBG); - add(gjUser); - add(gjToken); - add(loginButton); - public var curAcc:FlxText = new FlxText(5, FlxG.height - 16, 0, "Logged in as" + GameJoltState.gUser, 12); - curAcc.scrollFactor.set(); - curAcc.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); - add(curAcc); - function callbackWorked() - { - LoadingState.loadAndSwitchState(new SaveDataState()); - } - if (Controls.BACK){ - LoadingState.loadAndSwitchState(new SaveDataState()); - } -} \ No newline at end of file diff --git a/source/OptionsHandler.hx b/source/OptionsHandler.hx index 791852b72..a4b259e20 100644 --- a/source/OptionsHandler.hx +++ b/source/OptionsHandler.hx @@ -4,7 +4,6 @@ import lime.utils.Assets; import sys.io.File; #end import flixel.FlxG; -import flixel.addons.api.FlxGameJolt; enum abstract AccuracyMode(Int) from Int to Int { var None = -1; var Simple; diff --git a/source/PlayState.hx b/source/PlayState.hx index fdb2a5ab6..abe765400 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -1,12 +1,5 @@ package; -import GameJoltState; -import lime.tools.WindowData; -import lime.ui.Window; -import lime.ui.MouseCursor; -import lime.ui.WindowAttributes; -import lime.tools.WindowData; -import flixel.addons.api.FlxGameJolt; #if web import js.lib.intl.RelativeTimeFormat.RelativeTimeUnit; #end @@ -99,8 +92,6 @@ enum abstract DisplayLayer(Int) from Int to Int { } class PlayState extends MusicBeatState { - public var windowName:Array = []; - Window.title = CoolUtil.parseJson(FNFAssets.getJson("assets/data/windowShit")).windowName; public static var customPrecence = FNFAssets.getText("assets/discord/presence/play.txt"); public static var curStage:String = ''; public static var SONG:SwagSong; @@ -375,9 +366,6 @@ class PlayState extends MusicBeatState interp.variables.set("iconP1", iconP1); interp.variables.set("iconP2", iconP2); interp.variables.set("currentPlayState", this); - interp.variables.set("curWindow", Window); - interp.variables.set("GameJoltFlx", FlxGameJolt); - interp.variables.set("GameJolt", GameJoltState); interp.variables.set("PlayState", PlayState); interp.variables.set("window", Lib.application.window); // give them access to save data, everything will be fine ;) diff --git a/source/SaveDataState.hx b/source/SaveDataState.hx index 7d20bd7d0..30f5bff42 100644 --- a/source/SaveDataState.hx +++ b/source/SaveDataState.hx @@ -115,14 +115,7 @@ class SaveDataState extends MusicBeatState {name:"New Stage...", value:false, intName:'newstage', desc: "Make a new stage!", ignore: true, }, {name: "New Song...", value: false, intName:'newsong', desc: "Make a new song!", ignore: true, }, {name: "New Week...", value: false, intName: 'newweek', desc: "Make a new week!", ignore: true,}, - {name: "Sort...", value: false, intName: 'sort', desc: "Sort some of your current songs/weeks!", ignore : true,}, - { - name: "Game Jolt Login", - value: false, - intName: 'gjlogin', - desc: "Login with your GJ Account using your Username and Token.", - ignore: true, - } + {name: "Sort...", value: false, intName: 'sort', desc: "Sort some of your current songs/weeks!", ignore : true,} #end ]; var kidsToKill:Array = []; @@ -356,9 +349,6 @@ class SaveDataState extends MusicBeatState case "Credits": saveOptions(); LoadingState.loadAndSwitchState(new CreditsState()); - case "Game Jolt Login": - saveOptions(); - LoadingState.loadAndSwitchState(new GameJoltState()); default: if (OptionsHandler.options.allowEditOptions){ checkmarks.members[optionsSelected].visible = !checkmarks.members[optionsSelected].visible; From 0caf59bd95960a4caceb146c1f394ee61bd25253 Mon Sep 17 00:00:00 2001 From: kittstone Date: Fri, 10 Sep 2021 18:08:05 -0500 Subject: [PATCH 16/21] deleted everything relating to custom discord rp :trollface: --- Project.xml | 1 - assets/discord/presence/discord.json | 5 ----- assets/discord/presence/play.txt | 1 - assets/discord/presence/playpause.txt | 1 - source/FreeplayState.hx | 2 +- source/MainMenuState.hx | 2 +- source/PlayState.hx | 17 ++++++----------- source/TitleState.hx | 3 +-- 8 files changed, 9 insertions(+), 23 deletions(-) delete mode 100644 assets/discord/presence/discord.json delete mode 100644 assets/discord/presence/play.txt delete mode 100644 assets/discord/presence/playpause.txt diff --git a/Project.xml b/Project.xml index 62cabfada..571c17678 100644 --- a/Project.xml +++ b/Project.xml @@ -52,7 +52,6 @@ - diff --git a/assets/discord/presence/discord.json b/assets/discord/presence/discord.json deleted file mode 100644 index 7565cd4e0..000000000 --- a/assets/discord/presence/discord.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "intro": "On The Title Screen", - "freeplay": "In the Freeplay Menu", - "mainmenu": "In The Menus" -} \ No newline at end of file diff --git a/assets/discord/presence/play.txt b/assets/discord/presence/play.txt deleted file mode 100644 index ed3f34ec3..000000000 --- a/assets/discord/presence/play.txt +++ /dev/null @@ -1 +0,0 @@ -Funkin On \ No newline at end of file diff --git a/assets/discord/presence/playpause.txt b/assets/discord/presence/playpause.txt deleted file mode 100644 index 7e390d8bb..000000000 --- a/assets/discord/presence/playpause.txt +++ /dev/null @@ -1 +0,0 @@ -Paused On \ No newline at end of file diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx index 0cb4253d3..0fbc45a8a 100644 --- a/source/FreeplayState.hx +++ b/source/FreeplayState.hx @@ -146,7 +146,7 @@ class FreeplayState extends MusicBeatState } #if windows // Updating Discord Rich Presence - var customPrecence = TitleState.discordStuff.freeplay; + var customPrecence = 'urine'; Discord.DiscordClient.changePresence(customPrecence, null); #end var isDebug:Bool = false; diff --git a/source/MainMenuState.hx b/source/MainMenuState.hx index 3ff4e4031..9aa527ddb 100644 --- a/source/MainMenuState.hx +++ b/source/MainMenuState.hx @@ -57,7 +57,7 @@ class MainMenuState extends MusicBeatState { #if windows // Updating Discord Rich Presence - var customPrecence = TitleState.discordStuff.mainmenu; + var customPrecence = 'urine'; Discord.DiscordClient.changePresence(customPrecence, null); #end menuSoundJson = CoolUtil.parseJson(FNFAssets.getText("assets/sounds/custom_menu_sounds/custom_menu_sounds.json")); diff --git a/source/PlayState.hx b/source/PlayState.hx index abe765400..3b8126daa 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -92,7 +92,6 @@ enum abstract DisplayLayer(Int) from Int to Int { } class PlayState extends MusicBeatState { - public static var customPrecence = FNFAssets.getText("assets/discord/presence/play.txt"); public static var curStage:String = ''; public static var SONG:SwagSong; public static var isStoryMode:Bool = false; @@ -343,10 +342,6 @@ class PlayState extends MusicBeatState interp.variables.set("curStep", 0); interp.variables.set("curBeat", 0); interp.variables.set("camHUD", camHUD); - interp.variables.set("setPresence", function (to:String) { - customPrecence = to; - updatePrecence(); - }); interp.variables.set("showOnlyStrums", false); interp.variables.set("playerStrums", playerStrums); interp.variables.set("enemyStrums", enemyStrums); @@ -603,7 +598,7 @@ class PlayState extends MusicBeatState detailsPausedText = "Paused - " + detailsText; // Updating Discord Rich Presence. - DiscordClient.changePresence(customPrecence + DiscordClient.changePresence('urine' + " " + SONG.song + " (" @@ -1999,8 +1994,8 @@ class PlayState extends MusicBeatState } controls.setKeyboardScheme(Solo(false)); #if windows - var ae = FNFAssets.getText("assets/discord/presence/playpause.txt"); - DiscordClient.changePresence(ae + var ae = 'urine'; + DiscordClient.changePresence('urine' + SONG.song + " (" + storyDifficultyText @@ -2072,7 +2067,7 @@ class PlayState extends MusicBeatState #if windows if (startTimer.finished) { - DiscordClient.changePresence(customPrecence + DiscordClient.changePresence('urine' + " " + SONG.song + " (" @@ -2090,7 +2085,7 @@ class PlayState extends MusicBeatState } else { - DiscordClient.changePresence(customPrecence, SONG.song + DiscordClient.changePresence('urine', SONG.song + " (" + storyDifficultyText + ") " @@ -4127,7 +4122,7 @@ class PlayState extends MusicBeatState function updatePrecence() { #if windows // Updating Discord Rich Presence. - DiscordClient.changePresence(customPrecence + DiscordClient.changePresence('urine' + " " + SONG.song + " (" diff --git a/source/TitleState.hx b/source/TitleState.hx index b78383ca9..0eb857c74 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -77,7 +77,6 @@ class TitleState extends MusicBeatState var gfTitle = CoolUtil.parseJson(FNFAssets.getJson("assets/data/gfTitle")); var logoTitle = CoolUtil.parseJson(FNFAssets.getJson("assets/data/logoTitle")); var bgTitle = CoolUtil.parseJson(FNFAssets.getJson("assets/data/bgTitle")); - public static var discordStuff:DiscordJson = CoolUtil.parseJson(FNFAssets.getJson("assets/discord/presence/discord")); // defining these variables now so i dont gotta do them later (end) var customMenuConfirm: Array>; @@ -93,7 +92,7 @@ class TitleState extends MusicBeatState DiscordClient.shutdown(); }); // Updating Discord Rich Presence - var customPrecence = discordStuff.intro; + var customPrecence = 'urine'; Discord.DiscordClient.changePresence(customPrecence, null); #end From 4c95150caa2bee4632e099471c973a4d1c5255f3 Mon Sep 17 00:00:00 2001 From: kittstone Date: Mon, 4 Oct 2021 11:05:46 -0500 Subject: [PATCH 17/21] MAYBE add TextureAtlas support? shit's from the HD guys, go check em out https://github.com/Smokey555/Flixel-TextureAtlas --- animateatlas/AtlasFrameMaker.hx | 148 + animateatlas/HelperEnums.hx | 21 + animateatlas/JSONData.hx | 155 + animateatlas/Main.hx | 109 + .../displayobject/SpriteAnimationLibrary.hx | 225 + animateatlas/displayobject/SpriteMovieClip.hx | 117 + animateatlas/displayobject/SpriteSymbol.hx | 525 + .../tilecontainer/TileAnimationLibrary.hx | 226 + .../tilecontainer/TileContainerMovieClip.hx | 135 + .../tilecontainer/TileContainerSymbol.hx | 475 + art/instruction1.PNG | Bin 0 -> 8256 bytes art/instruction2.PNG | Bin 0 -> 25543 bytes assets/data/bopeebo/modchart.hscript | 11 +- .../bopeebo/textureatlas/char/Animation.json | 52790 ++++++++++++++++ .../bopeebo/textureatlas/char/spritemap.json | 1 + .../bopeebo/textureatlas/char/spritemap.png | Bin 0 -> 292962 bytes source/Character.hx | 3 + 17 files changed, 54939 insertions(+), 2 deletions(-) create mode 100644 animateatlas/AtlasFrameMaker.hx create mode 100644 animateatlas/HelperEnums.hx create mode 100644 animateatlas/JSONData.hx create mode 100644 animateatlas/Main.hx create mode 100644 animateatlas/displayobject/SpriteAnimationLibrary.hx create mode 100644 animateatlas/displayobject/SpriteMovieClip.hx create mode 100644 animateatlas/displayobject/SpriteSymbol.hx create mode 100644 animateatlas/tilecontainer/TileAnimationLibrary.hx create mode 100644 animateatlas/tilecontainer/TileContainerMovieClip.hx create mode 100644 animateatlas/tilecontainer/TileContainerSymbol.hx create mode 100644 art/instruction1.PNG create mode 100644 art/instruction2.PNG create mode 100644 assets/data/bopeebo/textureatlas/char/Animation.json create mode 100644 assets/data/bopeebo/textureatlas/char/spritemap.json create mode 100644 assets/data/bopeebo/textureatlas/char/spritemap.png diff --git a/animateatlas/AtlasFrameMaker.hx b/animateatlas/AtlasFrameMaker.hx new file mode 100644 index 000000000..f402e9e67 --- /dev/null +++ b/animateatlas/AtlasFrameMaker.hx @@ -0,0 +1,148 @@ +package animateatlas; +import flixel.util.FlxDestroyUtil; +import openfl.geom.Rectangle; +import flixel.math.FlxPoint; +import flixel.math.FlxRect; +import openfl.Assets; +import haxe.Json; +import openfl.display.BitmapData; +import animateatlas.JSONData.AtlasData; +import animateatlas.JSONData.AnimationData; +import animateatlas.displayobject.SpriteAnimationLibrary; +import animateatlas.displayobject.SpriteMovieClip; +import flixel.graphics.FlxGraphic; +import flixel.graphics.frames.FlxFramesCollection; +import flixel.graphics.frames.FlxFrame; +class AtlasFrameMaker extends FlxFramesCollection{ + + + //public static var widthoffset:Int = 0; + //public static var heightoffset:Int = 0; + //public static var excludeArray:Array; + /** + + * Creates Frames from TextureAtlas(very early and broken ok) Originally made for FNF HD by Smokey and Rozebud + * + * @param key The file path. + * @param _excludeArray Use this to only create selected animations. Keep null to create all of them. + * + */ + + public static function construct(key:String,?_excludeArray:Array = null):FlxFramesCollection{ + + // widthoffset = _widthoffset; + // heightoffset = _heightoffset; + + + + var frameCollection:FlxFramesCollection; + var frameArray:Array> = []; + var animationData:AnimationData = Json.parse(Assets.getText(key + "/Animation.json")); + var atlasData:AtlasData = Json.parse(Assets.getText(key + "/spritemap.json")); + var bitmapData:BitmapData = Assets.getBitmapData(key + "/spritemap.png"); + var ss = new SpriteAnimationLibrary(animationData, atlasData, bitmapData); + var t = ss.createAnimation(); + if(_excludeArray == null){ + _excludeArray = t.getFrameLabels(); + } + frameCollection = new FlxFramesCollection(FlxGraphic.fromBitmapData(bitmapData),FlxFrameCollectionType.IMAGE); + + + for(x in t.getFrameLabels()){ + + frameArray.push(getFramesArray(t, x,_excludeArray)); + + + } + + for(x in frameArray){ + for(y in x){ + frameCollection.pushFrame(y); + } + } + + return frameCollection; + + } + + @:noCompletion static function getFramesArray(t:SpriteMovieClip,animation:String,_excludeArray:Array):Array + { + var sizeInfo:Rectangle = new Rectangle(0,0); + t.currentLabel = animation; + var bitMapArray:Array = []; + var daFramez:Array = []; + var firstPass = true; + var frameSize:FlxPoint = new FlxPoint(0,0); + + for (i in t.getFrame(animation)...t.numFrames){ + t.currentFrame = i; + if (t.currentLabel == animation){ + if (_excludeArray.contains(animation)){ + sizeInfo = t.getBounds(t); + + var bitmapShit:BitmapData = new BitmapData( + Std.int(sizeInfo.width + Math.abs(sizeInfo.x)),Std.int(sizeInfo.height +Math.abs(sizeInfo.y)),true,0); + + bitmapShit.draw(t,null,null,null,null,true); + bitMapArray.push(bitmapShit); + + if (firstPass){ + frameSize.set(bitmapShit.width,bitmapShit.height); + firstPass = false; + } + } + } + else break; + } + + for (i in 0...bitMapArray.length){ + var b = FlxGraphic.fromBitmapData(bitMapArray[i]); + var theFrame = new FlxFrame(b); + theFrame.parent = b; + theFrame.name = animation + i; + theFrame.sourceSize.set(frameSize.x,frameSize.y); + theFrame.frame = new FlxRect(0, 0, bitMapArray[i].width, bitMapArray[i].height); + daFramez.push(theFrame); + + //trace(daFramez); + } + return daFramez; + } + + /*public static function renderTest(key:String, animation:String, ?frame:Int = 0):Void + { + var animationData:AnimationData = Json.parse(Assets.getText(key + "/Animation.json")); + var atlasData:AtlasData = Json.parse(Assets.getText(key + "/spritemap.json")); + var bitmapData:BitmapData = Assets.getBitmapData(key + "/spritemap.png"); + var ss = new SpriteAnimationLibrary(animationData, atlasData, bitmapData); + var t = ss.createAnimation(); + var bitMapArray:Array = []; + + for (i in 0...t.numFrames){ + t.currentFrame = i; + if (t.currentLabel == animation){ + //trace(t.currentFrame); + var bitmapShit:BitmapData = new BitmapData(Std.int(t.width),Std.int(t.height),true,0); + //bitmapShit.drawWithQuality(t,null,null,null,null,true); + bitmapShit.draw(t, new Matrix(1, 0, 0, 1, t.width/2, t.height/2), null, null, null, false); + bitMapArray.push(bitmapShit); + } + } + + saveImage(bitMapArray[frame]); + + } + + public static function saveImage(bitmapData:BitmapData) + { + var b:ByteArray = new ByteArray(); + b = bitmapData.encode(bitmapData.rect, new PNGEncoderOptions(true), b); + new FileDialog().save(b, "png", null, "file"); + } + */ + + + + + +} diff --git a/animateatlas/HelperEnums.hx b/animateatlas/HelperEnums.hx new file mode 100644 index 000000000..23f058707 --- /dev/null +++ b/animateatlas/HelperEnums.hx @@ -0,0 +1,21 @@ +package animateatlas; + +enum abstract LoopMode(String) from String to String { + public static inline var LOOP:String = "loop"; + public static inline var PLAY_ONCE:String = "playonce"; + public static inline var SINGLE_FRAME:String = "singleframe"; + + public static function isValid(value:String):Bool { + return value == LOOP || value == PLAY_ONCE || value == SINGLE_FRAME; + } +} + +enum abstract SymbolType(String) from String to String { + public static inline var GRAPHIC:String = "graphic"; + public static inline var MOVIE_CLIP:String = "movieclip"; + public static inline var BUTTON:String = "button"; + + public static function isValid(value:String):Bool { + return value == GRAPHIC || value == MOVIE_CLIP || value == BUTTON; + } +} diff --git a/animateatlas/JSONData.hx b/animateatlas/JSONData.hx new file mode 100644 index 000000000..7b080e650 --- /dev/null +++ b/animateatlas/JSONData.hx @@ -0,0 +1,155 @@ +package animateatlas; + +/** + * All data needed for the json importer + some extra for after parsing. + * Stolen mostly from https://github.com/TomByrne/Starling-Extension-Adobe-Animate-Hx/blob/master/hx/src/starling/extensions/animate/AnimationAtlasData.hx + */ +typedef AnimationData = { + ?ANIMATION:SymbolData, + ?SYMBOL_DICTIONARY:{ + Symbols:Array + }, + ?metadata:{ + ?framerate:Null + } +} + +typedef AtlasData = { + ?ATLAS:{ + SPRITES:Array + }, + ?meta:{ + app:String, + version:String, + image:String, + format:String, + size:{w:Int, h:Int}, + scale:String, + } +} + +typedef SpriteDummy = { + SPRITE:SpriteData +} + +typedef SpriteData = { + name:String, + x:Int, + y:Int, + w:Int, + h:Int, + rotated:Bool +} + +typedef SymbolData = { + ?name:String, + SYMBOL_name:String, + ?TIMELINE:SymbolTimelineData +} + +typedef SymbolTimelineData = { + ?sortedForRender:Bool, + LAYERS:Array +} + +typedef LayerData = { + Layer_name:String, + Frames:Array, + FrameMap:Map +} + +typedef LayerFrameData = { + index:Int, + ?name:String, + duration:Int, + elements:Array +} + +typedef ElementData = { + ?ATLAS_SPRITE_instance:Dynamic, + ?SYMBOL_Instance:SymbolInstanceData +} + +typedef SymbolInstanceData = { + SYMBOL_name:String, + Instance_Name:String, + bitmap:BitmapPosData, + symbolType:String, + transformationPoint:PointData, + Matrix3D:Matrix3DData, + ?DecomposedMatrix:Decomposed3DData, + ?color:ColorData, + + ?loop:String, + firstFrame:Int, + ?filters:FilterData +} + +typedef ColorData = { + mode:String, + + ?RedMultiplier:Float, + ?greenMultiplier:Float, + ?blueMultiplier:Float, + ?alphaMultiplier:Float, + ?redOffset:Float, + ?greenOffset:Float, + ?blueOffset:Float, + ?AlphaOffset:Float +} + +typedef BitmapPosData = { + name:String, + Position:PointData, +} + +typedef PointData = { + x:Int, + y:Int +} + +typedef Matrix3DData = { + m00:Float, + m01:Float, + m02:Float, + m03:Float, + m10:Float, + m11:Float, + m12:Float, + m13:Float, + m20:Float, + m21:Float, + m22:Float, + m23:Float, + m30:Float, + m31:Float, + m32:Float, + m33:Float, +} +//tryna add more support gimme a sec +typedef FilterData = { + ?BlurFilter: { + blurX:Float, + blurY:Float, + quality:Int + }, + + ?GlowFilter: { + blurX: Float, + blurY: Float, + color: Int, + alpha: Int, + quality: Int, + strength: Int, + knockout: Bool, + inner: Bool + } + + +} + +typedef Decomposed3DData = { + Position:{x:Float, y:Float, z:Float}, + Rotation:{x:Float, y:Float, z:Float}, + Scaling:{x:Float, y:Float, z:Float}, +} diff --git a/animateatlas/Main.hx b/animateatlas/Main.hx new file mode 100644 index 000000000..8bbe81056 --- /dev/null +++ b/animateatlas/Main.hx @@ -0,0 +1,109 @@ +package; + +import animateatlas.JSONData.AtlasData; +import openfl.display.BitmapData; +import animateatlas.JSONData.AnimationData; +import openfl.display.FPS; +import openfl.Lib; +import openfl.events.MouseEvent; +import animateatlas.HelperEnums.LoopMode; +import openfl.events.Event; +import openfl.display.Tilemap; +import openfl.display.Tileset; +import openfl.Assets; +import haxe.Json; +import animateatlas.tilecontainer.TileAnimationLibrary; +import animateatlas.tilecontainer.TileContainerMovieClip; +import animateatlas.displayobject.SpriteAnimationLibrary; +import animateatlas.displayobject.SpriteMovieClip; +import openfl.display.Sprite; + +class Main extends Sprite { + var aa:TileAnimationLibrary; + var ss:SpriteAnimationLibrary; + + // + var tileSymbols:Array; + + var spriteSymbols:Array; + + var renderer:Tilemap; + + public function new() { + super(); + graphics.beginFill(0x333333); + graphics.drawRect(0, 0, Lib.current.stage.stageWidth, Lib.current.stage.stageHeight); + + var animationData:AnimationData = Json.parse(Assets.getText("assets/TEST/Animation.json")); + var atlasData:AtlasData = Json.parse(Assets.getText("assets/TEST/spritemap.json")); + var bitmapData:BitmapData = Assets.getBitmapData("assets/TEST/spritemap.png"); + + aa = new TileAnimationLibrary(animationData, atlasData, bitmapData); + ss = new SpriteAnimationLibrary(animationData, atlasData, bitmapData); + + renderer = new Tilemap(Lib.current.stage.stageWidth, Lib.current.stage.stageHeight, null, true); + + renderer.tileAlphaEnabled = false; + renderer.tileBlendModeEnabled = false; + renderer.tileColorTransformEnabled = false; + + addChild(renderer); + addChild(new FPS(10, 10, 0xFFFFFF)); + + tileSymbols = []; + spriteSymbols = []; + + addEventListener(Event.ENTER_FRAME, update); + // addEventListener(MouseEvent.CLICK, addSpriteGirl); + addEventListener(MouseEvent.CLICK, addTileGirl); + } + + var prev:Int = 0; + var dt:Int = 0; + var curr:Int = 0; + + public function update(_) { + // making a dt + curr = Lib.getTimer(); + dt = curr - prev; + prev = curr; + + for (symbol in tileSymbols) { + symbol.update(dt); + } + for (symbol in spriteSymbols) { + symbol.update(dt); + } + } + + public function addSpriteGirl(_) { + for (i in 0...1) { + var t = ss.createAnimation(); + t.x = mouseX + i * 20 * (-1 * i % 2); + t.y = mouseY + i * 20 * (-1 * i % 2); + + addChild(t); + t.loopMode = LoopMode.SINGLE_FRAME; + + t.currentLabel = t.getFrameLabels()[Std.random(t.getFrameLabels().length)]; + spriteSymbols.push(t); + trace(spriteSymbols.length); + } + } + + public function addTileGirl(_) { + for (i in 0...1) { + var t = aa.createAnimation(); + t.x = mouseX + i * 5 * (-1 * i % 2); + t.y = mouseY + i * 5 * (-1 * i % 2); + + renderer.addTile(t); + t.loopMode = LoopMode.SINGLE_FRAME; + + t.currentLabel = t.getFrameLabels()[Std.random(t.getFrameLabels().length)]; + tileSymbols.push(t); + + trace(tileSymbols.length); + } + } +} diff --git a/animateatlas/displayobject/SpriteAnimationLibrary.hx b/animateatlas/displayobject/SpriteAnimationLibrary.hx new file mode 100644 index 000000000..2f835ab4c --- /dev/null +++ b/animateatlas/displayobject/SpriteAnimationLibrary.hx @@ -0,0 +1,225 @@ +package animateatlas.displayobject; + +import openfl.display.BitmapData; +import animateatlas.JSONData.AnimationData; +import animateatlas.JSONData.ElementData; +import animateatlas.JSONData.LayerFrameData; +import animateatlas.JSONData.LayerData; +import animateatlas.JSONData.SymbolTimelineData; +import animateatlas.JSONData.Matrix3DData; +import animateatlas.JSONData.AtlasData; +import animateatlas.JSONData.SymbolData; +import animateatlas.JSONData.SpriteData; +import animateatlas.HelperEnums.LoopMode; +import animateatlas.HelperEnums.SymbolType; +import openfl.errors.ArgumentError; + +/** + * Performance will be REALLY BAD. + * Consider using TileAnimationLibrary whenever possible. + */ +class SpriteAnimationLibrary { + public var frameRate:Float; + + private var _atlas:Map; + private var _symbolData:Map; + private var _symbolPool:Map>; + private var _defaultSymbolName:String; + private var _texture:BitmapData; + + public static inline var BITMAP_SYMBOL_NAME:String = "___atlas_sprite___"; + + private static var STD_MATRIX3D_DATA:Matrix3DData = { + m00: 1, + m01: 0, + m02: 0, + m03: 0, + m10: 0, + m11: 1, + m12: 0, + m13: 0, + m20: 0, + m21: 0, + m22: 1, + m23: 0, + m30: 0, + m31: 0, + m32: 0, + m33: 1 + }; + + public function new(data:AnimationData, atlas:AtlasData, texture:BitmapData) { + parseAnimationData(data); + parseAtlasData(atlas); + _texture = texture; + _symbolPool = new Map(); + } + + public function hasAnimation(name:String):Bool { + return hasSymbol(name); + } + + public function createAnimation(symbol:String = null):SpriteMovieClip { + symbol = (symbol != null) ? symbol : _defaultSymbolName; + if (!hasSymbol(symbol)) { + throw new ArgumentError("Symbol not found: " + symbol); + } + return new SpriteMovieClip(getSymbol(symbol)); + } + + public function getAnimationNames(prefix:String = ""):Array { + var out = new Array(); + + for (name in _symbolData.keys()) { + if (name != BITMAP_SYMBOL_NAME && name.indexOf(prefix) == 0) { + out.push(name); + } + } + + // but... why? + out.sort(function(a1, a2):Int { + a1 = a1.toLowerCase(); + a2 = a2.toLowerCase(); + if (a1 < a2) { + return -1; + } else if (a1 > a2) { + return 1; + } else { + return 0; + } + }); + return out; + } + + private function getSpriteData(name:String):SpriteData { + return _atlas.get(name); + } + + private function hasSymbol(name:String):Bool { + return _symbolData.exists(name); + } + + // # region Pooling + // todo migrate this to lime pool + + @:access(animateatlas) + @:allow(AtlasFrameMaker) + private function getSymbol(name:String):SpriteSymbol { + var pool:Array = getSymbolPool(name); + if (pool.length == 0) { + return new SpriteSymbol(getSymbolData(name), this, _texture); + } else { + return pool.pop(); + } + } + + private function putSymbol(symbol:SpriteSymbol):Void { + symbol.reset(); + var pool:Array = getSymbolPool(symbol.symbolName); + pool.push(symbol); + symbol.currentFrame = 0; + } + + private function getSymbolPool(name:String):Array { + var pool:Array = _symbolPool.get(name); + if (pool == null) { + pool = []; + _symbolPool.set(name, pool); + } + return pool; + } + + // # end region + // # region helpers + private function parseAnimationData(data:AnimationData):Void { + var metaData = data.metadata; + + if (metaData != null && metaData.framerate != null && metaData.framerate > 0) { + frameRate = (metaData.framerate); + } else { + frameRate = 24; + } + + _symbolData = new Map(); + + // the actual symbol dictionary + var symbols = data.SYMBOL_DICTIONARY.Symbols; + for (symbolData in symbols) { + _symbolData[symbolData.SYMBOL_name] = preprocessSymbolData(symbolData); + } + + // the main animation + var defaultSymbolData:SymbolData = preprocessSymbolData(data.ANIMATION); + _defaultSymbolName = defaultSymbolData.SYMBOL_name; + _symbolData.set(_defaultSymbolName, defaultSymbolData); + + // a purely internal symbol for bitmaps - simplifies their handling + _symbolData.set(BITMAP_SYMBOL_NAME, { + SYMBOL_name: BITMAP_SYMBOL_NAME, + TIMELINE: { + LAYERS: [] + } + }); + } + + private function preprocessSymbolData(symbolData:SymbolData):SymbolData { + var timeLineData:SymbolTimelineData = symbolData.TIMELINE; + var layerDates:Array = timeLineData.LAYERS; + + // In Animate CC, layers are sorted front to back. + // In Starling, it's the other way round - so we simply reverse the layer data. + + if (!timeLineData.sortedForRender) { + timeLineData.sortedForRender = true; + layerDates.reverse(); + } + + // We replace all "ATLAS_SPRITE_instance" elements with symbols of the same contents. + // That way, we are always only dealing with symbols. + + for (layerData in layerDates) { + var frames:Array = layerData.Frames; + + for (frame in frames) { + var elements:Array = frame.elements; + for (e in 0...elements.length) { + var element:ElementData = elements[e]; + if (element.ATLAS_SPRITE_instance != null) { + element = elements[e] = { + SYMBOL_Instance: { + SYMBOL_name: BITMAP_SYMBOL_NAME, + Instance_Name: "InstName", + bitmap: element.ATLAS_SPRITE_instance, + symbolType: SymbolType.GRAPHIC, + firstFrame: 0, + loop: LoopMode.LOOP, + transformationPoint: { + x: 0, + y: 0 + }, + Matrix3D: STD_MATRIX3D_DATA + } + }; + } + } + } + } + + return symbolData; + } + + private function parseAtlasData(atlas:AtlasData):Void { + _atlas = new Map(); + if (atlas.ATLAS != null && atlas.ATLAS.SPRITES != null) { + for (s in atlas.ATLAS.SPRITES) { + _atlas.set(s.SPRITE.name, s.SPRITE); + } + } + } + + private function getSymbolData(name:String):SymbolData { + return _symbolData.get(name); + } + + // # end region +} diff --git a/animateatlas/displayobject/SpriteMovieClip.hx b/animateatlas/displayobject/SpriteMovieClip.hx new file mode 100644 index 000000000..2b2b746d2 --- /dev/null +++ b/animateatlas/displayobject/SpriteMovieClip.hx @@ -0,0 +1,117 @@ +package animateatlas.displayobject; + +import openfl.display.Sprite; +import animateatlas.HelperEnums.LoopMode; +import animateatlas.HelperEnums.SymbolType; + +@:access(animateatlas.displayobject.SpriteSymbol) +class SpriteMovieClip extends Sprite { + public var framerate(get, set):Float; + public var currentLabel(get, set):String; + public var currentFrame(get, set):Int; + public var type(get, set):String; + public var loopMode(get, set):String; + public var symbolName(get, never):String; + public var numLayers(get, never):Int; + public var numFrames(get, never):Int; + public var layers(get, never):Array; // ! Dangerous AF. + + private var symbol:SpriteSymbol; + private var _framerate:Null = null; + + private var frameElapsed:Float = 0; + + public function new(symbol:SpriteSymbol) { + super(); + this.symbol = symbol; + addChild(this.symbol); + } + + public function update(dt:Int) { + // + var frameDuration:Float = 1000 / framerate; + frameElapsed += dt; + + while (frameElapsed > frameDuration) { + frameElapsed -= frameDuration; + symbol.nextFrame(); + } + while (frameElapsed < -frameDuration) { + frameElapsed += frameDuration; + symbol.prevFrame(); + } + } + + public function getFrameLabels():Array { + return symbol.getFrameLabels(); + } + + public function getFrame(label:String):Int { + return symbol.getFrame(label); + } + + // # region Property setter and getter + + private function set_currentLabel(value:String):String { + symbol.currentFrame = symbol.getFrame(value); + return value; + } + + private function get_currentLabel():String { + return symbol.currentLabel; + } + + + private function set_currentFrame(value:Int):Int { + symbol.currentFrame = value; + return value; + } + + private function get_currentFrame():Int { + return symbol.currentFrame; + } + + private function set_type(value:SymbolType):SymbolType { + symbol.type = value; + return value; + } + + private function get_type():SymbolType { + return symbol.type; + } + + private function set_loopMode(value:LoopMode):LoopMode { + symbol.loopMode = value; + return value; + } + + private function get_loopMode():LoopMode { + return symbol.loopMode; + } + + private function get_symbolName():String { + return symbol.symbolName; + } + + private function get_numLayers():Int { + return symbol.numLayers; + } + + private function get_numFrames():Int { + return symbol.numFrames; + } + + private function get_layers():Array { + return symbol._layers; + } + + private function set_framerate(value:Float):Float { + return _framerate = value; + } + + private function get_framerate():Float { + return _framerate == null ? symbol._library.frameRate : _framerate; + } + + // # end region +} diff --git a/animateatlas/displayobject/SpriteSymbol.hx b/animateatlas/displayobject/SpriteSymbol.hx new file mode 100644 index 000000000..c1f8fda10 --- /dev/null +++ b/animateatlas/displayobject/SpriteSymbol.hx @@ -0,0 +1,525 @@ +package animateatlas.displayobject; + +import openfl.filters.GlowFilter; +import openfl.filters.BlurFilter; +import openfl.display.PixelSnapping; +import openfl.geom.Point; +import openfl.display.BitmapData; +import openfl.display.Bitmap; +import openfl.display.Sprite; +import openfl.errors.ArgumentError; +import openfl.geom.Rectangle; +import openfl.errors.Error; +import animateatlas.JSONData.ElementData; +import animateatlas.HelperEnums.LoopMode; +import animateatlas.HelperEnums.SymbolType; +import openfl.display.FrameLabel; +import animateatlas.JSONData.SymbolData; +import animateatlas.JSONData.SymbolInstanceData; +import animateatlas.JSONData.LayerData; +import animateatlas.JSONData.BitmapPosData; +import animateatlas.JSONData.Matrix3DData; +import animateatlas.JSONData.LayerFrameData; +import animateatlas.JSONData.ColorData; +import openfl.geom.Matrix; +import openfl.geom.ColorTransform; +import animateatlas.JSONData.FilterData; + +class SpriteSymbol extends Sprite { + public var currentLabel(get, never):String; + public var currentFrame(get, set):Int; + public var type(get, set):String; + public var loopMode(get, set):String; + public var symbolName(get, never):String; + public var numLayers(get, never):Int; + public var numFrames(get, never):Int; + + private var _data:SymbolData; + private var _library:SpriteAnimationLibrary; + private var _symbolName:String; + private var _type:String; + private var _loopMode:String; + + private var _currentFrame:Int; + private var _composedFrame:Int; + private var _bitmap:Bitmap; + private var _numFrames:Int; + private var _numLayers:Int; + private var _frameLabels:Array; + private var _colorTransform:ColorTransform; + private var _layers:Array; + private var _texture:BitmapData; + private var _tempRect = new Rectangle(); + private var _zeroPoint = new Point(0, 0); + private var filterHelper:BitmapData; + public var smoothing:Bool = true; + + private static var sMatrix:Matrix = new Matrix(); + + private function new(data:SymbolData, library:SpriteAnimationLibrary, texture:BitmapData) { + super(); + _data = data; + _library = library; + _composedFrame = -1; + _numLayers = data.TIMELINE.LAYERS.length; + _numFrames = getNumFrames(); + _frameLabels = _getFrameLabels(); + _symbolName = data.SYMBOL_name; + _type = SymbolType.GRAPHIC; + _loopMode = LoopMode.LOOP; + _texture = texture; + + createLayers(); + + // Create FrameMap caches if don't exist + for (layer in data.TIMELINE.LAYERS) { + if (layer.FrameMap != null) + return; + + var map = new Map(); + + for (i in 0...layer.Frames.length) { + var frame = layer.Frames[i]; + for (j in 0...frame.duration) { + map.set(i + j, frame); + } + } + + layer.FrameMap = map; + } + } + + public function reset():Void { + sMatrix.identity(); + transform.matrix = sMatrix.clone(); + alpha = 1.0; + _currentFrame = 0; + _composedFrame = -1; + } + + public function nextFrame():Void { + if (_loopMode != LoopMode.SINGLE_FRAME) { + currentFrame += 1; + } + + moveMovieclip_MovieClips(1); + } + + public function prevFrame():Void { + if (_loopMode != LoopMode.SINGLE_FRAME) { + currentFrame -= 1; + } + + moveMovieclip_MovieClips(-1); + } + + /** Moves all movie clips n frames, recursively. */ + private function moveMovieclip_MovieClips(direction:Int = 1):Void { + if (_type == SymbolType.MOVIE_CLIP) { + currentFrame += direction; + } + + for (l in 0..._numLayers) { + var layer:Sprite = getLayer(l); + var numElements:Int = layer.numChildren; + + for (e in 0...numElements) { + (try cast(layer.getChildAt(e), SpriteSymbol) catch (e:Dynamic) null).moveMovieclip_MovieClips(direction); + } + } + } + + public function update():Void { + for (i in 0..._numLayers) { + updateLayer(i); + } + + _composedFrame = _currentFrame; + } + + @:access(animateatlas) + private function updateLayer(layerIndex:Int):Void { + var layer:Sprite = getLayer(layerIndex); + var frameData:LayerFrameData = getFrameData(layerIndex, _currentFrame); + var elements:Array = (frameData != null) ? frameData.elements : null; + var numElements:Int = (elements != null) ? elements.length : 0; + for (i in 0...numElements) { + var elementData:SymbolInstanceData = elements[i].SYMBOL_Instance; + + if (elementData == null) { + continue; + } + + // this is confusing but needed :( + var oldSymbol:SpriteSymbol = (layer.numChildren > i) ? try + cast(layer.getChildAt(i), SpriteSymbol) + catch (e:Dynamic) + null : null; + + var newSymbol:SpriteSymbol = null; + + var symbolName:String = elementData.SYMBOL_name; + + if (!_library.hasSymbol(symbolName)) { + symbolName = SpriteAnimationLibrary.BITMAP_SYMBOL_NAME; + } + + if (oldSymbol != null && oldSymbol._symbolName == symbolName) { + newSymbol = oldSymbol; + } else { + if (oldSymbol != null) { + if (oldSymbol.parent != null) + oldSymbol.removeChild(oldSymbol); + _library.putSymbol(oldSymbol); + } + + newSymbol = cast(_library.getSymbol(symbolName)); + layer.addChildAt(newSymbol, i); + } + + newSymbol.setTransformationMatrix(elementData.Matrix3D); + newSymbol.setBitmap(elementData.bitmap); + newSymbol.setFilterData(elementData.filters); + newSymbol.setColor(elementData.color); + newSymbol.setLoop(elementData.loop); + newSymbol.setType(elementData.symbolType); + + + + if (newSymbol.type == SymbolType.GRAPHIC) { + var firstFrame:Int = elementData.firstFrame; + var frameAge:Int = Std.int(_currentFrame - frameData.index); + + if (newSymbol.loopMode == LoopMode.SINGLE_FRAME) { + newSymbol.currentFrame = firstFrame; + } else if (newSymbol.loopMode == LoopMode.LOOP) { + newSymbol.currentFrame = (firstFrame + frameAge) % newSymbol._numFrames; + } else { + newSymbol.currentFrame = firstFrame + frameAge; + } + } + + } + + var numObsoleteSymbols:Int = (layer.numChildren - numElements); + + for (i in 0...numObsoleteSymbols) { + try { + var oldSymbol = cast(layer.removeChildAt(numElements), SpriteSymbol); + if (oldSymbol != null) + _library.putSymbol(oldSymbol); + } catch (e:Dynamic) {}; + } + } + + private function createLayers():Void { + // todo safety check for not initialiing twice + if (_layers != null) { + throw new Error("You must not call this twice"); + } + _layers = new Array(); + + if (_numLayers <= 1) { + _layers.push(this); + } else { + for (i in 0..._numLayers) { + var layer:Sprite = new Sprite(); + layer.name = getLayerData(i).Layer_name; + addChild(layer); + _layers.push(layer); + } + } + } + + @:access(animateatlas) + public function setBitmap(data:BitmapPosData):Void { + if (data != null) { + var spriteData = _library.getSpriteData(data.name + ""); + + if (_bitmap == null) { + _bitmap = new Bitmap(new BitmapData(1, 1), PixelSnapping.AUTO, smoothing); + addChild(_bitmap); + } + + if (_tempRect.x != spriteData.x || _tempRect.y != spriteData.y || _tempRect.width != spriteData.w || _tempRect.height != spriteData.h) { + var clippedTexture = new BitmapData(spriteData.w, spriteData.h); + _tempRect.setTo(spriteData.x, spriteData.y, spriteData.w, spriteData.h); + clippedTexture.copyPixels(_texture, _tempRect, _zeroPoint); + _bitmap.bitmapData = clippedTexture; + _bitmap.smoothing = smoothing; + + + } + // aditional checks for rotation + if (spriteData.rotated) { + _bitmap.rotation = -90; + _bitmap.x = data.Position.x; + _bitmap.y = data.Position.y + spriteData.w; + } else { + _bitmap.rotation = 0; + _bitmap.x = data.Position.x; + _bitmap.y = data.Position.y; + } + + addChildAt(_bitmap, 0); + } else if (_bitmap != null) { + if (_bitmap.parent != null) + _bitmap.parent.removeChild(_bitmap); + } + } + @:access(animateatlas) + private function setFilterData(data:FilterData):Void{ + var blur:BlurFilter; + var glow:GlowFilter; + if (data != null){ + if (data.BlurFilter != null){ + blur = new BlurFilter(); + blur.blurX = data.BlurFilter.blurX; + blur.blurY = data.BlurFilter.blurY; + blur.quality = data.BlurFilter.quality; + //_bitmap.bitmapData.applyFilter(_bitmap.bitmapData,new Rectangle(0,0,_bitmap.bitmapData.width,_bitmap.bitmapData.height),new Point(0,0),blur); + //filters.push(blur); + } + if (data.GlowFilter != null){ + //trace('GLOW' + data.GlowFilter); + //glow = new GlowFilter(); + //glow.blurX = data.GlowFilter.blurX; + //glow.blurY = data.GlowFilter.blurY; + //glow.color = data.GlowFilter.color; + //glow.alpha = data.GlowFilter.alpha; + //glow.quality = data.GlowFilter.quality; + //glow.strength = data.GlowFilter.strength; + //glow.knockout = data.GlowFilter.knockout; + //glow.inner = data.GlowFilter.inner; + //filters.push(glow); + + + + + } + + } + + } + + private function setTransformationMatrix(data:Matrix3DData):Void { + sMatrix.setTo(data.m00, data.m01, data.m10, data.m11, data.m30, data.m31); + if (sMatrix.a != transform.matrix.a || sMatrix.b != transform.matrix.b || sMatrix.c != transform.matrix.c || sMatrix.d != transform.matrix.d + || sMatrix.tx != transform.matrix.tx || sMatrix.ty != transform.matrix.ty) + transform.matrix = sMatrix.clone(); // todo stop the cloning :( + } + + private function setColor(data:ColorData):Void { + var newTransform = new ColorTransform(); + if (data != null) { + newTransform.redOffset = (data.redOffset == null ? 0 : data.redOffset); + newTransform.greenOffset = (data.greenOffset == null ? 0 : data.greenOffset); + newTransform.blueOffset = (data.blueOffset == null ? 0 : data.blueOffset); + newTransform.alphaOffset = (data.AlphaOffset == null ? 0 : data.AlphaOffset); + + newTransform.redMultiplier = (data.RedMultiplier == null ? 1 : data.RedMultiplier); + newTransform.greenMultiplier = (data.greenMultiplier == null ? 1 : data.greenMultiplier); + newTransform.blueMultiplier = (data.blueMultiplier == null ? 1 : data.blueMultiplier); + newTransform.alphaMultiplier = (data.alphaMultiplier == null ? 1 : data.alphaMultiplier); + } + transform.colorTransform = newTransform; + + } + + private function setLoop(data:String):Void { + if (data != null) { + _loopMode = data; + } else { + _loopMode = LoopMode.LOOP; + } + } + + private function setType(data:String):Void { + if (data != null) { + _type = data; + } + } + + private function getNumFrames():Int { + var numFrames:Int = 0; + + for (i in 0..._numLayers) { + var layer = getLayerData(i); + var frameDates:Array = (layer == null ? [] : layer.Frames); + var numFrameDates:Int = (frameDates != null) ? frameDates.length : 0; + var layerNumFrames:Int = (numFrameDates != 0) ? frameDates[0].index : 0; + + for (j in 0...numFrameDates) { + layerNumFrames += frameDates[j].duration; + } + + if (layerNumFrames > numFrames) { + numFrames = layerNumFrames; + } + } + + return numFrames == 0 ? 1 : numFrames; + } + + private function _getFrameLabels():Array { + var labels:Array = []; + + for (i in 0..._numLayers) { + var layer = getLayerData(i); + var frameDates:Array = (layer == null ? [] : layer.Frames); + var numFrameDates:Int = (frameDates != null) ? frameDates.length : 0; + + for (j in 0...numFrameDates) { + var frameData:LayerFrameData = frameDates[j]; + if (frameData.name != null) { + labels.push(new FrameLabel(frameData.name, frameData.index)); + } + } + } + labels.sort(sortLabels); + return labels; + } + + public function getFrameLabels():Array { + return _frameLabels.map(f -> f.name); // Inlining. I feel a js + } + + + + function sortLabels(i1:FrameLabel, i2:FrameLabel):Int { + var f1 = i1.frame; + var f2 = i2.frame; + if (f1 < f2) { + return -1; + } else if (f1 > f2) { + return 1; + } else { + return 0; + } + } + + private function getLayer(layerIndex:Int):Sprite { + return _layers[layerIndex]; + } + + public function getTexture():BitmapData{ + //THIS GETS THE ENTIRE THING I'M RETARDED LOL + return _texture; + } + + public function getNextLabel(afterLabel:String = null):String { + var numLabels:Int = _frameLabels.length; + var startFrame:Int = getFrame(afterLabel == null ? currentLabel : afterLabel); + + for (i in 0...numLabels) { + var label:FrameLabel = _frameLabels[i]; + if (label.frame > startFrame) { + return label.name; + } + } + + return (_frameLabels != null) ? _frameLabels[0].name : null; + } + + private function get_currentLabel():String { + var numLabels:Int = _frameLabels.length; + var highestLabel:FrameLabel = (numLabels != 0) ? _frameLabels[0] : null; + + for (i in 1...numLabels) { + var label:FrameLabel = _frameLabels[i]; + + if (label.frame <= _currentFrame) { + highestLabel = label; + } else { + break; + } + } + + return (highestLabel != null) ? highestLabel.name : null; + } + + public function getFrame(label:String):Int { + var numLabels:Int = _frameLabels.length; + for (i in 0...numLabels) { + var frameLabel:FrameLabel = _frameLabels[i]; + if (frameLabel.name == label) { + return frameLabel.frame; + } + } + return -1; + } + + private function get_currentFrame():Int { + return _currentFrame; + } + + private function set_currentFrame(value:Int):Int { + while (value < 0) { + value += _numFrames; + } + + if (_loopMode == LoopMode.PLAY_ONCE) { + _currentFrame = Std.int(Math.min(Math.max(value, 0), _numFrames - 1)); + } else { + _currentFrame = Std.int(Math.abs(value % _numFrames)); + } + + if (_composedFrame != _currentFrame) { + update(); + } + return value; + } + + private function get_type():String { + return _type; + } + + private function set_type(value:String):String { + if (SymbolType.isValid(value)) { + _type = value; + } else { + throw new ArgumentError("Invalid symbol type: " + value); + } + return value; + } + + private function get_loopMode():String { + return _loopMode; + } + + private function set_loopMode(value:String):String { + if (LoopMode.isValid(value)) { + _loopMode = value; + } else { + throw new ArgumentError("Invalid loop mode: " + value); + } + return value; + } + + private function get_symbolName():String { + return _symbolName; + } + + private function get_numLayers():Int { + return _numLayers; + } + + private function get_numFrames():Int { + return _numFrames; + } + + // data access + + private function getLayerData(layerIndex:Int):LayerData { + return _data.TIMELINE.LAYERS[layerIndex]; + } + + private function getFrameData(layerIndex:Int, frameIndex:Int):LayerFrameData { + var layer = getLayerData(layerIndex); + if (layer == null) + return null; + + return layer.FrameMap.get(frameIndex); + } + +} diff --git a/animateatlas/tilecontainer/TileAnimationLibrary.hx b/animateatlas/tilecontainer/TileAnimationLibrary.hx new file mode 100644 index 000000000..008f0e366 --- /dev/null +++ b/animateatlas/tilecontainer/TileAnimationLibrary.hx @@ -0,0 +1,226 @@ +package animateatlas.tilecontainer; + +import openfl.display.Tileset; +import haxe.Constraints.Constructible; +import openfl.display.BitmapData; +import animateatlas.JSONData.AnimationData; +import animateatlas.JSONData.ElementData; +import animateatlas.JSONData.LayerFrameData; +import animateatlas.JSONData.LayerData; +import animateatlas.JSONData.SymbolTimelineData; +import animateatlas.JSONData.Matrix3DData; +import animateatlas.JSONData.AtlasData; +import animateatlas.JSONData.SymbolData; +import animateatlas.JSONData.SpriteData; +import animateatlas.HelperEnums.LoopMode; +import animateatlas.HelperEnums.SymbolType; +import openfl.errors.ArgumentError; + +/** + * Since we can extract symbols from the exported timeline and instance them separatedly, this keeps track of all symbols. + * Also, this is a "more readable" way of understanding the AnimationData + */ +class TileAnimationLibrary { + public var frameRate:Float; + + private var _atlas:Map; + private var _symbolData:Map; + private var _symbolPool:Map>; + private var _defaultSymbolName:String; + private var _texture:Tileset; + + public static inline var BITMAP_SYMBOL_NAME:String = "___atlas_sprite___"; + + private static var STD_MATRIX3D_DATA:Matrix3DData = { + m00: 1, + m01: 0, + m02: 0, + m03: 0, + m10: 0, + m11: 1, + m12: 0, + m13: 0, + m20: 0, + m21: 0, + m22: 1, + m23: 0, + m30: 0, + m31: 0, + m32: 0, + m33: 1 + }; + + public function new(data:AnimationData, atlas:AtlasData, texture:BitmapData) { + parseAnimationData(data); + parseAtlasData(atlas); + _texture = new Tileset(texture); + _symbolPool = new Map(); + } + + public function hasAnimation(name:String):Bool { + return hasSymbol(name); + } + + public function createAnimation(symbol:String = null):TileContainerMovieClip { + symbol = (symbol != null) ? symbol : _defaultSymbolName; + if (!hasSymbol(symbol)) { + throw new ArgumentError("Symbol not found: " + symbol); + } + return new TileContainerMovieClip(getSymbol(symbol)); + } + + public function getAnimationNames(prefix:String = ""):Array { + var out = new Array(); + + for (name in _symbolData.keys()) { + if (name != BITMAP_SYMBOL_NAME && name.indexOf(prefix) == 0) { + out.push(name); + } + } + + // but... why? + out.sort(function(a1, a2):Int { + a1 = a1.toLowerCase(); + a2 = a2.toLowerCase(); + if (a1 < a2) { + return -1; + } else if (a1 > a2) { + return 1; + } else { + return 0; + } + }); + return out; + } + + private function getSpriteData(name:String):SpriteData { + return _atlas.get(name); + } + + private function hasSymbol(name:String):Bool { + return _symbolData.exists(name); + } + + // # region Pooling + // todo migrate this to lime pool + + @:access(animateatlas) + private function getSymbol(name:String):TileContainerSymbol { + var pool:Array = getSymbolPool(name); + if (pool.length == 0) { + return new TileContainerSymbol(getSymbolData(name), this, _texture); + } else { + return pool.pop(); + } + } + + private function putSymbol(symbol:TileContainerSymbol):Void { + symbol.reset(); + var pool:Array = getSymbolPool(symbol.symbolName); + pool.push(symbol); + symbol.currentFrame = 0; + } + + private function getSymbolPool(name:String):Array { + var pool:Array = _symbolPool.get(name); + if (pool == null) { + pool = []; + _symbolPool.set(name, pool); + } + return pool; + } + + // # end region + // # region helpers + private function parseAnimationData(data:AnimationData):Void { + var metaData = data.metadata; + + if (metaData != null && metaData.framerate != null && metaData.framerate > 0) { + frameRate = (metaData.framerate); + } else { + frameRate = 24; + } + + _symbolData = new Map(); + + // the actual symbol dictionary + var symbols = data.SYMBOL_DICTIONARY.Symbols; + for (symbolData in symbols) { + _symbolData[symbolData.SYMBOL_name] = preprocessSymbolData(symbolData); + } + + // the main animation + var defaultSymbolData:SymbolData = preprocessSymbolData(data.ANIMATION); + _defaultSymbolName = defaultSymbolData.SYMBOL_name; + _symbolData.set(_defaultSymbolName, defaultSymbolData); + + // a purely internal symbol for bitmaps - simplifies their handling + _symbolData.set(BITMAP_SYMBOL_NAME, { + SYMBOL_name: BITMAP_SYMBOL_NAME, + TIMELINE: { + LAYERS: [] + } + }); + } + + private function preprocessSymbolData(symbolData:SymbolData):SymbolData { + var timeLineData:SymbolTimelineData = symbolData.TIMELINE; + var layerDates:Array = timeLineData.LAYERS; + + // In Animate CC, layers are sorted front to back. + // In Starling, it's the other way round - so we simply reverse the layer data. + + if (!timeLineData.sortedForRender) { + timeLineData.sortedForRender = true; + layerDates.reverse(); + } + + // We replace all "ATLAS_SPRITE_instance" elements with symbols of the same contents. + // That way, we are always only dealing with symbols. + + for (layerData in layerDates) { + var frames:Array = layerData.Frames; + + for (frame in frames) { + var elements:Array = frame.elements; + for (e in 0...elements.length) { + var element:ElementData = elements[e]; + if (element.ATLAS_SPRITE_instance != null) { + element = elements[e] = { + SYMBOL_Instance: { + SYMBOL_name: BITMAP_SYMBOL_NAME, + Instance_Name: "InstName", + bitmap: element.ATLAS_SPRITE_instance, + symbolType: SymbolType.GRAPHIC, + firstFrame: 0, + loop: LoopMode.LOOP, + transformationPoint: { + x: 0, + y: 0 + }, + Matrix3D: STD_MATRIX3D_DATA + } + }; + } + } + } + } + + return symbolData; + } + + private function parseAtlasData(atlas:AtlasData):Void { + _atlas = new Map(); + if (atlas.ATLAS != null && atlas.ATLAS.SPRITES != null) { + for (s in atlas.ATLAS.SPRITES) { + _atlas.set(s.SPRITE.name, s.SPRITE); + } + } + } + + private function getSymbolData(name:String):SymbolData { + return _symbolData.get(name); + } + + // # end region +} diff --git a/animateatlas/tilecontainer/TileContainerMovieClip.hx b/animateatlas/tilecontainer/TileContainerMovieClip.hx new file mode 100644 index 000000000..66de4ded3 --- /dev/null +++ b/animateatlas/tilecontainer/TileContainerMovieClip.hx @@ -0,0 +1,135 @@ +package animateatlas.tilecontainer; + +import animateatlas.HelperEnums.LoopMode; +import animateatlas.HelperEnums.SymbolType; +import openfl.display.TileContainer; + +@:access(animateatlas.tilecontainer.TileContainerSymbol) +class TileContainerMovieClip extends TileContainer { + public var framerate(get, set):Float; + public var currentLabel(get, set):String; + public var currentFrame(get, set):Int; + public var type(get, set):String; + public var loopMode(get, set):String; + public var symbolName(get, never):String; + public var numLayers(get, never):Int; + public var numFrames(get, never):Int; + public var layers(get, never):Array; // ! Dangerous AF. + + private var symbol:TileContainerSymbol; + private var _framerate:Null = null; + + private var frameElapsed:Float = 0; + + public function new(symbol:TileContainerSymbol) { + super(); + this.symbol = symbol; + addTile(this.symbol); + } + + public function update(dt:Int) { + var frameDuration:Float = 1000 / framerate; + frameElapsed += dt; + + while (frameElapsed > frameDuration) { + frameElapsed -= frameDuration; + symbol.nextFrame(); + } + while (frameElapsed < -frameDuration) { + frameElapsed += frameDuration; + symbol.prevFrame(); + } + } + + public function getFrameLabels():Array { + return symbol.getFrameLabels(); + } + + public function getFrame(label:String):Int { + return symbol.getFrame(label); + } + public function getFramesofAnim(label:String):Int { + var framesArray:Array; + var uncalculatedArray:Array = []; + var uncalculatedFrames:Int = 0; + + for (i in 0...getFrameLabels().length){ + uncalculatedArray.push(getFrame(getFrameLabels()[i])); + } + + + uncalculatedFrames = uncalculatedArray[0]+uncalculatedArray.length; + + return uncalculatedFrames; + } + + // # region Property setter and getter + + private function set_currentLabel(value:String):String { + symbol.currentFrame = symbol.getFrame(value); + return value; + } + + private function get_currentLabel():String { + return symbol.currentLabel; + } + + private function set_currentFrame(value:Int):Int { + symbol.currentFrame = value; + return value; + } + + public function get_animFrames():Int{ + return symbol.get_numFrames(); + } + + + private function get_currentFrame():Int { + return symbol.currentFrame; + } + + private function set_type(value:SymbolType):SymbolType { + symbol.type = value; + return value; + } + + private function get_type():SymbolType { + return symbol.type; + } + + private function set_loopMode(value:LoopMode):LoopMode { + symbol.loopMode = value; + return value; + } + + private function get_loopMode():LoopMode { + return symbol.loopMode; + } + + private function get_symbolName():String { + return symbol.symbolName; + } + + public function get_numLayers():Int { + return symbol.numLayers; + } + + private function get_numFrames():Int { + return symbol.numFrames; + } + + + public function get_layers():Array { + return symbol._layers; + } + + private function set_framerate(value:Float):Float { + return _framerate = value; + } + + private function get_framerate():Float { + return _framerate == null ? symbol._library.frameRate : _framerate; + } + + // # end region +} diff --git a/animateatlas/tilecontainer/TileContainerSymbol.hx b/animateatlas/tilecontainer/TileContainerSymbol.hx new file mode 100644 index 000000000..316dddfa5 --- /dev/null +++ b/animateatlas/tilecontainer/TileContainerSymbol.hx @@ -0,0 +1,475 @@ +package animateatlas.tilecontainer; + +import openfl.display.Tileset; +import animateatlas.JSONData.PointData; +import openfl.errors.ArgumentError; +import openfl.geom.Rectangle; +import openfl.errors.Error; +import animateatlas.JSONData.ElementData; +import animateatlas.HelperEnums.LoopMode; +import animateatlas.HelperEnums.SymbolType; +import openfl.display.FrameLabel; +import animateatlas.JSONData.SymbolData; +import animateatlas.JSONData.SymbolInstanceData; +import animateatlas.JSONData.LayerData; +import animateatlas.JSONData.BitmapPosData; +import animateatlas.JSONData.Matrix3DData; +import animateatlas.JSONData.LayerFrameData; +import animateatlas.JSONData.ColorData; +import openfl.geom.Matrix; +import openfl.geom.ColorTransform; +import openfl.display.DisplayObjectContainer; +import openfl.display.TileContainer; +import openfl.display.Tile; + +class TileContainerSymbol extends TileContainer { + public var currentLabel(get, never):String; + public var currentFrame(get, set):Int; + public var type(get, set):String; + public var loopMode(get, set):String; + public var symbolName(get, never):String; + public var numLayers(get, never):Int; + public var numFrames(get, never):Int; + + private var _data:SymbolData; + private var _library:TileAnimationLibrary; + private var _symbolName:String; + private var _type:String; + private var _loopMode:String; + private var _currentFrame:Int; + private var _composedFrame:Int; + private var _bitmap:Tile; + private var _numFrames:Int; + private var _numLayers:Int; + private var _frameLabels:Array; + private var _colorTransform:ColorTransform; + private var _layers:Array; + + private function new(data:SymbolData, library:TileAnimationLibrary, tileset:Tileset) { + super(); + this.tileset = tileset; + _data = data; + _library = library; + _composedFrame = -1; + _numLayers = data.TIMELINE.LAYERS.length; + _numFrames = getNumFrames(); + _frameLabels = _getFrameLabels(); + _symbolName = data.SYMBOL_name; + _type = SymbolType.GRAPHIC; + _loopMode = LoopMode.LOOP; + + createLayers(); + + // Create FrameMap caches if don't exist + for (layer in data.TIMELINE.LAYERS) { + if (layer.FrameMap != null) + return; + + var map = new Map(); + + for (i in 0...layer.Frames.length) { + var frame = layer.Frames[i]; + for (j in 0...frame.duration) { + map.set(i + j, frame); + } + } + + layer.FrameMap = map; + } + } + + public function reset():Void { + matrix.identity(); + + // copied from the setter for tile so we don't create a new matrix. + __rotation = null; + __scaleX = null; + __scaleY = null; + __setRenderDirty(); + + alpha = 1.0; + _currentFrame = 0; + _composedFrame = -1; + } + + public function nextFrame():Void { + if (_loopMode != LoopMode.SINGLE_FRAME) { + currentFrame += 1; + } + + moveMovieclip_MovieClips(1); + } + + public function prevFrame():Void { + if (_loopMode != LoopMode.SINGLE_FRAME) { + currentFrame -= 1; + } + + moveMovieclip_MovieClips(-1); + } + + /** Moves all movie clips n frames, recursively. */ + private function moveMovieclip_MovieClips(direction:Int = 1):Void { + if (_type == SymbolType.MOVIE_CLIP) { + currentFrame += direction; + } + + for (l in 0..._numLayers) { + var layer:TileContainer = getLayer(l); + var numElements:Int = layer.numTiles; + + for (e in 0...numElements) { + (try cast(layer.getTileAt(e), TileContainerSymbol) catch (e:Dynamic) null).moveMovieclip_MovieClips(direction); + } + } + } + + public function update():Void { + for (i in 0..._numLayers) { + updateLayer(i); + } + + _composedFrame = _currentFrame; + } + + @:access(animateatlas) + private function updateLayer(layerIndex:Int):Void { + var layer:TileContainer = getLayer(layerIndex); + var frameData:LayerFrameData = getFrameData(layerIndex, _currentFrame); + var elements:Array = (frameData != null) ? frameData.elements : null; + var numElements:Int = (elements != null) ? elements.length : 0; + for (i in 0...numElements) { + var elementData:SymbolInstanceData = elements[i].SYMBOL_Instance; + if (elementData == null) { + continue; + } + // this is confusing but needed :( + var oldSymbol:TileContainerSymbol = (layer.numTiles > i) ? try + cast(layer.getTileAt(i), TileContainerSymbol) + catch (e:Dynamic) + null : null; + + var newSymbol:TileContainerSymbol = null; + var symbolName:String = elementData.SYMBOL_name; + + if (!_library.hasSymbol(symbolName)) { + symbolName = TileAnimationLibrary.BITMAP_SYMBOL_NAME; + } + + if (oldSymbol != null && oldSymbol._symbolName == symbolName) { + newSymbol = oldSymbol; + } else { + if (oldSymbol != null) { + if (oldSymbol.parent != null) + oldSymbol.removeTile(oldSymbol); + _library.putSymbol(oldSymbol); + } + + newSymbol = cast(_library.getSymbol(symbolName)); + layer.addTileAt(newSymbol, i); + } + + newSymbol.setTransformationMatrix(elementData.Matrix3D); + newSymbol.setBitmap(elementData.bitmap); + newSymbol.setColor(elementData.color); + newSymbol.setLoop(elementData.loop); + newSymbol.setType(elementData.symbolType); + + if (newSymbol.type == SymbolType.GRAPHIC) { + var firstFrame:Int = elementData.firstFrame; + var frameAge:Int = Std.int(_currentFrame - frameData.index); + + if (newSymbol.loopMode == LoopMode.SINGLE_FRAME) { + newSymbol.currentFrame = firstFrame; + } else if (newSymbol.loopMode == LoopMode.LOOP) { + newSymbol.currentFrame = (firstFrame + frameAge) % newSymbol._numFrames; + } else { + newSymbol.currentFrame = firstFrame + frameAge; + } + } + } + + var numObsoleteSymbols:Int = (layer.numTiles - numElements); + + for (i in 0...numObsoleteSymbols) { + try { + var oldSymbol = cast(layer.removeTileAt(numElements), TileContainerSymbol); + if (oldSymbol != null) + _library.putSymbol(oldSymbol); + } catch (e:Dynamic) {}; + } + } + + private function createLayers():Void { + // todo safety check for not initialiing twice + if (_layers != null) { + throw new Error("You must not call this twice"); + } + _layers = new Array(); + + if (_numLayers <= 1) { + _layers.push(this); + } else { + for (i in 0..._numLayers) { + var layer:TileContainer = new TileContainer(); + if (layer.data == null) { + layer.data = {layerName: getLayerData(i).Layer_name}; + } else { + layer.data.layerName = getLayerData(i).Layer_name; + } + addTile(layer); + _layers.push(layer); + } + } + } + + @:access(animateatlas) + public function setBitmap(data:BitmapPosData):Void { + if (data != null) { + var spriteData = _library.getSpriteData(data.name + ""); + + if (_bitmap == null) { + _bitmap = new Tile(-1); + _bitmap.rect = new Rectangle(); + addTile(_bitmap); + } + + _bitmap.rect.setTo(spriteData.x, spriteData.y, spriteData.w, spriteData.h); + _bitmap.__setRenderDirty(); // setTo() doesn't trigger the renderdirty + + // aditional checks for rotation + if (spriteData.rotated) { + _bitmap.rotation = -90; + _bitmap.x = data.Position.x; + _bitmap.y = data.Position.y + spriteData.w; + } else { + _bitmap.rotation = 0; + _bitmap.x = data.Position.x; + _bitmap.y = data.Position.y; + } + + addTileAt(_bitmap, 0); + } else if (_bitmap != null) { + if (_bitmap.parent != null) + _bitmap.parent.removeTile(_bitmap); + } + } + + private function setTransformationMatrix(data:Matrix3DData):Void { + if (data.m00 != matrix.a || data.m01 != matrix.b || data.m10 != matrix.c || data.m11 != matrix.d || data.m30 != matrix.tx || data.m31 != matrix.ty) { + matrix.setTo(data.m00, data.m01, data.m10, data.m11, data.m30, data.m31); + + // copied from the setter for tile so we don't create a new matrix. + __rotation = null; + __scaleX = null; + __scaleY = null; + __setRenderDirty(); + } + } + + private function setColor(data:ColorData):Void { + var newTransform = new ColorTransform(); + if (data != null) { + newTransform.redOffset = (data.redOffset == null ? 0 : data.redOffset); + newTransform.greenOffset = (data.greenOffset == null ? 0 : data.greenOffset); + newTransform.blueOffset = (data.blueOffset == null ? 0 : data.blueOffset); + newTransform.alphaOffset = (data.AlphaOffset == null ? 0 : data.AlphaOffset); + + newTransform.redMultiplier = (data.RedMultiplier == null ? 1 : data.RedMultiplier); + newTransform.greenMultiplier = (data.greenMultiplier == null ? 1 : data.greenMultiplier); + newTransform.blueMultiplier = (data.blueMultiplier == null ? 1 : data.blueMultiplier); + newTransform.alphaMultiplier = (data.alphaMultiplier == null ? 1 : data.alphaMultiplier); + } + colorTransform = newTransform; + } + + private function setLoop(data:String):Void { + if (data != null) { + _loopMode = data; + } else { + _loopMode = LoopMode.LOOP; + } + } + + private function setType(data:String):Void { + if (data != null) { + _type = data; + } + } + + private function getNumFrames():Int { + var numFrames:Int = 0; + + for (i in 0..._numLayers) { + var layer = getLayerData(i); + var frameDates:Array = (layer == null ? [] : layer.Frames); + var numFrameDates:Int = (frameDates != null) ? frameDates.length : 0; + var layerNumFrames:Int = (numFrameDates != 0) ? frameDates[0].index : 0; + + for (j in 0...numFrameDates) { + layerNumFrames += frameDates[j].duration; + } + + if (layerNumFrames > numFrames) { + numFrames = layerNumFrames; + } + } + + return numFrames == 0 ? 1 : numFrames; + } + + private function _getFrameLabels():Array { + var labels:Array = []; + + for (i in 0..._numLayers) { + var layer = getLayerData(i); + var frameDates:Array = (layer == null ? [] : layer.Frames); + var numFrameDates:Int = (frameDates != null) ? frameDates.length : 0; + + for (j in 0...numFrameDates) { + var frameData:LayerFrameData = frameDates[j]; + if (frameData.name != null) { + labels.push(new FrameLabel(frameData.name, frameData.index)); + } + } + } + labels.sort(sortLabels); + return labels; + } + + public function getFrameLabels():Array { + return _frameLabels.map(f -> f.name); // Inlining. I feel a js + } + + function sortLabels(i1:FrameLabel, i2:FrameLabel):Int { + var f1 = i1.frame; + var f2 = i2.frame; + if (f1 < f2) { + return -1; + } else if (f1 > f2) { + return 1; + } else { + return 0; + } + } + + private function getLayer(layerIndex:Int):TileContainer { + return _layers[layerIndex]; + } + + public function getNextLabel(afterLabel:String = null):String { + var numLabels:Int = _frameLabels.length; + var startFrame:Int = getFrame(afterLabel == null ? currentLabel : afterLabel); + + for (i in 0...numLabels) { + var label:FrameLabel = _frameLabels[i]; + if (label.frame > startFrame) { + return label.name; + } + } + + return (_frameLabels != null) ? _frameLabels[0].name : null; + } + + private function get_currentLabel():String { + var numLabels:Int = _frameLabels.length; + var highestLabel:FrameLabel = (numLabels != 0) ? _frameLabels[0] : null; + + for (i in 1...numLabels) { + var label:FrameLabel = _frameLabels[i]; + + if (label.frame <= _currentFrame) { + highestLabel = label; + } else { + break; + } + } + + return (highestLabel != null) ? highestLabel.name : null; + } + + public function getFrame(label:String):Int { + var numLabels:Int = _frameLabels.length; + for (i in 0...numLabels) { + var frameLabel:FrameLabel = _frameLabels[i]; + if (frameLabel.name == label) { + return frameLabel.frame; + } + } + return -1; + } + + + private function get_currentFrame():Int { + return _currentFrame; + } + + private function set_currentFrame(value:Int):Int { + while (value < 0) { + value += _numFrames; + } + + if (_loopMode == LoopMode.PLAY_ONCE) { + _currentFrame = Std.int(Math.min(Math.max(value, 0), _numFrames - 1)); + } else { + _currentFrame = Std.int(Math.abs(value % _numFrames)); + } + + if (_composedFrame != _currentFrame) { + update(); + } + return value; + } + + private function get_type():String { + return _type; + } + + private function set_type(value:String):String { + if (SymbolType.isValid(value)) { + _type = value; + } else { + throw new ArgumentError("Invalid symbol type: " + value); + } + return value; + } + + private function get_loopMode():String { + return _loopMode; + } + + private function set_loopMode(value:String):String { + if (LoopMode.isValid(value)) { + _loopMode = value; + } else { + throw new ArgumentError("Invalid loop mode: " + value); + } + return value; + } + + private function get_symbolName():String { + return _symbolName; + } + + public function get_numLayers():Int { + return _numLayers; + } + + public function get_numFrames():Int { + return _numFrames; + } + + // data access + + private function getLayerData(layerIndex:Int):LayerData { + return _data.TIMELINE.LAYERS[layerIndex]; + } + + private function getFrameData(layerIndex:Int, frameIndex:Int):LayerFrameData { + var layer = getLayerData(layerIndex); + if (layer == null) + return null; + + return layer.FrameMap.get(frameIndex); + } +} diff --git a/art/instruction1.PNG b/art/instruction1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..6d28711c701ec91fd9906a3e6b208cfa672550b9 GIT binary patch literal 8256 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
~_saBb{@l+(s# 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

vQFxiRcl!$E7e-IYigZS>-Ui^Jh7H# z(!n|B91d1zd7A98fm+MsWVKpLdMYnUk4GNsue&i*yvS_hFS5_AmC>zdWfY!B?LRgy zZHuyB(}`2s73C(cwCTy{14x&i$b(#<3s0mhla0r13!GI}on^bG&RKPqn_8WNoSyYz zv`f!=Md^u@$4L*)Ics-tPOarmRIi*`OFSws3Qzt|$ZpqkB3BJ01dU4@?k)})r_n} z>cqTkkg`nnUQ=t?uGzHIS|+w>sk6+amxOZ8DtVZs|3=rui;J>ImtH7cdZBdbh0=Pd zwWM`c*QHH+tj_Q=OXQdD?L;;-C(M44MS~|H=b2vIYSMrId-`+qVSY|YIlt)yyun}zN%HS_4%s&@cZC;74G|u$yB|HdiM7+lp~rY^FFU?6YG;{mtV2D kMPu*gj-5Mq>SUJnJ^9emvcZK

*NX9(ZZfZv0f=#{Xgvc8n|v%|k3? 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 Date: Mon, 4 Oct 2021 11:52:58 -0500 Subject: [PATCH 18/21] FUCK I FORGOT TO PUT IT INTO PLAYSTATE.HX --- source/PlayState.hx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/PlayState.hx b/source/PlayState.hx index 3b8126daa..1ea9b640a 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -24,6 +24,9 @@ import Discord.DiscordClient; #end import DifficultyIcons; import flixel.FlxSprite; +import flixel.util.FlxDestroyUtil; +import flixel.graphics.frames.FlxAtlasFrames; +import animateatlas.AtlasFrameMaker; import flixel.FlxBasic; import flixel.FlxState; import flixel.FlxSubState; @@ -362,6 +365,7 @@ class PlayState extends MusicBeatState interp.variables.set("iconP2", iconP2); interp.variables.set("currentPlayState", this); interp.variables.set("PlayState", PlayState); + interp.variables.set("AtlasFrameMaker", AtlasFrameMaker); interp.variables.set("window", Lib.application.window); // give them access to save data, everything will be fine ;) interp.variables.set("isInCutscene", function () return inCutscene); From 2d15dd6c9624c609a25080e30e1a22de72980ccf Mon Sep 17 00:00:00 2001 From: kittstone Date: Tue, 5 Oct 2021 13:38:10 -0500 Subject: [PATCH 19/21] update some quick shit --- source/AnimationDebug.hx | 4 ++++ source/NewCharacterState.hx | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/source/AnimationDebug.hx b/source/AnimationDebug.hx index 6e79ee0c0..a4bbc84fa 100644 --- a/source/AnimationDebug.hx +++ b/source/AnimationDebug.hx @@ -8,6 +8,10 @@ import flixel.addons.display.FlxGridOverlay; import flixel.group.FlxGroup.FlxTypedGroup; import flixel.text.FlxText; import flixel.util.FlxColor; +import flixel.util.FlxDestroyUtil; +import flixel.FlxSprite; +import flixel.graphics.frames.FlxAtlasFrames; +import animateatlas.AtlasFrameMaker; /** *DEBUG MODE diff --git a/source/NewCharacterState.hx b/source/NewCharacterState.hx index 8ca53ff4e..2237eb226 100644 --- a/source/NewCharacterState.hx +++ b/source/NewCharacterState.hx @@ -17,6 +17,10 @@ import flixel.addons.ui.FlxUICheckBox; import flixel.addons.ui.FlxUIDropDownMenu; import flixel.addons.ui.FlxUIInputText; import flixel.addons.ui.FlxUINumericStepper; +import flixel.util.FlxDestroyUtil; +import flixel.FlxSprite; +import flixel.graphics.frames.FlxAtlasFrames; +import animateatlas.AtlasFrameMaker; import flixel.ui.FlxButton; import flixel.ui.FlxSpriteButton; import flixel.addons.ui.FlxUITabMenu; From 6489fa5ebb0a15b201438b32970230f422911ba2 Mon Sep 17 00:00:00 2001 From: kittstone Date: Sat, 6 Nov 2021 03:31:15 -0500 Subject: [PATCH 20/21] SUCK MY ASS DRIPPY --- .gitignore | 1 + README.md | 115 +++++++++-------------------------------------------- 2 files changed, 19 insertions(+), 97 deletions(-) diff --git a/.gitignore b/.gitignore index 68872216f..feeec48cc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ export/ .vscode/ .idea/ vscode-project.hxml +*.fla diff --git a/README.md b/README.md index 427384c3d..c8ea41954 100644 --- a/README.md +++ b/README.md @@ -1,97 +1,18 @@ -# Friday Night Funkin -[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FTheDrawingCoder-Gamer%2FFunkin%2Fbadge%3Fref%3Dmaster&style=for-the-badge)](https://actions-badge.atrox.dev/TheDrawingCoder-Gamer/Funkin/goto?ref=master) -![Azure DevOps builds](https://img.shields.io/azure-devops/build/benharless820/7af207e5-72fd-483f-9a48-6fc65e63abb9/4?label=pipelines&style=for-the-badge) -[![forthebadge](https://forthebadge.com/images/badges/fuck-it-ship-it.svg)](https://forthebadge.com) -[![forthebadge](https://forthebadge.com/images/badges/works-on-my-machine.svg)](https://forthebadge.com) -[![forthebadge](https://forthebadge.com/images/badges/contains-tasty-spaghetti-code.svg)](https://forthebadge.com) -[![forthebadge](https://forthebadge.com/images/badges/it-works-why.svg)](https://forthebadge.com) -[![forthebadge](https://forthebadge.com/images/badges/just-plain-nasty.svg)](https://forthebadge.com) - -This is the repository for Friday Night Funkin Modding Plus, a mod for FNF to add more features for modders and players alike. - -Any mods made with this mod must have express permission from the creator of songs included. -(for example, if you include the Whitty Mod, you should have express permission from Nate Anim8, KadeDev, and SockClip. -I at least would like to see the main author and a majority of secondary offers get express permission) -If an author gives express disapproval, and the mod is up, you should take your mod down. I own the code to this mod so I can (and will) -take down mods that don't follow this rule. - - -- Get the cutting edge build: https://dev.azure.com/benharless820/FNF%20Modding%20Plus/_build -- Play the Original Game: https://github.com/ninjamuffin99/Funkin -- Need Help? FNF Modding Plus Discord: https://discord.gg/xeC748FR -- Trello Page (todo list): https://trello.com/b/cFjJJIjF/fnf-modding-plus -## Credits for the Original Game - -- [ninjamuffin99](https://twitter.com/ninja_muffin99) - Programmer -- [PhantomArcade3K](https://twitter.com/phantomarcade3k) and [Evilsk8r](https://twitter.com/evilsk8r) - Art -- [KawaiSprite](https://twitter.com/kawaisprite) - Musician -## Modding+ Credits - -- [BulbyVR](https://github.com/TheDrawingCoder-Gamer) - Owner/Programmer -- [DJ Popsicle](https://gamebanana.com/members/1780306) - Co-Owner/Additional Programmer -- [Matheus L/Mlops](https://gamebanana.com/members/1767306), [AndreDoodles](https://gamebanana.com/members/1764840), riko, Raf, ElBartSinsoJaJa, and [plum](https://www.youtube.com/channel/UCXbiI4MJD9Y3FpjW61lG8ZQ) - Artist & Animation -- [ThePinkPhantom/JuliettePink](https://gamebanana.com/members/1892442) - Portrait Artist -- [Alex Director](https://gamebanana.com/members/1701629) - Icon Fixer -- [TrafficKid](https://github.com/TrafficKid) - GitHub Wikipedia -- [GwebDev](https://github.com/GrowtopiaFli) - Edited WebM code -- [Axy](https://github.com/AxyGitPoggers) - Poggers help -## Build instructions - -THESE INSTRUCTIONS ARE FOR COMPILING THE GAME'S SOURCE CODE!!! - -IF YOU WANT TO JUST DOWNLOAD AND INSTALL AND PLAY THE GAME NORMALLY, GO TO GAMEBANANA TO DOWNLOAD THE GAME FOR PC!! - -https://gamebanana.com/gamefiles/14264 - -IF YOU WANT TO COMPILE THE GAME YOURSELF, OR PLAY ON MAC OR LINUX, CONTINUE READING!!! - -IF YOU MAKE A MOD AND DISTRIBUTE A MODIFIED / RECOMIPLED VERSION, YOU MUST OPEN SOURCE YOUR MOD AS WELL - -### Installing shit - -First you need to install Haxe and HaxeFlixel. I'm too lazy to write and keep updated with that setup (which is pretty simple). -The link to that is on the [HaxeFlixel website](https://haxeflixel.com/documentation/getting-started/) - -Other installations you'd need is the additional libraries, a fully updated list will be in `Project.xml` in the project root, but here are the one's I'm using as of writing. - -``` -hscript -flixel-ui -tjson -json2object -uniontypes -hxcpp-debug-server -``` - -So for each of those type `haxelib install [library]` so shit like `haxelib install hscript` - -You'll also need to install hscript-ex. Do this with - -``` -haxelib git hscript-ex https://github.com/ianharrigan/hscript-ex -``` - - -### Compiling game - - -To run it from your desktop (Windows, Mac, Linux) it can be a bit more involved. For Linux, you only need to open a terminal in the project directory and run 'lime test linux -debug' and then run the executible file in export/release/linux/bin. For Windows, you need to install Visual Studio Community 2019. While installing VSC, don't click on any of the options to install workloads. Instead, go to the individual components tab and choose the following: -* MSVC v142 - VS 2019 C++ x64/x86 build tools -* Windows SDK (10.0.17763.0) -* C++ Profiling tools -* C++ CMake tools for windows -* C++ ATL for v142 build tools (x86 & x64) -* C++ MFC for v142 build tools (x86 & x64) -* C++/CLI support for v142 build tools (14.21) -* C++ Modules for v142 build tools (x64/x86) -* Clang Compiler for Windows -* Windows 10 SDK (10.0.17134.0) -* Windows 10 SDK (10.0.16299.0) -* MSVC v141 - VS 2017 C++ x64/x86 build tools -* MSVC v140 - VS 2015 C++ build tools (v14.00) - -This will install about 22GB of crap, but once that is done you can open up a command line in the project's directory and run `lime test windows -debug`. Once that command finishes (it takes forever even on a higher end PC), you can run FNF from the .exe file under export\release\windows\bin -As for Mac, 'lime test mac -debug' should work, if not the internet surely has a guide on how to compile Haxe stuff for Mac. -### Additional guides - -- [Command line basics](https://ninjamuffin99.newgrounds.com/news/post/1090480) +im done letting people think drippy is a good person. +she fucked up so hard intentionally and still says that she did nothing wrong and that im in the wrong. +look at the gdrive, full dms leak. +i dont condone leaking dms normally but im tired of letting people get affected by her, SUCK MY ASS DRIPPY. +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +https://drive.google.com/drive/folders/1jydp46vlIgMIfcvl2Ab8oMyV8nwGPX2H?usp=sharing +SUCK MY FUCKING ASS. \ No newline at end of file From 9007cb33f0390ba47a0534c15ba8936c03e7a7f6 Mon Sep 17 00:00:00 2001 From: kittstone Date: Sat, 6 Nov 2021 03:34:21 -0500 Subject: [PATCH 21/21] Update BoyFriend_Assets.fla --- art/flashFiles/BoyFriend_Assets.fla | Bin 16093696 -> 16027136 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/art/flashFiles/BoyFriend_Assets.fla b/art/flashFiles/BoyFriend_Assets.fla index 1bd18b46e0f7567c955df2375a423f69329bc526..31ad68cd83ad5098b0e1deca4dce906b9fc5e854 100644 GIT binary patch delta 783 zcmWNHXLJq*004bSNW!5ALakP6ubQpBXVY4>XYEbZXcZA0YVQ@LM9dAzBE@&K{DTAO4LlUE}1(Kset_PCe1xE%YM}(yZlEN|~ zlC(f95|AJXmJrD-StL}#BwVseHpzIhOAg5?A4o3AEqNqD@=89*FOgC}3d)C4ND504 zDJsR}Bl%d0OO$*fC8VU3lG0K}%1SvYFBPPsRFY4nvQ&|(QcbE$4f#wymzq*bYD*od zEA^zlG?0eUNE%BMX)4X6xwMd$(n`LNX!%mUlGf5j+DbcVFJDUs=_s9~vviTJ(oMQc z59ukrq_=z{eWb7Slm0S52Ff5AEJI|d43pt9LPp9c`Bp~DcQQuC$~YM>-^&j&L4K5p zGD#*&j7*VOnJUv{x+pVbrp%I`WVXzaxiU}Y%K}*_i)67Zk)^UsmdgrRDXV0)#K{`@ zS=P!r`9;>t28oxAk|3L8vuu&AvQ4(jud+jS$}UNiBuSRt@|*lFdt|Tdll^i)4$2`p zEJx(19Fybnhx{ogMH+Dmx4` zOw$TDve^tGI}NgpqJo)Lkq8nXD3YKC4VVPXIni{!d*7=%!oiasKInh$tN&H~ud41l zj9YY|*0|+|YL)h^6Enudp~m{Y@5bVb3llBkt>V`dCHlv^#z*%{%#OG1I<=oMbE+AW zfbn-4v!d9T-gg;u97gvyrUd3wn{cHu(-=D)WGG|O8T%O&2< zyFQkicrI_sxx5&}p&C?&8c-8zL2al5GVU_?2GoUmkPr3Ya<~G%2@RkjG=j#^1il4V zLQ}X3u7+#iT4)B}hU?&Z_zpCO7H|U;Kuc%^H$rP@18w2E&<<{b_TWJW=m?$QX6OuE zpex)0-Qat0D|ClK_&)pqdO%OO4SGRuD1slt?a&AAfWFWV?u25v3;M&|@FVy!41j@f z58Mm)!TsiznJ^1x!yG7uxiAkBFdr5` z86;sLq~Ixd8WzD~SOU*LIXnwXVHqrk6|fSXgEXvy3Rn%#!y0%2*1|ei4;x@3Y=X_O z1v0P|w!w?A9d^J@*af?x5?+FrVGq0lufl7v7xuyH@CT@ZEW814!dtK(-i8D4M|cMg z!XbDU4#S_|2polD@Mky<@4@?U0zQC~@E7#~VuM>_P*^d6ROSu;7jMb)6p8za-7#FEYP%rb?*z~D*^6ca3fys64 ztL7%Z7@w|_{Paj{OEA8KR~Af!NiZ3ngefo;ronWW0W)D1%!WBo3Ugr|Bw#))fHFwJ zLP)_=@H8xf#jpgPf$|a)m}mL26qdnqSOF{HIY`4QsDRb*Jgk8iU@feJ^{@dp!Y0@Z zTOb2lVH>;%+hGUngk7*3DodL3%H_+;um@g&SK&3-o49=Fhh>w}d*f#ZC+E&i@5#)Z zoF3UWc}K;nhMB&@s@C=_o13nk$!=PeUzhj(-I?5msSjleA~%^cfj!t$>+4|(8>CzLqCLHXk zbvZR1?5Xw4NIK`Rnw4XRhT#QXPPD9(OHbtX(Arn)O`(^s*5y%J&N>RuT1DZBl&9%Z z;bpT~s=Uy7tzIHqW27wU*#JC|Ws&qn%AIJdDUlN*sn(LEt>&aU9O=RnS>dWdbx*C! z!$3T>PDE0zCr8p*yQj-jYgr~2o>+5N+lhU3UK1YctFtVV9jwlQtdrHwI+SWHkJF{n zll?u(@i}|R@T4l?=@s)fK`xA>FS69ifEJPxJvAz4MUIQ4&Lm;F^rV`Oq*}{NdJQ~l zRArg0RA*TxE7e(+$x3k!uyvZIz`^T~Iuma>q^y&U=D9`6OqvHbB2peFE7f{(B%_nQ zWO(jDm5DCVe^XJpNU}|7@2ZQnmD;K_so%pWs~~(Cr?hp+K0qf< zY3q{hT3S{utIo2eaN&vbNmDA%pOl@oJ2