mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2025-04-28 13:27:58 +03:00
Implement hacky fix for some update files not loading. (#1327)
Some checks failed
validate-internal / build (push) Failing after 14m53s
Some checks failed
validate-internal / build (push) Failing after 14m53s
This commit is contained in:
parent
bd589ed641
commit
2344a6f10d
1 changed files with 11 additions and 1 deletions
|
@ -383,7 +383,17 @@ std::filesystem::path FileSystem::ResolvePath(const std::string_view& path, bool
|
||||||
if (index != std::string::npos)
|
if (index != std::string::npos)
|
||||||
{
|
{
|
||||||
// rooted folder, handle direction
|
// rooted folder, handle direction
|
||||||
const std::string_view root = path.substr(0, index);
|
std::string_view root = path.substr(0, index);
|
||||||
|
|
||||||
|
// HACK: The game tries to load work folder from the "game" root path for
|
||||||
|
// Application and shader archives, which does not work in Recomp because
|
||||||
|
// we don't support stacking the update and game files on top of each other.
|
||||||
|
//
|
||||||
|
// We can fix it by redirecting it to update instead as we know the original
|
||||||
|
// game files don't have a work folder.
|
||||||
|
if (path.starts_with("game:\\work\\"))
|
||||||
|
root = "update";
|
||||||
|
|
||||||
const auto newRoot = XamGetRootPath(root);
|
const auto newRoot = XamGetRootPath(root);
|
||||||
|
|
||||||
if (!newRoot.empty())
|
if (!newRoot.empty())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue