Commit Graph

13771 Commits

Author SHA1 Message Date
56b82e764c Clear active challenges when game closes
Failing to do this was causing challenge icons to carry over into the next game if a game was closed while the icons were active, even if the next game to run was a completely different game entirely with completely different badges.
2024-02-26 22:21:05 -05:00
ccf2435047 Merge pull request #12586 from LillyJadeKatrin/retroachievements-pointspread-fix
Fixes to Achievement points count/mastery
2024-02-19 02:41:14 +01:00
e5b73fec08 Fixes to Achievement points count/mastery
Two minor updates to improve the Achievement Manager's handling of a player's completion rate.
One, UnlockStatus and the unlock map now track achievement category, such that TallyScore does not count unofficial achievements in counts/points.
Two, the determinations for mastery/completion are now improved to check (1) that the achievement triggering this is CORE (not UNOFFICIAL) and (2) that it has not already been unlocked at this level on the site, which should be sufficient to determine that the unlocking of this particular achievement completes/masters the game.
2024-02-18 19:27:18 -05:00
Mai
27415b0ba1 Merge pull request #12587 from AdmiralCurtiss/localtime
Core: Fix crash when inspecting a savestate with a timestamp that causes localtime() to error out
2024-02-18 17:12:29 -05:00
638808c944 IOS/FS: Display the invalid path in the ASSERT in BuildFilename(). 2024-02-18 20:06:32 +01:00
d3140e72c3 Core: Fix crash when inspecting a savestate with a timestamp that causes localtime() to error out. 2024-02-18 04:45:37 +01:00
982ad93355 Merge pull request #12582 from LillyJadeKatrin/retroachievements-bugfix-2
Improved achievements disabled messaging
2024-02-18 03:49:44 +01:00
394af40db5 Improved achievements disabled messaging
Most obviously, there is no longer a warning message to the player in the achievement window that achievements are disabled if a game is not currently running.
2024-02-15 16:33:18 -05:00
f0d363eea7 Core/DSPHLE: Construct accelerator in AX and AXWii constructors.
This fixes an issue introduced by 3b0444be6b
where the m_accelerator would not be initialized when loading a savestate if
the current UCode mismatched the UCode in the savestate, leading to a crash.
2024-02-12 04:18:18 +01:00
Mai
aa66842172 Merge pull request #12574 from sepalani/exi-exit
EXI: Don't kill Dolphin when receiving BBA_IOB
2024-02-11 20:32:33 -05:00
7c276c1993 EXI: Don't kill Dolphin when receiving BBA_IOB
According to @Kirbymimi it doesn't crash on real hardware.

Testing was done by sending many UDP packets to an unbound port.
2024-02-11 23:15:23 +04:00
Mai
80d77ac0b4 Merge pull request #12568 from noahpistilli/kd-register-default-id
IOS/KD: Correctly handle registration of the default user ID
2024-02-11 13:52:40 -05:00
e6ee217a7c Core: Move Emulation IOS instance to System. 2024-02-07 22:07:30 +01:00
33dd3b078c Correctly log register errors 2024-02-07 09:36:36 -05:00
1ed7b35710 Retain Save State Folder
Adds a setting field under the hood to retain which folder the player last saved/loaded a state to/from, so that the dialog box to select a state to save/load reopens at that folder.
2024-02-05 19:44:09 -05:00
Mai
9240f579ea Merge pull request #12561 from JosJuice/profile-consistency
InputCommon: Fix profile path inconsistencies
2024-02-05 09:47:08 -05:00
1315b54ffa InputCommon: Use distinct values for profile key
Because the last commit made us use separate folders for GCPad and
GCKey profiles, we should also use separate game INI keys for them.
Otherwise setting e.g. PadProfile1 in a game INI will make both GCPad
and GCKey try to load it, typically with one of them succeeding and the
other one showing a panic alert due to the profile not existing in its
folder.

Better do this breaking change for GCKeys in the same PR as the other
breaking change rather than later.
2024-02-04 17:55:08 +01:00
2bcf70af3f InputCommon: Refactor away InputConfig::LoadConfig's switch case
By having getters for this information, other code that needs access to
the same information can call the getters instead of duplicating the
information.
2024-02-04 16:46:10 +01:00
abbc4bd0bd Merge pull request #12551 from lioncash/cheev
AchievementManager: Minor cleanup
2024-02-03 03:01:56 +01:00
db80abbadd AchievementManager: Tidy up GetRichPresence()
This can be a direct return.
2024-02-01 23:03:24 -05:00
c14414a151 AchievementManager: clear name in CloseGame()/LogOut()
A little more idiomatic.
2024-02-01 23:03:24 -05:00
2d8af7b7f8 AchievementManager: Replace memsets where applicable
We can just use brace initialization to zero these out. Smaller to
write and a little quicker to read.
2024-02-01 23:03:24 -05:00
184fe932ed AchievementManager: std::move leaderboard info in FetchBoardInfo()
Avoids churning some allocations.
2024-02-01 23:03:24 -05:00
76c381e6f7 AchievementManager: Ensure update callback is always valid
This way we don't need to do any validity checking aside from the
initial setting of the callback. Also cuts down on line noise.
2024-02-01 23:03:23 -05:00
2b83cc739a AchievementManager: Convert .compare() into equality operators
These perform a default comparison, which is the same as using the
equality operators.
2024-02-01 23:03:23 -05:00
394418b415 AchievementManager: Remove unnecessary .get()
Same behavior, less code.
2024-02-01 23:03:23 -05:00
161efff6c9 AchievementManager: Remove long qualifier
We can remove the long qualifying on some ResponseType instances to
lessen the amount of reading.
2024-02-01 23:03:23 -05:00
085c4d154e CheatSearch: Remove redundant lambdas
Core::RunAsCPUThread is obsoleted by CPUThreadGuard reference already passed into the function. The nonsense lambda in CheatSearchWidget is from changes in fdb7328c73.
2024-02-01 19:54:47 -08:00
951be30891 Core: Fix booting titles from NAND. 2024-02-01 19:50:20 +01:00
14121c5504 Core/ConfigManager: Remove dead bAutomaticStart flag. 2024-01-31 22:53:43 +01:00
da6b5dd38a Merge pull request #12546 from lioncash/event
VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
2024-01-31 21:16:21 +01:00
5ade2e39ef Core/Movie: Remove lingering global system instance accessors
The movie manager is already passed in a reference to the relevant
system, so we can use that instead.
2024-01-31 13:30:24 -05:00
cac66317aa VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
Instead, we make the event take a reference to the system and then pass
it in when the event is triggered.

This does introduce two other accessors, but these are much easier to
refactor out over time, and without modification to the existing event
interface.
2024-01-31 13:12:09 -05:00
Mai
30fdf25f8f Merge pull request #12542 from AdmiralCurtiss/system-sconfig
Migrate m_is_mios and bWii from SConfig to System.
2024-01-31 09:57:17 -05:00
9a3e770c23 Migrate SConfig::bWii to System. 2024-01-31 12:54:07 +01:00
Mai
e0828815e7 Merge pull request #12540 from mitaclaw/encode-reg-to-64
Add Missing EncodeRegTo64 in JitArm64::dcbx
2024-01-30 13:08:03 -05:00
45481620b8 Add Missing EncodeRegTo64 in JitArm64::dcbx
ARM64FloatEmitter::ABI_PushRegisters expects an XReg temporary, not a WReg.
2024-01-30 03:06:32 -08:00
8d515d407c Migrate SConfig::m_is_mios to System. 2024-01-30 03:45:17 +01:00
fd99a5db9a Reverse endianness of achievement memory peeks
rcheevos expects these multi-byte peeks to have the opposite endianness so they need to be swapped before rcheevos gets them.
2024-01-29 11:55:49 -05:00
0405b4dcc2 Merge pull request #12536 from LillyJadeKatrin/retroachievements-bugfix
Removed post data from Achievement request logs
2024-01-28 14:26:09 +01:00
f25bdda728 Removed post data from Achievement request logs
post_data included passwords and API keys in plaintext so continuing to include it in logs is a security liability.
2024-01-27 18:50:27 -05:00
e740e32562 Merge pull request #12522 from lioncash/ppcanalyst
PPCAnalyst: Merge duplicate expression in ReorderInstructionsCore()
2024-01-26 20:29:16 +01:00
b09b59c125 Merge pull request #12521 from lioncash/reent
Core: Make use of reentrant time utilities where applicable
2024-01-26 18:55:26 +01:00
460ab609d0 Merge pull request #12524 from lioncash/memb
Jit64AsmCommon: Remove redundant m_jit member from CommonAsmRoutines
2024-01-26 18:53:44 +01:00
Mai
97160ddc83 Merge pull request #12531 from LillyJadeKatrin/retroachievements-bugfix
Add host URL setting to achievements config
2024-01-24 16:17:17 -05:00
2826099808 Merge pull request #12523 from lioncash/fallthrough
Core: Get rid of some unannotated fallthrough cases
2024-01-24 18:40:32 +01:00
5692e15285 Merge pull request #12525 from lioncash/defined
Core: Convert some preprocessor checking to use #ifdef/#if defined() over #if
2024-01-24 18:39:49 +01:00
03e3f65653 Add host URL setting to achievements config
The Host URL setting in the RetroAchievements config will, if set, be used as the host URL for all server requests for achievements. This allows for an easy switch to the RetroAchievements staging server for testing.
2024-01-24 07:08:54 -05:00
6cb3389696 CodeTrace: Use std::set::lower_bound() over std::lower_bound()
std::set's lower_bound() is optimized better than the generic
implementation of std::lower_bound()

std::lower_bound() works best on random access iterators, where the
number of comparisons can be logarithmic. However, since std::set's
iterators are bidirectional iterators, the comparisons will actually be
linear in practice when using std::lower_bound().

So, we can use std::set's version which is guaranteed to be logarithmic.
2024-01-23 17:21:22 -05:00
258161bab7 DolphinAnalytics: Use #ifdef instead of #if for platform testing 2024-01-23 16:51:31 -05:00