From 2da4b8a1111f99f984db6d3246af4f619ac5aca7 Mon Sep 17 00:00:00 2001 From: NeeEoo Date: Mon, 12 Feb 2024 11:55:26 +0100 Subject: [PATCH] Better errors --- source/funkin/backend/MusicBeatState.hx | 2 +- source/funkin/backend/MusicBeatSubstate.hx | 2 +- source/funkin/backend/scripting/GlobalScript.hx | 2 +- source/funkin/backend/scripting/HScript.hx | 5 +++-- source/funkin/backend/scripting/Script.hx | 14 ++++++++++++++ 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/source/funkin/backend/MusicBeatState.hx b/source/funkin/backend/MusicBeatState.hx index ce37405e..c89728a9 100644 --- a/source/funkin/backend/MusicBeatState.hx +++ b/source/funkin/backend/MusicBeatState.hx @@ -123,7 +123,7 @@ class MusicBeatState extends FlxState implements IBeatReceiver var path = Paths.script('data/states/${scriptName}/LIB_$i'); var script = Script.create(path); if (script is DummyScript) continue; - script.fileName = '$i:$scriptName'; + script.remappedNames.set(script.fileName, '$i:${script.fileName}'); stateScripts.add(script); script.load(); } diff --git a/source/funkin/backend/MusicBeatSubstate.hx b/source/funkin/backend/MusicBeatSubstate.hx index 4c96f46b..d8940afc 100644 --- a/source/funkin/backend/MusicBeatSubstate.hx +++ b/source/funkin/backend/MusicBeatSubstate.hx @@ -110,7 +110,7 @@ class MusicBeatSubstate extends FlxSubState implements IBeatReceiver var path = Paths.script('data/states/${scriptName}/LIB_$i'); var script = Script.create(path); if (script is DummyScript) continue; - script.fileName = '$i:$scriptName'; + script.remappedNames.set(script.fileName, '$i:${script.fileName}'); stateScripts.add(script); script.load(); } diff --git a/source/funkin/backend/scripting/GlobalScript.hx b/source/funkin/backend/scripting/GlobalScript.hx index 9c6c15dd..34da69b5 100644 --- a/source/funkin/backend/scripting/GlobalScript.hx +++ b/source/funkin/backend/scripting/GlobalScript.hx @@ -94,7 +94,7 @@ class GlobalScript { var path = Paths.script('data/global/LIB_$i'); var script = Script.create(path); if (script is DummyScript) continue; - script.fileName = '$i:global.hx'; + script.remappedNames.set(script.fileName, '$i:${script.fileName}'); scripts.add(script); script.load(); } diff --git a/source/funkin/backend/scripting/HScript.hx b/source/funkin/backend/scripting/HScript.hx index 0830313d..be108c5f 100644 --- a/source/funkin/backend/scripting/HScript.hx +++ b/source/funkin/backend/scripting/HScript.hx @@ -91,8 +91,9 @@ class HScript extends Script { } private function _errorHandler(error:Error) { - - // This should be ${error.file} later + var fileName = error.origin; + if(remappedNames.exists(fileName)) + fileName = remappedNames.get(fileName); var fn = '$fileName:${error.line}: '; var err = error.toString(); if (err.startsWith(fn)) err = err.substr(fn.length); diff --git a/source/funkin/backend/scripting/Script.hx b/source/funkin/backend/scripting/Script.hx index 8b2af29c..7d141349 100644 --- a/source/funkin/backend/scripting/Script.hx +++ b/source/funkin/backend/scripting/Script.hx @@ -124,6 +124,11 @@ class Script extends FlxBasic implements IFlxDestroyable { */ public var fileName:String; + /** + * Script Extension + */ + public var extension:String; + /** * Path to the script. */ @@ -133,6 +138,8 @@ class Script extends FlxBasic implements IFlxDestroyable { private var didLoad:Bool = false; + public var remappedNames:Map = []; + /** * Creates a script from the specified asset path. The language is automatically determined. * @param path Path in assets @@ -183,6 +190,7 @@ class Script extends FlxBasic implements IFlxDestroyable { path = Paths.getFilenameFromLibFile(path); fileName = Path.withoutDirectory(path); + extension = Path.extension(path); this.path = path; onCreate(path); for(k=>e in getDefaultVariables(this)) { @@ -228,6 +236,9 @@ class Script extends FlxBasic implements IFlxDestroyable { * Traces something as this script. */ public function trace(v:Dynamic) { + var fileName = this.fileName; + if(remappedNames.exists(fileName)) + fileName = remappedNames.get(fileName); Logs.traceColored([ Logs.logText('${fileName}: ', GREEN), Logs.logText(Std.string(v)) @@ -285,6 +296,9 @@ class Script extends FlxBasic implements IFlxDestroyable { * @param additionalInfo Additional information you could provide. */ public function error(text:String, ?additionalInfo:Dynamic):Void { + var fileName = this.fileName; + if(remappedNames.exists(fileName)) + fileName = remappedNames.get(fileName); Logs.traceColored([ Logs.logText(fileName, RED), Logs.logText(text)