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.