Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix VFS regression #10914

Merged
merged 4 commits into from
Sep 25, 2021
Merged

Fix VFS regression #10914

merged 4 commits into from
Sep 25, 2021

Conversation

Megamouse
Copy link
Contributor

A recent PR introduced a new config path emu member.

  • This new logic that solely relied on the path introduced a bug that caused games, which primarily use loaders, to skip loading the global config which contains the crucial VFS settings.
  • The second issue was that manually selected shared configs also acted as an override, which also skipped the VFS settings. This obviously isn't what the user wants.

In the future we should detach VFS and similar global settings from the regular config file to prevent this issue from happening.
But for now this shall act as an alternative (and hotfix as is).

Hopefully fixes #10862
Fixes #10867 (at least the idea behind it)

@Megamouse Megamouse added Bugfix Filesystem Loader Involving the load of PS3 file formats labels Sep 22, 2021
@Megamouse Megamouse force-pushed the ovelalalalalaa branch 3 times, most recently from 2756a7a to 22d483d Compare September 22, 2021 21:02
@@ -101,6 +101,24 @@ void fmt_class_string<game_boot_result>::format(std::string& out, u64 arg)
});
}

template<>
void fmt_class_string<cfg_mode>::format(std::string& out, u64 arg)
Copy link
Contributor

@elad335 elad335 Sep 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's wrong with keeping all logic in m_config_path? Because std::string is usually defined everywhere it can be used in headers which do not include System.h very cleany.
Formatting is implicitly declated and it is one less argument passed to BootGame.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the flip side, this is cleaner. Encoding settings in a config path and having special interpretation of strings is not the best approach. This approach is more explicit about what is going on which is easier to maintain when the team inevitably changes in the future.

@elad335 elad335 mentioned this pull request Sep 23, 2021
@elad335
Copy link
Contributor

elad335 commented Sep 23, 2021

I think this pr can be rewritten to remove ability to control VFS from manully selected comfig. I do not see a good reason behind this rewrite except maybe renaming some modes and other stuff.

@Megamouse
Copy link
Contributor Author

Everything you asked or recommended was addressed in the description

rpcs3/Emu/vfs_config.cpp Outdated Show resolved Hide resolved
@kd-11 kd-11 merged commit 269c460 into RPCS3:master Sep 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bugfix Filesystem Loader Involving the load of PS3 file formats
Projects
None yet
3 participants