diff --git a/project.xml b/project.xml
index 42c962e6..a15ea7db 100644
--- a/project.xml
+++ b/project.xml
@@ -103,10 +103,6 @@
-
-
-
-
@@ -144,9 +140,6 @@
-
-
-
@@ -190,10 +183,10 @@
-
+
diff --git a/source/funkin/backend/system/Main.hx b/source/funkin/backend/system/Main.hx
index d715103e..b249950b 100644
--- a/source/funkin/backend/system/Main.hx
+++ b/source/funkin/backend/system/Main.hx
@@ -4,19 +4,11 @@ import funkin.editors.SaveWarning;
import funkin.backend.assets.AssetsLibraryList;
import funkin.backend.system.framerate.SystemInfo;
import openfl.utils.AssetLibrary;
-import openfl.utils.AssetCache;
import openfl.text.TextFormat;
import flixel.system.ui.FlxSoundTray;
-import funkin.backend.utils.NativeAPI;
-import funkin.menus.BetaWarningState;
-import funkin.menus.TitleState;
-import flixel.FlxGame;
-import flixel.FlxState;
import openfl.Assets;
import openfl.Lib;
-import openfl.display.FPS;
import openfl.display.Sprite;
-import openfl.events.Event;
import flixel.graphics.FlxGraphic;
import flixel.addons.transition.FlxTransitionableState;
import flixel.addons.transition.FlxTransitionSprite.GraphicTransTileDiamond;
diff --git a/source/funkin/backend/system/macros/EventMacro.hx b/source/funkin/backend/system/macros/EventMacro.hx
index 3a0f72dc..810ff1fd 100644
--- a/source/funkin/backend/system/macros/EventMacro.hx
+++ b/source/funkin/backend/system/macros/EventMacro.hx
@@ -1,6 +1,9 @@
package funkin.backend.system.macros;
#if macro
+import haxe.macro.Context;
+import haxe.macro.Expr;
+
/**
* Macro that generates all additional fields, making events much easier to code in.
* It adds the `recycle` function, which allows you to "reset" an event's values.
@@ -19,7 +22,6 @@ class EventMacro {
if (f.name == "recycle")
return fields;
-
// gets all fields
var values:Array = [];
var hiddenValues:Array = [];
@@ -48,8 +50,8 @@ class EventMacro {
// add recycle option
var func:Function = {
args: [for(a in values) {
- value: a.expr,
- type: a.type,
+ value: a.expr,
+ type: a.type,
opt: false,
name: a.name
}],
@@ -87,7 +89,7 @@ class EventMacro {
})
});
}
-
+
// add a "set this" expr to reset each private/hidden variables
for(v in hiddenValues) {
var name = v.name;
diff --git a/source/funkin/backend/system/macros/FunkinSaveMacro.hx b/source/funkin/backend/system/macros/FunkinSaveMacro.hx
index f1c2207d..11632991 100644
--- a/source/funkin/backend/system/macros/FunkinSaveMacro.hx
+++ b/source/funkin/backend/system/macros/FunkinSaveMacro.hx
@@ -1,6 +1,9 @@
package funkin.backend.system.macros;
#if macro
+import haxe.macro.Context;
+import haxe.macro.Expr;
+
/**
* Macro that automatically generates flush and load functions.
*/
@@ -13,7 +16,6 @@ class FunkinSaveMacro {
* @return Array
*/
public static function build(saveFieldName:String = "save", saveFuncName:String = "flush", loadFuncName:String = "load"):Array {
-
var fields:Array = Context.getBuildFields();
var fieldNames:Array = [];
diff --git a/source/funkin/backend/system/macros/HashLinkFixer.hx b/source/funkin/backend/system/macros/HashLinkFixer.hx
index 6c1b396f..f4edeaf8 100644
--- a/source/funkin/backend/system/macros/HashLinkFixer.hx
+++ b/source/funkin/backend/system/macros/HashLinkFixer.hx
@@ -30,12 +30,12 @@ class HashLinkFixer {
public static function init() {
#if !display
- #if HL
- for(apply in applyOn) {
- compile(apply);
+ if(Context.defined("hl")) {
+ for(apply in applyOn) {
+ compile(apply);
+ }
}
#end
- #end
}
public static function compile(name:String) {
diff --git a/source/funkin/backend/system/macros/ScriptsMacro.hx b/source/funkin/backend/system/macros/Macros.hx
similarity index 68%
rename from source/funkin/backend/system/macros/ScriptsMacro.hx
rename to source/funkin/backend/system/macros/Macros.hx
index 0014af3d..4d569a0f 100644
--- a/source/funkin/backend/system/macros/ScriptsMacro.hx
+++ b/source/funkin/backend/system/macros/Macros.hx
@@ -1,14 +1,13 @@
package funkin.backend.system.macros;
#if macro
-import haxe.macro.Context;
-import haxe.macro.Compiler;
+import haxe.macro.*;
import haxe.macro.Expr;
/**
* Macros containing additional help functions to expand HScript capabilities.
*/
-class ScriptsMacro {
+class Macros {
public static function addAdditionalClasses() {
for(inc in [
// FLIXEL
@@ -27,19 +26,25 @@ class ScriptsMacro {
])
Compiler.include(inc);
- for(inc in [#if SYS "sys", "openfl.net", "funkin.backend.system.net" #end]) {
- #if !HL
- Compiler.include(inc);
- #else
- // TODO: Hashlink
- //Compiler.include(inc, ["sys.net.UdpSocket", "openfl.net.DatagramSocket"]); // fixes FATAL ERROR : Failed to load function std@socket_set_broadcast
- #end
+ var isHl = Context.defined("hl");
+
+ if(Context.defined("sys")) {
+ for(inc in ["sys", "openfl.net", "funkin.backend.system.net"]) {
+ if(!isHl)
+ Compiler.include(inc);
+ else {
+ // TODO: Hashlink
+ //Compiler.include(inc, ["sys.net.UdpSocket", "openfl.net.DatagramSocket"]); // fixes FATAL ERROR : Failed to load function std@socket_set_broadcast
+ }
+ }
}
Compiler.include("funkin", #if !UPDATE_CHECKING ['funkin.backend.system.updating'] #end);
+ }
- #if HL HashLinkFixer.init(); #end
- // Todo rewrite this to use if(Context.defined(""))
+ public static function initMacros() {
+ if(Context.defined("hl"))
+ HashLinkFixer.init();
}
}
#end
\ No newline at end of file
diff --git a/source/funkin/backend/system/macros/OptionsMacro.hx b/source/funkin/backend/system/macros/OptionsMacro.hx
index b3503f5d..0bf5959c 100644
--- a/source/funkin/backend/system/macros/OptionsMacro.hx
+++ b/source/funkin/backend/system/macros/OptionsMacro.hx
@@ -1,6 +1,9 @@
package funkin.backend.system.macros;
#if macro
+import haxe.macro.Context;
+import haxe.macro.Expr;
+
using StringTools;
diff --git a/source/funkin/backend/system/macros/Utils.hx b/source/funkin/backend/system/macros/Utils.hx
index f55797d2..757c4c2c 100644
--- a/source/funkin/backend/system/macros/Utils.hx
+++ b/source/funkin/backend/system/macros/Utils.hx
@@ -1,6 +1,8 @@
package funkin.backend.system.macros;
#if macro
+import haxe.macro.Context;
+import haxe.macro.Expr;
import haxe.macro.Expr.ExprDef;
#end
diff --git a/source/funkin/backend/system/macros/import.hx b/source/funkin/backend/system/macros/import.hx
deleted file mode 100644
index 670edbee..00000000
--- a/source/funkin/backend/system/macros/import.hx
+++ /dev/null
@@ -1,4 +0,0 @@
-#if macro
-import haxe.macro.*;
-import haxe.macro.Expr;
-#end
\ No newline at end of file
diff --git a/source/funkin/backend/utils/NativeAPI.hx b/source/funkin/backend/utils/NativeAPI.hx
index 061021bc..a651645e 100644
--- a/source/funkin/backend/utils/NativeAPI.hx
+++ b/source/funkin/backend/utils/NativeAPI.hx
@@ -3,8 +3,8 @@ package funkin.backend.utils;
import funkin.backend.utils.native.*;
/**
- * Class for Windows-only functions, such as transparent windows, message boxes, and more.
- * Does not have any effect on other platforms.
+ * Class for functions that talk to a lower level than haxe, such as message boxes, and more.
+ * Some functions might not have effect on some platforms.
*/
class NativeAPI {
@:dox(hide) public static function registerAudio() {
diff --git a/source/funkin/editors/import.hx b/source/funkin/editors/import.hx
index b15a4507..75250a63 100644
--- a/source/funkin/editors/import.hx
+++ b/source/funkin/editors/import.hx
@@ -1,6 +1,8 @@
+#if !macro
package funkin.editors;
import funkin.editors.ui.*;
import flixel.math.FlxPoint;
-using funkin.editors.ui.UIUtil;
\ No newline at end of file
+using funkin.editors.ui.UIUtil;
+#end
\ No newline at end of file
diff --git a/source/funkin/options/categories/import.hx b/source/funkin/options/categories/import.hx
index 046ac6ef..49bf382e 100644
--- a/source/funkin/options/categories/import.hx
+++ b/source/funkin/options/categories/import.hx
@@ -1,3 +1,5 @@
+#if !macro
package funkin.options.categories;
-import funkin.options.type.*;
\ No newline at end of file
+import funkin.options.type.*;
+#end
\ No newline at end of file