diff --git a/assets/songs/blammed/audio/Inst.mp3 b/assets/songs/blammed/song/Inst.mp3 similarity index 100% rename from assets/songs/blammed/audio/Inst.mp3 rename to assets/songs/blammed/song/Inst.mp3 diff --git a/assets/songs/blammed/audio/Inst.ogg b/assets/songs/blammed/song/Inst.ogg similarity index 100% rename from assets/songs/blammed/audio/Inst.ogg rename to assets/songs/blammed/song/Inst.ogg diff --git a/assets/songs/blammed/audio/Voices.mp3 b/assets/songs/blammed/song/Voices.mp3 similarity index 100% rename from assets/songs/blammed/audio/Voices.mp3 rename to assets/songs/blammed/song/Voices.mp3 diff --git a/assets/songs/blammed/audio/Voices.ogg b/assets/songs/blammed/song/Voices.ogg similarity index 100% rename from assets/songs/blammed/audio/Voices.ogg rename to assets/songs/blammed/song/Voices.ogg diff --git a/assets/songs/bopeebo/audio/Inst.mp3 b/assets/songs/bopeebo/song/Inst.mp3 similarity index 100% rename from assets/songs/bopeebo/audio/Inst.mp3 rename to assets/songs/bopeebo/song/Inst.mp3 diff --git a/assets/songs/bopeebo/audio/Inst.ogg b/assets/songs/bopeebo/song/Inst.ogg similarity index 100% rename from assets/songs/bopeebo/audio/Inst.ogg rename to assets/songs/bopeebo/song/Inst.ogg diff --git a/assets/songs/bopeebo/audio/Voices.mp3 b/assets/songs/bopeebo/song/Voices.mp3 similarity index 100% rename from assets/songs/bopeebo/audio/Voices.mp3 rename to assets/songs/bopeebo/song/Voices.mp3 diff --git a/assets/songs/bopeebo/audio/Voices.ogg b/assets/songs/bopeebo/song/Voices.ogg similarity index 100% rename from assets/songs/bopeebo/audio/Voices.ogg rename to assets/songs/bopeebo/song/Voices.ogg diff --git a/assets/songs/cocoa/audio/Inst.mp3 b/assets/songs/cocoa/song/Inst.mp3 similarity index 100% rename from assets/songs/cocoa/audio/Inst.mp3 rename to assets/songs/cocoa/song/Inst.mp3 diff --git a/assets/songs/cocoa/audio/Inst.ogg b/assets/songs/cocoa/song/Inst.ogg similarity index 100% rename from assets/songs/cocoa/audio/Inst.ogg rename to assets/songs/cocoa/song/Inst.ogg diff --git a/assets/songs/cocoa/audio/Voices.mp3 b/assets/songs/cocoa/song/Voices.mp3 similarity index 100% rename from assets/songs/cocoa/audio/Voices.mp3 rename to assets/songs/cocoa/song/Voices.mp3 diff --git a/assets/songs/cocoa/audio/Voices.ogg b/assets/songs/cocoa/song/Voices.ogg similarity index 100% rename from assets/songs/cocoa/audio/Voices.ogg rename to assets/songs/cocoa/song/Voices.ogg diff --git a/assets/songs/dadbattle/audio/Inst.mp3 b/assets/songs/dadbattle/song/Inst.mp3 similarity index 100% rename from assets/songs/dadbattle/audio/Inst.mp3 rename to assets/songs/dadbattle/song/Inst.mp3 diff --git a/assets/songs/dadbattle/audio/Inst.ogg b/assets/songs/dadbattle/song/Inst.ogg similarity index 100% rename from assets/songs/dadbattle/audio/Inst.ogg rename to assets/songs/dadbattle/song/Inst.ogg diff --git a/assets/songs/dadbattle/audio/Voices.mp3 b/assets/songs/dadbattle/song/Voices.mp3 similarity index 100% rename from assets/songs/dadbattle/audio/Voices.mp3 rename to assets/songs/dadbattle/song/Voices.mp3 diff --git a/assets/songs/dadbattle/audio/Voices.ogg b/assets/songs/dadbattle/song/Voices.ogg similarity index 100% rename from assets/songs/dadbattle/audio/Voices.ogg rename to assets/songs/dadbattle/song/Voices.ogg diff --git a/assets/songs/eggnog/audio/Inst.mp3 b/assets/songs/eggnog/song/Inst.mp3 similarity index 100% rename from assets/songs/eggnog/audio/Inst.mp3 rename to assets/songs/eggnog/song/Inst.mp3 diff --git a/assets/songs/eggnog/audio/Inst.ogg b/assets/songs/eggnog/song/Inst.ogg similarity index 100% rename from assets/songs/eggnog/audio/Inst.ogg rename to assets/songs/eggnog/song/Inst.ogg diff --git a/assets/songs/eggnog/audio/Voices.mp3 b/assets/songs/eggnog/song/Voices.mp3 similarity index 100% rename from assets/songs/eggnog/audio/Voices.mp3 rename to assets/songs/eggnog/song/Voices.mp3 diff --git a/assets/songs/eggnog/audio/Voices.ogg b/assets/songs/eggnog/song/Voices.ogg similarity index 100% rename from assets/songs/eggnog/audio/Voices.ogg rename to assets/songs/eggnog/song/Voices.ogg diff --git a/assets/songs/fresh/audio/Inst.mp3 b/assets/songs/fresh/song/Inst.mp3 similarity index 100% rename from assets/songs/fresh/audio/Inst.mp3 rename to assets/songs/fresh/song/Inst.mp3 diff --git a/assets/songs/fresh/audio/Inst.ogg b/assets/songs/fresh/song/Inst.ogg similarity index 100% rename from assets/songs/fresh/audio/Inst.ogg rename to assets/songs/fresh/song/Inst.ogg diff --git a/assets/songs/fresh/audio/Voices.mp3 b/assets/songs/fresh/song/Voices.mp3 similarity index 100% rename from assets/songs/fresh/audio/Voices.mp3 rename to assets/songs/fresh/song/Voices.mp3 diff --git a/assets/songs/fresh/audio/Voices.ogg b/assets/songs/fresh/song/Voices.ogg similarity index 100% rename from assets/songs/fresh/audio/Voices.ogg rename to assets/songs/fresh/song/Voices.ogg diff --git a/assets/songs/guns/audio/Inst.mp3 b/assets/songs/guns/song/Inst.mp3 similarity index 100% rename from assets/songs/guns/audio/Inst.mp3 rename to assets/songs/guns/song/Inst.mp3 diff --git a/assets/songs/guns/audio/Inst.ogg b/assets/songs/guns/song/Inst.ogg similarity index 100% rename from assets/songs/guns/audio/Inst.ogg rename to assets/songs/guns/song/Inst.ogg diff --git a/assets/songs/guns/audio/Voices.mp3 b/assets/songs/guns/song/Voices.mp3 similarity index 100% rename from assets/songs/guns/audio/Voices.mp3 rename to assets/songs/guns/song/Voices.mp3 diff --git a/assets/songs/guns/audio/Voices.ogg b/assets/songs/guns/song/Voices.ogg similarity index 100% rename from assets/songs/guns/audio/Voices.ogg rename to assets/songs/guns/song/Voices.ogg diff --git a/assets/songs/high/audio/Inst.mp3 b/assets/songs/high/song/Inst.mp3 similarity index 100% rename from assets/songs/high/audio/Inst.mp3 rename to assets/songs/high/song/Inst.mp3 diff --git a/assets/songs/high/audio/Inst.ogg b/assets/songs/high/song/Inst.ogg similarity index 100% rename from assets/songs/high/audio/Inst.ogg rename to assets/songs/high/song/Inst.ogg diff --git a/assets/songs/high/audio/Voices.mp3 b/assets/songs/high/song/Voices.mp3 similarity index 100% rename from assets/songs/high/audio/Voices.mp3 rename to assets/songs/high/song/Voices.mp3 diff --git a/assets/songs/high/audio/Voices.ogg b/assets/songs/high/song/Voices.ogg similarity index 100% rename from assets/songs/high/audio/Voices.ogg rename to assets/songs/high/song/Voices.ogg diff --git a/assets/songs/milf/audio/Inst.mp3 b/assets/songs/milf/song/Inst.mp3 similarity index 100% rename from assets/songs/milf/audio/Inst.mp3 rename to assets/songs/milf/song/Inst.mp3 diff --git a/assets/songs/milf/audio/Inst.ogg b/assets/songs/milf/song/Inst.ogg similarity index 100% rename from assets/songs/milf/audio/Inst.ogg rename to assets/songs/milf/song/Inst.ogg diff --git a/assets/songs/milf/audio/Voices.mp3 b/assets/songs/milf/song/Voices.mp3 similarity index 100% rename from assets/songs/milf/audio/Voices.mp3 rename to assets/songs/milf/song/Voices.mp3 diff --git a/assets/songs/milf/audio/Voices.ogg b/assets/songs/milf/song/Voices.ogg similarity index 100% rename from assets/songs/milf/audio/Voices.ogg rename to assets/songs/milf/song/Voices.ogg diff --git a/assets/songs/monster/audio/Inst.mp3 b/assets/songs/monster/song/Inst.mp3 similarity index 100% rename from assets/songs/monster/audio/Inst.mp3 rename to assets/songs/monster/song/Inst.mp3 diff --git a/assets/songs/monster/audio/Inst.ogg b/assets/songs/monster/song/Inst.ogg similarity index 100% rename from assets/songs/monster/audio/Inst.ogg rename to assets/songs/monster/song/Inst.ogg diff --git a/assets/songs/monster/audio/Voices.mp3 b/assets/songs/monster/song/Voices.mp3 similarity index 100% rename from assets/songs/monster/audio/Voices.mp3 rename to assets/songs/monster/song/Voices.mp3 diff --git a/assets/songs/monster/audio/Voices.ogg b/assets/songs/monster/song/Voices.ogg similarity index 100% rename from assets/songs/monster/audio/Voices.ogg rename to assets/songs/monster/song/Voices.ogg diff --git a/assets/songs/philly nice/audio/Inst.mp3 b/assets/songs/philly nice/song/Inst.mp3 similarity index 100% rename from assets/songs/philly nice/audio/Inst.mp3 rename to assets/songs/philly nice/song/Inst.mp3 diff --git a/assets/songs/philly nice/audio/Inst.ogg b/assets/songs/philly nice/song/Inst.ogg similarity index 100% rename from assets/songs/philly nice/audio/Inst.ogg rename to assets/songs/philly nice/song/Inst.ogg diff --git a/assets/songs/philly nice/audio/Voices.mp3 b/assets/songs/philly nice/song/Voices.mp3 similarity index 100% rename from assets/songs/philly nice/audio/Voices.mp3 rename to assets/songs/philly nice/song/Voices.mp3 diff --git a/assets/songs/philly nice/audio/Voices.ogg b/assets/songs/philly nice/song/Voices.ogg similarity index 100% rename from assets/songs/philly nice/audio/Voices.ogg rename to assets/songs/philly nice/song/Voices.ogg diff --git a/assets/songs/pico/audio/Inst.mp3 b/assets/songs/pico/song/Inst.mp3 similarity index 100% rename from assets/songs/pico/audio/Inst.mp3 rename to assets/songs/pico/song/Inst.mp3 diff --git a/assets/songs/pico/audio/Inst.ogg b/assets/songs/pico/song/Inst.ogg similarity index 100% rename from assets/songs/pico/audio/Inst.ogg rename to assets/songs/pico/song/Inst.ogg diff --git a/assets/songs/pico/audio/Voices.mp3 b/assets/songs/pico/song/Voices.mp3 similarity index 100% rename from assets/songs/pico/audio/Voices.mp3 rename to assets/songs/pico/song/Voices.mp3 diff --git a/assets/songs/pico/audio/Voices.ogg b/assets/songs/pico/song/Voices.ogg similarity index 100% rename from assets/songs/pico/audio/Voices.ogg rename to assets/songs/pico/song/Voices.ogg diff --git a/assets/songs/roses/audio/Inst.mp3 b/assets/songs/roses/song/Inst.mp3 similarity index 100% rename from assets/songs/roses/audio/Inst.mp3 rename to assets/songs/roses/song/Inst.mp3 diff --git a/assets/songs/roses/audio/Inst.ogg b/assets/songs/roses/song/Inst.ogg similarity index 100% rename from assets/songs/roses/audio/Inst.ogg rename to assets/songs/roses/song/Inst.ogg diff --git a/assets/songs/roses/audio/Voices.mp3 b/assets/songs/roses/song/Voices.mp3 similarity index 100% rename from assets/songs/roses/audio/Voices.mp3 rename to assets/songs/roses/song/Voices.mp3 diff --git a/assets/songs/roses/audio/Voices.ogg b/assets/songs/roses/song/Voices.ogg similarity index 100% rename from assets/songs/roses/audio/Voices.ogg rename to assets/songs/roses/song/Voices.ogg diff --git a/assets/songs/satin panties/audio/Inst.mp3 b/assets/songs/satin panties/song/Inst.mp3 similarity index 100% rename from assets/songs/satin panties/audio/Inst.mp3 rename to assets/songs/satin panties/song/Inst.mp3 diff --git a/assets/songs/satin panties/audio/Inst.ogg b/assets/songs/satin panties/song/Inst.ogg similarity index 100% rename from assets/songs/satin panties/audio/Inst.ogg rename to assets/songs/satin panties/song/Inst.ogg diff --git a/assets/songs/satin panties/audio/Voices.mp3 b/assets/songs/satin panties/song/Voices.mp3 similarity index 100% rename from assets/songs/satin panties/audio/Voices.mp3 rename to assets/songs/satin panties/song/Voices.mp3 diff --git a/assets/songs/satin panties/audio/Voices.ogg b/assets/songs/satin panties/song/Voices.ogg similarity index 100% rename from assets/songs/satin panties/audio/Voices.ogg rename to assets/songs/satin panties/song/Voices.ogg diff --git a/assets/songs/senpai/audio/Inst.mp3 b/assets/songs/senpai/song/Inst.mp3 similarity index 100% rename from assets/songs/senpai/audio/Inst.mp3 rename to assets/songs/senpai/song/Inst.mp3 diff --git a/assets/songs/senpai/audio/Inst.ogg b/assets/songs/senpai/song/Inst.ogg similarity index 100% rename from assets/songs/senpai/audio/Inst.ogg rename to assets/songs/senpai/song/Inst.ogg diff --git a/assets/songs/senpai/audio/Voices.mp3 b/assets/songs/senpai/song/Voices.mp3 similarity index 100% rename from assets/songs/senpai/audio/Voices.mp3 rename to assets/songs/senpai/song/Voices.mp3 diff --git a/assets/songs/senpai/audio/Voices.ogg b/assets/songs/senpai/song/Voices.ogg similarity index 100% rename from assets/songs/senpai/audio/Voices.ogg rename to assets/songs/senpai/song/Voices.ogg diff --git a/assets/songs/south/audio/Inst.mp3 b/assets/songs/south/song/Inst.mp3 similarity index 100% rename from assets/songs/south/audio/Inst.mp3 rename to assets/songs/south/song/Inst.mp3 diff --git a/assets/songs/south/audio/Inst.ogg b/assets/songs/south/song/Inst.ogg similarity index 100% rename from assets/songs/south/audio/Inst.ogg rename to assets/songs/south/song/Inst.ogg diff --git a/assets/songs/south/audio/Voices.mp3 b/assets/songs/south/song/Voices.mp3 similarity index 100% rename from assets/songs/south/audio/Voices.mp3 rename to assets/songs/south/song/Voices.mp3 diff --git a/assets/songs/south/audio/Voices.ogg b/assets/songs/south/song/Voices.ogg similarity index 100% rename from assets/songs/south/audio/Voices.ogg rename to assets/songs/south/song/Voices.ogg diff --git a/assets/songs/spookeez/audio/Inst.mp3 b/assets/songs/spookeez/song/Inst.mp3 similarity index 100% rename from assets/songs/spookeez/audio/Inst.mp3 rename to assets/songs/spookeez/song/Inst.mp3 diff --git a/assets/songs/spookeez/audio/Inst.ogg b/assets/songs/spookeez/song/Inst.ogg similarity index 100% rename from assets/songs/spookeez/audio/Inst.ogg rename to assets/songs/spookeez/song/Inst.ogg diff --git a/assets/songs/spookeez/audio/Voices.mp3 b/assets/songs/spookeez/song/Voices.mp3 similarity index 100% rename from assets/songs/spookeez/audio/Voices.mp3 rename to assets/songs/spookeez/song/Voices.mp3 diff --git a/assets/songs/spookeez/audio/Voices.ogg b/assets/songs/spookeez/song/Voices.ogg similarity index 100% rename from assets/songs/spookeez/audio/Voices.ogg rename to assets/songs/spookeez/song/Voices.ogg diff --git a/assets/songs/stress/picospeaker.json b/assets/songs/stress/charts/picospeaker.json similarity index 100% rename from assets/songs/stress/picospeaker.json rename to assets/songs/stress/charts/picospeaker.json diff --git a/assets/songs/stress/audio/Inst.mp3 b/assets/songs/stress/song/Inst.mp3 similarity index 100% rename from assets/songs/stress/audio/Inst.mp3 rename to assets/songs/stress/song/Inst.mp3 diff --git a/assets/songs/stress/audio/Inst.ogg b/assets/songs/stress/song/Inst.ogg similarity index 100% rename from assets/songs/stress/audio/Inst.ogg rename to assets/songs/stress/song/Inst.ogg diff --git a/assets/songs/stress/audio/Voices.mp3 b/assets/songs/stress/song/Voices.mp3 similarity index 100% rename from assets/songs/stress/audio/Voices.mp3 rename to assets/songs/stress/song/Voices.mp3 diff --git a/assets/songs/stress/audio/Voices.ogg b/assets/songs/stress/song/Voices.ogg similarity index 100% rename from assets/songs/stress/audio/Voices.ogg rename to assets/songs/stress/song/Voices.ogg diff --git a/assets/songs/test/audio/Inst.mp3 b/assets/songs/test/song/Inst.mp3 similarity index 100% rename from assets/songs/test/audio/Inst.mp3 rename to assets/songs/test/song/Inst.mp3 diff --git a/assets/songs/test/audio/Inst.ogg b/assets/songs/test/song/Inst.ogg similarity index 100% rename from assets/songs/test/audio/Inst.ogg rename to assets/songs/test/song/Inst.ogg diff --git a/assets/songs/test/audio/Voices.mp3 b/assets/songs/test/song/Voices.mp3 similarity index 100% rename from assets/songs/test/audio/Voices.mp3 rename to assets/songs/test/song/Voices.mp3 diff --git a/assets/songs/test/audio/Voices.ogg b/assets/songs/test/song/Voices.ogg similarity index 100% rename from assets/songs/test/audio/Voices.ogg rename to assets/songs/test/song/Voices.ogg diff --git a/assets/songs/thorns/audio/Inst.mp3 b/assets/songs/thorns/song/Inst.mp3 similarity index 100% rename from assets/songs/thorns/audio/Inst.mp3 rename to assets/songs/thorns/song/Inst.mp3 diff --git a/assets/songs/thorns/audio/Inst.ogg b/assets/songs/thorns/song/Inst.ogg similarity index 100% rename from assets/songs/thorns/audio/Inst.ogg rename to assets/songs/thorns/song/Inst.ogg diff --git a/assets/songs/thorns/audio/Voices.mp3 b/assets/songs/thorns/song/Voices.mp3 similarity index 100% rename from assets/songs/thorns/audio/Voices.mp3 rename to assets/songs/thorns/song/Voices.mp3 diff --git a/assets/songs/thorns/audio/Voices.ogg b/assets/songs/thorns/song/Voices.ogg similarity index 100% rename from assets/songs/thorns/audio/Voices.ogg rename to assets/songs/thorns/song/Voices.ogg diff --git a/assets/songs/tutorial/audio/Inst.mp3 b/assets/songs/tutorial/song/Inst.mp3 similarity index 100% rename from assets/songs/tutorial/audio/Inst.mp3 rename to assets/songs/tutorial/song/Inst.mp3 diff --git a/assets/songs/tutorial/audio/Inst.ogg b/assets/songs/tutorial/song/Inst.ogg similarity index 100% rename from assets/songs/tutorial/audio/Inst.ogg rename to assets/songs/tutorial/song/Inst.ogg diff --git a/assets/songs/ugh/audio/Inst.mp3 b/assets/songs/ugh/song/Inst.mp3 similarity index 100% rename from assets/songs/ugh/audio/Inst.mp3 rename to assets/songs/ugh/song/Inst.mp3 diff --git a/assets/songs/ugh/audio/Inst.ogg b/assets/songs/ugh/song/Inst.ogg similarity index 100% rename from assets/songs/ugh/audio/Inst.ogg rename to assets/songs/ugh/song/Inst.ogg diff --git a/assets/songs/ugh/audio/Voices.mp3 b/assets/songs/ugh/song/Voices.mp3 similarity index 100% rename from assets/songs/ugh/audio/Voices.mp3 rename to assets/songs/ugh/song/Voices.mp3 diff --git a/assets/songs/ugh/audio/Voices.ogg b/assets/songs/ugh/song/Voices.ogg similarity index 100% rename from assets/songs/ugh/audio/Voices.ogg rename to assets/songs/ugh/song/Voices.ogg diff --git a/assets/songs/winter horrorland/audio/Inst.mp3 b/assets/songs/winter horrorland/song/Inst.mp3 similarity index 100% rename from assets/songs/winter horrorland/audio/Inst.mp3 rename to assets/songs/winter horrorland/song/Inst.mp3 diff --git a/assets/songs/winter horrorland/audio/Inst.ogg b/assets/songs/winter horrorland/song/Inst.ogg similarity index 100% rename from assets/songs/winter horrorland/audio/Inst.ogg rename to assets/songs/winter horrorland/song/Inst.ogg diff --git a/assets/songs/winter horrorland/audio/Voices.mp3 b/assets/songs/winter horrorland/song/Voices.mp3 similarity index 100% rename from assets/songs/winter horrorland/audio/Voices.mp3 rename to assets/songs/winter horrorland/song/Voices.mp3 diff --git a/assets/songs/winter horrorland/audio/Voices.ogg b/assets/songs/winter horrorland/song/Voices.ogg similarity index 100% rename from assets/songs/winter horrorland/audio/Voices.ogg rename to assets/songs/winter horrorland/song/Voices.ogg diff --git a/build.bat b/build.bat deleted file mode 100644 index d7c39305..00000000 --- a/build.bat +++ /dev/null @@ -1,2 +0,0 @@ -update.bat -haxelib run lime test windows \ No newline at end of file diff --git a/source/flx3d/Flx3DView.hx b/source/flx3d/Flx3DView.hx index 9e38ced0..56e00163 100644 --- a/source/flx3d/Flx3DView.hx +++ b/source/flx3d/Flx3DView.hx @@ -29,6 +29,7 @@ import funkin.windows.WindowsAPI.ConsoleColor; class Flx3DView extends FlxView3D { + var meshes:Array = []; public function new(x:Float = 0, y:Float = 0, width:Int = -1, height:Int = -1) { if (!Flx3DUtil.is3DAvailable()) throw "[Flx3DView] 3D is not available on this platform. Stages in use: " + Flx3DUtil.getTotal3D() + ", Max stages allowed: " + FlxG.stage.stage3Ds.length + "."; @@ -61,6 +62,7 @@ class Flx3DView extends FlxView3D { var mesh:Mesh = cast(event.asset, Mesh); if (material != null) mesh.material = material; + meshes.push(mesh); } callback(event); }); @@ -118,6 +120,9 @@ class Flx3DView extends FlxView3D { override function destroy() { super.destroy(); + if (meshes != null) + for(mesh in meshes) + mesh.dispose(); } public inline function addChild(c) diff --git a/source/funkin/system/Paths.hx b/source/funkin/system/Paths.hx index 2ce1c482..f2cf77a6 100644 --- a/source/funkin/system/Paths.hx +++ b/source/funkin/system/Paths.hx @@ -110,14 +110,14 @@ class Paths inline static public function voices(song:String, difficulty:String = "normal") { - var diff = getPath('songs/${song.toLowerCase()}/audio/Voices-$difficulty.$SOUND_EXT', MUSIC, null); - return OpenFlAssets.exists(diff) ? diff : getPath('songs/${song.toLowerCase()}/audio/Voices.$SOUND_EXT', MUSIC, null); + var diff = getPath('songs/${song.toLowerCase()}/song/Voices-$difficulty.$SOUND_EXT', MUSIC, null); + return OpenFlAssets.exists(diff) ? diff : getPath('songs/${song.toLowerCase()}/song/Voices.$SOUND_EXT', MUSIC, null); } inline static public function inst(song:String, difficulty:String = "normal") { - var diff = getPath('songs/${song.toLowerCase()}/audio/Inst-$difficulty.$SOUND_EXT', MUSIC, null); - return OpenFlAssets.exists(diff) ? diff : getPath('songs/${song.toLowerCase()}/audio/Inst.$SOUND_EXT', MUSIC, null); + var diff = getPath('songs/${song.toLowerCase()}/song/Inst-$difficulty.$SOUND_EXT', MUSIC, null); + return OpenFlAssets.exists(diff) ? diff : getPath('songs/${song.toLowerCase()}/song/Inst.$SOUND_EXT', MUSIC, null); } inline static public function image(key:String, ?library:String, checkForAtlas:Bool = false)