Commit Graph

31209 Commits

Author SHA1 Message Date
22dda0b0c4 DolphinQt: Disable Xcode code signing to avoid double code signing 2024-08-01 22:06:55 -04:00
cbbffce79a MacUpdater: Switch to mac-codesign script for code signing 2024-08-01 22:06:51 -04:00
f74f748ff6 MacUpdater: Change bundle ID to org.dolphin-emu.updater
The domain "dolphinteam.com" is not under our control, so we shouldn't be using it.
2024-08-01 12:36:53 -04:00
5c401bd5da MacUpdater: Change CFBundleName to match the bundle's output name 2024-08-01 12:36:53 -04:00
8499b43501 MacUpdater: Always use the same signing identity as the DolphinQt bundle 2024-08-01 12:36:49 -04:00
bb5326adf4 DolphinQt: Rename output bundle on macOS to DolphinQt 2024-07-30 21:44:46 -04:00
4883483d09 MacUpdater: Don't set bundle name via a CMake variable 2024-07-29 12:17:08 -04:00
d4e6bd9d18 MacUpdater: Remove unused variables in CMakeLists 2024-07-29 12:16:13 -04:00
9a730bacce Change Dual Core (speedup) to Dual Core (speedhack) 2024-07-28 03:56:58 -07:00
6c3024c3b1 CachedInterpreter: Combine Interpret, CheckDSI, CheckProgram, and WritePC
I tried making the new templated Interpret callback test only the relevant exceptions (EXCEPTION_DSI, EXCEPTION_PROGRAM, or both), but didn't find a significant performance boost in it. As I am learning, the biggest bottleneck is the number of callbacks emitted, not usually the actual contents of them.
2024-07-23 14:09:57 -07:00
ae43b10eff CachedInterpreter: Use CodeOp::canEndBlock
This was a bigger performance boost than I expected.
2024-07-23 14:07:02 -07:00
818647d694 CachedInterpreter: WritePC optimizations
WritePC is now needed far less, only for instructions that end the block. Unfortunately, WritePC still needs to update `PowerPCState::npc` to support the false path of conditional branch instructions. Both drawbacks should be smoothed over by optimized cached instructions in the future.
2024-07-23 14:06:40 -07:00
0282fa7adb CachedInterpreter: Exception Check Callback Micro-Optimization
This saves two register pushes / pops.
2024-07-23 14:06:22 -07:00
f79520a906 Cached Interpreter 2.0
It now supports variable-sized data payloads and memory range freeing. It's a little faster, too.
2024-07-23 14:06:21 -07:00
c71ccb548e AchievementManager: Fix incorrect check on network request return value in FetchBadge() 2024-07-23 20:49:12 +02:00
2d8f54fdd2 Merge pull request #12862 from SuperSamus/debugger-fixes
Debugger: Various fixes
2024-07-23 20:36:34 +02:00
7db5caf43e Merge pull request #12943 from Tilka/list_recursively
DolphinTool: list filesystem recursively
2024-07-23 19:56:07 +02:00
ffc7bcfbf8 Emitters: Define Trivial Getters Inline 2024-07-21 21:35:29 -07:00
191b36976c DolphinTool: list filesystem recursively 2024-07-21 19:16:00 +01:00
7bd2a7bde3 Merge pull request #12945 from Tilka/erase_if
Use C++20 erase_if() instead of erase(remove_if()) (NFC)
2024-07-21 19:06:55 +01:00
2dcb612497 Change OperandDesc variables to not be underscore-prefixed in order to comply with https://eel.is/c++draft/lex.name#3.1 (fixes compilation under newlib; e.g. devkitPro) 2024-07-21 18:35:38 +02:00
982893b04c Use C++20 erase_if() instead of erase(remove_if()) (NFC) 2024-07-21 16:36:06 +01:00
1fcb2ee5c1 Merge pull request #12936 from vabold/ios-inaccuracy
IOS: Fix return code inaccuracy
2024-07-19 21:27:07 +02:00
139e6f6f1b Merge pull request #12941 from LillyJadeKatrin/retroachievements-leaderboard-spam-fix
RetroAchievements - Leaderboard Spam Fix
2024-07-18 21:15:38 +02:00
8bb2f98c6a Properly Populate Player Index
The player_index field in question is ultimately what gets used to determine which ranks get displayed in the leaderboards chart, and because this was missing the chart was simply displaying the top four results no matter what.
2024-07-17 22:53:15 -04:00
5ccd157c94 Re-enable Leaderboards Tab 2024-07-17 22:51:43 -04:00
e7504d0b12 Remove Leaderboard Fetch when Getting Info
The cause of the leaderboard spam was primarily this call where if there was an attempt to get leaderboard info and there wasn't already, there would be a fetch request. This is bad for many reasons: some games have hundreds of boards that will be fetched at startup, if there's simply no data to populate that board, this will just continue to fetch every time the dialog needs to update. To mitigate this, I simply don't load leaderboard information until there are events for that leaderboard - less information for the player, sadly, but heavily cuts down on the number of leaderboard fetches.
2024-07-17 22:51:24 -04:00
d19aa934ae Fixed incorrect unlock information in Achievements dialog 2024-07-17 04:36:53 -04:00
cc3ff347b4 Merge pull request #12928 from LillyJadeKatrin/retroachievements-disable-lboard-tab
Disable Leaderboards Tab
2024-07-15 21:33:08 -04:00
63e1419396 AchievementManager: Don't point to stack for login error message 2024-07-15 23:24:04 +02:00
c50689355b IOS: Fix return code inaccuracy
Co-Authored-By: Mike <99037623+MikeIsAStar@users.noreply.github.com>
2024-07-15 16:11:15 -04:00
50b318cc31 Qt/AchievementHeaderWidget: Don't crash when we get an empty player or game badge 2024-07-15 21:55:47 +02:00
d665175a2b AchievementManager: Return the default player and game badges if the current one isn't loaded yet
This saves some copying and fixes an issue where the default badges disappear after a game was closed
2024-07-15 21:55:23 +02:00
b18661f15d Merge pull request #12931 from AdmiralCurtiss/cannot-pause-message
AchievementManager: Improve error message for repeated pausing
2024-07-15 12:05:45 +02:00
12a1607385 Merge pull request #12749 from LillyJadeKatrin/retroachievements-menubar
Show Achievements in Menu Bar always
2024-07-14 19:13:08 -04:00
7a36d5373a AchievementManager: Improve error message for repeated pausing 2024-07-14 23:09:53 +02:00
a0fc8e6b13 Merge pull request #12929 from LillyJadeKatrin/retroachievements-leaderboard-fixes
Fix Leaderboards Tab
2024-07-14 16:47:59 +02:00
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
a273dc2de2 Merge pull request #12924 from JosJuice/ra-unverified-ini-osd
RetroAchievements: Show OSD messages also for unverified INI files
2024-07-14 04:15:05 +02:00
f928fe97af Merge pull request #12925 from LillyJadeKatrin/retroachievements-unlocked-progress
Achievements Progress Bar Tweaks
2024-07-14 04:11:02 +02:00
95933d5158 Merge pull request #12907 from GaryOderNichts/fix/init_ipc_running
IOS::HLE::EmulationKernel::InitIPC: Fix WiiIPC ack generation
2024-07-12 16:48:37 +02:00
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
82b97ca904 IOS::HLE::EmulationKernel::InitIPC: Fix WiiIPC ack generation 2024-07-11 19:41:28 +02:00
e035db9127 Update game progress bar to match achievement progress bar 2024-07-10 18:51:37 -04:00
073426ead7 Force progress bar to 100% on completed achievements 2024-07-10 08:51:13 -04:00
1bf12a50c2 RetroAchievements: Show OSD messages also for unverified INI files
Currently we're showing OSD messages for unknown patches in known INI
files, but not for unknown patches in unknown INI files. I don't think
this distinction makes much sense to the user. If there's a patch the
user can't use, they probably want to be aware of that fact.
2024-07-10 13:16:54 +02:00
321c4649a5 Merge pull request #12921 from VampireFlower/master
BreakpointWidget: Correct icon position
2024-07-10 03:25:49 +02:00
afa6e26e5d BreakpointWidget: Correct icon position
Co-Authored-By: TryTwo <10532806+TryTwo@users.noreply.github.com>
2024-07-09 15:20:56 -07:00
e6b9091ffc RetroAchievements: Skip LoadApprovedList if there are no patches
There being no active patches is by far the most common case, so let's
optimize for this case.
2024-07-09 09:55:51 +02:00
f59678842b RetroAchievements: Delay calling LoadApprovedList
0c14b0c8a7 made Dolphin load a file from
the Sys folder the first time AchievementManager::GetInstance() is
called. Because Android calls AchievementManager::GetInstance() from
setBackgroundExecutionAllowedNative, this had two negative consequences
on Android:

1. The first time setBackgroundExecutionAllowedNative gets called is
   often before directory initialization is done. Getting the path of
   the Sys folder before directory initialization is done causes a crash.
2. setBackgroundExecutionAllowedNative is called from the GUI thread,
   and we don't want file I/O on the GUI thread for performance reasons.

This change makes us load the data from the Sys folder the first time
the data is needed instead. This also saves us from having to load the
data at all when hardcore mode is inactive.
2024-07-09 09:55:07 +02:00