v1.1.0
Added:
-
Lazy Loading: Removed the heavy CacheAllFunctions scan at startup. Exports are now resolved via GetProcAddress and cached only on demand (when requested). This drastically improves injection speed and reduces memory usage.
-
Thread Safety: Implemented std::shared_mutex (Read-Write Lock). The resolver is now fully thread-safe, allowing multiple threads to query addresses simultaneously without race conditions or game crashes.
-
True Header-Only: Modernized to C++17. Utilized inline static variables to fix linker errors (e.g., LNK2005/LNK1169 - multiple definition) when including the header in multiple source files.
-
Auto-Resolution: Refactored initialization. The resolver automatically acquires the GameAssembly.dll handle upon the first call, making manual initialization optional.
-
⚠️ Project must be compiled with C++17 standard (/std:c++17) or higher.