From 345147936206381ca35486ad186718446e7581e9 Mon Sep 17 00:00:00 2001 From: Tyler Wilding Date: Wed, 15 Jul 2026 19:09:22 -0400 Subject: [PATCH] decomp: stash changes --- decompiler/data/TextureDB.cpp | 2 +- decompiler/data/TextureDB.h | 10 ++++++++++ decompiler/decompilation_process.cpp | 3 +-- decompiler/level_extractor/extract_level.cpp | 1 - 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/decompiler/data/TextureDB.cpp b/decompiler/data/TextureDB.cpp index a27b7aefac..5d0424883a 100644 --- a/decompiler/data/TextureDB.cpp +++ b/decompiler/data/TextureDB.cpp @@ -9,7 +9,7 @@ namespace decompiler { -TextureDB::TextureDB() : replacement_cache(TextureLRUCache(25)) { +TextureDB::TextureDB() : replacement_cache(TextureLRUCache(50)) { std::vector data(16 * 16, 0xffffffff); add_texture(kPlaceholderWhiteTexturePage, kPlaceholderWhiteTextureId, data, 16, 16, "placeholder-white", "placeholder", {}, 1, 0); diff --git a/decompiler/data/TextureDB.h b/decompiler/data/TextureDB.h index f27b47638a..c944fd65be 100644 --- a/decompiler/data/TextureDB.h +++ b/decompiler/data/TextureDB.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include #include @@ -26,10 +27,18 @@ struct TextureLRUCache { size_t capacity; List entries; // front = most recently used std::unordered_map lookup; + std::mutex mutex; TextureLRUCache(size_t capacity) : capacity(capacity) {} + void clear() { + std::lock_guard lock(mutex); + entries.clear(); + lookup.clear(); + } + ResolvedTextureData* get(u32 id) { + std::lock_guard lock(mutex); auto it = lookup.find(id); if (it == lookup.end()) { return nullptr; @@ -39,6 +48,7 @@ struct TextureLRUCache { } void put(u32 id, ResolvedTextureData data) { + std::lock_guard lock(mutex); auto it = lookup.find(id); if (it != lookup.end()) { it->second->second = std::move(data); diff --git a/decompiler/decompilation_process.cpp b/decompiler/decompilation_process.cpp index 90e2353e35..e842509230 100644 --- a/decompiler/decompilation_process.cpp +++ b/decompiler/decompilation_process.cpp @@ -358,8 +358,7 @@ std::unique_ptr handle_textures(Config config, tex_db->merge_textures(texture_merge_path); } - auto replacements_path = file_util::get_jak_project_dir() / "custom_assets" / - game_version_names[config.game_version] / "texture_replacements"; + auto replacements_path = "E:\\awful_texture_pack\\"; // DONT MERGE if (fs::exists(replacements_path)) { tex_db->replace_textures(replacements_path); } diff --git a/decompiler/level_extractor/extract_level.cpp b/decompiler/level_extractor/extract_level.cpp index d768a22c27..055b1249ee 100644 --- a/decompiler/level_extractor/extract_level.cpp +++ b/decompiler/level_extractor/extract_level.cpp @@ -1,7 +1,6 @@ #include "extract_level.h" #include -#include #include "extract_anim.h"