From 0274877defb9c5d325e028f50353da037a115553 Mon Sep 17 00:00:00 2001
From: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Date: Sat, 30 Mar 2024 12:49:52 +0100
Subject: [PATCH] [Core] Fix `ResourceLoader.load` cache with relative paths

Paths were not simplified meaning that `res://foo.bar` was treated
differently from `./foo.bar` and similar
---
 core/io/resource_loader.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp
index ff563a35b2d..191abee3151 100644
--- a/core/io/resource_loader.cpp
+++ b/core/io/resource_loader.cpp
@@ -402,7 +402,7 @@ static String _validate_local_path(const String &p_path) {
 	if (uid != ResourceUID::INVALID_ID) {
 		return ResourceUID::get_singleton()->get_id_path(uid);
 	} else if (p_path.is_relative_path()) {
-		return "res://" + p_path;
+		return ("res://" + p_path).simplify_path();
 	} else {
 		return ProjectSettings::get_singleton()->localize_path(p_path);
 	}