From a7d9b9c8dd0b4402ad4890678624ec1135839f9c Mon Sep 17 00:00:00 2001 From: morkt Date: Thu, 7 Sep 2023 12:30:14 +0400 Subject: [PATCH] (FileExists): check filename without directory first. --- GameRes/FileSystem.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/GameRes/FileSystem.cs b/GameRes/FileSystem.cs index 534dc61c..0fa33e6d 100644 --- a/GameRes/FileSystem.cs +++ b/GameRes/FileSystem.cs @@ -263,7 +263,9 @@ namespace GameRes public bool FileExists (string filename) { - return m_dir.ContainsKey (CombinePath (CurrentDirectory, filename)); + return m_dir.ContainsKey (filename) + || !string.IsNullOrEmpty (CurrentDirectory) + && m_dir.ContainsKey (CombinePath (CurrentDirectory, filename)); } public Stream OpenStream (Entry entry) @@ -408,6 +410,8 @@ namespace GameRes Entry entry = null; if (m_dir.TryGetValue (filename, out entry)) return entry; + if (m_dir.TryGetValue (CombinePath (CurrentDirectory, filename), out entry)) + return entry; var dir_name = filename + PathDelimiter; if (m_dir.Keys.Any (n => n.StartsWith (dir_name))) return new SubDirEntry (filename);