From c8d96f0162e8a9f5a9cb5e8cc11f4f8be25109cd Mon Sep 17 00:00:00 2001 From: NeeEoo Date: Sun, 7 Apr 2024 03:33:27 +0200 Subject: [PATCH] Cleanup --- .../backend/assets/IModsAssetLibrary.hx | 21 --- source/funkin/backend/assets/ModsFolder.hx | 6 - .../backend/assets/ModsFolderLibrary.hx | 7 +- source/funkin/backend/assets/Paths.hx | 128 +++++------------- 4 files changed, 41 insertions(+), 121 deletions(-) diff --git a/source/funkin/backend/assets/IModsAssetLibrary.hx b/source/funkin/backend/assets/IModsAssetLibrary.hx index 73e34ce5..b86ca7ce 100644 --- a/source/funkin/backend/assets/IModsAssetLibrary.hx +++ b/source/funkin/backend/assets/IModsAssetLibrary.hx @@ -1,26 +1,5 @@ package funkin.backend.assets; -import lime.utils.Log; -import lime.utils.AssetLibrary; -import lime.utils.AssetManifest; - -import haxe.io.Path; -import lime.app.Event; -import lime.app.Future; -import lime.app.Promise; -import lime.media.AudioBuffer; -import lime.graphics.Image; -import lime.text.Font; -import lime.utils.AssetType; -import lime.utils.Bytes; - -#if MOD_SUPPORT -import sys.FileStat; -import sys.FileSystem; -#end - -using StringTools; - interface IModsAssetLibrary { public var prefix:String; public var modName:String; diff --git a/source/funkin/backend/assets/ModsFolder.hx b/source/funkin/backend/assets/ModsFolder.hx index 88a70223..3d402325 100644 --- a/source/funkin/backend/assets/ModsFolder.hx +++ b/source/funkin/backend/assets/ModsFolder.hx @@ -1,13 +1,8 @@ package funkin.backend.assets; import funkin.backend.system.MainState; -import funkin.menus.TitleState; -import funkin.backend.system.Main; -import openfl.utils.AssetCache; -import flixel.util.FlxSignal.FlxTypedSignal; import openfl.utils.AssetManifest; import openfl.utils.AssetLibrary; -import flixel.graphics.FlxGraphic; import flixel.util.FlxSignal.FlxTypedSignal; import lime.text.Font; @@ -17,7 +12,6 @@ import openfl.text.Font as OpenFLFont; import sys.FileSystem; #end -import flixel.FlxState; import haxe.io.Path; using StringTools; diff --git a/source/funkin/backend/assets/ModsFolderLibrary.hx b/source/funkin/backend/assets/ModsFolderLibrary.hx index 393112da..eb8c8755 100644 --- a/source/funkin/backend/assets/ModsFolderLibrary.hx +++ b/source/funkin/backend/assets/ModsFolderLibrary.hx @@ -121,16 +121,17 @@ class ModsFolderLibrary extends AssetLibrary implements IModsAssetLibrary { private function __isCacheValid(cache:Map, asset:String, isLocalCache:Bool = false) { if (!editedTimes.exists(asset)) return false; - if (editedTimes[asset] == null || editedTimes[asset] < FileSystem.stat(getPath(asset)).mtime.getTime()) { + var editedTime = editedTimes[asset]; + if (editedTime == null || editedTime < FileSystem.stat(getPath(asset)).mtime.getTime()) { // destroy already existing to prevent memory leak!!! - var asset = cache[asset]; + /*var asset = cache[asset]; if (asset != null) { switch(Type.getClass(asset)) { case lime.graphics.Image: trace("getting rid of image cause replaced"); cast(asset, lime.graphics.Image); } - } + }*/ return false; } diff --git a/source/funkin/backend/assets/Paths.hx b/source/funkin/backend/assets/Paths.hx index e607af4a..e0482944 100644 --- a/source/funkin/backend/assets/Paths.hx +++ b/source/funkin/backend/assets/Paths.hx @@ -21,7 +21,7 @@ class Paths * Preferred sound extension for the game's audio files. * Currently is set to `mp3` for web targets, and `ogg` for other targets. */ - inline public static final SOUND_EXT = #if web "mp3" #else "ogg" #end; + public static inline final SOUND_EXT = #if web "mp3" #else "ogg" #end; public static inline var translFolderName:String = "translations"; @@ -50,56 +50,53 @@ class Paths public static inline function ndll(key:String) return getPath('ndlls/$key.ndll'); - inline static public function file(file:String, ?library:String) + public static inline function file(file:String, ?library:String) return getPath(file, library); - inline static public function txt(key:String, ?library:String) + public static inline function txt(key:String, ?library:String) return getPath('data/$key.txt', library); - inline static public function pack(key:String, ?library:String) + public static inline function pack(key:String, ?library:String) return getPath('data/$key.pack', library); - inline static public function ini(key:String, ?library:String) + public static inline function ini(key:String, ?library:String) return getPath('data/$key.ini', library); - inline static public function fragShader(key:String, ?library:String) + public static inline function fragShader(key:String, ?library:String) return getPath('shaders/$key.frag', library); - inline static public function vertShader(key:String, ?library:String) + public static inline function vertShader(key:String, ?library:String) return getPath('shaders/$key.vert', library); - inline static public function xml(key:String, ?library:String) + public static inline function xml(key:String, ?library:String) return getPath('data/$key.xml', library); - inline static public function json(key:String, ?library:String) + public static inline function json(key:String, ?library:String) return getPath('data/$key.json', library); - inline static public function ps1(key:String, ?library:String) + public static inline function ps1(key:String, ?library:String) return getPath('data/$key.ps1', library); - static public function sound(key:String, ?library:String) + public static function sound(key:String, ?library:String) return getPath('sounds/$key.$SOUND_EXT', library); - inline static public function soundRandom(key:String, min:Int, max:Int, ?library:String) + public static inline function soundRandom(key:String, min:Int, max:Int, ?library:String) return sound(key + FlxG.random.int(min, max), library); - inline static public function music(key:String, ?library:String) + public static inline function music(key:String, ?library:String) return getPath('music/$key.$SOUND_EXT', library); - inline static public function voices(song:String, difficulty:String = "normal", ?prefix:String = "") - { + public static inline function voices(song:String, difficulty:String = "normal", ?prefix:String = "") { var diff = getPath('songs/${song.toLowerCase()}/song/Voices$prefix-${difficulty.toLowerCase()}.$SOUND_EXT', null); return OpenFlAssets.exists(diff) ? diff : getPath('songs/${song.toLowerCase()}/song/Voices$prefix.$SOUND_EXT', null); } - inline static public function inst(song:String, difficulty:String = "normal", ?prefix:String = "") - { + public static inline function inst(song:String, difficulty:String = "normal", ?prefix:String = "") { var diff = getPath('songs/${song.toLowerCase()}/song/Inst$prefix-${difficulty.toLowerCase()}.$SOUND_EXT', null); return OpenFlAssets.exists(diff) ? diff : getPath('songs/${song.toLowerCase()}/song/Inst$prefix.$SOUND_EXT', null); } - static public function image(key:String, ?library:String, checkForAtlas:Bool = false, ?ext:String = "png") - { + public static function image(key:String, ?library:String, checkForAtlas:Bool = false, ?ext:String = "png") { if (checkForAtlas) { var atlasPath = getPath('images/$key/spritemap.$ext', library); var multiplePath = getPath('images/$key/1.$ext', library); @@ -109,7 +106,7 @@ class Paths return getPath('images/$key.$ext', library); } - inline static public function script(key:String, ?library:String, isAssetsPath:Bool = false) { + public static inline function script(key:String, ?library:String, isAssetsPath:Bool = false) { var scriptPath = isAssetsPath ? key : getPath(key, library); if (!OpenFlAssets.exists(scriptPath)) { var p:String; @@ -124,62 +121,61 @@ class Paths return scriptPath; } - static public function chart(song:String, ?difficulty:String = "normal"):String { + public static function chart(song:String, ?difficulty:String = "normal"):String { difficulty = difficulty.toLowerCase(); song = song.toLowerCase(); return getPath('songs/$song/charts/$difficulty.json', null); } - static public function character(character:String):String { + public static function character(character:String):String { return getPath('data/characters/$character.xml', null); } - inline static public function font(key:String) - { + public static inline function font(key:String) { return getPath('fonts/$key'); } - inline static public function obj(key:String) { + public static inline function obj(key:String) { return getPath('models/$key.obj'); } - inline static public function dae(key:String) { + public static inline function dae(key:String) { return getPath('models/$key.dae'); } - inline static public function md2(key:String) { + public static inline function md2(key:String) { return getPath('models/$key.md2'); } - inline static public function md5(key:String) { + public static inline function md5(key:String) { return getPath('models/$key.md5'); } - inline static public function awd(key:String) { + public static inline function awd(key:String) { return getPath('models/$key.awd'); } - inline static public function getSparrowAtlas(key:String, ?library:String) + public static inline function getSparrowAtlas(key:String, ?library:String) return FlxAtlasFrames.fromSparrow(image(key, library), file('images/$key.xml', library)); - inline static public function getSparrowAtlasAlt(key:String) + public static inline function getSparrowAtlasAlt(key:String) return FlxAtlasFrames.fromSparrow('$key.png', '$key.xml'); - inline static public function getPackerAtlas(key:String, ?library:String) + public static inline function getPackerAtlas(key:String, ?library:String) return FlxAtlasFrames.fromSpriteSheetPacker(image(key, library), file('images/$key.txt', library)); - inline static public function getPackerAtlasAlt(key:String) + public static inline function getPackerAtlasAlt(key:String) return FlxAtlasFrames.fromSpriteSheetPacker('$key.png', '$key.txt'); - inline static public function getAsepriteAtlas(key:String, ?library:String) + public static inline function getAsepriteAtlas(key:String, ?library:String) return FlxAtlasFrames.fromAseprite(image(key, library), file('images/$key.json', library)); - inline static public function getAsepriteAtlasAlt(key:String) + public static inline function getAsepriteAtlasAlt(key:String) return FlxAtlasFrames.fromAseprite('$key.png', '$key.json'); - inline static public function getAssetsRoot():String - return ModsFolder.currentModFolder != null ? '${ModsFolder.modsPath}${ModsFolder.currentModFolder}' : './assets'; + public static inline function getAssetsRoot():String + return ModsFolder.currentModFolder != null ? '${ModsFolder.modsPath}${ModsFolder.currentModFolder}' : './assets'; /** * Gets frames at specified path. @@ -239,7 +235,8 @@ class Paths return null; return graph.imageFrame; } - static public function getFolderDirectories(key:String, addPath:Bool = false, source:AssetsLibraryList.AssetSource = BOTH):Array { + + public static function getFolderDirectories(key:String, addPath:Bool = false, source:AssetsLibraryList.AssetSource = BOTH):Array { if (!key.endsWith("/")) key += "/"; var content = assetsTree.getFolders('assets/$key', source); if (addPath) { @@ -248,7 +245,8 @@ class Paths } return content; } - static public function getFolderContent(key:String, addPath:Bool = false, source:AssetsLibraryList.AssetSource = BOTH):Array { + + public static function getFolderContent(key:String, addPath:Bool = false, source:AssetsLibraryList.AssetSource = BOTH):Array { // designed to work both on windows and web if (!key.endsWith("/")) key += "/"; var content = assetsTree.getFiles('assets/$key', source); @@ -257,58 +255,6 @@ class Paths content[k] = '$key$e'; } return content; - /* - if (!key.endsWith("/")) key = key + "/"; - - if (ModsFolder.currentModFolder == null && !scanSource) - return getFolderContent(key, false, addPath, true); - - var folderPath:String = scanSource ? getAssetsPath(key) : getLibraryPathForce(key, 'mods/${ModsFolder.currentModFolder}'); - var libThing = new LimeLibrarySymbol(folderPath); - var library = libThing.library; - - if (library is openfl.utils.AssetLibrary) { - var lib = cast(libThing.library, openfl.utils.AssetLibrary); - @:privateAccess - if (lib.__proxy != null) library = lib.__proxy; - } - - var content:Array = []; - #if MOD_SUPPORT - if (library is funkin.backend.assets.IModsAssetLibrary) { - // easy task, can immediately scan for files! - var lib = cast(library, funkin.backend.assets.IModsAssetLibrary); - content = lib.getFiles(libThing.symbolName); - if (addPath) - for(i in 0...content.length) - content[i] = '$folderPath${content[i]}'; - } else #end { - @:privateAccess - for(k=>e in library.paths) { - if (k.toLowerCase().startsWith(libThing.symbolName.toLowerCase())) { - if (addPath) { - if (libThing.libraryName != "") - content.push('${libThing.libraryName}:$k'); - else - content.push(k); - } else { - var barebonesFileName = k.substr(libThing.symbolName.length); - if (!barebonesFileName.contains("/")) - content.push(barebonesFileName); - } - } - } - } - - if (includeSource) { - var sourceResult = getFolderContent(key, false, addPath, true); - for(e in sourceResult) - if (!content.contains(e)) - content.push(e); - } - - return content; - */ } // Used in Script.hx