Merge branch 'main' of https://github.com/FNF-CNE-Devs/CodenameEngine-Dev
This commit is contained in:
@@ -11,10 +11,10 @@ float uBrightness = 0.6;
|
||||
|
||||
vec4 getColor(vec2 pos) {
|
||||
vec2 ps = (pos);
|
||||
if (ps.x < 0) ps.x = 0;
|
||||
if (ps.x < 0.0) ps.x = 0.0;
|
||||
//else if (ps.x > 1.0 - (1.0 / iResolution.x)) ps.x = 1.0 - (1.0 / iResolution.x);
|
||||
else if (ps.x > 1.0) return vec4(0.0);
|
||||
if (ps.y < 0) ps.y = 0;
|
||||
if (ps.y < 0.0) ps.y = 0.0;
|
||||
//else if (ps.y > 1.0 - (1.0 / iResolution.y)) return ps.y = 1.0 - (1.0 / iResolution.y);
|
||||
else if (ps.y > 1.0) return vec4(0.0);
|
||||
return flixel_texture2D(bitmap, (ps));
|
||||
@@ -42,7 +42,7 @@ vec2 random(vec2 p) {
|
||||
void main() {
|
||||
vec2 camPos = (openfl_TextureCoordv);
|
||||
//vec2 camPos = openfl_TextureCoordv;
|
||||
if (camPos.x < 0 || camPos.x > 1 || camPos.y < 0 || camPos.y > 1)
|
||||
if (camPos.x < 0.0 || camPos.x > 1.0 || camPos.y < 0.0 || camPos.y > 1.0)
|
||||
return;
|
||||
|
||||
//vec4 color = getColor(camPos);
|
||||
|
||||
+4
-3
@@ -111,8 +111,9 @@
|
||||
<!-- Comment this out to disable updates !-->
|
||||
<!-- <define name="UPDATE_CHECKING" unless="web || hl || neko"/> -->
|
||||
|
||||
<!-- Fixes thing with hl -->
|
||||
<!-- Fixes thing with macros -->
|
||||
<define name="HL" if="hl"/>
|
||||
<define name="SYS" if="desktop"/>
|
||||
|
||||
<!-- Comment this out to disable Discord RPC !-->
|
||||
<define name="DISCORD_RPC" unless="web || hl || neko"/>
|
||||
@@ -144,10 +145,10 @@
|
||||
<haxedef name="SOFTCODED_STATES" />
|
||||
|
||||
<!-- Comment this out to use the default OpenFL assets system for the assets/ folder. !-->
|
||||
<haxedef name="USE_ADAPTED_ASSETS" />
|
||||
<haxedef name="USE_ADAPTED_ASSETS" unless="web" />
|
||||
|
||||
<!-- Comment this out to disable support for custom ndlls. !-->
|
||||
<haxedef name="NDLLS_SUPPORTED" />
|
||||
<haxedef name="NDLLS_SUPPORTED" unless="web" />
|
||||
|
||||
<!-- Comment this out to disable support for custom extended classes (data/classes). !-->
|
||||
<define name="SOFTCODED_CLASSES" />
|
||||
|
||||
@@ -2,6 +2,7 @@ package funkin.backend.assets;
|
||||
|
||||
import lime.utils.AssetLibrary;
|
||||
|
||||
#if sys
|
||||
/**
|
||||
* Used to prevent crashes
|
||||
*/
|
||||
@@ -36,4 +37,5 @@ class ModdableAssetsFolder extends ModsFolderLibrary {
|
||||
_parsedAsset = asset.substr(prefix.length);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
#end
|
||||
@@ -1,7 +1,7 @@
|
||||
package funkin.backend.system;
|
||||
|
||||
import sys.FileSystem;
|
||||
#if sys
|
||||
import sys.FileSystem;
|
||||
class CommandLineHandler {
|
||||
public static function parseCommandLine(cmd:Array<String>) {
|
||||
var i:Int = 0;
|
||||
|
||||
@@ -67,7 +67,7 @@ class Conductor
|
||||
/**
|
||||
* Offset of the song
|
||||
*/
|
||||
public static var songOffset:Float = 0;
|
||||
public static var songOffset:Float = 0;
|
||||
|
||||
/**
|
||||
* Current step
|
||||
|
||||
@@ -71,7 +71,7 @@ class Main extends Sprite
|
||||
|
||||
addChild(game = new FunkinGame(gameWidth, gameHeight, MainState, Options.framerate, Options.framerate, skipSplash, startFullscreen));
|
||||
|
||||
#if !mobile
|
||||
#if (!mobile && !web)
|
||||
addChild(framerateSprite = new funkin.backend.system.framerate.Framerate());
|
||||
framerateSprite.scaleX = framerateSprite.scaleY = stage.window.scale;
|
||||
SystemInfo.init();
|
||||
|
||||
@@ -20,7 +20,6 @@ class ScriptsMacro {
|
||||
"flixel.addons.plugin", "flixel.addons.text", "flixel.addons.tile", "flixel.addons.transition",
|
||||
"flixel.addons.util",
|
||||
// OTHER LIBRARIES & STUFF
|
||||
"funkin",
|
||||
"away3d", "flx3d",
|
||||
#if VIDEO_CUTSCENES "hxcodec.flixel", "hxcodec.openfl", "hxcodec.lime", #end
|
||||
// BASE HAXE
|
||||
@@ -28,7 +27,7 @@ class ScriptsMacro {
|
||||
])
|
||||
Compiler.include(inc);
|
||||
|
||||
for(inc in [#if sys "sys", #end "openfl.net", "funkin.backend.system.net"]) {
|
||||
for(inc in [#if SYS "sys", "openfl.net", "funkin.backend.system.net" #end]) {
|
||||
#if !HL
|
||||
Compiler.include(inc);
|
||||
#else
|
||||
@@ -37,6 +36,8 @@ class ScriptsMacro {
|
||||
#end
|
||||
}
|
||||
|
||||
Compiler.include("funkin", #if !UPDATE_CHECKING ['funkin.backend.system.updating'] #end);
|
||||
|
||||
// FOR ABSTRACTS
|
||||
Compiler.addGlobalMetadata('haxe.xml', '@:build(hscript.UsingHandler.build())');
|
||||
Compiler.addGlobalMetadata('haxe.CallStack', '@:build(hscript.UsingHandler.build())');
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package funkin.backend.system.macros;
|
||||
|
||||
#if macro
|
||||
import haxe.macro.Expr.ExprDef;
|
||||
#end
|
||||
|
||||
class Utils {
|
||||
macro public static function generateReflectionLike(totalArguments:Int, funcName:String, argsName:String) {
|
||||
#if macro
|
||||
totalArguments++;
|
||||
|
||||
var funcCalls = [];
|
||||
for(i in 0...totalArguments) {
|
||||
var args = [
|
||||
for(d in 0...i) macro $i{argsName}[$v{d}]
|
||||
];
|
||||
|
||||
funcCalls.push(macro $i{funcName}($a{args}));
|
||||
}
|
||||
|
||||
var expr = {
|
||||
pos: Context.currentPos(),
|
||||
expr: ESwitch(
|
||||
macro ($i{argsName}.length),
|
||||
[
|
||||
for(i in 0...totalArguments) {
|
||||
values: [macro $v{i}],
|
||||
expr: funcCalls[i],
|
||||
guard: null,
|
||||
}
|
||||
],
|
||||
macro throw "Too many arguments"
|
||||
)
|
||||
}
|
||||
|
||||
return expr;
|
||||
#end
|
||||
}
|
||||
}
|
||||
@@ -62,12 +62,14 @@ class NativeAPI {
|
||||
var bg = cast(backgroundColor, Int);
|
||||
Windows.setConsoleColors((bg * 16) + fg);
|
||||
#else
|
||||
#if sys
|
||||
Sys.print("\x1b[0m");
|
||||
if(foregroundColor != NONE)
|
||||
Sys.print("\x1b[" + Std.int(consoleColorToANSI(foregroundColor)) + "m");
|
||||
if(backgroundColor != NONE)
|
||||
Sys.print("\x1b[" + Std.int(consoleColorToANSI(backgroundColor) + 10) + "m");
|
||||
#end
|
||||
#end
|
||||
}
|
||||
|
||||
public static function consoleColorToANSI(color:ConsoleColor) {
|
||||
|
||||
@@ -26,7 +26,7 @@ class NdllUtil {
|
||||
|
||||
/**
|
||||
* Returns an function from a Haxe NDLL.
|
||||
* Limited to 20 argument due to a limitation
|
||||
* Limited to 25 argument due to a limitation
|
||||
*
|
||||
* @param ndll Name of the NDLL.
|
||||
* @param name Name of the function.
|
||||
@@ -36,54 +36,10 @@ class NdllUtil {
|
||||
#if NDLLS_SUPPORTED
|
||||
var func:Dynamic = getFunctionFromPath(Paths.ndll('$ndll-$os'), name, args);
|
||||
|
||||
// I hate this code below, at least it wasnt 390625 switch cases, but like reflect.callmethod doesnt work with c++ functions
|
||||
return Reflect.makeVarArgs(function(_args:Array<Dynamic>) {
|
||||
var arg0:Dynamic = _args.length > 0 ? _args[0] : null;
|
||||
var arg1:Dynamic = _args.length > 1 ? _args[1] : null;
|
||||
var arg2:Dynamic = _args.length > 2 ? _args[2] : null;
|
||||
var arg3:Dynamic = _args.length > 3 ? _args[3] : null;
|
||||
var arg4:Dynamic = _args.length > 4 ? _args[4] : null;
|
||||
var arg5:Dynamic = _args.length > 5 ? _args[5] : null;
|
||||
var arg6:Dynamic = _args.length > 6 ? _args[6] : null;
|
||||
var arg7:Dynamic = _args.length > 7 ? _args[7] : null;
|
||||
var arg8:Dynamic = _args.length > 8 ? _args[8] : null;
|
||||
var arg9:Dynamic = _args.length > 9 ? _args[9] : null;
|
||||
var arg10:Dynamic = _args.length > 10 ? _args[10] : null;
|
||||
var arg11:Dynamic = _args.length > 11 ? _args[11] : null;
|
||||
var arg12:Dynamic = _args.length > 12 ? _args[12] : null;
|
||||
var arg13:Dynamic = _args.length > 13 ? _args[13] : null;
|
||||
var arg14:Dynamic = _args.length > 14 ? _args[14] : null;
|
||||
var arg15:Dynamic = _args.length > 15 ? _args[15] : null;
|
||||
var arg16:Dynamic = _args.length > 16 ? _args[16] : null;
|
||||
var arg17:Dynamic = _args.length > 17 ? _args[17] : null;
|
||||
var arg18:Dynamic = _args.length > 18 ? _args[18] : null;
|
||||
var arg19:Dynamic = _args.length > 19 ? _args[19] : null;
|
||||
|
||||
return switch(_args.length) {
|
||||
case 0: func();
|
||||
case 1: func(arg0);
|
||||
case 2: func(arg0, arg1);
|
||||
case 3: func(arg0, arg1, arg2);
|
||||
case 4: func(arg0, arg1, arg2, arg3);
|
||||
case 5: func(arg0, arg1, arg2, arg3, arg4);
|
||||
case 6: func(arg0, arg1, arg2, arg3, arg4, arg5);
|
||||
case 7: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
|
||||
case 8: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
||||
case 9: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
||||
case 10: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
||||
case 11: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
||||
case 12: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
|
||||
case 13: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
|
||||
case 14: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
|
||||
case 15: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
|
||||
case 16: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15);
|
||||
case 17: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16);
|
||||
case 18: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17);
|
||||
case 19: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18);
|
||||
case 20: func(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19);
|
||||
default: throw "Too many arguments";
|
||||
};
|
||||
//return Reflect.callMethod(null, func, _args);
|
||||
return Reflect.makeVarArgs(function(a:Array<Dynamic>) {
|
||||
// This generates horrific code
|
||||
return funkin.backend.system.macros.Utils.generateReflectionLike(25, "func", "a");
|
||||
//return Reflect.callMethod(null, func, a); // wouldnt work for some reason, maybe cause like c++ functions doesnt have reflection enabled
|
||||
});
|
||||
#else
|
||||
Logs.trace('NDLLs are not supported on this platform.', WARNING);
|
||||
|
||||
@@ -8,7 +8,6 @@ import funkin.backend.chart.Chart;
|
||||
import funkin.options.type.TextOption;
|
||||
import funkin.options.type.IconOption;
|
||||
import funkin.options.OptionsScreen;
|
||||
import sys.FileSystem;
|
||||
|
||||
class CharacterSelection extends EditorTreeMenu
|
||||
{
|
||||
|
||||
@@ -34,7 +34,10 @@ class Options
|
||||
public static var hitWindow:Float = 250;
|
||||
public static var songOffset:Float = 0;
|
||||
public static var framerate:Int = 120;
|
||||
public static var gpuOnlyBitmaps:Bool = #if mac false #else true #end; // causes issues on mac
|
||||
public static var gpuOnlyBitmaps:Bool =
|
||||
#if mac false
|
||||
#elseif !web false
|
||||
#else true #end; // causes issues on mac
|
||||
|
||||
public static var lastLoadedMod:String = null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user