Commit Graph

42265 Commits

Author SHA1 Message Date
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 321c4649a5
Merge pull request #12921 from VampireFlower/master
BreakpointWidget: Correct icon position
2024-07-10 03:25:49 +02: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
Admiral H. Curtiss bb03fc04cc
Merge pull request #12922 from JosJuice/android-approved-list-crash
RetroAchievements: Delay calling LoadApprovedList
2024-07-09 15:27:37 +02:00
JosJuice 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
JosJuice 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
Admiral H. Curtiss 01a2cf8db9
Merge pull request #12919 from JosJuice/set-background-execution-allowed-crash
Fix AchievementManager::SetBackgroundExecutionAllowed crash
2024-07-08 01:13:25 +02:00
JosJuice 95e2064099 Fix AchievementManager::SetBackgroundExecutionAllowed crash
We mustn't use m_system when it is nullptr. This was causing Dolphin to
crash on Android whenever an activity was recreated or resumed while
emulation is running, which is super common.
2024-07-07 23:56:10 +02:00
Admiral H. Curtiss c4db83ce09
Merge pull request #12920 from TellowKrinkle/XXHashLink
Properly link against xxhash
2024-07-07 23:49:01 +02:00
Admiral H. Curtiss b10d62cf66
Merge pull request #12913 from LillyJadeKatrin/retroachievements-allowlist-test
RetroAchievements - Patch Allowlist Unit Test
2024-07-07 23:48:09 +02:00
LillyJadeKatrin ae87bf9af5
Add Unit Test for Patch Allowlist
This unit test compares ApprovedInis.json with the contents of the GameSettings folder to verify that every patch marked allowed for use with RetroAchievements has a hash in ApprovedInis.json. If not, that hash is reported in the test logs so that the hash may be updated more easily.
2024-07-07 21:29:03 +02:00
Admiral H. Curtiss 3ca50f7879
Implement File::GetExePath() for FreeBSD 2024-07-07 21:09:50 +02:00
LillyJadeKatrin 0c14b0c8a7 Add Approved Patch Allowlist for Achievements
Prototype of a system to whitelist known game patches that are allowed to be used while RetroAchievements Hardcore mode is active. ApprovedInis.txt contains known hashes for the ini files as they appear in the repo, and can be compared to the local versions of these files to ensure they have not been edited locally by the player. ApprovedInis.txt is hashed and verified similarly first, with its hash residing as a const string within AchievementManager.h, ensuring ApprovedInis and the hashes within cannot be modified without editing Dolphin's source code and recompiling completely.
2024-07-07 13:42:09 -04:00
TellowKrinkle cab6e7c12e Properly link against xxhash
Things using dolphin_find_optional_system_library need to link against the name used there or they won't work with both the system and bundled cases
2024-07-06 16:56:44 -05:00
Admiral H. Curtiss 02e1b94149
Merge pull request #12905 from LillyJadeKatrin/retroachievements-hotkey
Add Open Achievements Hotkey
2024-07-06 14:23:47 +02:00
LillyJadeKatrin 8b427de28f Remove popups for challenges
The challenge popups have proven to be excessive and are no longer useful thanks to the achievements hotkey. Instead, those events will ask for an immediate RP-level update to the achievements dialog, which will among other things re-sort the dialog to show challenges on top faster.
2024-07-06 07:36:31 -04: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
Admiral H. Curtiss 6ddfdc1483
Merge pull request #12915 from AdmiralCurtiss/sha1-span
Common/Crypto/SHA1: Use span and string_view for Context::Update()
2024-07-05 21:15:00 +02:00
JMC47 2812e6116e
Merge pull request #12851 from iwubcode/texture_asset_from_to_json_sampler
VideoCommon: add way to serialize Texture Asset to json, update to deserialize values independently
2024-07-05 14:36:42 -04:00
Admiral H. Curtiss 5ea3d9fca0
Merge pull request #12856 from LillyJadeKatrin/retroachievements-pause-v2
Handle Pausing in AchievementManager
2024-07-04 22:53:04 +02:00
Admiral H. Curtiss 3a63633be3
Common/Crypto/SHA1: Use span and string_view for Context::Update() 2024-07-04 22:37:07 +02:00
Admiral H. Curtiss 1b1523d6e0
Merge pull request #12895 from LillyJadeKatrin/retroachievements-badge-cache
RetroAchievements Integration - Badge Cache
2024-07-04 22:36:48 +02:00
LillyJadeKatrin bf97305a60
AchievementManager: Cache Badges on Disk
Badges are saved in /User/Cache/RetroAchievements on first download and reused from there instead of redownloaded.
2024-07-04 22:12:28 +02:00
LillyJadeKatrin 360f899f68
Common/Crypto/SHA1: Add DigestToString() utility function 2024-07-04 22:12:20 +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
Tilka 654ccb0b70
Merge pull request #12908 from GaryOderNichts/stm/immediate/writedmcu
IOS::HLE::STMImmediateDevice: Add `IOCTL_STM_WRITEDMCU`
2024-07-03 20:20:42 +01:00
OatmealDome 18962f6f15
Merge pull request #12912 from MayImilae/dumbflatpakrules
Linux SVG for Flatpak
2024-07-03 12:51:34 -04:00
MayImilae 51fd9b22f2 linuxiconflatpakrules 2024-07-03 05:20:00 -07:00
OatmealDome dd67b77601
Merge pull request #12906 from JosJuice/transifex-organization-name 2024-07-02 11:35:06 -04:00
GaryOderNichts b5ccb59feb IOS::HLE::STMImmediateDevice: Add `IOCTL_STM_WRITEDMCU` 2024-07-02 15:40:59 +02:00
JosJuice cafb83736e Update Transifex organization name
By request from delroth, I changed the name of our Transifex
organization so it's named after the Dolphin project rather than after
him. This broke old links and the .tx/config file.
2024-07-02 14:57:09 +02:00
OatmealDome 0a9d869518 Merge branch 'release-prep-2407' 2024-07-02 03:44:26 -04:00
OatmealDome b92e354389 ScmRevGen: Bump major version to 2407 2024-07-02 02:36:16 -04:00
OatmealDome 656a5a18db
Merge pull request #12903 from MayImilae/logos-update
Logo refresh for android, windows, and linux
2024-07-02 02:11:12 -04:00
OatmealDome 407f19343e
Merge pull request #12902 from OatmealDome/mac-icon-2407
Data: Add new macOS app icon
2024-07-02 02:10:45 -04:00
JosJuice d92d404c01 Translation resources sync with Transifex 2024-07-02 08:02:48 +02:00
OatmealDome 1bec2b6484
Merge pull request #12823 from JosJuice/android-new-version-code
Android: Adopt a new versionCode scheme
2024-07-01 22:04:18 -04:00
JMC47 f4c6311b91
Merge pull request #12904 from LillyJadeKatrin/retroachievements-challenge-popups
Add Messages for Challenges
2024-07-01 14:35:15 -04:00
MayImilae 3f71928860 Logo refresh for android, windows, and linux 2024-07-01 06:29:57 -07:00
LillyJadeKatrin 44af48a11f Add Messages for Challenges
Starting or ending a challenge now displays a popup naming and describing the challenge along with the active icon.
2024-07-01 06:56:59 -04:00
Admiral H. Curtiss 1a376e46d5
Merge pull request #12901 from OatmealDome/release-tag-commits-ahead-silence
ScmRevGen: Silence output on the standard error when getting the current tag
2024-07-01 02:36:35 +02:00
OatmealDome 79194aae21 Data: Add new macOS app icon 2024-06-30 17:24:52 -04:00
OatmealDome 1ad982f469 ScmRevGen: Silence output on the standard error when getting the current tag 2024-06-30 16:55:47 -04:00
Admiral H. Curtiss 0ab2f56258
Merge pull request #12899 from OatmealDome/release-tag-commits-ahead
ScmRevGen: Set commits ahead to zero when on a tag
2024-06-30 20:45:22 +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
Tilka c19187f0c7
Merge pull request #12898 from AdmiralCurtiss/speedhacks
Core/PatchEngine: Remove remnants of Speedhack system
2024-06-30 15:58:51 +01:00
Tilka 1421c2d9ff
Merge pull request #12900 from Sintendo/jitarm64-remove-temp-gpr
JitArm64: Remove unused temp_gprs
2024-06-30 15:57:08 +01:00
LillyJadeKatrin 33081184bb Handle Pausing in AchievementManager
There are two pieces of functionality to be added here. One, we want to disallow pausing too frequently, as it may be used as an artificial slowdown. This is handled within the client, which can tell us if a pause is allowed. Two, we want to call rc_client_idle on a periodic basis so the connection with the server can be maintained even while the emulator is paused.
2024-06-30 07:05:54 -04:00
Sintendo 9af7772d91 JitArm64_Paired: Remove unused temp_gpr from ps_arith 2024-06-30 09:54:09 +02:00