* Remove m_current_choice, it's not correct to rely on thread name entry. In extreme corner cases a newly thread can be created, old destroyed with the same entry name. (reoccuring LV2 SPU/PPU ID)
* Remove m_no_thread_selected, can be easily replaced with std::weak_ptr expired() function and is more accurate this way.
* In HandleBreakpointRequest: only remove breakpoint on valid PPU thread and not any thread! also fix potential nullptr deref if thread has recently been destroyed.
* SPU Debugger: Fix try_get_insert_mask_info
* Debugger: Always update thread state on context's data change
No longer needing to press on thread's instructions for actions to work!
A few more items:
Standardising on 'OK' for all base language uses (rather than 'Ok', or 'Okay').
It's perceived as the 'most correct' variant, and importantly having a single variant is best from a translation perspective.
Added plurality handling for multiple PPU caches created.
Added plurality handling for multiple items deleted in save manager.
Capitalised trophy grade to align with Sony terminology.
Brought trophy name position into translatable string (for languages that might really want to deviate from SVO)
Remove "atomic operator" classes
Remove test, test_and_set, test_and_reset, test_and_complement global functions
Simplify atomic_t<> with constexpr if, remove some garbage
Redesign bs_t<> to use class, mark its methods constexpr
Implement atomic_bs_t<> for optimizations
Remove unused __bitwise_ops concept (should be in other header anyway)
Bitsets can now be tested via safe bool conversion
* Improve debugger
* Added 'Step Over' functionality
* Added special SPU pause functionality that pauses the SPU thread when the tag mask is at 0x80000000 by holding ctrl while pausing
* Go to address dialog now evaluates expressions, including defined variables such as pc, r1, r2, etc
* Requires QtScript to be linked with the project
* Made the option to center shown addresses (Go to addr/pc) optional by making it an entry in the GUI ini config
* Shown addresses now appear 'selected'
* New keyboard shortcuts!
- Ctrl+G -> Go to address
- F10 -> Step Over
- F11 -> Step (Into)
* Trophy: Save dialog state and add show type settings
* SaveDataManager: Save Dialog State
* SaveDataList: Minor Optimization
* Qt: Save icon size on mouseevent resizes
it's a bit slower than using the slider because it saves every single resize. But better than not saving at all for now
* SaveData: Optimize saving to settings a bit
No Saving needed there
* Qt: get rid of all-uppercase enums and namespaces
* Qt/Linux: adjust remaining DX12 tooltip
* Qt: prevent dockwidget contextmenu
Added a list widget that displays all the currently active breakpoints. You can rename each one for convenience, delete them in bulk, or double click to jump to that address.
As soon as I tried the debugger, i wanted to move it to the middle almost instantly. Checked the code and found it sitting right here but commented out. Why? This is awesome.