Commit Graph

340 Commits

Author SHA1 Message Date
8235c38df7 Debugger: Small other cleanup
Change misleading names.
Fix function usage: Intepreter and Step Out will not check breakpoints in their own wrong way anymore (e.g. breaking on log-only breakpoints).
2024-07-02 18:29:42 +02:00
9aeeea3762 Debugger: Small Breakpoint cleanup
Reuse more code, change misleading names, remove useless documentation, add useful documentation
2024-07-02 18:29:42 +02:00
bc67fc97c3 Revert "Audit uses of IsRunning and GetState"
This reverts commit 72cf2bdb87.

SYSCONF settings are getting cleared when they shouldn't be. Let's
revert the change until I get proper time to figure out why it's broken.
2024-06-26 20:36:46 +02:00
9b33b777cf Merge pull request #12828 from JosJuice/unify-state-variables-2
Clean up Core::GetState
2024-06-22 20:20:54 +02:00
72cf2bdb87 Audit uses of IsRunning and GetState
Some pieces of code are calling IsRunning because there's some
particular action that only makes sense when emulation is running, for
instance showing the state of the emulated CPU. IsRunning is appropriate
to use for this. Then there are pieces of code that are calling
IsRunning because there's some particular thing they must avoid doing
e.g. when the CPU thread is running or IOS is running. IsRunning isn't
quite appropriate for this. Such code should also be checking for the
states Starting and Stopping. Keep in mind that:

* When the state is Starting, the state can asynchronously change to
  Running at any time.
* When we try to stop the core, the state gets set to Stopping before we
  take any action to actually stop things.

This commit adds a new method Core::IsUninitialized, and changes all
callers of IsRunning and GetState that look to me like they should be
changed.
2024-06-21 20:52:55 +02:00
69fc754c65 Merge pull request #12799 from mitaclaw/branch-watch-tool-fixes-3
Branch Watch Tool: Add Set Breakpoints Submenu
2024-06-17 22:36:04 +02:00
eb26937a93 Branch Watch Tool: Add Set Breakpoints Submenu 2024-06-16 20:46:56 -07:00
8050760fe9 BranchWatchTableModel: Assume Unreachable Code Truly Is 2024-06-05 19:59:39 -07:00
7dc0bdd5df BranchWatchProxyModel: Avoid String Copies In filterAcceptsRow 2024-06-05 19:59:39 -07:00
cf6a392979 Branch Watch Tool: Smarter Context Menu
Also, right-clicking the table's scroll area when all columns are hidden will show the column visibility menu.
2024-06-01 07:23:05 -07:00
46a89936ae Merge pull request #12780 from TryTwo/BreakpointWidget_Direct_Edit
BreakpointWidget: Add ability to directly edit breakpoints
2024-06-01 04:25:19 +02:00
3526f3cd9f Color unused cells and disabled rows.
(bug?) Does not update on dark/light style change, as no signals are sent.
2024-06-01 03:42:25 +02:00
1396e927c7 BreakpointWidget: Give conditionals a popup text entry on click. 2024-06-01 03:42:25 +02:00
e52b814eb2 BreakpointWidget: Direct editing of address cells. Prevent symbol cells from being affected. 2024-06-01 03:42:24 +02:00
b740671792 BreakpointWidget: Make buttons, removing selecting row on clicking, and fix OnContextMenu which relied on select rows.
Add functions to edit breakpoints.
2024-06-01 03:42:18 +02:00
b7b0842d2f BreakpointWidget: Fix Qt centering issues with a Custom Delegate 2024-05-25 17:09:21 -07:00
d96840f808 BreakpointWidget: Move delete to the context menu. Selecting rows will be removed, so select -> delete is hard to maintain. 2024-05-25 17:09:21 -07:00
3b214a4978 BranchWatchDialog: Resolve Linux FIXME
This stopped being an issue for me with a recent package update, so I guess Qt6 was fixed upstream?
2024-05-25 06:22:45 -07:00
4a2ec86a9a Branch Watch Tool: Add Rule Of 5 And Remove Unnecessary Include 2024-05-25 06:22:44 -07:00
ecce8e81c8 BranchWatchDialog: Case-Insensitive Sorting 2024-05-24 15:42:04 -07:00
c26373bd95 Merge pull request #12738 from mitaclaw/expression-sprs
Expression: Support All SPRs + MSR
2024-05-04 17:35:12 +02:00
c442c0d5e5 Merge pull request #10957 from Pokechu22/std-bitcast
Replace Common::BitCast with std::bit_cast
2024-05-04 08:24:59 +01:00
c23562b7b5 Merge pull request #12695 from mitaclaw/core-global-system-4
Core::IsRunning: Avoid Global System Accessor
2024-05-04 05:15:35 +02:00
fbbfea8e8e Replace Common::BitCast with std::bit_cast 2024-05-03 18:43:51 -07:00
076bdf7a24 Expression: Support All SPRs + MSR 2024-05-03 17:56:58 -07:00
0df401b164 Core::IsRunning: Avoid Global System Accessor 2024-05-01 08:54:17 -07:00
0397339ab1 DolphinQt: Properly Delete (Some) Widgets
This is not every memory leak, just the ones that were obvious.
2024-04-30 11:17:28 -07:00
83b280d903 i18n: Add comments and improve source strings 2024-04-20 23:02:46 +02:00
672be6a8cf PPCSymbolDB: GetDescription by std::string_view
Should save a lot of deep copies.
2024-04-13 00:19:01 -07:00
eb92d6f0a8 Core::GetState: Avoid Global System Accessor 2024-04-08 16:23:23 -07:00
a2074a8583 Merge pull request #12645 from mitaclaw/ppc-symbols-signal
DolphinQt: A Ubiquitous Signal For When Symbols Change
2024-03-31 06:36:09 +02:00
b52a08d533 DolphinQt: A Ubiquitous Signal For When Symbols Change
There were three distinct mechanisms for signaling symbol changes in DolphinQt: `Host::NotifyMapLoaded`, `MenuBar::NotifySymbolsUpdated`, and `CodeViewWidget::SymbolsChanged`. The behavior of these signals has been consolidated into the new `Host::PPCSymbolsUpdated` signal, which can be emitted from anywhere in DolphinQt to properly update symbols everywhere in DolphinQt.
2024-03-28 09:57:22 -07:00
ae5da02cde DolphinQt Settings: Signal Debug Font By Const Reference 2024-03-22 07:52:52 -07:00
c24fa93965 PPCSymbolDB: Move instance to PowerPCManager 2024-03-13 22:58:14 -07:00
551dcec0b1 Merge pull request #12602 from mitaclaw/qt-memory-global-system
Memory(View)Widget: Avoid Global System Accessor
2024-03-12 04:12:52 +01:00
f86e9e9cbd Merge pull request #12610 from mitaclaw/branch-watch-dialog-gcc
BranchWatchDialog: Fix GCC Warnings
2024-03-11 17:36:21 -05:00
0645b4d579 BranchWatchDialog: Fix Misc. Errata
Window icon was missing from QDialog lacking a parent.
Giving the QDialog a parent revealed I had failed to make it properly non-modal, necessitating further changes.
Settings save less often, now only upon destruction.
Construction of BranchWatchDialog is now deferred.
2024-03-07 15:59:03 -08:00
8d5e39751e BranchWatchDialog: Fix GCC Warnings
GCC can't lambda right.
2024-03-02 07:53:23 -08:00
f2e04e0603 Merge pull request #12359 from mitaclaw/code-diff-dialog-refresh
BranchWatchDialog: A Total Replacement for CodeDiffDialog
2024-03-02 14:13:54 +01:00
26141eece8 Memory(View)Widget: Avoid Global System Accessor 2024-03-01 07:09:20 -08:00
8eeb93d51a CodeWidget: Simplify Case-Insensitive Contains 2024-02-27 12:03:38 -08:00
8134c8a572 BranchWatchDialog: A Total Replacement for CodeDiffDialog
With a purpose-built Branch Watch feature built into the emulated system: BranchWatchDialog, replacing CodeDiffDialog, is now better than ever!
2024-02-27 11:40:58 -08:00
e6ee217a7c Core: Move Emulation IOS instance to System. 2024-02-07 22:07:30 +01:00
100242a380 GekkoSyntaxHighlight: Collapse cases for builtin color formats
Same behavior, but without as much duplication.
2024-01-23 18:39:59 -05:00
e4fa5614d1 GekkoSyntaxHighlight: Fix FPR terminal highlighting being treated as GPRs
Copy-paste error. Ultimately GPR and FPRs use the same highlighting
style anyway, so this is mostly just a correctness change.
2024-01-23 18:38:06 -05:00
Mai
d64705d691 Merge pull request #12512 from JosJuice/assembler-dirty-flag
DolphinQt: Rework dirty flag handling in AssemblerWidget::TabTextForEditor
2024-01-21 10:22:46 -05:00
6276232574 DolphinQt: Rework dirty flag handling in AssemblerWidget::TabTextForEditor
Putting the handling of the dirty flag in only one string makes it
clearer for translators what's going on.
2024-01-20 20:00:52 +01:00
6cd67e3937 Partially revert "DolphinQt/Assembler: improve translatability"
This reverts the parts of commit c8c9928eb1 that made translatability
worse rather than better. Changing "Error in column %2" to "%1 in column
%2" not only means that the translators have to check the i18n comments
to know what word hides behind %1, but there's also the problem that
the translator might need to translate "Error" in this context
differently from the standalone string "Error". Having to copy-paste
some HTML tags may be annoying for translators, but it's a far less
serious problem.
2024-01-20 14:46:41 +01:00
75ec350dc4 Core/Debugger_SymbolMap: Remove redundant system parameters from interface
The CPU thread guard already allows access to the system instance. We can
remove the system parameter to reduce rendundancy here.
2023-12-18 15:46:22 -05:00
773ffd04b8 Merge pull request #11497 from vyuuui/debugger_assembler_ui
Built-in assembler for debugger interface
2023-12-16 21:15:31 +00:00