* added flixel-animate to libs * I BROKE THE OFFSETS FUCK . * yes it does blehtty wdym?? * Removed flxanimate entirely + Fixed transition + Fixed offsets * Deleted caches (relaunching actions) * frameOffset for atlases (need testing) * useRenderTexture added to xml * Fixed atlases for mods * a simple redirect so old mods wont break that badly (#879) * Update FunkinSprite.hx * remove trace * Fixed ghosts for atlases * usable character editor (not entirely fixed) * fixed zoomFactor + temp fix for atlas popping * early structure for character editor atlas anim display * zoomFactor for atlases * Animate Atlas character editor previews * FlxAnimateSettings specification * fixed animation swapping on atlas characters * OH YEA BABY NEW FLXANIMATE UPDATE THAT MADE CODE 50X SIMPLER **AGAIN** 💖 /pos * Added label checkbox in Character Editor * Fixed culling issues with FlxAnimate (fr this time) * fixed some atlases * HOW THE FUCK * gf sad fix + AliasMacro (for backwards comp, manual impl for now) * Fixed pop-ins * Update Character.hx * applyStageMatrix * FlxAnimate pull request merge (empty commit) * flixel-animate** i'm clumsy asf i meant the lib not the class name fuck * Update libs.xml * Merge changes from main (#892) * repair ScriptableShader.shader = null (#877) * optimize updateInput (#878) * optimize updateInput * resize optimize * __notePerStrum optimize * Update StrumLine.hx * NoteGroup optimize (#881) * NoteGroup optimize * CoolUtil.bound faster * makes commit with github desktop W FRAKITS * Use fastSinCos for notes (#889) * Update Strum.hx * Update Strum.hx --------- Co-authored-by: HEIHUAa <112499486+HEIHUAa@users.noreply.github.com> Co-authored-by: Frakits <90983918+Frakits@users.noreply.github.com> --------- Co-authored-by: Kolze <53307233+KolzeYT@users.noreply.github.com> Co-authored-by: HEIHUAa <112499486+HEIHUAa@users.noreply.github.com> Co-authored-by: Frakits <90983918+Frakits@users.noreply.github.com>
76 lines
2.6 KiB
Haxe
76 lines
2.6 KiB
Haxe
package funkin.backend.system.macros;
|
|
|
|
#if macro
|
|
import haxe.macro.*;
|
|
import haxe.macro.Expr;
|
|
|
|
/**
|
|
* Macros containing additional help functions to expand HScript capabilities.
|
|
*/
|
|
class Macros {
|
|
public static function addAdditionalClasses() {
|
|
for(inc in [
|
|
// FLIXEL
|
|
"flixel.util", "flixel.ui", "flixel.tweens", "flixel.tile", "flixel.text",
|
|
"flixel.system", "flixel.sound", "flixel.path", "flixel.math", "flixel.input",
|
|
"flixel.group", "flixel.graphics", "flixel.effects", "flixel.animation",
|
|
// FLIXEL ADDONS
|
|
"flixel.addons.api", "flixel.addons.display", "flixel.addons.effects", "flixel.addons.ui",
|
|
"flixel.addons.plugin", "flixel.addons.text", "flixel.addons.tile", "flixel.addons.transition",
|
|
"flixel.addons.util",
|
|
// OTHER LIBRARIES & STUFF
|
|
#if THREE_D_SUPPORT "away3d", "flx3d", #end
|
|
#if VIDEO_CUTSCENES "hxvlc.flixel", "hxvlc.openfl", #end
|
|
#if NAPE_ENABLED "nape", "flixel.addons.nape", #end
|
|
// BASE HAXE
|
|
"DateTools", "EReg", "Lambda", "StringBuf", "haxe.crypto", "haxe.display", "haxe.exceptions", "haxe.extern", "scripting", "animate"
|
|
])
|
|
Compiler.include(inc);
|
|
|
|
var isHl = Context.defined("hl");
|
|
|
|
var compathx4 = [
|
|
"sys.db.Sqlite",
|
|
"sys.db.Mysql",
|
|
"sys.db.Connection",
|
|
"sys.db.ResultSet",
|
|
"haxe.remoting.Proxy",
|
|
];
|
|
|
|
if(Context.defined("sys")) {
|
|
for(inc in ["sys", "openfl.net", "funkin.backend.system.net"]) {
|
|
if(!isHl) Compiler.include(inc, compathx4);
|
|
else {
|
|
|
|
// TODO: Hashlink
|
|
//Compiler.include(inc, compathx4.concat(["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]);
|
|
}
|
|
|
|
public static function initMacros() {
|
|
if (Context.defined("hl")) {
|
|
for (c in ["lime", "std", "Math", ""]) Compiler.addGlobalMetadata(c, "@:build(funkin.backend.system.macros.HashLinkFixer.build())");
|
|
}
|
|
|
|
final macroPath = 'funkin.backend.system.macros.Macros';
|
|
Compiler.addMetadata('@:build($macroPath.buildLimeAssetLibrary())', 'lime.utils.AssetLibrary');
|
|
|
|
//Adds Compat for #if hscript blocks when you have hscript improved
|
|
if (Context.defined("hscript_improved") && !Context.defined("hscript")) {
|
|
Compiler.define('hscript');
|
|
}
|
|
}
|
|
|
|
public static function buildLimeAssetLibrary():Array<Field> {
|
|
final fields:Array<Field> = Context.getBuildFields(), pos:Position = Context.currentPos();
|
|
|
|
fields.push({name: 'tag', access: [APublic], pos: pos, kind: FVar(macro :funkin.backend.assets.AssetSource)});
|
|
|
|
return fields;
|
|
}
|
|
}
|
|
#end |