fixed fonts + more customizable stuff

This commit is contained in:
Yoshman29
2022-12-03 17:05:57 +01:00
parent 1fc8ce3df2
commit efccfa37ac
6 changed files with 60 additions and 13 deletions
@@ -0,0 +1,35 @@
package funkin.mods;
import lime.utils.AssetLibrary;
/**
* Used to prevent crashes
*/
class ModdableAssetsFolder extends ModsFolderLibrary {
public var oldLibrary:AssetLibrary;
public override function exists(id:String, type:String) {
if (!id.startsWith("assets/"))
return oldLibrary.exists(id, type);
return super.exists(id, type);
}
public override function getAsset(id:String, type:String) {
if (!id.startsWith("assets/"))
return oldLibrary.getAsset(id, type);
return super.getAsset(id, type);
}
public function new(folder:String, libName:String, oldLib:AssetLibrary) {
super(folder, libName);
oldLibrary = oldLib;
trace(Type.getClassName(Type.getClass(oldLibrary)));
}
private override function __parseAsset(asset:String):Bool {
var prefix = 'assets/';
if (!asset.startsWith(prefix)) return false;
_parsedAsset = asset.substr(prefix.length);
return true;
}
}
+3 -2
View File
@@ -111,10 +111,11 @@ class ModsFolder {
return lib;
}
public static function loadLibraryFromFolder(libName:String, folder:String, force:Bool = false) {
public static function loadLibraryFromFolder(libName:String, folder:String, force:Bool = false, useOldWhenMissing:Bool = false) {
var oldLib = useOldWhenMissing ? Assets.getLibrary(libName) : null;
var lib = prepareLibrary(libName, force);
@:privateAccess
lib.__proxy = new ModsFolderLibrary(folder, libName);
lib.__proxy = useOldWhenMissing ? new ModdableAssetsFolder(folder, libName, oldLib) : new ModsFolderLibrary(folder, libName);
Assets.registerLibrary(libName, lib);
return lib;
}