| Age | Commit message (Collapse) | Author |
|
Callers don't need to know that these functions are implemented
with a switch statement.
|
|
|
|
Fixes https://bugs.dolphin-emu.org/issues/10938
and makes PNG banners available in DolphinQt2 for the first time.
|
|
Also removing some prefixes that we don't need now that we're
using enum classes instead of plain enums.
|
|
Macros should be all upper-cased. This is also kind of a wart that's
been sticking out for quite a while now (we avoid prefixing
underscores).
|
|
|
|
This class is similar to the BannerLoaderWii class that was
removed in ee694e32.
|
|
This simplifies FileMonitor a lot and also lets us
clean up FilesystemPanel.
|
|
These prefixes were inconsistent with the rest of Dolphin.
I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13.
|
|
|
|
This makes the interface slightly cleaner and a bit more consistent
with the other getters. Still not fully the same, since the others
don't really handle failures with std::optional; but at least the
value is returned by value now, as opposed to having the function
take a pointer to a u64.
|
|
0x49e4 is the actual maximum TMD size (which is checked against in ES).
IsValidTMDSize is added to ESFormats to avoid duplicating the constant.
|
|
|
|
Skips needing to specify PARTITION_NONE.
|
|
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.
|
|
Display nicer version strings for the Wii Menu
|
|
Use 6-char game IDs for NAND tiles (if they are printable)
|
|
Dolphin assumes that content 0 is opening.bnr, without checking
whether content 0 exists or if it is even supposed to be there (it's
only there for channels). This results in sometimes reading garbage.
This adds a check to only try to read names from content 0's header
if the title is a channel (channel, system channel or game channel).
|
|
|
|
5.0-2712 made ES's code for setting the game ID use the
title ID converted to hex (except for disc titles) instead
of using a 6-char game ID like before. Then, 5.0-2830 made
us use that code even when loading game INIs. This breaks the
expectations of both users and the game INIs we ship with.
This commit makes Dolphin use 6-char game IDs for all
titles (unless the 6-char ID would contain unprintable
characters, which is the case with e.g. the Wii Menu).
I'm also putting unprintability checks in VolumeWad
for consistency.
|
|
There's no point in creating a volume without a blob,
since essentially all the functionality of a volume
requires a blob to be used.
Also, VolumeCreator doesn't support creating volumes
without blobs (it can't even figure out the volume type
unless it gets a blob), so it's currently impossible
for a volume to be created without a blob.
|
|
Most of the Volume code was written before this
convenience function was added. Let's use it more.
Also deleting m_pReader nullptr checks that are
unnecessary because of Read (which ReadSwapped calls)
already having a nullptr check.
|
|
We already have a TMDReader, so let's actually use it.
And move ESFormats to IOS::ES, since it's definitely part of IOS.
This adds a DiscIO dependency on Core which will be fixed in a
follow-up PR.
|
|
This allows getting useful info like the required IOS version for WADs
(for showing it in the UI, for example).
|
|
|
|
|
|
|
|
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.
|
|
Gets rid of duplicated alignment code.
|
|
We call this "game ID" everywhere else, and it's not
actually completely unique.
|
|
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.
|
|
|
|
DQT2: Game properties dialog contains info tab giving information about the selected iso.
|
|
|
|
Should make loading cached Wii games that lack banners slightly faster.
|
|
Fix building with PCH disabled.
|
|
|
|
|
|
Display all compressed formats in blue in GUI
|
|
|
|
In the past, only GCZ was shown as compressed, not CISO and WBFS.
|
|
Gets rid of external swaps at every usage.
|
|
|
|
DecodeString handles the case where there is no trailing null byte,
so using it lets the code be a bit simpler.
|
|
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.
|
|
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.
|
|
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).
|
|
|
|
|
|
This makes Dolphin display the same names as the Disc Channel.
|