30533 Commits

Author SHA1 Message Date
Lioncash
3c7fa0738c AchievementsWindow: Add missing override specifier 2023-12-11 13:47:59 -05:00
Lioncash
dbf28df64c DolphinQT: Remove unnecessary includes from achievement files
Reduces the amount of dependencies being pulled in on both local and
external headers.
2023-12-11 13:40:55 -05:00
Lioncash
e55f9ed102 AchievementManager: Make GetInstance() return a reference
The internal static member will always have a valid lifetime. Makes this
consistent with other instance based objects in our code.
2023-12-11 13:36:39 -05:00
Lioncash
cdf8849e17 GameFile: Default GameBanner operator==
Same behavior, but less code.
2023-12-11 11:36:35 -05:00
Lioncash
ff38362216 GameFileCache: Use std::span with Update()
All we're really doing is iterating over a sequence of strings, so we
don't need to tie this specifically to std::vector.
2023-12-11 11:12:09 -05:00
Lioncash
2ca80adeb2 GameFileCache: Pass std::function by reference rather than by value
std::function is internally allowed to allocate, and these functions
aren't being stored anywhere (only called), so we can freely get rid
of some minor overhead here by passing by reference.

This change also creates aliases for the functions, so that there isn't
a lot of visual noise when reading the function signatures.
2023-12-11 11:09:18 -05:00
Lioncash
88a973131c Common/SettingsHandler: Use std::string_view more
We don't need to enforce the use of std::string instances with
AddSetting(). We can accept views and only construct one string,
rather than three temporaries.
2023-12-11 07:54:43 -05:00
Lioncash
04b9f6c28d Common/SettingsHandler: Use std::erase in Decrypt()
Same behavior, way less verbose code.
2023-12-11 07:49:43 -05:00
Mai
d84ed054ee
Merge pull request #12374 from iwubcode/custom_texture_potential_crash_fix
VideoCommon: prevent a potential custom texture crash
2023-12-11 07:42:48 -05:00
Admiral H. Curtiss
694b3b4ea1
HW/CEXIIPL: Fix loading files at nonzero offset in LoadFileToIPL(). 2023-12-11 02:22:06 +01:00
Mai
c2b642d0b7
Merge pull request #12381 from AdmiralCurtiss/re-enable-achievement-nag
AchievementManager: Only nag user about disabled achievements when they were actually enabled before.
2023-12-10 20:16:24 -05:00
Mai
bdd28f1f26
Merge pull request #12378 from JosJuice/jitarm64-a-early-discard
JitArm64: Add additional condition for lmw/stmw a discard
2023-12-10 20:15:57 -05:00
iwubcode
3658d3bffe VideoCommon: add ability to serialize graphics mod to json object 2023-12-10 18:29:21 -06:00
iwubcode
ac862b04ab VideoBackends / VideoCommon: update max pixel shader samplers from 8 to 16, this allows us to support more samplers than the native Wii/GC 2023-12-10 18:14:02 -06:00
Admiral H. Curtiss
70cd0040a3
AchievementManager: Only nag user about disabled achievements when they were actually enabled before. 2023-12-10 21:10:49 +01:00
JosJuice
c55f21729f Add "large entry points map" setting
To aid in debugging, this makes it possible to disable the recently
added 32/64 GiB region which hasn't had a proper name so far.
2023-12-10 21:07:27 +01:00
JosJuice
0ec12f9e7e JitArm64: Add additional condition for lmw/stmw a discard
If a is one of the registers that will be loaded/stored, we must not
discard it early. Sorry for this fixup of a fixup...
2023-12-10 19:13:35 +01:00
JosJuice
13a4f1b799 JitArm64: Guard against discarding a in lmw/stmw
If a_is_addr_base_reg is true, discarding a before the end of the
instruction would result in the instruction being miscompiled.
2023-12-10 17:58:15 +01:00
Lioncash
f4b1a199e8 VFFUtil: Use std::span with WriteToVFF
Same behavior, but allows different containers to be used.

In one case it also gets rid of needing to construct a std::vector.
2023-12-10 10:17:39 -05:00
Mai
e2472e4f50
Merge pull request #12352 from JosJuice/jitarm64-flush-in-long-inst
JitArm64: Flush in the middle of lmw/stmw/mfcr
2023-12-10 09:15:07 -05:00
Mai
f249e414ad
Merge pull request #12366 from AdmiralCurtiss/exi-ipl-fixes
HW/CEXIIPL: Various fixes.
2023-12-10 09:12:18 -05:00
Admiral H. Curtiss
a0da6788a3
MMU: Use MSR.IR for instruction reads. 2023-12-10 14:18:25 +01:00
Admiral H. Curtiss
c12725c916
MMU: Assert that the given XCheckTLBFlag is valid for the operation. 2023-12-10 14:18:25 +01:00
Admiral H. Curtiss
0d6a0724fd
MMU: Always use data read for the PTE lookup in TranslatePageAddress. 2023-12-10 14:18:24 +01:00
Admiral H. Curtiss
5d2fc0147e
MMU: Mark IsOpcodeFlag() and IsNoExceptionFlag() as constexpr. 2023-12-10 14:18:24 +01:00
Admiral H. Curtiss
8194b53166
HW/CEXIIPL: Check for errors when reading font. 2023-12-10 14:17:38 +01:00
Admiral H. Curtiss
57e166dbef
HW/CEXIIPL: Consider that the loaded file may not actually contain a nullterminated string. 2023-12-10 14:17:37 +01:00
Admiral H. Curtiss
7d53916466
HW/CEXIIPL: Respect bounds in LoadFileToIPL(). 2023-12-10 14:17:37 +01:00
Admiral H. Curtiss
f284bfca45
Merge pull request #12336 from AdmiralCurtiss/lazymemory-ringbuffer
Common/MemArenaWin: Rewrite LazyMemoryRegion by repeatedly mapping the same block of memory for unwritten regions.
2023-12-10 13:00:09 +01:00
iwubcode
02756be381 VideoCommon: prevent a potential custom texture crash that can occur when a shared_ptr gets released while a pointer to its member data is still being used 2023-12-09 23:43:40 -06:00
Admiral H. Curtiss
ccedeb4936
Merge pull request #12373 from lioncash/present
VideoCommon/Present: Remove use of g_presenter inside Presenter class
2023-12-10 03:55:30 +01:00
Lioncash
0df7908025 VideoCommon/Present: Remove use of g_presenter inside Presenter class
There's no need to self reference a global of the class itself when we
can just call the function directly.
2023-12-09 20:15:32 -05:00
Lioncash
5f6c76af51 VideoCommon: Use std::span for BoundingBox::Write()
Crosses off a lingering TODO.

Also amends a few nearby cases where a u32 cast was being repromoted to
size_t.
2023-12-09 16:33:21 -05:00
Admiral H. Curtiss
3364d571cc
Common/MemArenaWin: Rewrite LazyMemoryRegion to manually map memory blocks into the large memory region as needed.
Internal details: The large region is split into individual same-sized blocks of memory. On creation, we allocate a single block of memory that will always remain zero, and map that into the entire memory region. Then, the first time any of these blocks is written to, we swap the mapped zero block out with a newly allocated block of memory. On clear, we swap back to the zero block and deallocate the data blocks. That way we only actually allocate one zero block as well as a handful of real data blocks where the JitCache actually writes to.
2023-12-09 21:11:31 +01:00
Admiral H. Curtiss
eb235d6ee3
Common/MemArenaWin: Move the advanced Windows memory function address initialization into its own struct and function so it can be reused. 2023-12-09 20:58:07 +01:00
Admiral H. Curtiss
6197902dc3
IOS/KD/Mail: Add missing includes. 2023-12-09 17:07:03 +01:00
Mai
636b892b7c
Merge pull request #12360 from TryTwo/bugfix_wiimote_signal_spam
WiimoteDevice. Bugfix. Remove signal spam while starting a game.
2023-12-08 21:07:51 -05:00
timetravelthree
3b8737d2d7
Fix out of bound write in EfbCopy::ClearEfb 2023-12-09 02:15:42 +01:00
CasualPokePlayer
13bf75b1df Add SYSCONF widescreen setting to dtm header 2023-12-08 01:27:57 -08:00
LillyJadeKatrin
e992225b88 Bugfix - small square in bottom right corner
Fixed a bug in OSUI created by the challenge icons that caused a small rectangle to appear in the bottom right corner of the screen.
2023-12-08 00:33:29 -05:00
Mai
3a4cf579ff
Merge pull request #12247 from LillyJadeKatrin/retroachievements-challenges
RetroAchievements - Challenge Icons
2023-12-07 16:46:43 -05:00
LillyJadeKatrin
caa729f84a Display Active Challenges On Screen
The active challenges, aka the primed achievements, are displayed on screen as a series of icons in the bottom right corner of the screen via OnScreenUI.
2023-12-07 16:02:15 -05:00
TryTwo
6bd9488e0a WiimoteDevice. bugfix. Remove signal spam while starting a game.
Emulation state changed signals also update the wiimote connection. The signal here is only needed for wiimote connects/disconnects.

Can fix erroneous debugger behavior during booting, as dolphin will sometimes incorrectly report the state as paused, which leads the debugger widgets to run when they shouldn't.
2023-12-07 12:15:57 -07:00
rsgnz
8c973188ef Fix "Post-processing shader not found" when (off) is selected. (2nd version) 2023-12-07 11:26:31 +01:00
Mai
2ece642cf8
Merge pull request #12357 from AdmiralCurtiss/ipl-bounds
Core/Boot: Check bounds in Load_BS2().
2023-12-06 19:57:26 -05:00
LillyJadeKatrin
8fbc5960e7 Handle Achievement Un/Primed Events
When an achievement is "primed", a challenge is active, for example completing a portion of the game in under a time limit or without taking damage or using certain items. This is stored in a map in the Achievement Manager (and removed when the achievement is unprimed) so a later commit can display it on screen.
2023-12-06 08:21:06 -05:00
Admiral H. Curtiss
fff538e563
Core/Boot: Check bounds in Load_BS2(). 2023-12-05 22:34:35 +01:00
LillyJadeKatrin
2bf6ebcb90 Added achievement hash to non-disc boot paths. 2023-12-05 16:17:18 -05:00
LillyJadeKatrin
ebf2ef1d82 Refactored hash process to check prior game ID
If the new game ID is a different title than the previous game ID, the achievement manager is compromised.
2023-12-05 16:17:18 -05:00
LillyJadeKatrin
c8d8ca2ff7 Added Disabled flag to Achievement Manager
The Disabled state sits between Game Closed and completely Shutdown - stronger than the former, as it refuses to let a game be opened again until AchievementManager is restored (which only happens upon a fresh core boot) but it isn't completely shut down and will still allow the player to be logged in and access the achievement settings and their (global) achievement header.
2023-12-05 16:17:17 -05:00