An unofficial PC port of the Xbox 360 version of Sonic Unleashed created through the process of static recompilation.
Find a file
Skyth (Asilkan) d36aa26bac
Specialization constants, reverse Z and async PSO implementation. (#9)
* Specialization constant implementation for Vulkan.

* Implement DXIL library linking.

* Implement proper reverse Z & fix motion blur flicker.

* Mirage API mapping.

* Initial work for async PSO.

* Further async PSO work.

* Set pipeline names.

* Handle special layers writing depth.

* Handle bones in shadow pipeline.

* Fix additive mode setting wrong pipeline field.

* Pass models to compilation threads through shared pointers.

* Safety improvements.

* Allow DXIL linking to happen in parallel.

* Display more debug information.

* Queue unique models for compilation immediately.

* Put async PSO debug printing behind a macro.

* Kick off terrain models to pipeline compilation thread the moment they are made.

* Hook a different function to do waiting in.

* Fix pipelines getting dropped.

* Account for ConstTexCoord.

* Fix async PSO accounting for alpha to coverage even when MSAA is off.

* Remove "has bone" specialization constant.

* Sky shader compilation & more debugging helpers.

* Assign names to shaders during loading.

* Fix string symbol definitions.

* Print description of recently compiled render thread pipelines.

* Switch to an enum library that doesn't murder IntelliSense.

* Precompile pipelines for object icons.

* Skip fur pipelines.

* Skip printing info for pipelines compiled during loading.

* Precompile pipelines for Sonic's mouth, motion blur, and forced transparent objects.

* Precompile planar reflection shaders.

* Precompile sparkle shaders in loading screens.

* Precompile fur shader.

* Refactor model traversing to enqueue every single compilation to worker threads.

* Dynamically create pipeline threads depending on hardware concurrency.

* Fix MSAA depth resolve not accounting for reverse Z.

* Integrate smol-v.

* Implement PSO caching.

* Update ShaderRecomp & remove unused function.
2024-11-29 23:30:48 +03:00
thirdparty Specialization constants, reverse Z and async PSO implementation. (#9) 2024-11-29 23:30:48 +03:00
UnleashedRecomp Specialization constants, reverse Z and async PSO implementation. (#9) 2024-11-29 23:30:48 +03:00
UnleashedRecompLib Specialization constants, reverse Z and async PSO implementation. (#9) 2024-11-29 23:30:48 +03: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 MSAA properly for Vulkan. 2024-10-19 22:22:09 +03:00
CMakeLists.txt Window: add game icon and window events 2024-10-17 17:51:17 +01:00
CMakePresets.json Remove vendor parameter from CMakePresets.json that breaks IntelliSense. 2024-11-24 16:53:18 +03:00
README.md Update README.md. 2024-11-01 16:48:35 +03:00
update_submodules.bat Update PowerRecomp submodule 2024-10-17 16:07:53 +01:00
vcpkg.json Specialization constants, reverse Z and async PSO implementation. (#9) 2024-11-29 23:30:48 +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.