mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2025-10-30 07:11:05 +00:00
* Initial mod loader implementation. * Allow iterating in mod directories. * Initial append archive implementation. * Avoid calling function wrappers when loading append ARs. For some reason they cause issues. Should investigate later. * UMM merge archive support. * Load merge archives without archive lists. * Less thread locals. I shouldn't worry about string allocations this much when the game itself spams them... * Check for read-only UMM archives. TODO: Skip merging as it's currently just doing duplicate loads. * Skip loading merge archives if they are read-only. * Merge only archives. * Implement decompression. * Fix append ARLs not loading. * Initial save file redirection implementation. * Slightly refactor resolved path usage. * Implement save file redirection fallback. * Set a default save file path if none is provided. * Check for enabled option & replace backward slashes with forward ones in mod save file paths. * Convert back slashes to forward ones when iterating directories. * Make CSB limit dynamic. * Cache append/merge archive lookups. * Close stream after reading compressed ARL. * Fix UMM/HMM ARL file path inconsistency.
59 lines
1 KiB
C++
59 lines
1 KiB
C++
#pragma once
|
|
|
|
#define NOMINMAX
|
|
|
|
#if defined(_WIN32)
|
|
#include <windows.h>
|
|
#include <ShlObj_core.h>
|
|
#include <wrl/client.h>
|
|
|
|
using Microsoft::WRL::ComPtr;
|
|
#elif defined(__linux__)
|
|
#include <unistd.h>
|
|
#include <pwd.h>
|
|
#endif
|
|
|
|
#ifdef SWA_D3D12
|
|
#include <dxcapi.h>
|
|
#endif
|
|
|
|
#include <algorithm>
|
|
#include <mutex>
|
|
#include <filesystem>
|
|
#include <fstream>
|
|
#include <vector>
|
|
#include <string>
|
|
#include <cassert>
|
|
#include <chrono>
|
|
#include <span>
|
|
#include <xbox.h>
|
|
#include <xxhash.h>
|
|
#include <ankerl/unordered_dense.h>
|
|
#include <ddspp.h>
|
|
#include <ppc/ppc_recomp_shared.h>
|
|
#include <toml++/toml.hpp>
|
|
#include <zstd.h>
|
|
#include <stb_image.h>
|
|
#include <blockingconcurrentqueue.h>
|
|
#include <SDL.h>
|
|
#include <SDL_mixer.h>
|
|
#include <imgui.h>
|
|
#include <imgui_internal.h>
|
|
#include <implot.h>
|
|
#include <backends/imgui_impl_sdl2.h>
|
|
#include <o1heap.h>
|
|
#include <cstddef>
|
|
#include <smolv.h>
|
|
#include <set>
|
|
#include <fmt/core.h>
|
|
#include <list>
|
|
#include <semaphore>
|
|
#include <numeric>
|
|
#include <charconv>
|
|
|
|
#include "framework.h"
|
|
#include "mutex.h"
|
|
|
|
#ifndef _WIN32
|
|
#include <sys/mman.h>
|
|
#endif
|