Don't let the OSD mode switch the performance overlay off at boot - #8
Open
Zulux91 wants to merge 1 commit into
Open
Don't let the OSD mode switch the performance overlay off at boot#8Zulux91 wants to merge 1 commit into
Zulux91 wants to merge 1 commit into
Conversation
Two things end up writing the same config node. RPCS3 has its own Performance Overlay switch, in OverlayTab and the in-game menu, both writing ps3.overlayEnabled. ARMSX2 has its twelve per-stat osdShow* flags, and osdApplyFlags derives Enabled purely from those, all of which default to off. So it pushed Enabled=false right over the switch. Boot order decided the winner. MainActivityRuntime calls applyTo(), which pushes the switch, and then applyStoredOsdMode() one line later, which pushes the flags. Turning the overlay on in settings did nothing at all. Only that one key was affected, because osdApplyFlags returns as soon as it sees nothing enabled and never reaches the graph, font size and opacity settings. That is why config.yml held the user's values for those while Enabled sat at false. Re-assert the switch after the flags have been applied. Scoped to the Custom path, since that is the mode that reads saved settings and the one that runs at boot. Full and Min pass explicit flags, and Off is meant to be off.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two things end up writing the same config node. RPCS3 has its own Performance Overlay switch, in OverlayTab and the in-game menu, both writing ps3.overlayEnabled. ARMSX2 has its twelve per-stat osdShow* flags, and osdApplyFlags derives Enabled purely from those, all of which default to off. So it pushed Enabled=false right over the switch.
Boot order decided the winner. MainActivityRuntime calls applyTo(), which pushes the switch, and then applyStoredOsdMode() one line later, which pushes the flags. Turning the overlay on in settings did nothing at all.
Only that one key was affected, because osdApplyFlags returns as soon as it sees nothing enabled and never reaches the graph, font size and opacity settings. That is why config.yml held the user's values for those while Enabled sat at false.
Re-assert the switch after the flags have been applied. Scoped to the Custom path, since that is the mode that reads saved settings and the one that runs at boot. Full and Min pass explicit flags, and Off is meant to be off.