diff --git a/AssetStudio/AssetsManager.cs b/AssetStudio/AssetsManager.cs index ae73a49..5c95268 100644 --- a/AssetStudio/AssetsManager.cs +++ b/AssetStudio/AssetsManager.cs @@ -242,7 +242,7 @@ namespace AssetStudio catch (Exception e) { Logger.Error($"Error while reading assets file {reader.FullPath} from {Path.GetFileName(originalPath)}", e); - resourceFileReaders.Add(reader.FileName, reader); + resourceFileReaders.TryAdd(reader.FileName, reader); } } else @@ -269,7 +269,7 @@ namespace AssetStudio else { Logger.Verbose("Caching resource stream"); - resourceFileReaders[file.fileName] = subReader; //TODO + resourceFileReaders.TryAdd(file.fileName, subReader); //TODO } } } @@ -315,7 +315,7 @@ namespace AssetStudio break; case FileType.ResourceFile: Logger.Verbose("Caching resource stream"); - resourceFileReaders[file.fileName] = subReader; //TODO + resourceFileReaders.TryAdd(file.fileName, subReader); //TODO break; } } @@ -407,11 +407,8 @@ namespace AssetStudio if (entryReader.FileType == FileType.ResourceFile) { entryReader.Position = 0; - if (!resourceFileReaders.ContainsKey(entry.Name)) - { - Logger.Verbose("Caching resource file"); - resourceFileReaders.Add(entry.Name, entryReader); - } + Logger.Verbose("Caching resource file"); + resourceFileReaders.TryAdd(entry.Name, entryReader); } } catch (Exception e) @@ -525,7 +522,7 @@ namespace AssetStudio else { Logger.Verbose("Caching resource stream"); - resourceFileReaders[file.fileName] = cabReader; //TODO + resourceFileReaders.TryAdd(file.fileName, cabReader); //TODO } } } @@ -568,7 +565,7 @@ namespace AssetStudio else { Logger.Verbose("Caching resource stream"); - resourceFileReaders[file.fileName] = cabReader; //TODO + resourceFileReaders.TryAdd(file.fileName, cabReader); //TODO } } } diff --git a/AssetStudio/Classes/Shader.cs b/AssetStudio/Classes/Shader.cs index f86fa67..9ad7b0f 100644 --- a/AssetStudio/Classes/Shader.cs +++ b/AssetStudio/Classes/Shader.cs @@ -587,8 +587,8 @@ namespace AssetStudio public List m_UAVParams; public List m_Samplers; - public static bool HasGlobalLocalKeywordIndices(SerializedType type) => type.Match("E99740711222CD922E9A6F92FF1EB07A", "450A058C218DAF000647948F2F59DA6D", "B239746E4EC6E4D6D7BA27C84178610A"); - public static bool HasInstancedStructuredBuffers(SerializedType type) => type.Match("E99740711222CD922E9A6F92FF1EB07A", "B239746E4EC6E4D6D7BA27C84178610A"); + public static bool HasGlobalLocalKeywordIndices(SerializedType type) => type.Match("E99740711222CD922E9A6F92FF1EB07A", "450A058C218DAF000647948F2F59DA6D", "B239746E4EC6E4D6D7BA27C84178610A", "3FD560648A91A99210D5DDF2BE320536"); + public static bool HasInstancedStructuredBuffers(SerializedType type) => type.Match("E99740711222CD922E9A6F92FF1EB07A", "B239746E4EC6E4D6D7BA27C84178610A", "3FD560648A91A99210D5DDF2BE320536"); public static bool HasIsAdditionalBlob(SerializedType type) => type.Match("B239746E4EC6E4D6D7BA27C84178610A"); public SerializedSubProgram(ObjectReader reader) diff --git a/AssetStudio/ResourceReader.cs b/AssetStudio/ResourceReader.cs index a717111..fb107a7 100644 --- a/AssetStudio/ResourceReader.cs +++ b/AssetStudio/ResourceReader.cs @@ -53,7 +53,7 @@ namespace AssetStudio { needSearch = false; reader = new BinaryReader(File.OpenRead(resourceFilePath)); - assetsFile.assetsManager.resourceFileReaders.Add(resourceFileName, reader); + assetsFile.assetsManager.resourceFileReaders.TryAdd(resourceFileName, reader); return reader; } throw new FileNotFoundException($"Can't find the resource file {resourceFileName}");