An unofficial PC port of the Xbox 360 version of Sonic Unleashed created through the process of static recompilation.
Find a file
Skyth (Asilkan) a397a90551
Mod loader implementation. (#66)
* 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.
2024-12-31 20:20:07 +03:00
flatpak Linux support. (#54) 2024-12-21 00:44:05 +03:00
thirdparty Implement frame limiter. (#60) 2024-12-22 19:58:06 +03:00
toolchains Linux support. (#54) 2024-12-21 00:44:05 +03:00
tools Update submodules. 2024-12-21 00:52:37 +03:00
UnleashedRecomp Mod loader implementation. (#66) 2024-12-31 20:20:07 +03:00
UnleashedRecompLib Sync render thread present with main thread. (#62) 2024-12-25 16:29:15 +03:00
UnleashedRecompResources@d95ba20a3b Implemented master volume slider 2024-12-25 21:17:40 +00:00
.editorconfig Initial Commit 2024-09-30 13:45:09 +06:00
.gitignore git: move ignore rule for ./res/win32/ to res directory 2024-11-15 02:22:44 +00:00
.gitmodules Implement frame limiter. (#60) 2024-12-22 19:58:06 +03:00
CMakeLists.txt Linux support. (#54) 2024-12-21 00:44:05 +03:00
CMakePresets.json Linux support. (#54) 2024-12-21 00:44:05 +03:00
README.md Update README.md. 2024-11-01 16:48:35 +03:00
update_submodules.bat Update submodule script to pull current commit submodules 2024-12-21 02:57:56 +00:00
vcpkg.json Linux support. (#54) 2024-12-21 00:44:05 +03:00

UnleashedRecomp

Building

  1. Clone UnleashedRecomp with submodules (or run update_submodules.bat to ensure submodules are pulled).
git clone --recurse-submodules https://github.com/hedge-dev/UnleashedRecomp.git
  1. Decompress and decrypt default.xex, apply the title update patch (default.xexp), and place the resulting file in ./UnleashedRecompLib/private/.
  2. Decompress shader.ar and place the resulting file in ./UnleashedRecompLib/private/.
  3. Open the repository directory in Visual Studio 2022 (not Preview) and wait for CMake generation to complete. If you don't plan to debug, switch to the x64-Clang-Release configuration.
  4. Under Solution Explorer, right-click and choose "Switch to CMake Targets View".
  5. Right-click the UnleashedRecomp project and choose "Set as Startup Item", then choose "Add Debug Configuration".
  6. Add a currentDir property to the first element under configurations in the generated JSON and set its value to the path to your game directory (where root is the directory containing dlc, game, save, update, etc).
  7. Run or debug UnleashedRecomp. The initial compilation might take a while to complete due to code and shader recompilation.