1414 Commits
Author SHA1 Message Date
JosJuice 22aa88109f Use a stub AchivementManager when USE_RETRO_ACHIEVEMENTS isn't defined
This lets us reduce the number of USE_RETRO_ACHIEVEMENTS ifdefs in the
code base, reducing visual clutter. In particular, needing an ifdef for
each call to IsHardcodeModeActive was annoying to me. This also reduces
the risk that someone writes code that accidentally fails to compile
with USE_RETRO_ACHIEVEMENTS disabled.

We could cut down on ifdefs even further by making HardcodeWarningWidget
always exist, but that would result in non-trivial code ending up in the
binary even with USE_RETRO_ACHIEVEMENTS disabled, so I'm leaving it out
of this PR. It's not a lot of code though, so I might end up revisiting
it at some point.
2024-06-06 08:26:20 +02:00
Tillmann Karras 4619db2ae9 DiscIO: drop unused Volume::CheckContentIntegrity() overload
The offset-based overload hasn't been in use since
f754a1a548.
2024-05-26 00:10:26 +01:00
LillyJadeKatrin ad969dfc0d Disabled Hardcore Mode when Achievements disabled
Bugfix for hardcore-disabled items being disabled when hardcore was true but achievement integration was false, which should mean hardcore is effectively disabled. Now everything checks the IsHardcoreModeActive method in AchievementManager which processes the setting AND the game state to determine if hardcore mode is actually active.
2024-05-02 04:44:52 -04:00
Lioncash b728e37086 RiivolutionParser: Remove usages of global system accessor
We can retrieve the encompassing system instance through the
CPUThreadGuard instance instead.
2023-12-12 12:48:40 -05:00
Lioncash c2e39e0d68 RiivolutionParser: Make use of std::span where applicable
The main interface for these only take in patches and iterate over them
in a contiguous sequence, so we can reasonably generify the interface.
2023-12-12 12:38:43 -05:00
LillyJadeKatrin 1a19a92943 Disable memory patches in hardcore mode
Memory patches would be an easy way to manipulate the memory needed to calculate achievement logic, so they must be disabled. Riivolution patches that do not affect memory are allowed, as they will be hashed with the game file.
2023-12-02 16:41:16 -05:00
Lexi LarkinandTillmann Karras 71dfa66d8b Tool/Header: Add JSON output mode; game data 2023-11-28 08:49:28 +00:00
JosJuice 9c53c110f8 DiscIO: Remove unintentional use of comma operator 2023-11-05 09:24:49 +01:00
LillyJadeKatrin 335cf4f2db Added CopyReader to BlobReader and all subclasses
A deep-copy method CopyReader has been added to BlobReader (virtual) and all of its subclasses (override). This should create a second BlobReader to open the same set of data but with an independent read pointer so that it doesn't interfere with any reads done on the original Reader.

As part of this, IOFile has added code to create a deep copy IOFile pointer onto the same file, with code based on the platform in question to find the file ID from the file pointer and open a new one. There has also been a small piece added to FileInfo to enable a deep copy, but its only subclass at this time already had a copy constructor so this was relatively minor.
2023-10-01 09:04:06 -04:00
JosJuice 0f64df3e3e DiscIO: Don't keep volume pointer in DiscScrubber
Keeping the pointer creates use-after-free opportunities, and we don't
have much reason to keep it around anyway.
2023-08-19 17:30:22 +02:00
Admiral H. CurtissandGitHub fa81006b51 Merge pull request #11955 from TellowKrinkle/CMakeDependencies
CMake: Allow ignoring system packages
2023-06-30 19:06:04 +02:00
TellowKrinkle 5b10a80401 CMake: Use targets for all optionally-external dependencies 2023-06-15 01:41:41 -05:00
Dentomologist 7ff7c9e84f Common: Convert FromWhichRoot to enum class 2023-06-13 13:25:22 -07:00
get ee19ff66b4 Remove NKit data when extracting a GCN/Wii disc volume 2023-06-02 01:11:50 -05:00
JosJuiceandGitHub 11768e3dd3 Merge pull request #11829 from lioncash/strutil
Common/StringUtil: Move some utilities into the Common namespace
2023-05-17 09:13:36 +02:00
MaiandGitHub fede2ab9a9 Merge pull request #11828 from JosJuice/wia-convert-comments
DiscIO: Improve comments in WIARVZFileReader::Convert
2023-05-16 14:39:59 -04:00
Lioncash 21df3ca572 StringUtil: Move IsPrintableCharacter() into Common namespace 2023-05-16 14:17:54 -04:00
JosJuice 192081d2f1 DiscIO: Improve comments in WIARVZFileReader::Convert
Just some clarifications and typo fixes.
2023-05-16 18:58:07 +02:00
Admiral H. Curtiss 6a339cbdb3 IOS/ES: Split ESDevice into ESCore and ESDevice.
ESCore implements the core functionality that can also be used outside of emulation. ESDevice implements the IOS device and is only available during emulation.
2023-05-15 20:41:05 +02:00
Admiral H. Curtiss c97c80d1cb NANDImporter: Check data bounds. 2023-04-02 03:45:34 +02:00
Admiral H. Curtiss 8dabd1a025 PowerPC/MMU: Refactor to class, move to System. 2023-03-28 03:47:51 +02:00
Admiral H. Curtiss 655cc7f75c DiscIO: Add support for CleanRip-style split ISOs. 2023-03-05 19:23:55 +01:00
Admiral H. Curtiss a0974c18cd RiivolutionPatcher: Use capitalization of file that exists in the host file system if possible.
Fixes https://bugs.dolphin-emu.org/issues/13138
2023-02-28 00:56:34 +01:00
Admiral H. Curtiss bdb19085c4 Common: Add utility function for case-insensitive string comparison. 2023-02-28 00:56:33 +01:00
Pokechu22 8802f96b7e Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00