diff --git a/Project.xml b/Project.xml
index d460a376..80d15544 100644
--- a/Project.xml
+++ b/Project.xml
@@ -168,11 +168,10 @@
-
-
+
diff --git a/art/design ideas/charter events/1.png b/art/design ideas/charter events/1.png
new file mode 100644
index 00000000..93eb9246
Binary files /dev/null and b/art/design ideas/charter events/1.png differ
diff --git a/art/design ideas/charter events/2.png b/art/design ideas/charter events/2.png
new file mode 100644
index 00000000..f3206eb6
Binary files /dev/null and b/art/design ideas/charter events/2.png differ
diff --git a/assets/data/stages/limo.hx b/assets/data/stages/limo.hx
index 2aa3e280..b557616f 100644
--- a/assets/data/stages/limo.hx
+++ b/assets/data/stages/limo.hx
@@ -11,10 +11,10 @@ function update(elapsed:Float) {
// back limo drive
if (Options.lowMemoryMode) {
- bgLimo.rotOffset.x = Math.sin(curBeatFloat / 4) * Math.cos(curBeatFloat / 16) * 85;
+ bgLimo.frameOffset.x = Math.sin(curBeatFloat / 4) * Math.cos(curBeatFloat / 16) * 85;
} else {
for(e in [bgLimo, dancer1, dancer2, dancer3, dancer4, dancer5]) {
- e.rotOffset.x = Math.sin(curBeatFloat / 4) * Math.cos(curBeatFloat / 16) * 85;
+ e.frameOffset.x = Math.sin(curBeatFloat / 4) * Math.cos(curBeatFloat / 16) * 85;
}
}
}
diff --git a/assets/paths.json b/assets/paths.json
new file mode 100644
index 00000000..e69de29b
diff --git a/source/funkin/assets/AssetPaths.hx b/source/funkin/assets/AssetPaths.hx
index 69ae06f9..b8094b3f 100644
--- a/source/funkin/assets/AssetPaths.hx
+++ b/source/funkin/assets/AssetPaths.hx
@@ -1,5 +1,43 @@
+// UNUSED
+
package funkin.assets;
+/**
+ * {
+ "characterXML": "data/characters/{0}.xml",
+ "characterScript": "data/characters/{0}",
+ "config": "data/config/",
+ "dialogueBoxes": "data/dialogue/boxes/",
+ "dialogueCharacters": "data/dialogue/characters/",
+ "globalChartScripts": "data/charts/",
+ "splashData": "data/splashes/{0}.xml",
+ "stageXML": "data/stages/{0}.xml",
+ "stageScript": "data/stages/{0}",
+ "titleIntroText": "data/titlescreen/introText.txt",
+ "weekList": "data/weeks/weeks.txt",
+ "weekData": "data/weeks/weeks/{0}.xml",
+ "weekCharacterData": "data/weeks/characters/{0}.xml",
+ "noteTypeScript": "data/notes/{0}",
+ "stateScript": "data/states/{0}",
+ "globalScript": "data/global",
+
+ "txt": "data/{0}.txt",
+ "ini": "data/{0}.ini",
+ "fragShader": "shaders/{0}.frag",
+ "vertShader": "shaders/{0}.vert",
+ "xml": "data/{0}.xml",
+ "json": "data/{0}.json",
+ "ps1": "data/{0}.ps1",
+ "sound": "sounds/{0}.{1}",
+ "music": "music/{0}.{1}",
+ "image": "images/{0}",
+
+ "instDefault": "songs/{0}/song/Inst.{1}",
+ "instDifficulty": "songs/{0}/song/Inst-{1}.{2}",
+ "voicesDefault": "songs/{0}/song/Voices.{1}",
+ "voicesDifficulty": "songs/{0}/song/Voices-{1}.{2}"
+ }
+ */
/**
Static class containing all of the paths for every different feature of the engine.
**/
diff --git a/source/funkin/system/AssetsLibraryList.hx b/source/funkin/assets/AssetsLibraryList.hx
similarity index 98%
rename from source/funkin/system/AssetsLibraryList.hx
rename to source/funkin/assets/AssetsLibraryList.hx
index 61c6cde8..224afbb2 100644
--- a/source/funkin/system/AssetsLibraryList.hx
+++ b/source/funkin/assets/AssetsLibraryList.hx
@@ -1,6 +1,6 @@
-package funkin.system;
+package funkin.assets;
-import funkin.mods.ModsAssetLibrary;
+import funkin.assets.ModsAssetLibrary;
import lime.utils.AssetLibrary;
class AssetsLibraryList extends AssetLibrary {
diff --git a/source/funkin/mods/LimeLibrarySymbol.hx b/source/funkin/assets/LimeLibrarySymbol.hx
similarity index 96%
rename from source/funkin/mods/LimeLibrarySymbol.hx
rename to source/funkin/assets/LimeLibrarySymbol.hx
index 7e035c2c..1769d250 100644
--- a/source/funkin/mods/LimeLibrarySymbol.hx
+++ b/source/funkin/assets/LimeLibrarySymbol.hx
@@ -1,4 +1,4 @@
-package funkin.mods;
+package funkin.assets;
/**
* COPIED DIRECTLY FROM LIME SOURCE CAUSE LIME IS SO FUCKING DUMB!!
diff --git a/source/funkin/mods/ModdableAssetsFolder.hx b/source/funkin/assets/ModdableAssetsFolder.hx
similarity index 97%
rename from source/funkin/mods/ModdableAssetsFolder.hx
rename to source/funkin/assets/ModdableAssetsFolder.hx
index 0ead038e..8071f138 100644
--- a/source/funkin/mods/ModdableAssetsFolder.hx
+++ b/source/funkin/assets/ModdableAssetsFolder.hx
@@ -1,4 +1,4 @@
-package funkin.mods;
+package funkin.assets;
import lime.utils.AssetLibrary;
diff --git a/source/funkin/mods/ModsAssetLibrary.hx b/source/funkin/assets/ModsAssetLibrary.hx
similarity index 97%
rename from source/funkin/mods/ModsAssetLibrary.hx
rename to source/funkin/assets/ModsAssetLibrary.hx
index 8b344067..91ae1b9c 100644
--- a/source/funkin/mods/ModsAssetLibrary.hx
+++ b/source/funkin/assets/ModsAssetLibrary.hx
@@ -1,4 +1,4 @@
-package funkin.mods;
+package funkin.assets;
import lime.utils.Log;
import lime.utils.AssetLibrary;
diff --git a/source/funkin/mods/ModsFolder.hx b/source/funkin/assets/ModsFolder.hx
similarity index 99%
rename from source/funkin/mods/ModsFolder.hx
rename to source/funkin/assets/ModsFolder.hx
index 0db37ec8..caa2334d 100644
--- a/source/funkin/mods/ModsFolder.hx
+++ b/source/funkin/assets/ModsFolder.hx
@@ -1,4 +1,4 @@
-package funkin.mods;
+package funkin.assets;
import funkin.system.MainState;
import funkin.menus.TitleState;
diff --git a/source/funkin/mods/ModsFolderLibrary.hx b/source/funkin/assets/ModsFolderLibrary.hx
similarity index 99%
rename from source/funkin/mods/ModsFolderLibrary.hx
rename to source/funkin/assets/ModsFolderLibrary.hx
index 843afb65..8d8ccd26 100644
--- a/source/funkin/mods/ModsFolderLibrary.hx
+++ b/source/funkin/assets/ModsFolderLibrary.hx
@@ -1,4 +1,4 @@
-package funkin.mods;
+package funkin.assets;
import lime.utils.AssetLibrary;
import lime.utils.Assets as LimeAssets;
diff --git a/source/funkin/system/Paths.hx b/source/funkin/assets/Paths.hx
similarity index 95%
rename from source/funkin/system/Paths.hx
rename to source/funkin/assets/Paths.hx
index d6283f26..2b70e777 100644
--- a/source/funkin/system/Paths.hx
+++ b/source/funkin/assets/Paths.hx
@@ -1,12 +1,12 @@
-package funkin.system;
+package funkin.assets;
import flixel.graphics.frames.FlxFramesCollection;
import haxe.io.Path;
-import funkin.mods.LimeLibrarySymbol;
+import funkin.assets.LimeLibrarySymbol;
import flixel.graphics.frames.FlxAtlasFrames;
import openfl.utils.AssetType;
import openfl.utils.Assets as OpenFlAssets;
-import funkin.mods.ModsFolder;
+import funkin.assets.ModsFolder;
import funkin.scripting.Script;
using StringTools;
@@ -220,7 +220,7 @@ class Paths
return FlxAtlasFrames.fromSpriteSheetPacker('$key.png', '$key.txt');
}
- static public function getFolderDirectories(key:String, addPath:Bool = false, source:funkin.system.AssetsLibraryList.AssetSource = BOTH):Array {
+ static public function getFolderDirectories(key:String, addPath:Bool = false, source:AssetsLibraryList.AssetSource = BOTH):Array {
if (!key.endsWith("/")) key += "/";
var content = assetsTree.getFolders('assets/$key', source);
if (addPath) {
@@ -229,7 +229,7 @@ class Paths
}
return content;
}
- static public function getFolderContent(key:String, addPath:Bool = false, source:funkin.system.AssetsLibraryList.AssetSource = BOTH):Array {
+ static public function getFolderContent(key:String, addPath:Bool = false, source:AssetsLibraryList.AssetSource = BOTH):Array {
// designed to work both on windows and web
if (!key.endsWith("/")) key += "/";
var content = assetsTree.getFiles('assets/$key', source);
@@ -256,9 +256,9 @@ class Paths
var content:Array = [];
#if MOD_SUPPORT
- if (library is funkin.mods.ModsAssetLibrary) {
+ if (library is funkin.assets.ModsAssetLibrary) {
// easy task, can immediately scan for files!
- var lib = cast(library, funkin.mods.ModsAssetLibrary);
+ var lib = cast(library, funkin.assets.ModsAssetLibrary);
content = lib.getFiles(libThing.symbolName);
if (addPath)
for(i in 0...content.length)
diff --git a/source/funkin/mods/ZipFolderLibrary.hx b/source/funkin/assets/ZipFolderLibrary.hx
similarity index 99%
rename from source/funkin/mods/ZipFolderLibrary.hx
rename to source/funkin/assets/ZipFolderLibrary.hx
index 8c8e7bd3..3b155bf5 100644
--- a/source/funkin/mods/ZipFolderLibrary.hx
+++ b/source/funkin/assets/ZipFolderLibrary.hx
@@ -1,4 +1,4 @@
-package funkin.mods;
+package funkin.assets;
import lime.utils.Log;
import lime.utils.AssetLibrary;
diff --git a/source/funkin/editors/ui/UICheckbox.hx b/source/funkin/editors/ui/UICheckbox.hx
index fd969c7a..2d8d264a 100644
--- a/source/funkin/editors/ui/UICheckbox.hx
+++ b/source/funkin/editors/ui/UICheckbox.hx
@@ -1,6 +1,6 @@
package funkin.editors.ui;
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
class UICheckbox extends UISprite {
public var checked:Bool = false;
diff --git a/source/funkin/editors/ui/UIText.hx b/source/funkin/editors/ui/UIText.hx
index c1be1701..490d7ae6 100644
--- a/source/funkin/editors/ui/UIText.hx
+++ b/source/funkin/editors/ui/UIText.hx
@@ -1,7 +1,7 @@
package funkin.editors.ui;
import flixel.util.FlxColor;
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
class UIText extends FunkinText {
// PUTTING THIS HERE IN CASE IMMA MAKE FUTURE CHANGES
diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx
index 69be7961..e601c80e 100644
--- a/source/funkin/game/Character.hx
+++ b/source/funkin/game/Character.hx
@@ -3,8 +3,8 @@ package funkin.game;
import funkin.system.FunkinSprite;
import flixel.graphics.frames.FlxFrame;
import flixel.math.FlxPoint;
-import funkin.interfaces.IBeatReceiver;
-import funkin.interfaces.IOffsetCompatible;
+import funkin.system.interfaces.IBeatReceiver;
+import funkin.system.interfaces.IOffsetCompatible;
import funkin.utils.XMLUtil;
import flixel.animation.FlxBaseAnimation;
diff --git a/source/funkin/game/PlayState.hx b/source/funkin/game/PlayState.hx
index 4e16e66a..9840f3f6 100644
--- a/source/funkin/game/PlayState.hx
+++ b/source/funkin/game/PlayState.hx
@@ -6,7 +6,7 @@ import funkin.chart.ChartData;
import funkin.game.SplashHandler;
import funkin.scripting.DummyScript;
import funkin.menus.StoryMenuState.WeekData;
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
import flixel.group.FlxSpriteGroup;
import funkin.scripting.Script;
import funkin.scripting.ScriptPack;
@@ -23,7 +23,7 @@ import flixel.util.FlxTimer;
import haxe.io.Path;
import lime.utils.Assets;
import funkin.system.Conductor;
-import funkin.cutscenes.*;
+import funkin.game.cutscenes.*;
import funkin.menus.*;
import funkin.scripting.events.*;
diff --git a/source/funkin/game/Stage.hx b/source/funkin/game/Stage.hx
index f46b4253..c637dbe9 100644
--- a/source/funkin/game/Stage.hx
+++ b/source/funkin/game/Stage.hx
@@ -3,7 +3,7 @@ package funkin.game;
import funkin.system.MusicBeatGroup;
import flixel.FlxState;
import haxe.xml.Access;
-import funkin.interfaces.IBeatReceiver;
+import funkin.system.interfaces.IBeatReceiver;
import funkin.scripting.Script;
import haxe.io.Path;
diff --git a/source/funkin/cutscenes/Cutscene.hx b/source/funkin/game/cutscenes/Cutscene.hx
similarity index 92%
rename from source/funkin/cutscenes/Cutscene.hx
rename to source/funkin/game/cutscenes/Cutscene.hx
index 638164f9..cd572812 100644
--- a/source/funkin/cutscenes/Cutscene.hx
+++ b/source/funkin/game/cutscenes/Cutscene.hx
@@ -1,4 +1,4 @@
-package funkin.cutscenes;
+package funkin.game.cutscenes;
/**
* Substate made for cutscenes.
diff --git a/source/funkin/cutscenes/DialogueCutscene.hx b/source/funkin/game/cutscenes/DialogueCutscene.hx
similarity index 97%
rename from source/funkin/cutscenes/DialogueCutscene.hx
rename to source/funkin/game/cutscenes/DialogueCutscene.hx
index 28900e4f..6bb1d6a3 100644
--- a/source/funkin/cutscenes/DialogueCutscene.hx
+++ b/source/funkin/game/cutscenes/DialogueCutscene.hx
@@ -1,7 +1,7 @@
-package funkin.cutscenes;
+package funkin.game.cutscenes;
import flixel.sound.FlxSound;
-import funkin.cutscenes.dialogue.*;
+import funkin.game.cutscenes.dialogue.*;
import haxe.xml.Access;
/**
diff --git a/source/funkin/cutscenes/MP4Handler.hx b/source/funkin/game/cutscenes/MP4Handler.hx
similarity index 99%
rename from source/funkin/cutscenes/MP4Handler.hx
rename to source/funkin/game/cutscenes/MP4Handler.hx
index ae423447..6d10b9f6 100644
--- a/source/funkin/cutscenes/MP4Handler.hx
+++ b/source/funkin/game/cutscenes/MP4Handler.hx
@@ -1,4 +1,4 @@
-package funkin.cutscenes;
+package funkin.game.cutscenes;
#if VIDEO_CUTSCENES
import vlc.bitmap.VlcBitmap;
diff --git a/source/funkin/cutscenes/ScriptedCutscene.hx b/source/funkin/game/cutscenes/ScriptedCutscene.hx
similarity index 98%
rename from source/funkin/cutscenes/ScriptedCutscene.hx
rename to source/funkin/game/cutscenes/ScriptedCutscene.hx
index 755d78ea..057ded48 100644
--- a/source/funkin/cutscenes/ScriptedCutscene.hx
+++ b/source/funkin/game/cutscenes/ScriptedCutscene.hx
@@ -1,4 +1,4 @@
-package funkin.cutscenes;
+package funkin.game.cutscenes;
import funkin.scripting.DummyScript;
import flixel.addons.transition.FlxTransitionableState;
diff --git a/source/funkin/cutscenes/VideoCutscene.hx b/source/funkin/game/cutscenes/VideoCutscene.hx
similarity index 98%
rename from source/funkin/cutscenes/VideoCutscene.hx
rename to source/funkin/game/cutscenes/VideoCutscene.hx
index 0815fc07..8062724f 100644
--- a/source/funkin/cutscenes/VideoCutscene.hx
+++ b/source/funkin/game/cutscenes/VideoCutscene.hx
@@ -1,4 +1,4 @@
-package funkin.cutscenes;
+package funkin.game.cutscenes;
import flixel.util.FlxColor;
import haxe.io.Path;
@@ -6,7 +6,7 @@ import flixel.addons.display.FlxBackdrop;
#if sys
import sys.io.File;
#end
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
import haxe.xml.Access;
diff --git a/source/funkin/cutscenes/dialogue/DialogueBox.hx b/source/funkin/game/cutscenes/dialogue/DialogueBox.hx
similarity index 98%
rename from source/funkin/cutscenes/dialogue/DialogueBox.hx
rename to source/funkin/game/cutscenes/dialogue/DialogueBox.hx
index 868f083c..20262a04 100644
--- a/source/funkin/cutscenes/dialogue/DialogueBox.hx
+++ b/source/funkin/game/cutscenes/dialogue/DialogueBox.hx
@@ -1,4 +1,4 @@
-package funkin.cutscenes.dialogue;
+package funkin.game.cutscenes.dialogue;
import flixel.addons.text.FlxTypeText;
import flixel.text.FlxText;
diff --git a/source/funkin/cutscenes/dialogue/DialogueCharacter.hx b/source/funkin/game/cutscenes/dialogue/DialogueCharacter.hx
similarity index 97%
rename from source/funkin/cutscenes/dialogue/DialogueCharacter.hx
rename to source/funkin/game/cutscenes/dialogue/DialogueCharacter.hx
index 2078aad2..32d241a8 100644
--- a/source/funkin/cutscenes/dialogue/DialogueCharacter.hx
+++ b/source/funkin/game/cutscenes/dialogue/DialogueCharacter.hx
@@ -1,4 +1,4 @@
-package funkin.cutscenes.dialogue;
+package funkin.game.cutscenes.dialogue;
import flixel.tweens.FlxTween;
import haxe.xml.Access;
diff --git a/source/funkin/import.hx b/source/funkin/import.hx
index 4af45322..32619853 100644
--- a/source/funkin/import.hx
+++ b/source/funkin/import.hx
@@ -1,5 +1,5 @@
#if !macro
-import funkin.system.Paths;
+import funkin.assets.Paths;
import funkin.system.MusicBeatState;
import funkin.system.MusicBeatSubstate;
import funkin.system.MusicBeatGroup;
@@ -21,7 +21,7 @@ import flixel.math.FlxMath;
import flixel.tweens.FlxEase;
import flixel.util.FlxDestroyUtil;
-import funkin.ui.Alphabet;
+import funkin.menus.ui.Alphabet;
import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup;
diff --git a/source/funkin/menus/BetaWarningState.hx b/source/funkin/menus/BetaWarningState.hx
index fb33a2c8..299030ba 100644
--- a/source/funkin/menus/BetaWarningState.hx
+++ b/source/funkin/menus/BetaWarningState.hx
@@ -3,7 +3,7 @@ package funkin.menus;
import flixel.addons.transition.FlxTransitionableState;
import flixel.util.FlxColor;
import flixel.text.FlxText;
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
class BetaWarningState extends MusicBeatState {
var titleAlphabet:Alphabet;
diff --git a/source/funkin/menus/FreeplayState.hx b/source/funkin/menus/FreeplayState.hx
index 4dbb6eec..3871ab8a 100644
--- a/source/funkin/menus/FreeplayState.hx
+++ b/source/funkin/menus/FreeplayState.hx
@@ -404,7 +404,7 @@ class FreeplaySonglist {
public function new() {}
- public function getSongsFromSource(source:funkin.system.AssetsLibraryList.AssetSource, useTxt:Bool = true) {
+ public function getSongsFromSource(source:funkin.assets.AssetsLibraryList.AssetSource, useTxt:Bool = true) {
var path:String = Paths.txt('freeplaySonglist');
var songsFound:Array = [];
if (useTxt && Paths.assetsTree.existsSpecific(path, "TEXT", source)) {
diff --git a/source/funkin/menus/MainMenuState.hx b/source/funkin/menus/MainMenuState.hx
index 0ed425f4..45f7ae1d 100644
--- a/source/funkin/menus/MainMenuState.hx
+++ b/source/funkin/menus/MainMenuState.hx
@@ -1,7 +1,7 @@
package funkin.menus;
import haxe.Json;
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
// import funkin.menus.credits.CreditsMain;
import flixel.FlxState;
import flixel.addons.transition.FlxTransitionableState;
@@ -76,7 +76,7 @@ class MainMenuState extends MusicBeatState
FlxG.camera.follow(camFollow, null, 0.06);
- var versionShit:FunkinText = new FunkinText(5, FlxG.height - 2, 0, 'Codename Engine v${Application.current.meta.get('version')}\nBeta: Commit ${funkin.macros.GitCommitMacro.commitNumber} (${funkin.macros.GitCommitMacro.commitHash})\n[TAB] Open Mods menu\n');
+ var versionShit:FunkinText = new FunkinText(5, FlxG.height - 2, 0, 'Codename Engine v${Application.current.meta.get('version')}\nBeta: Commit ${funkin.system.macros.GitCommitMacro.commitNumber} (${funkin.system.macros.GitCommitMacro.commitHash})\n[TAB] Open Mods menu\n');
versionShit.scrollFactor.set();
versionShit.y -= versionShit.height;
add(versionShit);
diff --git a/source/funkin/menus/ModSwitchMenu.hx b/source/funkin/menus/ModSwitchMenu.hx
index 41a450d7..93938757 100644
--- a/source/funkin/menus/ModSwitchMenu.hx
+++ b/source/funkin/menus/ModSwitchMenu.hx
@@ -2,7 +2,7 @@ package funkin.menus;
#if MOD_SUPPORT
import haxe.io.Path;
-import funkin.mods.ModsFolder;
+import funkin.assets.ModsFolder;
import sys.FileSystem;
import flixel.tweens.FlxTween;
diff --git a/source/funkin/menus/StoryMenuState.hx b/source/funkin/menus/StoryMenuState.hx
index 956fb36b..602b7f48 100644
--- a/source/funkin/menus/StoryMenuState.hx
+++ b/source/funkin/menus/StoryMenuState.hx
@@ -8,7 +8,7 @@ import flixel.graphics.frames.FlxFramesCollection;
import funkin.game.Highscore;
import flixel.tweens.FlxTween;
import flixel.util.FlxColor;
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
import haxe.xml.Access;
import flixel.text.FlxText;
@@ -300,7 +300,7 @@ class StoryMenuState extends MusicBeatState {
characters[charName] = charObj;
}
- public function getWeeksFromSource(weeks:Array, source:funkin.system.AssetsLibraryList.AssetSource) {
+ public function getWeeksFromSource(weeks:Array, source:funkin.assets.AssetsLibraryList.AssetSource) {
var path:String = Paths.txt('freeplaySonglist');
var weeksFound:Array = [];
if (Paths.assetsTree.existsSpecific(path, "TEXT", source)) {
diff --git a/source/funkin/menus/TitleState.hx b/source/funkin/menus/TitleState.hx
index 20c71ab3..f29fb946 100644
--- a/source/funkin/menus/TitleState.hx
+++ b/source/funkin/menus/TitleState.hx
@@ -1,6 +1,6 @@
package funkin.menus;
-import funkin.github.GitHub;
+import funkin.system.github.GitHub;
import funkin.system.MusicBeatGroup;
import funkin.utils.XMLUtil;
import flixel.util.typeLimit.OneOfThree;
@@ -27,7 +27,7 @@ import haxe.xml.Access;
using StringTools;
-@:allow(funkin.mods.ModsFolder)
+@:allow(funkin.assets.ModsFolder)
@:allow(funkin.system.MainState)
class TitleState extends MusicBeatState
{
@@ -187,11 +187,11 @@ class TitleState extends MusicBeatState
function goToMainMenu() {
#if UPDATE_CHECKING
- var report = hasCheckedUpdates ? null : funkin.updating.UpdateUtil.checkForUpdates();
+ var report = hasCheckedUpdates ? null : funkin.system.updating.UpdateUtil.checkForUpdates();
hasCheckedUpdates = true;
if (report != null && report.newUpdate) {
- FlxG.switchState(new funkin.updating.UpdateAvailableScreen(report));
+ FlxG.switchState(new funkin.system.updating.UpdateAvailableScreen(report));
} else {
FlxG.switchState(new MainMenuState());
}
diff --git a/source/funkin/menus/credits/CreditsCodename.hx b/source/funkin/menus/credits/CreditsCodename.hx
index 8818967b..f6f07be1 100644
--- a/source/funkin/menus/credits/CreditsCodename.hx
+++ b/source/funkin/menus/credits/CreditsCodename.hx
@@ -1,6 +1,6 @@
package funkin.menus.credits;
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
import flixel.util.FlxColor;
import funkin.shaders.CustomShader;
import funkin.options.type.TextOption;
@@ -8,8 +8,8 @@ import funkin.options.OptionsScreen;
import flixel.graphics.FlxGraphic;
import openfl.display.BitmapData;
import flixel.addons.transition.FlxTransitionableState;
-import funkin.github.GitHub;
-import funkin.github.GitHubContributor;
+import funkin.system.github.GitHub;
+import funkin.system.github.GitHubContributor;
import funkin.menus.MainMenuState;
using funkin.utils.BitmapUtil;
diff --git a/source/funkin/ui/Alphabet.hx b/source/funkin/menus/ui/Alphabet.hx
similarity index 98%
rename from source/funkin/ui/Alphabet.hx
rename to source/funkin/menus/ui/Alphabet.hx
index 0e7c3cc7..b0a1cd59 100644
--- a/source/funkin/ui/Alphabet.hx
+++ b/source/funkin/menus/ui/Alphabet.hx
@@ -1,9 +1,9 @@
-package funkin.ui;
+package funkin.menus.ui;
import openfl.utils.AssetLibrary;
import haxe.xml.Access;
-import funkin.mods.LimeLibrarySymbol;
-import funkin.mods.ModsAssetLibrary;
+import funkin.assets.LimeLibrarySymbol;
+import funkin.assets.ModsAssetLibrary;
import flixel.graphics.frames.FlxAtlasFrames;
import flixel.group.FlxSpriteGroup;
import flixel.util.FlxTimer;
diff --git a/source/funkin/options/Options.hx b/source/funkin/options/Options.hx
index dd34c47c..79bc6b7a 100644
--- a/source/funkin/options/Options.hx
+++ b/source/funkin/options/Options.hx
@@ -5,8 +5,8 @@ import openfl.Lib;
import flixel.util.FlxSave;
import flixel.input.keyboard.FlxKey;
-@:build(funkin.macros.OptionsMacro.build())
-@:build(funkin.macros.FunkinSaveMacro.build("__save", "__flush", "__load"))
+@:build(funkin.system.macros.OptionsMacro.build())
+@:build(funkin.system.macros.FunkinSaveMacro.build("__save", "__flush", "__load"))
class Options
{
@:dox(hide) @:doNotSave
diff --git a/source/funkin/options/OptionsMenu.hx b/source/funkin/options/OptionsMenu.hx
index 6c4c6b6b..7cf25875 100644
--- a/source/funkin/options/OptionsMenu.hx
+++ b/source/funkin/options/OptionsMenu.hx
@@ -67,7 +67,7 @@ class OptionsMenu extends TreeMenu {
})]);
var xmlPath = Paths.xml("config/options");
- for(source in [funkin.system.AssetsLibraryList.AssetSource.SOURCE, funkin.system.AssetsLibraryList.AssetSource.MODS]) {
+ for(source in [funkin.assets.AssetsLibraryList.AssetSource.SOURCE, funkin.assets.AssetsLibraryList.AssetSource.MODS]) {
if (Paths.assetsTree.existsSpecific(xmlPath, "TEXT", source)) {
var access:Access = null;
try {
diff --git a/source/funkin/options/TreeMenu.hx b/source/funkin/options/TreeMenu.hx
index b3c7fab8..fb82b996 100644
--- a/source/funkin/options/TreeMenu.hx
+++ b/source/funkin/options/TreeMenu.hx
@@ -1,7 +1,7 @@
package funkin.options;
import flixel.FlxState;
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
import flixel.tweens.FlxTween;
import funkin.menus.MainMenuState;
import funkin.options.type.TextOption;
diff --git a/source/funkin/options/categories/MiscOptions.hx b/source/funkin/options/categories/MiscOptions.hx
index 058653a7..27ddfe0b 100644
--- a/source/funkin/options/categories/MiscOptions.hx
+++ b/source/funkin/options/categories/MiscOptions.hx
@@ -13,9 +13,9 @@ class MiscOptions extends OptionsScreen {
"Check for Updates",
"Select this option to check for new engine updates.",
function() {
- var report = funkin.updating.UpdateUtil.checkForUpdates();
+ var report = funkin.system.updating.UpdateUtil.checkForUpdates();
if (report.newUpdate) {
- FlxG.switchState(new funkin.updating.UpdateAvailableScreen(report));
+ FlxG.switchState(new funkin.system.updating.UpdateAvailableScreen(report));
} else {
CoolUtil.playMenuSFX(CANCEL);
updateDescText("No update found.");
diff --git a/source/funkin/saves/FunkinSave.hx b/source/funkin/saves/FunkinSave.hx
index 25370360..71fb9d3d 100644
--- a/source/funkin/saves/FunkinSave.hx
+++ b/source/funkin/saves/FunkinSave.hx
@@ -7,7 +7,7 @@ import flixel.util.FlxSave;
* Just add your save variables the way you would do in the Options.hx file.
* The macro will automatically generate the `flush` and `load` functions.
*/
-@:build(funkin.macros.FunkinSaveMacro.build("save", "flush", "load"))
+@:build(funkin.system.macros.FunkinSaveMacro.build("save", "flush", "load"))
class FunkinSave {
// STUFF
#if REGION
diff --git a/source/funkin/scripting/GlobalScript.hx b/source/funkin/scripting/GlobalScript.hx
index d1d7ff10..6a327337 100644
--- a/source/funkin/scripting/GlobalScript.hx
+++ b/source/funkin/scripting/GlobalScript.hx
@@ -3,7 +3,7 @@ package funkin.scripting;
import funkin.scripting.events.CancellableEvent;
import funkin.system.Conductor;
import flixel.FlxState;
-import funkin.mods.ModsFolder;
+import funkin.assets.ModsFolder;
#if GLOBAL_SCRIPT
/**
* Class for THE Global Script, aka script that runs in the background at all times.
diff --git a/source/funkin/scripting/Script.hx b/source/funkin/scripting/Script.hx
index f2823958..ca9d6871 100644
--- a/source/funkin/scripting/Script.hx
+++ b/source/funkin/scripting/Script.hx
@@ -52,8 +52,8 @@ class Script extends FlxBasic implements IFlxDestroyable {
// Engine related stuff
"engine" => {
- commit: funkin.macros.GitCommitMacro.commitNumber,
- hash: funkin.macros.GitCommitMacro.commitHash,
+ commit: funkin.system.macros.GitCommitMacro.commitNumber,
+ hash: funkin.system.macros.GitCommitMacro.commitHash,
build: 2675, // 2675 being the last build num before it was removed
name: "Codename Engine"
},
@@ -75,12 +75,12 @@ class Script extends FlxBasic implements IFlxDestroyable {
"StoryMenuState" => funkin.menus.StoryMenuState,
"TitleState" => funkin.menus.TitleState,
"Options" => funkin.options.Options,
- "Paths" => funkin.system.Paths,
+ "Paths" => funkin.assets.Paths,
"Conductor" => funkin.system.Conductor,
"FunkinShader" => funkin.shaders.FunkinShader,
"CustomShader" => funkin.shaders.CustomShader,
- "FunkinText" => funkin.ui.FunkinText,
- "Alphabet" => funkin.ui.Alphabet,
+ "FunkinText" => funkin.menus.ui.FunkinText,
+ "Alphabet" => funkin.menus.ui.Alphabet,
"CoolUtil" => funkin.utils.CoolUtil,
"IniUtil" => funkin.utils.IniUtil,
@@ -93,11 +93,11 @@ class Script extends FlxBasic implements IFlxDestroyable {
];
}
public static function getDefaultPreprocessors():Map {
- var defines = funkin.macros.DefinesMacro.defines;
+ var defines = funkin.system.macros.DefinesMacro.defines;
defines.set("CODENAME_ENGINE", true);
defines.set("CODENAME_VER", Application.current.meta.get('version'));
defines.set("CODENAME_BUILD", 2675); // 2675 being the last build num before it was removed
- defines.set("CODENAME_COMMIT", funkin.macros.GitCommitMacro.commitNumber);
+ defines.set("CODENAME_COMMIT", funkin.system.macros.GitCommitMacro.commitNumber);
return defines;
}
/**
diff --git a/source/funkin/scripting/events/CancellableEvent.hx b/source/funkin/scripting/events/CancellableEvent.hx
index 2883b85c..8f5aff09 100644
--- a/source/funkin/scripting/events/CancellableEvent.hx
+++ b/source/funkin/scripting/events/CancellableEvent.hx
@@ -3,7 +3,7 @@ package funkin.scripting.events;
import flixel.util.FlxDestroyUtil.IFlxDestroyable;
@:allow(ScriptPack)
-@:autoBuild(funkin.macros.EventMacro.build())
+@:autoBuild(funkin.system.macros.EventMacro.build())
@:noCustomClass
class CancellableEvent implements IFlxDestroyable {
@:dox(hide) public var cancelled:Bool = false;
diff --git a/source/funkin/system/CommandLineHandler.hx b/source/funkin/system/CommandLineHandler.hx
index 467b623c..979d5f3a 100644
--- a/source/funkin/system/CommandLineHandler.hx
+++ b/source/funkin/system/CommandLineHandler.hx
@@ -37,7 +37,7 @@ class CommandLineHandler {
Sys.println("[ERROR] You need to specify the mod folder path");
Sys.exit(0);
} else if (FileSystem.exists(arg)) {
- funkin.mods.ModsFolder.modsPath = arg;
+ funkin.assets.ModsFolder.modsPath = arg;
} else {
Sys.println('[ERROR] Mod folder at "${arg}" does not exist.');
Sys.exit(0);
diff --git a/source/funkin/system/Conductor.hx b/source/funkin/system/Conductor.hx
index 2d30a6b7..8fedbbc1 100644
--- a/source/funkin/system/Conductor.hx
+++ b/source/funkin/system/Conductor.hx
@@ -4,7 +4,7 @@ import funkin.chart.Chart;
import funkin.chart.ChartData;
import openfl.Lib;
import flixel.FlxState;
-import funkin.interfaces.IBeatReceiver;
+import funkin.system.interfaces.IBeatReceiver;
import flixel.util.FlxSignal.FlxTypedSignal;
/**
diff --git a/source/funkin/system/FunkinSprite.hx b/source/funkin/system/FunkinSprite.hx
index 26e96861..0326e149 100644
--- a/source/funkin/system/FunkinSprite.hx
+++ b/source/funkin/system/FunkinSprite.hx
@@ -4,11 +4,11 @@ import flixel.system.FlxAssets.FlxGraphicAsset;
import flixel.addons.effects.FlxSkewedSprite;
import haxe.io.Path;
import funkin.scripting.events.PlayAnimEvent.PlayAnimContext;
-import funkin.interfaces.IOffsetCompatible;
+import funkin.system.interfaces.IOffsetCompatible;
import flixel.math.FlxMatrix;
import flixel.math.FlxRect;
import flixel.math.FlxPoint;
-import funkin.interfaces.IBeatReceiver;
+import funkin.system.interfaces.IBeatReceiver;
@:enum
abstract XMLAnimType(Int)
diff --git a/source/funkin/ui/FunkinText.hx b/source/funkin/system/FunkinText.hx
similarity index 94%
rename from source/funkin/ui/FunkinText.hx
rename to source/funkin/system/FunkinText.hx
index b7b35937..2fb67aa9 100644
--- a/source/funkin/ui/FunkinText.hx
+++ b/source/funkin/system/FunkinText.hx
@@ -1,4 +1,4 @@
-package funkin.ui;
+package funkin.system;
import flixel.util.FlxColor;
import flixel.text.FlxText;
diff --git a/source/funkin/system/Main.hx b/source/funkin/system/Main.hx
index a3e8594c..035ddb1d 100644
--- a/source/funkin/system/Main.hx
+++ b/source/funkin/system/Main.hx
@@ -1,5 +1,6 @@
package funkin.system;
+import funkin.assets.AssetsLibraryList;
import funkin.system.framerate.SystemInfo;
import openfl.utils.AssetLibrary;
import openfl.utils.AssetCache;
@@ -31,7 +32,7 @@ import sys.thread.Thread;
#if sys
import sys.io.File;
#end
-import funkin.mods.ModsFolder;
+import funkin.assets.ModsFolder;
class Main extends Sprite
{
@@ -116,7 +117,7 @@ class Main extends Sprite
Paths.assetsTree = new AssetsLibraryList();
#if UPDATE_CHECKING
- funkin.updating.UpdateUtil.init();
+ funkin.system.updating.UpdateUtil.init();
#end
CrashHandler.init();
Logs.init();
diff --git a/source/funkin/system/MainState.hx b/source/funkin/system/MainState.hx
index aca62278..17bc9d3d 100644
--- a/source/funkin/system/MainState.hx
+++ b/source/funkin/system/MainState.hx
@@ -3,7 +3,7 @@ package funkin.system;
#if MOD_SUPPORT
import sys.FileSystem;
#end
-import funkin.mods.ModsFolder;
+import funkin.assets.ModsFolder;
import funkin.menus.TitleState;
import funkin.menus.BetaWarningState;
import flixel.FlxState;
diff --git a/source/funkin/system/MusicBeatGroup.hx b/source/funkin/system/MusicBeatGroup.hx
index bfac7330..44a01dca 100644
--- a/source/funkin/system/MusicBeatGroup.hx
+++ b/source/funkin/system/MusicBeatGroup.hx
@@ -1,6 +1,6 @@
package funkin.system;
-import funkin.interfaces.IBeatReceiver;
+import funkin.system.interfaces.IBeatReceiver;
class MusicBeatGroup extends FlxTypedSpriteGroup implements IBeatReceiver {
public function beatHit(curBeat:Int) {
diff --git a/source/funkin/system/MusicBeatState.hx b/source/funkin/system/MusicBeatState.hx
index 836ef873..37939f7e 100644
--- a/source/funkin/system/MusicBeatState.hx
+++ b/source/funkin/system/MusicBeatState.hx
@@ -7,7 +7,7 @@ import flixel.FlxState;
import flixel.FlxSubState;
import funkin.scripting.events.*;
import funkin.scripting.Script;
-import funkin.interfaces.IBeatReceiver;
+import funkin.system.interfaces.IBeatReceiver;
import funkin.system.Conductor;
import funkin.options.PlayerSettings;
diff --git a/source/funkin/system/MusicBeatSubstate.hx b/source/funkin/system/MusicBeatSubstate.hx
index 3533df83..6e1bf93a 100644
--- a/source/funkin/system/MusicBeatSubstate.hx
+++ b/source/funkin/system/MusicBeatSubstate.hx
@@ -4,7 +4,7 @@ import flixel.FlxState;
import funkin.scripting.events.*;
import funkin.scripting.Script;
import funkin.scripting.DummyScript;
-import funkin.interfaces.IBeatReceiver;
+import funkin.system.interfaces.IBeatReceiver;
import funkin.system.Conductor.BPMChangeEvent;
import funkin.system.Conductor;
import funkin.options.PlayerSettings;
diff --git a/source/funkin/system/framerate/AssetTreeInfo.hx b/source/funkin/system/framerate/AssetTreeInfo.hx
index dfd2ce83..a6063bf1 100644
--- a/source/funkin/system/framerate/AssetTreeInfo.hx
+++ b/source/funkin/system/framerate/AssetTreeInfo.hx
@@ -1,6 +1,6 @@
package funkin.system.framerate;
-import funkin.mods.ModsAssetLibrary;
+import funkin.assets.ModsAssetLibrary;
class AssetTreeInfo extends FramerateCategory {
public function new() {
diff --git a/source/funkin/system/framerate/CodenameBuildField.hx b/source/funkin/system/framerate/CodenameBuildField.hx
index 86330f09..1fbe7e97 100644
--- a/source/funkin/system/framerate/CodenameBuildField.hx
+++ b/source/funkin/system/framerate/CodenameBuildField.hx
@@ -3,7 +3,7 @@ package funkin.system.framerate;
import openfl.text.TextFormat;
import openfl.display.Sprite;
import openfl.text.TextField;
-import funkin.macros.GitCommitMacro;
+import funkin.system.macros.GitCommitMacro;
class CodenameBuildField extends TextField {
public function new() {
diff --git a/source/funkin/github/GitHub.hx b/source/funkin/system/github/GitHub.hx
similarity index 99%
rename from source/funkin/github/GitHub.hx
rename to source/funkin/system/github/GitHub.hx
index 888eb86e..003a44af 100644
--- a/source/funkin/github/GitHub.hx
+++ b/source/funkin/system/github/GitHub.hx
@@ -1,4 +1,4 @@
-package funkin.github;
+package funkin.system.github;
#if GITHUB_API
import haxe.Json;
diff --git a/source/funkin/github/GitHubAsset.hx b/source/funkin/system/github/GitHubAsset.hx
similarity index 81%
rename from source/funkin/github/GitHubAsset.hx
rename to source/funkin/system/github/GitHubAsset.hx
index 440aae93..4f503132 100644
--- a/source/funkin/github/GitHubAsset.hx
+++ b/source/funkin/system/github/GitHubAsset.hx
@@ -1,6 +1,6 @@
-package funkin.github;
+package funkin.system.github;
-import funkin.github.GitHubUser;
+import funkin.system.github.GitHubUser;
typedef GitHubAsset = {
var url:String;
diff --git a/source/funkin/github/GitHubContributor.hx b/source/funkin/system/github/GitHubContributor.hx
similarity index 94%
rename from source/funkin/github/GitHubContributor.hx
rename to source/funkin/system/github/GitHubContributor.hx
index 41c95e0e..d11113b1 100644
--- a/source/funkin/github/GitHubContributor.hx
+++ b/source/funkin/system/github/GitHubContributor.hx
@@ -1,4 +1,4 @@
-package funkin.github;
+package funkin.system.github;
typedef GitHubContributor = {
var login:String;
diff --git a/source/funkin/github/GitHubException.hx b/source/funkin/system/github/GitHubException.hx
similarity index 92%
rename from source/funkin/github/GitHubException.hx
rename to source/funkin/system/github/GitHubException.hx
index 95a73828..9f664ef5 100644
--- a/source/funkin/github/GitHubException.hx
+++ b/source/funkin/system/github/GitHubException.hx
@@ -1,4 +1,4 @@
-package funkin.github;
+package funkin.system.github;
import haxe.Exception;
diff --git a/source/funkin/github/GitHubReactions.hx b/source/funkin/system/github/GitHubReactions.hx
similarity index 88%
rename from source/funkin/github/GitHubReactions.hx
rename to source/funkin/system/github/GitHubReactions.hx
index 96bb7218..99a1dd82 100644
--- a/source/funkin/github/GitHubReactions.hx
+++ b/source/funkin/system/github/GitHubReactions.hx
@@ -1,4 +1,4 @@
-package funkin.github;
+package funkin.system.github;
typedef GitHubReactions = {
var url:String;
diff --git a/source/funkin/github/GitHubRelease.hx b/source/funkin/system/github/GitHubRelease.hx
similarity index 96%
rename from source/funkin/github/GitHubRelease.hx
rename to source/funkin/system/github/GitHubRelease.hx
index 21704ccd..e3d6421e 100644
--- a/source/funkin/github/GitHubRelease.hx
+++ b/source/funkin/system/github/GitHubRelease.hx
@@ -1,4 +1,4 @@
-package funkin.github;
+package funkin.system.github;
typedef GitHubRelease = {
/**
diff --git a/source/funkin/github/GitHubUser.hx b/source/funkin/system/github/GitHubUser.hx
similarity index 98%
rename from source/funkin/github/GitHubUser.hx
rename to source/funkin/system/github/GitHubUser.hx
index 598a52cc..e4277720 100644
--- a/source/funkin/github/GitHubUser.hx
+++ b/source/funkin/system/github/GitHubUser.hx
@@ -1,4 +1,4 @@
-package funkin.github;
+package funkin.system.github;
typedef GitHubUser = {
diff --git a/source/funkin/interfaces/IBeatReceiver.hx b/source/funkin/system/interfaces/IBeatReceiver.hx
similarity index 83%
rename from source/funkin/interfaces/IBeatReceiver.hx
rename to source/funkin/system/interfaces/IBeatReceiver.hx
index 5042ee4f..e36c1a55 100644
--- a/source/funkin/interfaces/IBeatReceiver.hx
+++ b/source/funkin/system/interfaces/IBeatReceiver.hx
@@ -1,4 +1,4 @@
-package funkin.interfaces;
+package funkin.system.interfaces;
interface IBeatReceiver {
public function measureHit(curMeasure:Int):Void;
diff --git a/source/funkin/interfaces/IOffsetCompatible.hx b/source/funkin/system/interfaces/IOffsetCompatible.hx
similarity index 75%
rename from source/funkin/interfaces/IOffsetCompatible.hx
rename to source/funkin/system/interfaces/IOffsetCompatible.hx
index c7fafbab..ccf2316e 100644
--- a/source/funkin/interfaces/IOffsetCompatible.hx
+++ b/source/funkin/system/interfaces/IOffsetCompatible.hx
@@ -1,4 +1,4 @@
-package funkin.interfaces;
+package funkin.system.interfaces;
interface IOffsetCompatible {
public function addOffset(anim:String, x:Float = 0, y:Float = 0):Void;
diff --git a/source/funkin/macros/DefinesMacro.hx b/source/funkin/system/macros/DefinesMacro.hx
similarity index 94%
rename from source/funkin/macros/DefinesMacro.hx
rename to source/funkin/system/macros/DefinesMacro.hx
index 58bfaeb8..b08099bd 100644
--- a/source/funkin/macros/DefinesMacro.hx
+++ b/source/funkin/system/macros/DefinesMacro.hx
@@ -1,4 +1,4 @@
-package funkin.macros;
+package funkin.system.macros;
#if macro
import sys.io.Process;
diff --git a/source/funkin/macros/EventMacro.hx b/source/funkin/system/macros/EventMacro.hx
similarity index 98%
rename from source/funkin/macros/EventMacro.hx
rename to source/funkin/system/macros/EventMacro.hx
index 7a99e02d..60cf3808 100644
--- a/source/funkin/macros/EventMacro.hx
+++ b/source/funkin/system/macros/EventMacro.hx
@@ -1,4 +1,4 @@
-package funkin.macros;
+package funkin.system.macros;
#if macro
/**
diff --git a/source/funkin/macros/FunkinSaveMacro.hx b/source/funkin/system/macros/FunkinSaveMacro.hx
similarity index 98%
rename from source/funkin/macros/FunkinSaveMacro.hx
rename to source/funkin/system/macros/FunkinSaveMacro.hx
index 9c27e10b..97e5af66 100644
--- a/source/funkin/macros/FunkinSaveMacro.hx
+++ b/source/funkin/system/macros/FunkinSaveMacro.hx
@@ -1,4 +1,4 @@
-package funkin.macros;
+package funkin.system.macros;
#if macro
/**
diff --git a/source/funkin/macros/GitCommitMacro.hx b/source/funkin/system/macros/GitCommitMacro.hx
similarity index 97%
rename from source/funkin/macros/GitCommitMacro.hx
rename to source/funkin/system/macros/GitCommitMacro.hx
index f6f73c67..dd5da3c6 100644
--- a/source/funkin/macros/GitCommitMacro.hx
+++ b/source/funkin/system/macros/GitCommitMacro.hx
@@ -1,4 +1,4 @@
-package funkin.macros;
+package funkin.system.macros;
#if macro
import sys.io.Process;
diff --git a/source/funkin/macros/OptionsMacro.hx b/source/funkin/system/macros/OptionsMacro.hx
similarity index 97%
rename from source/funkin/macros/OptionsMacro.hx
rename to source/funkin/system/macros/OptionsMacro.hx
index ebf9b1f9..b68920fc 100644
--- a/source/funkin/macros/OptionsMacro.hx
+++ b/source/funkin/system/macros/OptionsMacro.hx
@@ -1,4 +1,4 @@
-package funkin.macros;
+package funkin.system.macros;
#if macro
using StringTools;
diff --git a/source/funkin/macros/ScriptsMacro.hx b/source/funkin/system/macros/ScriptsMacro.hx
similarity index 97%
rename from source/funkin/macros/ScriptsMacro.hx
rename to source/funkin/system/macros/ScriptsMacro.hx
index e8e199b6..a70cf77d 100644
--- a/source/funkin/macros/ScriptsMacro.hx
+++ b/source/funkin/system/macros/ScriptsMacro.hx
@@ -1,4 +1,4 @@
-package funkin.macros;
+package funkin.system.macros;
#if macro
import haxe.macro.Context;
diff --git a/source/funkin/macros/SoftcodedClassMacro.hx b/source/funkin/system/macros/SoftcodedClassMacro.hx
similarity index 89%
rename from source/funkin/macros/SoftcodedClassMacro.hx
rename to source/funkin/system/macros/SoftcodedClassMacro.hx
index ede35660..2126432e 100644
--- a/source/funkin/macros/SoftcodedClassMacro.hx
+++ b/source/funkin/system/macros/SoftcodedClassMacro.hx
@@ -1,17 +1,17 @@
-package funkin.macros;
+package funkin.system.macros;
using StringTools;
class SoftcodedClassMacro {
#if macro
private static var nonAllowedSuffixes:Array = ["__Softcoded", "_HSC", "_HSX", "_Impl_"];
public static function init() {
- Compiler.addGlobalMetadata('funkin.cutscenes', '@:build(funkin.macros.SoftcodedClassMacro.build())');
- Compiler.addGlobalMetadata('funkin.game', '@:build(funkin.macros.SoftcodedClassMacro.build())');
- Compiler.addGlobalMetadata('funkin.menus', '@:build(funkin.macros.SoftcodedClassMacro.build())');
- Compiler.addGlobalMetadata('funkin.options', '@:build(funkin.macros.SoftcodedClassMacro.build())');
- Compiler.addGlobalMetadata('funkin.scripting', '@:build(funkin.macros.SoftcodedClassMacro.build())');
- Compiler.addGlobalMetadata('funkin.shaders', '@:build(funkin.macros.SoftcodedClassMacro.build())');
- Compiler.addGlobalMetadata('flixel', '@:build(funkin.macros.SoftcodedClassMacro.build())', false);
+ Compiler.addGlobalMetadata('funkin.game.cutscenes', '@:build(funkin.system.macros.SoftcodedClassMacro.build())');
+ Compiler.addGlobalMetadata('funkin.game', '@:build(funkin.system.macros.SoftcodedClassMacro.build())');
+ Compiler.addGlobalMetadata('funkin.menus', '@:build(funkin.system.macros.SoftcodedClassMacro.build())');
+ Compiler.addGlobalMetadata('funkin.options', '@:build(funkin.system.macros.SoftcodedClassMacro.build())');
+ Compiler.addGlobalMetadata('funkin.scripting', '@:build(funkin.system.macros.SoftcodedClassMacro.build())');
+ Compiler.addGlobalMetadata('funkin.shaders', '@:build(funkin.system.macros.SoftcodedClassMacro.build())');
+ Compiler.addGlobalMetadata('flixel', '@:build(funkin.system.macros.SoftcodedClassMacro.build())', false);
}
public static function build():Array {
diff --git a/source/funkin/macros/import.hx b/source/funkin/system/macros/import.hx
similarity index 100%
rename from source/funkin/macros/import.hx
rename to source/funkin/system/macros/import.hx
diff --git a/source/funkin/updating/AsyncUpdater.hx b/source/funkin/system/updating/AsyncUpdater.hx
similarity index 98%
rename from source/funkin/updating/AsyncUpdater.hx
rename to source/funkin/system/updating/AsyncUpdater.hx
index d1c4d0be..68e871ed 100644
--- a/source/funkin/updating/AsyncUpdater.hx
+++ b/source/funkin/system/updating/AsyncUpdater.hx
@@ -1,4 +1,4 @@
-package funkin.updating;
+package funkin.system.updating;
import openfl.Lib;
import sys.io.Process;
@@ -13,7 +13,7 @@ import openfl.events.ProgressEvent;
import openfl.net.URLRequest;
import openfl.net.URLLoader;
import sys.FileSystem;
-import funkin.github.GitHubRelease;
+import funkin.system.github.GitHubRelease;
class AsyncUpdater {
// NON ASYNC STUFF
diff --git a/source/funkin/updating/UpdateAvailableScreen.hx b/source/funkin/system/updating/UpdateAvailableScreen.hx
similarity index 97%
rename from source/funkin/updating/UpdateAvailableScreen.hx
rename to source/funkin/system/updating/UpdateAvailableScreen.hx
index b9206377..8039cd71 100644
--- a/source/funkin/updating/UpdateAvailableScreen.hx
+++ b/source/funkin/system/updating/UpdateAvailableScreen.hx
@@ -1,10 +1,10 @@
-package funkin.updating;
+package funkin.system.updating;
import funkin.utils.MarkdownUtil;
import funkin.menus.MainMenuState;
import flixel.math.FlxPoint;
-import funkin.updating.UpdateUtil.UpdateCheckCallback;
-import funkin.ui.FunkinText;
+import funkin.system.updating.UpdateUtil.UpdateCheckCallback;
+import funkin.system.FunkinText;
import flixel.text.FlxText;
import flixel.addons.transition.FlxTransitionableState;
import flixel.tweens.FlxTween;
diff --git a/source/funkin/updating/UpdateScreen.hx b/source/funkin/system/updating/UpdateScreen.hx
similarity index 97%
rename from source/funkin/updating/UpdateScreen.hx
rename to source/funkin/system/updating/UpdateScreen.hx
index 3ebe4b75..32725943 100644
--- a/source/funkin/updating/UpdateScreen.hx
+++ b/source/funkin/system/updating/UpdateScreen.hx
@@ -1,12 +1,12 @@
-package funkin.updating;
+package funkin.system.updating;
import funkin.shaders.CustomShader;
-import funkin.ui.FunkinText;
+import funkin.system.FunkinText;
import funkin.menus.TitleState;
import flixel.math.FlxRect;
import flixel.sound.FlxSound;
import flixel.ui.FlxBar;
-import funkin.updating.UpdateUtil.UpdateCheckCallback;
+import funkin.system.updating.UpdateUtil.UpdateCheckCallback;
class UpdateScreen extends MusicBeatState {
public var updater:AsyncUpdater;
diff --git a/source/funkin/updating/UpdateUtil.hx b/source/funkin/system/updating/UpdateUtil.hx
similarity index 94%
rename from source/funkin/updating/UpdateUtil.hx
rename to source/funkin/system/updating/UpdateUtil.hx
index ef48889c..6363f8aa 100644
--- a/source/funkin/updating/UpdateUtil.hx
+++ b/source/funkin/system/updating/UpdateUtil.hx
@@ -1,12 +1,12 @@
-package funkin.updating;
+package funkin.system.updating;
import sys.FileSystem;
import haxe.io.Path;
-import funkin.github.GitHubRelease;
-import funkin.github.GitHub;
+import funkin.system.github.GitHubRelease;
+import funkin.system.github.GitHub;
import lime.app.Application;
-using funkin.github.GitHub;
+using funkin.system.github.GitHub;
class UpdateUtil {
public static final repoOwner:String = "YoshiCrafter29";
diff --git a/source/funkin/utils/XMLUtil.hx b/source/funkin/utils/XMLUtil.hx
index 8bb63475..c1d24cae 100644
--- a/source/funkin/utils/XMLUtil.hx
+++ b/source/funkin/utils/XMLUtil.hx
@@ -3,9 +3,9 @@ package funkin.utils;
import funkin.system.FunkinSprite;
import funkin.system.ErrorCode;
import funkin.system.FunkinSprite.XMLAnimType;
-import funkin.interfaces.IBeatReceiver;
+import funkin.system.interfaces.IBeatReceiver;
import haxe.xml.Access;
-import funkin.interfaces.IOffsetCompatible;
+import funkin.system.interfaces.IOffsetCompatible;
using StringTools;
/**