From 491e5df430e74c8e391ad905faf9042b21a554a8 Mon Sep 17 00:00:00 2001 From: Ralty <78720179+Raltyro@users.noreply.github.com> Date: Sat, 28 Mar 2026 17:39:06 +0700 Subject: [PATCH] Temporary commit --- assets/shaders/engine/editorWaveforms.frag | 18 ++++++++++++++++-- project.xml | 2 +- .../funkin/backend/assets/AssetsLibraryList.hx | 11 +++++++++++ source/funkin/backend/assets/Paths.hx | 2 +- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/assets/shaders/engine/editorWaveforms.frag b/assets/shaders/engine/editorWaveforms.frag index c65452dc..1f6d448b 100644 --- a/assets/shaders/engine/editorWaveforms.frag +++ b/assets/shaders/engine/editorWaveforms.frag @@ -1,6 +1,5 @@ #pragma header - -// Used in charter by waveforms +#version 120 // this shader doesnt require expensive calculations const vec3 gradient1 = vec3(114.0/255.0, 81.0/255.0, 135.0/255.0); const vec3 gradient2 = vec3(144.0/255.0, 80.0/255.0, 186.0/255.0); @@ -18,6 +17,21 @@ uniform vec2 waveformSize; uniform bool lowDetail; +float catmullRom( + float p0, float p1, float p2, float p3, + float t +) { + float t2 = t * t; + float t3 = t2 * t; + + return 0.5 * ( + (2.0 * p1) + + (-p0 + p2) * t + + (2.0*p0 - 5.0*p1 + 4.0*p2 - p3) * t2 + + (-p0 + 3.0*p1 - 3.0*p2 + p3) * t3 + ); +} + float getAmplitude(vec2 pixel) { float pixelID = floor((pixel.y+pixelOffset)/3.0); diff --git a/project.xml b/project.xml index e26587b5..6ad26e84 100644 --- a/project.xml +++ b/project.xml @@ -82,7 +82,7 @@ title="Friday Night Funkin' - Codename Engine" file="CodenameEngine" packageName="com.yoshman29.codenameengine" package="com.yoshman29.codenameengine" - version="1.0.1" company="Yoshman29"/> + version="1.0.2" company="Yoshman29"/> diff --git a/source/funkin/backend/assets/AssetsLibraryList.hx b/source/funkin/backend/assets/AssetsLibraryList.hx index 36204138..e6247d49 100644 --- a/source/funkin/backend/assets/AssetsLibraryList.hx +++ b/source/funkin/backend/assets/AssetsLibraryList.hx @@ -19,6 +19,8 @@ class AssetsLibraryList extends AssetLibrary { public var transLib:TranslatedAssetLibrary; #end + private var cachePaths:Map = []; + public function removeLibrary(lib:AssetLibrary) { if (lib != null) { libraries.remove(lib); @@ -42,9 +44,17 @@ class AssetsLibraryList extends AssetLibrary { public function existsSpecific(id:String, type:String, source:AssetSource = BOTH) { if (!id.startsWith("assets/") && existsSpecific('assets/$id', type, source)) return true; + + // There's a mod that heavily relies on addons and that can causes lags just to get a path. + if (cachePaths.exists(id)) { + if (cachePaths.get(id).exists(id, type)) return true; + else cachePaths.remove(id); + } + for(k=>l in libraries) { if (shouldSkipLib(l, source)) continue; if (l.exists(id, type)) { + cachePaths.set(id, l); return true; } } @@ -186,6 +196,7 @@ class AssetsLibraryList extends AssetLibrary { public function reset() { unloadLibraries(); + cachePaths.clear(); libraries = []; // adds default libraries in again diff --git a/source/funkin/backend/assets/Paths.hx b/source/funkin/backend/assets/Paths.hx index 3b2fe26d..31d5eb6a 100644 --- a/source/funkin/backend/assets/Paths.hx +++ b/source/funkin/backend/assets/Paths.hx @@ -194,7 +194,7 @@ class Paths return FlxAtlasFrames.fromAseprite('$key.${ext != null ? ext : Flags.IMAGE_EXT}', '$key.json'); inline static public function getAssetsRoot():String - return ModsFolder.currentModFolder != null ? '${ModsFolder.modsPath}${ModsFolder.currentModFolder}' : #if (sys && TEST_BUILD) './${Main.pathBack}assets/' #else './assets' #end; + return ModsFolder.currentModFolder != null ? '${ModsFolder.modsPath}${ModsFolder.currentModFolder}' : #if (sys && TEST_BUILD) './${Main.pathBack}assets/' #else './assets' #end; /** * Gets frames at specified path.