Commit graph

79 commits

Author SHA1 Message Date
Léo Lam
c987f58319 Check whether WAD is a channel before reading names
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).
2017-03-18 19:07:11 +01:00
JosJuice
a7e11db4bf DolphinWX: Remove usage of IsCompressed() in compression code
What we actually care about is whether it's a GCZ file,
not whether it's compressed. (This commit doesn't change
the behavior, since the beginning of CompressSelection
discards items that aren't BlobType::GCZ or BlobType::PLAIN.)
2017-02-20 16:08:07 +01:00
JosJuice
66ea9f5cc1 DiscIO: Add GetRegion function and Region enum
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.
2017-01-02 20:57:11 +01:00
JosJuice
1081497cad DiscIO/SConfig: Rename GetUniqueID to GetGameID
We call this "game ID" everywhere else, and it's not
actually completely unique.
2016-10-29 15:24:02 +02:00
EmptyChaos
3b11581aff WX: HiDPI: ISOProperties
And related ARCodeAddEdit/PatchAddEdit.

Change ISOFile to use wxImage instead of wxBitmap since bitmaps require
a screen context and banner images have a fixed resolution.
2016-10-04 13:47:21 +11:00
EmptyChaos
107d4afb08 WX: HiDPI: Dolphin Main UI (CFrame) 2016-10-04 13:47:21 +11:00
Shawn Hoffman
41e7c43d0d NetPlay: add one click host
Add a context menu entry in main game list to host a netplay game
based on saved settings.

Original commit:
commit 91aaa958e6
Author: Aestek <thib.gilles@gmail.com>
Date:   Sun Jul 24 14:51:37 2016 +0200
2016-10-03 15:34:49 -07:00
JosJuice
0a15aaaa12 Move DiscIO enums to a new file
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-07-13 17:29:27 +02:00
JosJuice
1878605d77 Undo some comment formatting changes from b5104a7 2016-06-25 18:07:10 +02:00
Rukai
b5104a79f1 GCVolume: supports reading all opening.bnr information
DQT2: Game properties dialog contains info tab giving information about the selected iso.
2016-06-26 00:03:59 +10:00
Pierre Bourdon
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
EmptyChaos
309d0e59f4 ISOProperties/GameListCtrl: Use Global INI Change event.
ISOProperties no longer needs its hack to refresh the game list, the
new INI Modified event can be used instead.
2016-05-30 00:49:11 +10:00
JosJuice
81466d7fa3 DolphinWX: Stop using XPM images
Using the XPM format for images has become a maintenance problem because
people don't know how to create them. This commit removes all XPM images
and all C files that contain PNG images. DolphinWX now uses the PNGs
in the Resources folder instead, just like DolphinQt and DolphinQt2 do.
2016-01-05 19:11:58 +01:00
JosJuice
a0cd753060 Don't read from volume when reloading Wii banners
Should make loading cached Wii games that lack banners slightly faster.
2015-12-03 17:29:59 +01:00
Markus Wick
4a40e7b405 Merge pull request #3111 from JosJuice/wx-banner-scaling
DolphinWX: Improve HBC banner scaling
2015-12-02 13:59:13 +01:00
Scott Mansell
5a1729877e Merge pull request #3211 from JosJuice/themes-to-resources
Move nobanner and fileplatform from Themes to Resources
2015-11-27 23:47:44 +13:00
JosJuice
9b2fe62bc9 Move nobanner and fileplatform from Themes to Resources
fileplatform is moved so it's in the same place as the other platform
icons, and nobanner is moved just because it fits better in Resources.
Both of them were identical in all of Dolphin's themes.
2015-11-27 11:09:20 +01:00
JosJuice
4249d9ef77 ISOFile/GameFile: Simplify IsElfOrDol 2015-11-27 10:50:19 +01:00
Lioncash
35b02db39d ISOFile: Get rid of explicit deletes 2015-11-21 21:15:01 -05:00
JosJuice
eeda056490 ISOFile/GameFile: Clean up includes 2015-11-15 17:15:16 +01:00
JosJuice
dec142cd00 DolphinWX: Respect aspect ratio of banners 2015-09-30 21:31:20 +02:00
JosJuice
7fdfea5a69 DolphinWX: Don't use nearest neighbor scaling for banners
* Makes HBC icons look better
* Fixes the issue with white dots appearing in downscaled images
* No longer subjectively better for GC banners according to comex
2015-09-30 21:30:06 +02:00
JosJuice
be7e0554d2 DiscIO: Add a way to get blob type 2015-09-27 20:54:31 +02:00
JosJuice
6935d28112 Display all compressed formats in blue in GUI
In the past, only GCZ was shown as compressed, not CISO and WBFS.
2015-09-26 15:24:29 +02:00
JosJuice
94ee720a07 Rename IsCompressedBlob to IsGCZBlob for clarity
GCZ is just one of the several compressed formats that Dolphin supports.
2015-09-26 14:46:53 +02:00
Lioncash
4b9b82e000 DiscIO: Do swapping in GetTitleID implementations
Gets rid of external swaps at every usage.
2015-09-22 13:50:35 -04:00
JosJuice
e2e7fc9029 Fix 4.0-7767 regression: exception when handling short WAD IDs 2015-09-19 09:23:52 +02:00
JosJuice
210aa774d5 DolphinWX: Only read titles.txt once
titles.txt is read into a map and passed to the GameListItem
constructor, making game list scanning a bit more efficient.

ISOPropreties's constructor is changed to take a GameListItem as an
argument instead of creating one on its own, because ISOPropreties
doesn't have the titles.txt map that the GameListItem constructor wants.
2015-09-13 14:17:58 +02:00
JosJuice
10aafff5b9 DolphinWX: Fix sorting games by custom titles
The custom title reading code is moved so that custom titles are
returned by GameListItem::GetName(). The comparison code is changed
to use GetName() instead of GetName(DiscIO::IVolume::ELanguage).

GetName(DiscIO::IVolume::ELanguage) must not return custom titles,
because netplay relies on it returning the same name for all players.
2015-09-13 12:45:06 +02:00
Lioncash
d7acf06505 Merge pull request #2985 from JosJuice/iselfordol
DolphinWX: Don't use IsElfOrDol outside of ISOFile
2015-09-11 12:28:57 -04:00
Lioncash
19459e827f Partially revert "General: Toss out PRI macro usage" 2015-09-11 09:49:00 -04:00
JosJuice
cb3b1b6f44 DolphinWX: Don't use IsElfOrDol outside of ISOFile
It's redundant because GetPlatform can do the same thing.
2015-09-06 13:33:19 +02:00
Scott Mansell
be4caa3dc0 Merge pull request #2961 from lioncash/printf
General: Toss out PRI macro usage
2015-09-06 21:02:22 +12:00
Lioncash
8fdb013d54 General: Toss out PRI macro usage
Now that VS supports more printf specifiers, these aren't necessary
2015-09-05 16:02:35 -04:00
JosJuice
41315b19f1 DolphinWX: Support banners in Homebrew Channel format
HBC uses files named icon.png for icons. This change makes Dolphin
support that file name, and also [executable file name].png
in case someone wants to have multiple files in one folder.

The HBC banner support is mainly intended for DOL and ELF files,
but it can also be used to override banners of disc images,
something that wasn't possible in the past.

There are currently issues with banner scaling not preserving
the aspect ratio and looking bad in general.
2015-09-04 19:08:30 +02:00
Anthony Serna
0390bd61df Fixed introduced compiler warning in Linux 2015-08-29 20:41:59 -07:00
Anthony Serna
faedf1bc5c Implemented .elf and .dol support in gamelist
Fixed a TON of structuring, formatting.

removed README.txt files from themes at MaJoR's request

Added platform icon for ELFs/DOLs
2015-08-28 11:10:03 -07:00
JosJuice
a7d374bcb9 Cache games without banners
Games without banners were not cached before, because a banner could
become available at any time, making the cache outdated without it
becoming invalidated. Instead of not caching anything, this change makes
Dolphin check for a banner every time a cache that lacks a banner is read.
This is faster than reading all metadata, because reading a Wii banner
only reads from the game's save file, not the volume and its filesystem.

The cache revision is incremented, because otherwise banners will be
missing if a cache without a banner is created in the new version and
the user switches to an old version and creates a savefile.
2015-06-14 12:23:48 +02:00
JosJuice
01e324eed0 Move GetCompany() to ISOFile.h/GameFile.h
For consistency with the other Get methods.
2015-06-13 18:43:10 +02:00
degasus
c375111076 Options: merge SCoreStartupParameter into SConfig 2015-06-12 19:07:45 +02:00
JosJuice
ec0370d2d1 Volume: Add prefer_long parameter to GetNames
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-08 12:00:34 +02:00
JosJuice
0ed3118141 Volume: Return volume type as an enum
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-06-04 16:26:36 +02:00
comex
349f9d5493 Merge pull request #2484 from JosJuice/volume-return-types
Volume: Use more appropriate types for some returned values
2015-06-02 20:29:08 -04:00
JosJuice
301218a103 Volume: Use more appropriate types for some returned values
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-29 21:14:02 +02:00
comex
dc91e8b607 Add a mode to use a dummy Wii NAND.
Eventually, netplay will be able to use the host's NAND, but this could
still be useful in some cases; for TAS it definitely makes sense to have
a way to avoid using any preexisting NAND.

In terms of implementation: remove D_WIIUSER_IDX, which was just WIIROOT
+ "/", as well as some other indices which are pointless to have as
separate variables rather than just using the actual path (fixed, since
they're actual Wii NAND paths) at the call site.  Then split off
D_SESSION_WIIROOT_IDX, which can point to the dummy NAND directory, from
D_WIIROOT_IDX, which always points to the "real" one the user
configured.
2015-05-28 19:14:42 -04:00
Ryan Houdek
4ba430951a Merge pull request #2439 from JosJuice/company-from-id
Use an ID-to-name map when volume has no company string
2015-05-25 23:32:55 -04:00
Tillmann Karras
30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
JosJuice
d2e6adb045 Use an ID-to-name map when volume has no company string
This is written so that the result of GetCompanyFromID never is cached
(except on Android?). Caching is unnecessary because the string can be
obtained quickly at runtime, and not caching it means that the cache
doesn't have to be invalidated when GetCompanyFromID is edited.
2015-05-24 17:41:53 +02:00
Lioncash
76bbd46829 Core: Remove some header inclusions in header files
Replaces them with forward declarations of used types, or removes them entirely if they aren't used at all. This also replaces certain Common headers with less inclusive ones (in terms of definitions they pull in).
2015-05-08 22:38:59 -04:00