Commit Graph

42167 Commits

Author SHA1 Message Date
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
Admiral H. Curtiss d49304a629
Merge pull request #12875 from luiscondesdi/updatevkheaders
Vulkan: Update Vulkan headers, VulkanMemoryAllocator
2024-06-22 19:53:10 +02:00
JMC47 b789cd498e
Merge pull request #12881 from dreamsyntax/gup-heuristic-adjustment
GameINI: Shadow The Hedgehog widescreen heuristic
2024-06-22 02:43:48 -04:00
Luis Condes Diaz 3f64031cbb Migrate Vulkan-Headers to submodule and update to v1.3.288 2024-06-22 08:03:20 +02:00
dreamsyntax 2584a200ef GameINI: Shadow The Hedgehog widescreen heuristic
Adjusts widescreen heuristic values to work properly for both the original game and the widescreen hack versions of Shadow the Hedgehog (all regions), Game ID GUP.
Credit to Billiard for determining values.
2024-06-21 13:27:46 -07: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
Admiral H. Curtiss 8b9ac5d767
Merge pull request #12800 from Tilka/unused_result
AudioCommon: release mutex explicitly to avoid -Wunused-result warning
2024-06-21 20:02:40 +02:00
Admiral H. Curtiss 5728ebf7ad
Merge pull request #12867 from AdmiralCurtiss/uicommon-dependency
CMake dependency fixes
2024-06-21 20:01:44 +02:00
Admiral H. Curtiss d29a1fdcd3
Merge pull request #12880 from LillyJadeKatrin/retroachievements-missing-progress-bar
Make achievement progress text label transparent
2024-06-21 19:41:59 +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
deReeperJosh a87ea694a9 Add 2 More Slots for Power Discs on Emulated Base 2024-06-20 10:22:26 +01:00
Tillmann Karras 1d8b1715ab AudioCommon: unlock mutex explicitly to avoid -Wunused-result warning 2024-06-20 02:25:15 +01:00
JMC47 0cc1d4c62d
Merge pull request #12858 from LillyJadeKatrin/retroachievements-challenge-scale
Scale challenge icons based on screen height
2024-06-19 20:29:18 -04:00
LillyJadeKatrin 45563a872c Scale challenge icons based on screen height 2024-06-19 13:59:59 -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
JMC47 21ab26ddcc
Merge pull request #12874 from LillyJadeKatrin/retroachievements-submodule-update
Update rcheevos submodule to newest master
2024-06-19 02:31:45 -04:00
JMC47 d1874b1fd8
Merge pull request #12873 from LillyJadeKatrin/retroachievements-sorting
Add Sorting to Achievements Dialog
2024-06-19 02:29:48 -04:00
JMC47 9886199cb1
Merge pull request #12859 from LillyJadeKatrin/retroachievements-challenge-hide
Hide Challenge Icons when OSD Messages Disabled
2024-06-19 02:29:08 -04:00
LillyJadeKatrin b0fb6ffff3 Update rcheevos submodule to newest master 2024-06-18 08:42:21 -04: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
luiscondesdi b6bd882258 Update VulkanMemoryAllocator to v3.1.0 2024-06-18 07:52:19 +02:00
Admiral H. Curtiss a0d8c1088d
Merge pull request #12870 from LillyJadeKatrin/retroachievements-gdb-disable
Disable GDB Stub in Hardcore Mode
2024-06-17 22:39:23 +02: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
LillyJadeKatrin ff25403e0e Disable GDB Stub in Hardcore Mode 2024-06-17 01:07:43 -04:00
mitaclaw eb26937a93 Branch Watch Tool: Add Set Breakpoints Submenu 2024-06-16 20:46:56 -07:00
JMC47 0c2b8fd587
Merge pull request #12857 from LillyJadeKatrin/retroachievements-osd-tweaks
RetroAchievements On Screen Tweaks
2024-06-16 12:26:58 -04:00
LillyJadeKatrin 9e1f5ed4b5 Stack Challenge Icons Horizontally 2024-06-15 22:42:40 -04:00
LillyJadeKatrin a79f428972 Fix margins on icon-only messages
Messages with an icon and no text (such as in the game start sequence) had an oversized margin due to ImGui adding padding for an empty string.
2024-06-15 22:42:35 -04:00
LillyJadeKatrin 1b00b4e3d8 OSD messages display horizontally
OSD messages with an icon and text will display the text to the right of the icon instead of below it.
2024-06-15 22:30:39 -04:00
Admiral H. Curtiss b8381bfa7c
CMake: Make the rcheevos dependency public
Since rcheevos headers are included in AchievementManager.h, and everyone that depends on Core can include that, we must also pass on the include directory and defines to those dependencies
2024-06-15 23:12:19 +02:00
Admiral H. Curtiss 693607f1d3
CMake: Let UICommon depend on Core
This is already the case implicitly by UICommon including several headers from Core, so just make it explicit
2024-06-15 23:12:19 +02:00
Admiral H. Curtiss c5a030e7ab
VideoCommon: Fix format string injection vulnerability from leaderboards 2024-06-15 23:12:19 +02:00
Admiral H. Curtiss c23cfe3c08
Merge pull request #12842 from Neui/fix-cmake-ccache
CMake: Fix CCache support when already using _LAUNCHER
2024-06-15 21:13:41 +02:00
Admiral H. Curtiss ed4a09fa56
Merge pull request #12850 from jordan-woyak/device-sorting
ControllerInterface: Adjust sort priorities to ensure default keyboard-mouse device is first.
2024-06-15 21:12:08 +02:00
Jordan Woyak 42e73547eb ControllerInterface: Adjust sort priorities to ensure default keyboard-mouse device is first. 2024-06-15 12:41:25 -05: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 a95c3dbc97
Merge pull request #12818 from iwubcode/json_file_operations
Common: add Json helper utilities for loading or saving to a file
2024-06-15 16:43:38 +02:00
Admiral H. Curtiss f71d6498d0
Merge pull request #12855 from LillyJadeKatrin/retroachievements-challenge-refactor
Refactored Challenge Icons to handle icon updates
2024-06-15 16:24:24 +02:00
Admiral H. Curtiss 1ba040f9a6
Merge pull request #12854 from LillyJadeKatrin/retroachievements-update-dialog
Added missing dialog updates to achievement events
2024-06-15 15:58:22 +02:00
Admiral H. Curtiss 3edc663467
Merge pull request #12816 from Tilka/stm
IOS/STM: fix IPC reply for unknown ioctl requests
2024-06-15 15:31:58 +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
Admiral H. Curtiss 34f81ad9ac
Merge pull request #12838 from sepalani/sock-reshade
Socket: Fix connect issues when using ReShade
2024-06-15 15:12:51 +02:00
LillyJadeKatrin cee3d9126b Added missing dialog updates to achievement events
Now should properly update the Achievements dialog whenever the displayed state of an achievement/leaderboard changes.
2024-06-15 07:56:21 -04:00
LillyJadeKatrin 3d5a1f7d33 Refactored Challenge Icons to handle icon updates
If an icon is displayed on screen before it downloads, it was displaying a default icon but it would fail to load the actual icon even after it was downloaded. This fixes that.
2024-06-15 07:36:49 -04:00
JMC47 a13b198ba0
Merge pull request #12860 from LillyJadeKatrin/retroachievements-progress-spam
Only Display One Progress At A Time
2024-06-15 02:42:04 -04:00
LillyJadeKatrin cb05ed29fe Only Display One Progress At A Time
Add a two second timer to Achievement Progress Indicators to wait until two seconds after the previous message (when it should have decayed out automatically) before posting any new ones.
2024-06-14 23:02:14 -04:00