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
DolphinQt: add ability to lock / freeze values in the watches window #11365
DolphinQt: add ability to lock / freeze values in the watches window #11365
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
… be executed each frame
9fd8cff
to
90b0854
Compare
… we're already on the cpu thread
90b0854
to
c62ed99
Compare
…add a memory location found in a cheat search to be added to the watch list
…e (used during locking)
c62ed99
to
31bf9d0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one tiny nit
Source/Core/Core/PatchEngine.cpp
Outdated
| @@ -257,6 +262,15 @@ static void ApplyPatches(const std::vector<Patch>& patches) | |||
| } | |||
| } | |||
|
|
|||
| static void ApplyMemoryPatches(const std::vector<std::size_t>& memory_patch_indices) | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I forget if we're completely over to C++20, but if we are, perhaps make this a std::span
| static void ApplyMemoryPatches(const std::vector<std::size_t>& memory_patch_indices) | |
| static void ApplyMemoryPatches(std::span<const std::size_t> memory_patch_indices) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. I'll try and see if buildbot complains :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you want to change this, or...?
Was looking to find some values in memory for a new feature I'm working on. I wanted the ability to lock the value so I could see if I found the right one. To my dismay, the feature wasn't available. Looking at #9886 I see that the solution was broken and therefore removed.
I decided to take a stab at implementing it. I feel like there are too many interfaces for interacting with patches and would prefer to consolidate them but didn't want to do anything too heavy handed at the moment. So this PR adds a way for
PatchEngineto apply memory patches on each frame.This adds the ability to lock/freeze values to the watches window. It also allows multi-selection for easy deletion and lock/unlocking of values. Finally, it adds an 'Add to Watch' option to the cheat search, so you don't have to go through the memory view