Commit Graph

96 Commits

Author SHA1 Message Date
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 8793f7c325 DolphinQt: Store GameFile banner as empty if missing 2015-06-14 12:23:41 +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
comex 9ed7e3bd3e Merge pull request #2536 from endrift/deploy-mac
Tools: Use non-CMake tool for fixing up OS X bundles
2015-06-08 17:33:17 -07:00
JosJuice 04de064732 DolphinQt: Use short GC game titles in grid view
Short titles fit better than long titles.
2015-06-08 12:04:51 +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
Jeffrey Pfau c1c472958e Tools: Use non-CMake tool for fixing up OS X bundles 2015-06-06 12:44:47 -07: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
comex a225426510 Rewrite FileSearch and improve ScanDirectoryTree.
- FileSearch is now just one function, and it converts the original glob
  into a regex on all platforms rather than relying on native Windows
  pattern matching on there and a complete hack elsewhere.  It now
  supports recursion out of the box rather than manually expanding
  into a full list of directories in multiple call sites.

  - This adds a GCC >= 4.9 dependency due to older versions having
  outright broken <regex>.  MSVC is fine with it.

- ScanDirectoryTree returns the parent entry rather than filling parts
  of it in via reference.  The count is now stored in the entry like it
  was for subdirectories.

- .glsl file search is now done with DoFileSearch.

- IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the
  results after replacements for better determinism.
2015-05-28 19:14:42 -04:00
Ryan Houdek f706518dc0 Merge pull request #2390 from darkengine-io/new-qt
More miscellaneous Qt fixes
2015-05-25 23:45:21 -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 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
Simon McFarlane 66e337a19f Qt: add proper keyboard shortcuts from wx 2015-05-10 13:57:45 -07:00
Simon McFarlane 64cf6d167f Qt: Make 'About Qt' action actually open the about box 2015-05-10 13:57:45 -07:00
Simon McFarlane 406270bcf9 Qt: resize main window to fit render 2015-05-10 13:57:45 -07:00
Simon McFarlane 6474616c83 Qt: Prevent crash when closed by the window manager 2015-05-10 13:57:44 -07: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
shuffle2 6fe2ab7fbf Merge pull request #2359 from darkengine-io/new-qt
DolphinQt updates
2015-05-07 18:34:42 -07:00
Simon McFarlane 6c6fe8d724 QT: Add reset button 2015-05-07 12:37:19 -07:00
Simon McFarlane 5988750fe4 QT: Add Play/Pause to Emulation menu 2015-05-07 12:37:19 -07:00
Simon McFarlane 29a9c24b73 QT: Add ISO folder browser 2015-05-07 12:37:18 -07:00
Simon McFarlane 629f45f1a5 QT: add exit function 2015-05-05 17:58:21 -07:00
comex 6414cdabb2 Merge pull request #2286 from JosJuice/wii-opening-bnr
Read opening.bnr to get names from Wii discs
2015-05-05 16:20:04 -04:00
JosJuice ee694e327a Get rid of banner loaders and move their functionality to volumes
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-28 23:44:29 +02:00
Rohit Nirmal 10aa6488d9 Qt: Check if game filename is null before loading.
This is so that the error message box does not
appear if the user simply cancels loading a game.
2015-04-26 11:13:16 -05:00
JosJuice 235ecfbed7 Return GetNames languages, to avoid hardcoded language lists in callers
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-04-23 08:14:39 +02:00
JosJuice 9e4eefc6fd DolphinQt: Sort game list by ascending title order by default 2015-04-11 16:44:35 +02:00
Stevoisiak 7c1ab2911a Move down Country_World
The countries are sorted alphabetically. This should have been changed
when the variable was renamed from Country_International to
Country_World
2015-04-08 18:55:16 -04:00
Buddybenj fb0d3a9756 Change Wording in Help Menu
"Dolphin at GitHub" doesn't make much sense IMO. We could also make it say "Source Code" or "Dolphin on GitHub".

I also changed "Dolphin Website" to make it consistent with the Qt version.
2015-04-01 18:08:26 -05:00
skidau 1dcd0ad879 Merge pull request #2129 from Sonicadvance1/shuffle_user_dir
Move user directory detection location to UICommon.
2015-02-27 14:07:06 +11:00
Stevoisiak 93b16a4a2d Formatting/Whitespace Cleanup
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
Ryan Houdek db06f058e4 Move user directory detection location to UICommon.
The UI should decide on where it wants the user directory, not our core system.
This is in anticipation of some upcoming work on Android which will need proper user directory setting.
2015-02-25 03:31:59 -06:00
skidau 793abccb5e Merge pull request #1942 from Buddybenj/No-Intro
Replace Country Names With No-Intro Names
2015-02-23 12:56:28 +11:00
Markus Wick 95c48b2be7 Merge pull request #2018 from JosJuice/gameini-region-wildcard
Support game INIs that match all regions
2015-02-21 15:47:57 +01:00
Buddybenj 265a21a565 Replace Country Names With No-Intro Names 2015-02-17 18:50:10 -06:00
Pierre Bourdon 4ceae57713 Merge pull request #2015 from Stevoisiak/WAD-Version-Check
VolumeWad: Return version number for WADs
2015-02-13 22:09:30 +01:00
JosJuice f9d6c17c08 Use CoreParameter's game INI functions in more places 2015-02-11 19:01:05 +01:00
magumagu 0f96a0104e Merge pull request #1752 from Buddybenj/clean-up
Clean Up
2015-02-10 11:39:14 -08:00
Stevoisiak b578abfbaa VolumeWad: Return version number for WADs 2015-02-05 11:27:57 -05:00
Lioncash b1547b9c8b Use unique_ptr for some IVolume instances 2015-01-29 21:33:19 -05:00
Pierre Bourdon 1e809d9c11 Revert "Merge pull request #1903 from RisingFog/libav"
This reverts commit 34079a0037, reversing
changes made to 3274df7158.
2015-01-26 02:35:29 +01:00
Benjamin Przybocki 4f324ad742 Clean Up 2015-01-24 17:10:21 -06:00
Fog 6cad635bd8 Use ffmpeg for Windows Video Dumping instead of VFW 2015-01-21 19:47:45 -05:00
Ryan Houdek e4b04c64f0 Merge pull request #1870 from Stevoisiak/countryFilters
Country filter fixes/consistency
2015-01-21 13:48:35 -06:00
Ryan Houdek f9fc9d47c0 Merge pull request #1895 from JosJuice/isvolumewiidisc
Don't read from disk when checking volume type
2015-01-21 13:45:28 -06:00