summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/VolumeGC.h
AgeCommit message (Collapse)Author
2026-02-15Added Triforce supportcrediar
2025-05-01Make overriding explicit and remove redundant virtual specifiers on ↵Dr. Dystopia
overriding destructors - Core & UnitTests
2025-04-21Implement Triforce ID parsingZopolis4
2025-04-21Add Triforce platform and preliminary boot.id parsingZopolis4
2025-04-21Merge pull request #13537 from tygyh/DiscIO-Make-variables-constexprTilka
DiscIO: Make variables constexpr
2025-04-19DiscIO: Make variables constexprDr. Dystopia
2025-04-19DiscIO: Make classes finalDr. Dystopia
2022-08-04DiscIO: Replace IsDataSizeAccurate with GetDataSizeTypeJosJuice
Previously, we had WBFS and CISO which both returned an upper bound of the size, and other formats which returned an accurate size. But now we also have NFS, which returns a lower bound of the size. To allow VolumeVerifier to make better informed decisions for NFS, let's use an enum instead of a bool for the type of data size a blob has.
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2020-08-02Make netplay's "same game" check more robustJosJuice
Instead of comparing the game ID, revision, disc number and name, we can compare a hash of important parts of the disc including all the aforementioned data but also additional data such as the FST. The primary reason why I'm making this change is to let us catch more desyncs before they happen, but this should also fix https://bugs.dolphin-emu.org/issues/12115. As a bonus, the UI can now distinguish the case where a client doesn't have the game at all from the case where a client has the wrong version of the game.
2020-07-04DiscIO: Add Volume::IsDatelDiscJosJuice
2020-06-25DiscIO: Deduplicate some VolumeGC/VolumeWii codeJosJuice
2020-06-07Show an OSD message when running a disc image with a large block sizeJosJuice
This is intended to catch WIA files which have been created using wit's default parameters (40 MiB block size), once the WIA PR is merged. The check does however also work for GCZ files – not that I think anyone has a GCZ file with a block size that large.
2019-07-18DiscIO: Add functions CreateDisc and CreateWADJosJuice
...in addition to the existing function CreateVolume (renamed from CreateVolumeFromFilename). Lets code easily add constraints such as not letting the user select a WAD file when using the disc changing functionality.
2019-05-06Reformat repo to clang-format 7.0 rulesTechjar
2019-03-30DiscIO: Add way of checking whether blob data size is accurateJosJuice
2019-02-25Keep track of GameTDB ID separately from game IDJosJuice
The difference between Dolphin's game IDs and GameTDB's game IDs is that GameTDB uses four characters for non-disc titles, whereas Dolphin uses six characters for all titles. This fixes: - TitleDatabase considering Datel discs to be NHL Hitz 2002 - Gecko code downloading not working for discs with IDs starting with P - Cover downloading mixing up discs with channels (e.g. Mario Kart Wii and Mario Kart Channel) and making extra HTTP requests. (Android was actually doing a better job at this than DolphinQt!)
2018-05-30Volume/VolumeGC/VolumeWii: Amend variable namingLioncash
Drops prefixed underscores and normalizes names to follow our coding style.
2018-05-20Reimplement custom PNG banners in game listJosJuice
Fixes https://bugs.dolphin-emu.org/issues/10938 and makes PNG banners available in DolphinQt2 for the first time.
2017-10-24DiscIO: Remove comments that state obvious factsLéo Lam
2017-09-15VolumeGC: Add a default constructor for ConvertedGCBannerLéo Lam
Without this, it fails to build with the following error in g++ 7.2.0: > constructor required before non-static data member has been parsed
2017-09-15DiscIO: Use Common::Lazy for loading GC bannersJosJuice
2017-09-15DiscIO: Use Common::Lazy for loading filesystemsJosJuice
This simplifies FileMonitor a lot and also lets us clean up FilesystemPanel.
2017-06-06DiscIO: Remove C/I/S prefixes from class namesJosJuice
These prefixes were inconsistent with the rest of Dolphin. I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13.
2017-06-05DiscIO: Use std::optional in Volume and BlobJosJuice
2017-06-04Don't show FST size in game propertiesJosJuice
Normal users don't care about it. In fact, people care so little about it that the Wii implementation of it was broken starting from when it was implemented (eb65601) to 7 years later (e0a47c1), apparently without anyone reporting it.
2017-05-16VolumeWiiCrypted: Replace ChangePartition with a partition parameterJosJuice
By removing mutable state in VolumeWiiCrypted, this change makes partition-related code simpler. It also gets rid of other ugly things, like ISOProperties's "over 9000" loop that creates a list of partitions by trying possible combinations, and DiscScrubber's volume swapping that recreates the entire volume when it needs to change partition.
2017-02-19Forward declare IBlobReader in Volume headersJosJuice
We have to do this (or include Blob.h) since the constructors take unique_ptr<IBlobReader> parameters.
2017-01-02DiscIO: Add GetRegion function and Region enumJosJuice
Instead of needing different switch cases for converting countries to regions in multiple places, we now only need a single country-to-region switch case (in DiscIO/Enums.cpp), and we get a nice Region type.
2016-10-29DiscIO/SConfig: Rename GetUniqueID to GetGameIDJosJuice
We call this "game ID" everywhere else, and it's not actually completely unique.
2016-07-13Move DiscIO enums to a new fileJosJuice
At first there weren't many enums in Volume.h, but the number has been growing, and I'm planning to add one more for regions. To not make Volume.h too large, and to avoid needing to include Volume.h in code that doesn't use volume objects, I'm moving the enums to a new file. I'm also turning them into enum classes while I'm at it.
2016-06-26GCVolume: supports reading all opening.bnr informationRukai
DQT2: Game properties dialog contains info tab giving information about the selected iso.
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2015-09-29Merge pull request #3099 from lioncash/bannerflacs
VolumeGC: Get rid of banner pointer casts
2015-09-28VolumeGC: Get rid of banner pointer castsLioncash
Prefer reading the data into the reified struct instead.
2015-09-27DiscIO: Add a way to get blob typeJosJuice
2015-09-26Display all compressed formats in blue in GUIJosJuice
In the past, only GCZ was shown as compressed, not CISO and WBFS.
2015-09-12Merge pull request #2829 from JosJuice/fix-wii-fst-size-2Lioncash
Fix reading Wii FST size (for real this time)
2015-08-31VolumeCreator: Use a unique_ptr in CreateVolumeFromFilenameLioncash
2015-08-10Fix reading Wii FST size (for real this time)JosJuice
04fcb72 fixed an issue with reading the Wii FST size, but I found a second issue when working on PR #2820 - the size must be shifted left by 2. DiscScrubber and Boot already do this correctly using separate code.
2015-07-30Remove unnecessary virtual keywordsLioncash
2015-06-08Volume: Add prefer_long parameter to GetNamesJosJuice
GC games with long names store two variations of the name in opening.bnr. This makes the shorter of those names available. For volumes other than GC discs, prefer_long is ignored.
2015-06-04Volume: Return volume type as an enumJosJuice
ISOFile and GameFile were using IsWiiDisc() and IsWadFile() to set an enum value. The volume might as well return an enum directly. I increased the Qt CACHE_REVISION because m_platform now is saved as u32 instead of int, but increasing the wx CACHE_REVISION is not necessary.
2015-05-29Volume: Use more appropriate types for some returned valuesJosJuice
Disc number is changed from bool to u8, and revision is changed from int to u16 (WADs can use all 16 bits, but discs can only use 8 bits).
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-11Volume: Rename GetName to GetInternalNameJosJuice
This is intended to better separate it from GetNames and to clarify that this name originally wasn't meant to be shown to users. The ISOProperties GUI is also updated, mainly because labeling the long banner name "short name" was confusing.
2015-04-28Get rid of banner loaders and move their functionality to volumesJosJuice
Having some data available in banner loaders and some other data data available in volumes gets messy, especially with GetNames(), which is available in both but returns different results depending on which one is used. This change drops support for reading names and descriptions from Wii save data.
2015-04-23Return GetNames languages, to avoid hardcoded language lists in callersJosJuice
This makes the code cleaner and also leads to some user-visible changes: The wx game properties will no longer let the user select WAD languages that don't have any names. The Qt game list will now display names using the languages set in the configuration instead of always using English for PAL GC games and Japanese for WADs. If a WAD doesn't have a name in the user's preferred language, English is now selected as a fallback before Japanese.
2015-02-26Rearranged Volume header filesStevoisiak