Commit Graph

2689 Commits

Author SHA1 Message Date
Dentomologist
ce0ab58dc9 GeneralPane: Add BalloonTip to auto disc change checkbox 2024-07-29 14:00:46 -07:00
Dentomologist
755866b771 GeneralPane: Add BalloonTip to override region settings checkbox 2024-07-29 14:00:46 -07:00
Dentomologist
d9336a5de0 GeneralPane: Add BalloonTip to cheats checkbox 2024-07-29 14:00:46 -07:00
Dentomologist
b2107023ba GeneralPane: Add BalloonTip to dualcore checkbox 2024-07-29 14:00:46 -07:00
JosJuice
9d2f5245f4 i18n: Add comments and improve source strings
Most of these changes are to improve consistency in capitalization.
2024-07-28 14:38:20 +02:00
MayImilae
9a730bacce Change Dual Core (speedup) to Dual Core (speedhack) 2024-07-28 03:56:58 -07:00
Dentomologist
d627b78c46 Adjust order and spacing of various #includes
Move some #includes around to match the Contributing guidelines.
2024-07-26 14:28:34 -07:00
Admiral H. Curtiss
2d8f54fdd2
Merge pull request #12862 from SuperSamus/debugger-fixes
Debugger: Various fixes
2024-07-23 20:36:34 +02:00
Dentomologist
384e044437 QtUtils/ClearLayoutRecursively: Fix potential crash
Use QObject->deleteLater() instead of the delete operator to destroy
child widgets of the layout. This prevents crashes caused by pending
events trying to access the now-destroyed widget.
2024-07-21 17:36:05 -07:00
Tillmann Karras
982893b04c Use C++20 erase_if() instead of erase(remove_if()) (NFC) 2024-07-21 16:36:06 +01:00
Admiral H. Curtiss
139e6f6f1b
Merge pull request #12941 from LillyJadeKatrin/retroachievements-leaderboard-spam-fix
RetroAchievements - Leaderboard Spam Fix
2024-07-18 21:15:38 +02:00
LillyJadeKatrin
5ccd157c94 Re-enable Leaderboards Tab 2024-07-17 22:51:43 -04:00
LillyJadeKatrin
d19aa934ae Fixed incorrect unlock information in Achievements dialog 2024-07-17 04:36:53 -04:00
OatmealDome
cc3ff347b4
Merge pull request #12928 from LillyJadeKatrin/retroachievements-disable-lboard-tab
Disable Leaderboards Tab
2024-07-15 21:33:08 -04:00
Admiral H. Curtiss
50b318cc31
Qt/AchievementHeaderWidget: Don't crash when we get an empty player or game badge 2024-07-15 21:55:47 +02:00
OatmealDome
12a1607385
Merge pull request #12749 from LillyJadeKatrin/retroachievements-menubar
Show Achievements in Menu Bar always
2024-07-14 19:13:08 -04:00
Admiral H. Curtiss
a0fc8e6b13
Merge pull request #12929 from LillyJadeKatrin/retroachievements-leaderboard-fixes
Fix Leaderboards Tab
2024-07-14 16:47:59 +02:00
LillyJadeKatrin
0108ecebcb Fix Leaderboards Tab
Now that we have some test data, it wasn't showing up in the leaderboards tab; this fixes it to ensure (1) that the right ID is being passed to UpdateRow and (2) the map of leaderboard entries is being populated correctly.
2024-07-14 10:13:27 -04:00
Admiral H. Curtiss
f928fe97af
Merge pull request #12925 from LillyJadeKatrin/retroachievements-unlocked-progress
Achievements Progress Bar Tweaks
2024-07-14 04:11:02 +02:00
LillyJadeKatrin
193c863f20 Disable Leaderboards Tab
Emergency PR to disable the leaderboards tab for launch if we are not satisfied with its testing yet.
2024-07-12 07:45:04 -04:00
LillyJadeKatrin
e035db9127 Update game progress bar to match achievement progress bar 2024-07-10 18:51:37 -04:00
LillyJadeKatrin
073426ead7 Force progress bar to 100% on completed achievements 2024-07-10 08:51:13 -04:00
VampireFlower
afa6e26e5d BreakpointWidget: Correct icon position
Co-Authored-By: TryTwo <10532806+TryTwo@users.noreply.github.com>
2024-07-09 15:20:56 -07:00
LillyJadeKatrin
2372b6a386 Add Open Achievements Hotkey
Adds a hotkey to pause emulation and bring up the Achievements dialog.
2024-07-06 07:36:31 -04:00
Martino Fontana
719af828e5 BreakpointWidget: Can create new breakpoints when emulation isn't running
It works perfectly fine, so why not? Also, consistency with CodeViewWidget.
2024-07-05 21:33:23 +02:00
Martino Fontana
bd3cf67cbc Debugger: Rework temporary breakpoints
Before:
1. In theory there could be multiple, but in practice they were (manually) cleared before creating one
2. (Some of) the conditions to clear one were either to reach it, to create a new one (due to the point above), or to step. This created weird behavior: let's say you Step Over a `bl` (thus creating a temporary breakpoint on `pc+4`), and you reached a regular breakpoint inside the `bl`. The temporary one would still be there: if you resumed, the emulation would still stop there, as a sort of Step Out. But, if before resuming, you made a Step, then it wouldn't do that.
3. The breakpoint widget had no idea concept of them, and will treat them as regular breakpoints. Also, they'll be shown only when the widget is updated in some other way, leading to more confusion.
4. Because only one breakpoint could exist per address, the creation of a temporary breakpoint on a top of a regular one would delete it and inherit its properties (e.g. being log-only). This could happen, for instance, if you Stepped Over a `bl` specifically, and pc+4 had a regular breakpoint.

Now there can only be one temporary breakpoint, which is automatically cleared whenever emulation is paused. So, removing some manual clearing from 1., and removing the weird behavior of 2. As it is stored in a separate variable, it won't be seen at all depending on the function used (fixing 3., and removing some checks in other places), and it won't replace a regular breakpoint, instead simply having priority (fixing 4.).
2024-07-05 21:33:22 +02:00
Admiral H. Curtiss
bb4e8d0d01
Merge pull request #12888 from TryTwo/Fix_Window_Titlebar
MainWindow: Bugfix. Windows Dark mode titlebar not being set.
2024-07-04 21:13:19 +02:00
Admiral H. Curtiss
1fb4dbcea4
Merge pull request #12784 from TryTwo/PR_Frame_Advance_Fix
Frame Advance:  Fix UI update spam when continuously advancing.
2024-07-04 20:07:03 +02:00
Martino Fontana
037de1ce92 Debugger: fix Run to Here
Now it actually does what it says on the name, instead of creating a breapoint and doing nothing else (not even updating the widget).
Also, it now can't be selected if emulation isn't running.
Closes https://bugs.dolphin-emu.org/issues/13532
2024-07-02 18:29:42 +02:00
Martino Fontana
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
Martino Fontana
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
Tilka
7f0ee9dddd
Merge pull request #12894 from deReeperJosh/infinity-base-numbers
IOS/USB: Use Enum for Infinity Base Positions
2024-06-30 16:04:20 +01:00
JMC47
cff37a9f4f
Merge pull request #12896 from LillyJadeKatrin/retroachievements-visual-improvements
RetroAchievements - Dialog Visual Improvements
2024-06-30 01:30:34 -04:00
LillyJadeKatrin
de7bf2b6a5 Move achievement dialog scrollbars to top when changing games 2024-06-29 07:02:17 -04:00
LillyJadeKatrin
0615db9e2e Made progress bars more legible in dark mode 2024-06-29 07:02:17 -04:00
LillyJadeKatrin
56e1c23413 Fixed floating overlapping leaderboard bucket headers 2024-06-29 07:02:17 -04:00
Joshua de Reeper
cfcdaab514 IOS/USB: Use Enum for Infinity Base Positions 2024-06-27 20:57:27 +01:00
Admiral H. Curtiss
233ea58446
Merge pull request #12877 from LillyJadeKatrin/retroachievements-auto-update
Update Achievement List when Rich Presence Updates
2024-06-27 20:30:01 +02:00
LillyJadeKatrin
7ffcde3ab3 Fixed misaligned borders on unlocked achievement badges 2024-06-26 22:41:39 -04:00
LillyJadeKatrin
16e868b46a Removed large empty space at the bottom of achievement/leaderboard lists 2024-06-26 22:41:11 -04:00
TryTwo
f29fe15d77 FrameAdvance: Fix continuous frame advancing while the debug UI is open. Blocks signals from being spammed to update the UI. 2024-06-26 16:19:03 -07:00
JosJuice
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
LillyJadeKatrin
1a33e28452 Update Achievement Sort and Progress on RP
Whenever a request to update the Rich Presence comes in, typically every ten seconds, the Achievement Progress Widget will update the sort order of the achievements and all of their measured values.
2024-06-25 23:05:56 -04:00
OatmealDome
9c432e960b AboutDialog: Update copyright year to 2024 2024-06-24 15:06:54 -04:00
OatmealDome
f8f117e599 GeneralPane: Update "Beta" auto update track to "Releases" 2024-06-24 15:06:37 -04:00
JMC47
c536754ffe
Merge pull request #12878 from LillyJadeKatrin/retroachievements-hardcore-state-changed
Decouple Hardcore from EmulationStateChanged
2024-06-23 18:13:56 -04:00
TryTwo
81fc60f888 MainWindow: Remove Show() and redistribute its logic to other places.
bugfix:  SetQWidgetWindowDecorations(this); not called before show() for Windows darkmode titlebars.

The actual call to (QWidget) show() needed to come sooner. Show() was originally left alone, but with other checks needing to move with (QWidget) show(), this function became less useful.  Show()  was originally created to fix the render widget appearing behind the main window, but that appears to work fine in this iteration.
2024-06-23 10:49:14 -07:00
Admiral H. Curtiss
2aec195ec8
Merge pull request #12876 from dreamsyntax/advanced-cpu-clock-override-step-adjustment
DolphinQt: Adjust CPU Clock Override slider
2024-06-23 15:28:29 +02:00
Admiral H. Curtiss
c337ab6473
Merge pull request #12884 from Tilka/qt_this
DolphinQt: fix some warnings
2024-06-23 15:08:13 +02:00
Admiral H. Curtiss
a75c65bde2
Merge pull request #12879 from LillyJadeKatrin/retroachievements-1200-shines
Trim extra characters from measured progress
2024-06-23 15:05:09 +02:00
Admiral H. Curtiss
28692681ad
Merge pull request #12883 from LillyJadeKatrin/retroachievements-cutoff-text
Fix cut off text in Achievements dialog
2024-06-23 14:59:54 +02:00
LillyJadeKatrin
bf230a9909 Trim extra characters from measured progress
The measured_progress C string for achievements to display potentially contains junk data after the null terminator, which was rendering in the QString in the dialog. This trims those junk characters.
2024-06-22 23:36:06 -04:00
Tillmann Karras
8e7d11d1a1 DolphinQt: fix -Wunused-const-variable warning 2024-06-23 02:38:04 +01:00
Tillmann Karras
5c46716d28 DolphinQt: fix two -Wshadow-uncaptured-local warnings 2024-06-23 02:38:00 +01:00
Tillmann Karras
0f659508ea DolphinQt: fix two -Wunused-lambda-capture warnings
Also clean up signals a bit.
2024-06-23 00:13:58 +01:00
Admiral H. Curtiss
9b33b777cf
Merge pull request #12828 from JosJuice/unify-state-variables-2
Clean up Core::GetState
2024-06-22 20:20:54 +02:00
Admiral H. Curtiss
3e0bd82f81
Merge pull request #12771 from deReeperJosh/moreinfinityslots
IOS/USB Add 2 more Spaces for Disney Infinity figures
2024-06-22 20:03:26 +02:00
LillyJadeKatrin
e1a8dc65ce Fix cut off text in Achievements dialog 2024-06-22 00:26:52 -04:00
JosJuice
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
JosJuice
962230f91e Core: Store current state in less places
Core::GetState reads from four different pieces of state: s_is_stopping,
s_hardware_initialized, s_is_booting, and CPUManager::IsStepping.
I'm keeping that last one as is for now because there's code in Dolphin
that sets it directly, but we can unify the other three to make things
easier to reason about.

This commit also gets rid of s_is_started. This was previously used in
Core::IsRunningAndStarted to ensure true wouldn't be returned until the
CPU thread was started, but it wasn't used in Core::GetState, so
Core::GetState would happily return State::Running after we had
initialized the hardware but before we had initialized the CPU thread.
As far as I know, there are no callers that have any real need to know
whether the boot process is currently initializing the hardware or the
CPU thread. Perhaps once upon a time there was a desire to make the
apploader debuggable, but a long time has passed without anyone stepping
up to implement it, and the way CBoot::RunApploader is implemented makes
it rather difficult. So this commit makes all the functions in Core.cpp
consider the core to still be starting until the CPU thread is started.
2024-06-21 20:46:44 +02:00
LillyJadeKatrin
d50407d800 Make achievement progress text label transparent
This field was completely hiding the progress bar in dark mode without this.
2024-06-21 07:17:05 -04:00
LillyJadeKatrin
9b9e6c4582 Refactored AchievementProgress UpdateData to Re-Sort
When AchievementProgress::UpdateData(false) is called, it will now empty itself and reinsert all existing boxes, re-sorted into their current buckets, and call UpdateProgress on them all.
2024-06-20 09:03:30 -04:00
LillyJadeKatrin
29f1b82f5e Decouple Hardcore from EmulationStateChanged
Rerendering the entire Achievements dialog every EmulationStateChanged signal is far too often when it turns out that signal fires multiple times to confirm game close, for example. This change results in only the settings changing on EmulationStateChanged, and having the Hardcore mode toggle (which DOES require redrawing the entire dialog) emit its own signal alongside EmulationStateChanged.
2024-06-20 07:59:59 -04:00
deReeperJosh
a87ea694a9 Add 2 More Slots for Power Discs on Emulated Base 2024-06-20 10:22:26 +01:00
LillyJadeKatrin
75c2360aea Split AchievementBox UpdateData
AchievementBox now has UpdateData and UpdateProgress, which is called from UpdateData, but may be called elsewhere to update just the progress measurement of the achievement.
2024-06-19 22:12:30 -04:00
Admiral H. Curtiss
8435bccbc0
Merge pull request #12853 from LillyJadeKatrin/retroachievements-percent-fix
Improved Achievement Progress Label
2024-06-19 19:49:28 +02:00
dreamsyntax
55ba014fed DolphinQt: Adjust CPU Clock Override slider
CPU Clock Override slider now increments 1% in the UI, with the new lower limit
being 1% instead of 6%.

Prior implementation made it impossible to set exactly 150% in the GUI.
147% -> 152%. Now users can set exact clock % without needing to edit INIs.
2024-06-18 18:52:35 -07:00
LillyJadeKatrin
6b3a9a0bcd Add Sorting to Achievements Dialog
rc_client provides basic sorting buckets as a possible option when retrieving the list of achievements or leaderboards; this enables them and labels them in the dialog.
2024-06-18 08:20:04 -04:00
Admiral H. Curtiss
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
mitaclaw
eb26937a93 Branch Watch Tool: Add Set Breakpoints Submenu 2024-06-16 20:46:56 -07:00
Admiral H. Curtiss
56fd9c177c
Merge pull request #12865 from LillyJadeKatrin/retroachievements-dialog-sizing
Add word wrap to Achievement Dialog text
2024-06-15 18:27:15 +02:00
LillyJadeKatrin
e1ed19d48a Add word wrap to Achievement Dialog text 2024-06-15 11:38:13 -04:00
Admiral H. Curtiss
e282649b57
Merge pull request #12798 from mitaclaw/branch-watch-tool-fixes-2
Branch Watch Tool: Optimizations
2024-06-15 16:57:05 +02:00
Admiral H. Curtiss
3f0f5b3b4e
Merge pull request #12815 from Dentomologist/enable_hotkeys_and_controllers_for_focused_tas_input
TAS Input: Enable emulator hotkeys and controller input when TAS Input window has focus
2024-06-15 15:25:40 +02:00
JMC47
4502b60f71
Merge pull request #12852 from LillyJadeKatrin/retroachievements-speed-limit-fix
Remove Extra Speed Limit Message
2024-06-14 15:38:45 -04:00
LillyJadeKatrin
fe517ad2c6 Remove Extra Speed Limit Message
Prior to this change, attempting to decrease the speed limit below 100% in hardmode would display the new attempted speed and then warn that the speed can not be decreased below 100%; this disables that first message under those conditions.
2024-06-12 06:39:46 -04:00
LillyJadeKatrin
12467ffcfa Improved Achievement Progress Label
Label now appears atop the progress bar and reports the progress as the formatted text returned by rcheevos instead of a simple percentage.
2024-06-12 06:25:26 -04:00
Admiral H. Curtiss
db921ed4b5
Merge pull request #12840 from TryTwo/Fix_batch_mode_again
MainWindow: Fix batch mode (again).
2024-06-10 18:36:20 +02:00
TryTwo
28c28623a8 MainWindow: Don't save UI geometry in batch mode. Batch mode was erasing the UI geometry for the sessions where batch mode is off. Render widget is still saved. 2024-06-08 23:27:56 -07:00
Admiral H. Curtiss
81b6bfaa1e
Merge pull request #12832 from JosJuice/retro-achievements-less-ifdefs
Use a stub AchivementManager when USE_RETRO_ACHIEVEMENTS isn't defined
2024-06-06 22:42:53 +02:00
JosJuice
22aa88109f Use a stub AchivementManager when USE_RETRO_ACHIEVEMENTS isn't defined
This lets us reduce the number of USE_RETRO_ACHIEVEMENTS ifdefs in the
code base, reducing visual clutter. In particular, needing an ifdef for
each call to IsHardcodeModeActive was annoying to me. This also reduces
the risk that someone writes code that accidentally fails to compile
with USE_RETRO_ACHIEVEMENTS disabled.

We could cut down on ifdefs even further by making HardcodeWarningWidget
always exist, but that would result in non-trivial code ending up in the
binary even with USE_RETRO_ACHIEVEMENTS disabled, so I'm leaving it out
of this PR. It's not a lot of code though, so I might end up revisiting
it at some point.
2024-06-06 08:26:20 +02:00
mitaclaw
8050760fe9 BranchWatchTableModel: Assume Unreachable Code Truly Is 2024-06-05 19:59:39 -07:00
mitaclaw
7dc0bdd5df BranchWatchProxyModel: Avoid String Copies In filterAcceptsRow 2024-06-05 19:59:39 -07:00
TryTwo
fa00728d3e MainWindow: Check for batch mode before show(). 2024-06-04 00:26:58 -07:00
mitaclaw
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
Admiral H. Curtiss
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
TryTwo
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
TryTwo
1396e927c7
BreakpointWidget: Give conditionals a popup text entry on click. 2024-06-01 03:42:25 +02:00
TryTwo
e52b814eb2
BreakpointWidget: Direct editing of address cells. Prevent symbol cells from being affected. 2024-06-01 03:42:24 +02:00
TryTwo
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
Dentomologist
c3bdd05d2a TAS Input: Enable hotkeys and controller input when Input has focus
Enable emulator hotkeys and controller input (when that option is
enabled) when a TAS Input window has focus, as if it was the render
window instead.  This allows TASers to use frame advance and the like
without having to switch the focused window or disabling Hotkeys Require
Window Focus which also picks up keypresses while other apps are active.

Cursor updates are disabled when the TAS Input window has focus, as
otherwise the Wii IR widget (and anything else controlled by the mouse)
becomes unusable. The cursor continues to work normally when the render
window has focus.
2024-05-31 15:14:44 -07:00
Admiral H. Curtiss
0e6db07203
Merge pull request #12794 from TryTwo/PR_Windows_Initialize_Fix
MainWindow, Bugfix: Initialize geometries before calling GetWindowSystemInfo
2024-05-31 20:00:37 +02:00
Dentomologist
de9326bd53
InterfacePane: Add BalloonTip to user style combobox 2024-05-31 19:10:30 +02:00
Dentomologist
33b64d6c91
InterfacePane: Add BalloonTip to cursor visible radio buttons 2024-05-31 19:09:00 +02:00
Dentomologist
a581fa2bfa
InterfacePane: Add BalloonTip to lock mouse checkbox 2024-05-31 19:07:33 +02:00
Dentomologist
9ed1688d09
InterfacePane: Add BalloonTip to pause on focus lost checkbox 2024-05-31 19:06:50 +02:00
Dentomologist
14f01bb12c
InterfacePane: Add BalloonTip to show active title checkbox 2024-05-31 19:06:11 +02:00
Dentomologist
c5532b19e6
InterfacePane: Add BalloonTip to enable on-screen display checkbox 2024-05-31 19:05:35 +02:00
Dentomologist
16cdd0a961
InterfacePane: Add BalloonTip to use panic handlers checkbox 2024-05-31 19:04:57 +02:00
Dentomologist
dc15a555c9
InterfacePane: Add BalloonTip to confirm on stop checkbox 2024-05-31 19:04:18 +02:00
Dentomologist
d1ac66824e
InterfacePane: Add BalloonTip to disable screensaver checkbox 2024-05-31 19:03:19 +02:00
Dentomologist
26758716ae
InterfacePane: Add BalloonTip to use covers checkbox 2024-05-31 19:01:43 +02:00
Dentomologist
78ab53a6e4
InterfacePane: Add BalloonTip to focused hotkeys checkbox 2024-05-31 19:01:03 +02:00
Dentomologist
afe5bfd512
InterfacePane: Add BalloonTip to debugging enabled checkbox 2024-05-31 18:59:24 +02:00
Dentomologist
7d704ca9ca
InterfacePane: Add BalloonTip to language combobox 2024-05-31 18:57:28 +02:00
Dentomologist
266bbeefc8
InterfacePane: Add BalloonTip to top window checkbox 2024-05-31 18:52:22 +02:00
Dentomologist
55aaa323ec
InterfacePane: Add BalloonTip to theme combobox 2024-05-31 18:52:13 +02:00
Dentomologist
ae0914174f
InterfacePane: Add BalloonTip to title database checkbox 2024-05-31 18:25:47 +02:00
Admiral H. Curtiss
072b6cdb1d
Merge pull request #12797 from mitaclaw/branch-watch-tool-fixes-1
Branch Watch Tool: Fixes
2024-05-31 18:11:36 +02:00
OatmealDome
c3e0aeb184
Merge pull request #12728 from OatmealDome/mac-version-numbers-2
ScmRevGen: Generate Info.plist files containing the current version
2024-05-30 01:13:32 -04:00
TryTwo
b7b0842d2f BreakpointWidget: Fix Qt centering issues with a Custom Delegate 2024-05-25 17:09:21 -07:00
TryTwo
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
mitaclaw
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
mitaclaw
4a2ec86a9a Branch Watch Tool: Add Rule Of 5 And Remove Unnecessary Include 2024-05-25 06:22:44 -07:00
mitaclaw
ecce8e81c8 BranchWatchDialog: Case-Insensitive Sorting 2024-05-24 15:42:04 -07:00
LillyJadeKatrin
1e9e0cd2d7
Remove names from badge objects
The names attached to the BadgeStatus object are obsolete and unneeded and are removed from everything that uses them. All BadgeStatus references are updated to just Badge.
2024-05-23 21:29:23 +02:00
LillyJadeKatrin
dc8f3f6eae Refactored Achievement Badges into Texture Layers
Achievement badges/icons are refactored into the type CustomTextureData::ArraySlice::Level as that is the data type images loaded from the filesystem will be. This includes everything that uses the badges in the Qt UI and OnScreenDisplay, and similarly removes the OSD::Icon type because Level already contains that information.
2024-05-23 10:41:45 -04:00
LillyJadeKatrin
75465f00cc Remove Badges Enabled option from Achievements
Was informed by the RetroAchievements team that this isn't an option in most emulators, and as the next commits will be to enable default icons, there will always be something to display.
2024-05-23 10:40:08 -04:00
TryTwo
564d4c3c25 MainWindow: Initialize geometries before calling GetWindowSystemInfo.
On Windows:
wsi.render_window being set will set/save the initial geometry, which will cause sizing bugs until it's set again by the user resizing/repositioning.
2024-05-22 21:27:50 -07:00
Admiral H. Curtiss
b9a2c18cb3
Merge pull request #12788 from iwubcode/hotkey_frame_advance_host_thread
DolphinQt: trigger frame advance from hotkeys on the host thread
2024-05-21 21:52:05 +02:00
Admiral H. Curtiss
cb71d84908
Merge pull request #12786 from AdmiralCurtiss/config-window-fix
DolphinQt/Settings/GeneralPane: Don't emit a ConfigChanged signal while saving config
2024-05-20 13:52:48 +02:00
JosJuice
3e046c2b32 DolphinQt: Fix double argument in Infinity error message
This was a mistake I made in 83b280d903.
2024-05-19 21:52:49 +02:00
iwubcode
4f1a5e0b3a DolphinQt: trigger frame advance from hotkeys on the host thread (the underlying SetState is only valid on the host thread) 2024-05-18 11:54:12 -05:00
Admiral H. Curtiss
626369fc00
DolphinQt/Settings/GeneralPane: Don't emit a ConfigChanged signal while saving config
Doing this causes the settings to be reloaded before they're done saving, effectively discarding the user's changes.
2024-05-18 15:45:10 +02:00
Admiral H. Curtiss
fd3867ac5b
Merge pull request #12755 from LillyJadeKatrin/retroachievements-discord
RetroAchievements - Discord Presence
2024-05-18 14:29:52 +02:00
Joshua de Reeper
c206ce846a Change Default Skylander File Selection Types 2024-05-17 02:52:50 +01:00
Eric Warmenhoven
dc9d337b79 Fix build with Xcode 15.4 by bumping MoltenVK version to 1.2.8 2024-05-14 00:06:31 -04:00
LillyJadeKatrin
2328539a76 Add Discord Presence setting to Achievement Settings dialog
Setting is only enabled when Rich Presence is enabled. Toggling either Rich Presence or Discord Presence will immediately update the Discord status.
2024-05-08 07:08:31 -04:00
Admiral H. Curtiss
1a2e315880
Merge pull request #12761 from mitaclaw/core-global-system-5
Core::SetState: Avoid Global System Accessor
2024-05-04 18:19:50 +02:00
Admiral H. Curtiss
c26373bd95
Merge pull request #12738 from mitaclaw/expression-sprs
Expression: Support All SPRs + MSR
2024-05-04 17:35:12 +02:00
Tilka
c442c0d5e5
Merge pull request #10957 from Pokechu22/std-bitcast
Replace Common::BitCast with std::bit_cast
2024-05-04 08:24:59 +01:00
mitaclaw
0b04975c26 Core::SetState: Avoid Global System Accessor 2024-05-03 21:04:44 -07:00
Admiral H. Curtiss
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
Pokechu22
fbbfea8e8e Replace Common::BitCast with std::bit_cast 2024-05-03 18:43:51 -07:00
LillyJadeKatrin
42ca39c6fe Hide Achievement Dialog Header When Disabled
If achievements were disabled but a player token is in settings, prior to this change the Achievement Manager dialog would show a box with no player name and score zero, which is unnecessary.
2024-05-03 21:35:01 -04:00
mitaclaw
076bdf7a24 Expression: Support All SPRs + MSR 2024-05-03 17:56:58 -07:00
Admiral H. Curtiss
5817be7bd3
Merge pull request #12747 from mitaclaw/qt-memory-leaks
DolphinQt: Properly Delete (Some) Widgets
2024-05-02 17:30:49 +02:00
LillyJadeKatrin
e3d483e7c5 Show Achievements in Menu Bar always
Previously the Achievements option would only show up if achievements were already enabled, requiring users to manually create a config file in the file system; this now makes it visible no matter what.
2024-05-02 08:25:33 -04:00
LillyJadeKatrin
ad969dfc0d Disabled Hardcore Mode when Achievements disabled
Bugfix for hardcore-disabled items being disabled when hardcore was true but achievement integration was false, which should mean hardcore is effectively disabled. Now everything checks the IsHardcoreModeActive method in AchievementManager which processes the setting AND the game state to determine if hardcore mode is actually active.
2024-05-02 04:44:52 -04:00
mitaclaw
0df401b164 Core::IsRunning: Avoid Global System Accessor 2024-05-01 08:54:17 -07:00
JMC47
b71fdef356
Merge pull request #12639 from LillyJadeKatrin/retroachievements-client
Refactor AchievementManager from rc_runtime to rc_client
2024-05-01 11:20:02 -04:00
LillyJadeKatrin
d8ef3ee6c5 Add Spectator Mode to achievement settings
Spectator Mode is a new mode added by rc_client that allows for achievement and leaderboard functionality, but does not submit this data to the site, partially allowing for offline achievements. It effectively replaces the former settings for disabling achievements, leaderboards, and RP, which are now always active internally as long as the client is active.
2024-05-01 07:04:32 -04:00
LillyJadeKatrin
fd0de1b01f Updated Unofficial and Encore settings to use rc_client
These settings now only are applied at game start and their tooltips have been updated to reflect this.
2024-05-01 07:04:32 -04:00
LillyJadeKatrin
0883aa114e Update hardcore toggle to use rc_client
The client can take care of itself and handle its own hardcore status when it toggles, so I can tell the settings widget to contact the manager directly to set it.
Also, gradually reorganizing the settings dialog over the next handful of commits.
2024-05-01 07:04:32 -04:00
LillyJadeKatrin
9a40ec06b5 Remove Achievements/Leaderboards/RP Enabled settings
The RetroAchievements client object now handles these three settings as a singular "spectator" mode that will be added in a future commit.
2024-05-01 07:04:32 -04:00
LillyJadeKatrin
b05028da1f Added Change Media client functionality to AchievementMananger
The client can handle media changes natively so disabling can take place internally. This code uses the same external calls to load data, but will call either BeginLoad or BeginChangeMedia based on whether any media is already loaded.
Due to the client's handling of media changes (it simply disables hardcore if an unknown media is detected) the existing functionality for "disabling" the achievements is no longer necessary and can be deleted.
2024-05-01 07:04:32 -04:00
LillyJadeKatrin
878e6e847b Update Achievement Dialog Header to use rc_client
Two portions of this need updating.
Anything related to points and unlock counts and scoring uses game_summary now instead of the TallyScore method. Unfortunately this comes with the drawback that I cannot easily at this time access the number of points/unlocks from the other hardcore mode, so things like the second progress bar have been deleted.
Rich presence, which no longer needs to be stored, but can be calculated at request. As the AchievementHeader can now update just the Rich Presence, DoFrame can now simply call a header update with .rp=true and the current Rich Presence will be calculated immediately.
As the two items above are the last remaining things to use a number of the components in AchievementManager, this also deletes: Request V1 (V2 is renamed accordingly), ResponseType, PointSpread, TallyScore, UnlockStatus, and the RP generation and ping methods.
2024-05-01 07:04:32 -04:00
LillyJadeKatrin
4214c301ef Refactor AchievementsWindow::UpdateData to take a partial update parameter
UpdateData in AchievementsWindow now only updates the components being requested, massively improving the window's performance. The parameter is UpdatedItems in AchievementManager, which tracks which portions of the system have been updated for every update callback.
2024-05-01 07:04:32 -04:00
LillyJadeKatrin
fa2210f80d Refactor leaderboard entry calls to use rc_client
Leaderboard entry calls are asyncronous and use a callback. Logic remains the same, but the callback populates the list that the UI grabs values from.
2024-05-01 06:43:20 -04:00
LillyJadeKatrin
c57be0efca Refactor Leaderboard widget to allow partial updates
Similarly to the Progress widget (though without the separate object for each box, because each Leaderboard unit is just three text fields stacked vertically), AchievementLeaderboardWidget.UpdateData will now accept three options: destroy all and rebuild, update all, or update a set of rows.

As part of this, AchievementManager::GetLeaderboardsInfo has been refactored to GetLeaderboardInfo to return a single leaderboard for the ID passed in.
2024-05-01 06:43:20 -04:00