Commit Graph

317 Commits

Author SHA1 Message Date
spycrab
9739ad9f48 Qt/TAS: Make TAS input windows independent 2018-08-13 14:15:09 +02:00
spycrab
159d5a6925 Qt/MappingButton: Fix crash when exiting during input detection 2018-08-11 17:37:12 +02:00
Pierre Bourdon
55fa4842fb
Merge pull request #7307 from booto/qsortfilter-strict-weak
GameList: QSortFilterProxyModel should provide strict weak ordering
2018-08-11 02:57:36 +02:00
JosJuice
2a2a2cfc5e DolphinQt: Don't call "frame advance" "frame skip"
Just to avoid confusion.
2018-08-09 10:32:32 +02:00
booto
aef446697d GameList: QSortFilterProxyModel should provide strict weak ordering 2018-08-08 23:59:58 -04:00
spycrab
ddf09a0841
Merge pull request #7298 from spycrab/usb_keyboard_hotkey
Hotkeys: Add "Toggle USB Keyboard" hotkey
2018-08-07 07:47:20 +02:00
Sleepy Flower Girl
c2aedb7649 Adds a UI for accepting Discord join requests in Dolphin
also did these things
fixed crash from joining user that isn't hosting via a direct connection
current game stat can now pass to override the current game in config
uses ip endpoint from dolphin.org
2018-08-06 16:12:03 -04:00
Stenzek
dca1096664 DolphinQt: Add .dff to open file filter 2018-08-03 17:39:17 +10:00
spycrab
cf116d488a
Merge pull request #7268 from lioncash/config
Core/BootManager: Remove unnecessary includes
2018-08-02 23:17:03 +02:00
spycrab
e3f36b74c5 Hotkeys: Add "Toggle USB Keyboard" hotkey 2018-08-02 12:55:30 +02:00
Sleepy Flower Girl
b7c241ea4c Add Discord Join Net Play functionally 2018-07-31 22:24:10 -04:00
spycrab
6af7c1fe27
Merge pull request #7273 from Techjar/qt-iowindow-detect-spaces
Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
2018-07-30 11:58:47 +02:00
spycrab
81c3400681
Merge pull request #7269 from lioncash/qt
DolphinQt/MainWindow: Replace includes with forward declarations
2018-07-30 11:56:31 +02:00
spycrab
2a776bf2b6
Merge pull request #7258 from Techjar/netplay-fix-segfaults
Fix more segfaults on NetPlay quit
2018-07-30 11:52:38 +02:00
spycrab
7c2569ada7
Merge pull request #7283 from Techjar/netplay-improve-settings-sync
NetPlay: Improve settings synchronization and UI
2018-07-30 11:47:48 +02:00
spycrab
8fb3085b07 Revert "Revert "Qt/GameList: Add option to show covers in grid mode"" 2018-07-30 03:16:37 +02:00
Pierre Bourdon
9b94c76f81
Revert "Qt/GameList: Add option to show covers in grid mode" 2018-07-28 03:03:21 +02:00
spycrab
5ade5f4fe7 Qt/GameList: Add option to show covers in grid mode 2018-07-27 11:14:24 +02:00
Techjar
7036299a92 NetPlay: Improve settings synchronization and UI
Most settings which affect determinism will now be synced on NetPlay.
Additionally, there's a strict sync mode which will sync various
enhancements to prevent desync in games that use EFB reads.

This also adds a check for all players having the IPL.bin file, and
doesn't load it for anyone if someone is missing it. This prevents
desyncs caused by mismatched system fonts.

Additionally, the NetPlay window was getting too wide with checkboxes,
so FlowLayout has been introduced to make the checkboxes take up
multiple rows dynamically. However, there's some minor vertical
centering issues I haven't been able to solve, but it's better than a
ridiculously wide window.
2018-07-26 17:23:04 -04:00
Techjar
cfeffdcf42 Fix more segfaults on NetPlay quit
Basically everything here was race conditions in Qt callbacks, so I changed the client/server instances to std::shared_ptr and added null checks. It checks that the object exists in the callback, and the shared_ptr ensures it doesn't get destroyed until we're done with it.

MD5 check would also cause a segfault if you quit without cancelling it first, which was pretty silly.
2018-07-21 00:04:14 -04:00
spycrab
d6833cb217
Merge pull request #7279 from Techjar/qt-macos-iowindow
Qt/IOWindow: Don't set QSizePolicy::Expanding on macOS
2018-07-21 02:16:46 +02:00
Techjar
4407854e9c NetPlay save data synchronization
This adds the functionality of sending the host's save data (raw memory
cards, as well as GCI files and Wii saves with a matching GameID) to
all other clients. The data is compressed using LZO1X to greatly reduce
its size while keeping compression/decompression fast. Save
synchronization is enabled by default, and toggleable with a checkbox
in the NetPlay dialog.

On clicking start, if the option is enabled, game boot will be delayed
until all players have received the save data sent by the host. If any
player fails to receive it properly, boot will be cancelled to prevent
desyncs.
2018-07-19 18:09:20 -04:00
Mat M
bcdffdfe63
Merge pull request #7280 from Techjar/qt-cheats-manager-crash
Qt/CheatsManager: Fix segfault in GenerateARCode
2018-07-18 18:05:45 -04:00
Techjar
3cee7d599b Qt/CheatsManager: Fix segfault in GenerateARCode 2018-07-18 17:56:31 -04:00
Techjar
44aa3cdc0f Qt/IOWindow: Don't set QSizePolicy::Expanding on macOS 2018-07-17 14:35:56 -04:00
cremno
4ad2153378 fix compilation w/o Discord Rich Presence 2018-07-17 12:03:41 +02:00
Techjar
f37813d8b6 Qt/IOWindow: Fix detection of button names containing non-alphabetical characters
The button wouldn't be highlighted in the list, as it would look for something like `Click 1` instead of Click 1.
2018-07-16 18:59:23 -04:00
Lioncash
a9003aadc6
DolphinQt/MainWindow: Replace includes with forward declarations
Reduces the amount of dependencies dragged in by the main window's
header. This also removes MainWindow.h includes elsewhere where they
aren't necessary, reducing the amount of UI files that need to be
recompiled if the main window's header changes.
2018-07-15 18:46:26 -04:00
Lioncash
71de1abd88 Core/BootManager: Remove unnecessary includes
Lessens the amount of files that have to be recompiled if
ConfigManager.h is modified. This also removes an indirect inclusion
within DolphinQt/Main.cpp.
2018-07-14 23:16:23 -04:00
spycrab
d438e80bfd Qt/GeneralPane: Disable Rich Presence checkbox while emulation is running
Works around core hanging when Discord Rich Presence is toggled
while emulation is running.
2018-07-14 23:39:06 +02:00
spycrab
e9158bae6f Qt/LogWidget: Fix messages not being escaped properly 2018-07-14 23:06:18 +02:00
spycrab
4826acd931
Merge pull request #7260 from spycrab/qt_fix_lazy
Qt/GraphicsWindow: Fix lazy initialisation bugs
2018-07-13 13:07:30 +02:00
spycrab
c8af83202a Qt/GraphicsWindow: Fix lazy initialisation bugs 2018-07-13 12:38:21 +02:00
spycrab
cc6526f553
Merge pull request #6222 from iwubcode/emulated_input_improvements
Emulated wii input improvements
2018-07-12 20:36:53 +02:00
spycrab
55b5a24910
Merge pull request #7244 from lioncash/error
Qt/MenuBar: Make failures to load map and signature files more obvious
2018-07-12 19:41:36 +02:00
spycrab
92f397d0fa
Merge pull request #7255 from Techjar/qt-netplay-message-color
[RFC] Qt/NetPlayDialog: Change own chat message color to better suit dark themes
2018-07-12 17:42:55 +02:00
spycrab
9ab489aab8 Qt/NetPlayDialog: Show alerts when events happen
Displays an alert when you receive a message or a player joins / leaves
2018-07-12 17:33:12 +02:00
Techjar
d85dd287cf Qt/NetPlayDialog: Change own chat message color to better suit dark themes 2018-07-12 06:34:14 -04:00
spycrab
df5d1cf13a
Merge pull request #7233 from Techjar/qt-jit-branch-menu
Qt/MenuBar: Add missing JIT branch option in debugger
2018-07-11 11:27:00 +02:00
spycrab
c04b07674e
Merge pull request #7243 from Ebola16/SU
Qt: Clarify Synchronous (Ubershaders) name
2018-07-11 10:59:25 +02:00
spycrab
c7ff141606
Merge pull request #7219 from ligfx/mappingwindow_hotplug
Qt/MappingWindow: update devices combo box when hotplugging devices
2018-07-11 10:58:26 +02:00
spycrab
ea99cdd781
Merge pull request #7247 from lioncash/fwd
Qt/GameList: Replace includes with forward declarations where applicable
2018-07-11 10:57:02 +02:00
spycrab
d81b63f403
Merge pull request #7245 from lioncash/internal
Qt/CheatsManager: Move concealable types into the cpp file
2018-07-11 10:55:42 +02:00
spycrab
f170009aad
Merge pull request #7246 from lioncash/enum
Qt/Resources: Convert int parameters of GetCountry(), GetPlatform() and GetMisc() to enum classes
2018-07-11 10:52:04 +02:00
spycrab
42298f6d6d
Merge pull request #7239 from addestroyer24/manual-update-now
Updater: fix immediate manual updating
2018-07-11 00:58:21 +02:00
Lioncash
9b2ffb6221 Qt/GameList: Replace includes with forward declarations where applicable
Avoids dragging in a bunch of includes from the header files, and also
reduces the amount of files that need to be recompiled if one of those
included headers' source content is ever changed.
2018-07-10 16:03:38 -04:00
Lioncash
a0642b3b00 Qt/Resources: Convert int parameters of GetCountry(), GetPlatform() and GetMisc() to enum classes
Makes the parameter strongly-typed and doesn't accept arbitrary int
values.
2018-07-10 15:23:12 -04:00
Lioncash
43bc3656eb
Qt/CheatsManager: Move concealable types into the cpp file
CompareType, DataType, and Result aren't directly used externally, so
these can have their definitions moved into the cpp file.
2018-07-10 14:34:24 -04:00
spycrab
71ff634c95
Merge pull request #7149 from spycrab/qt_5.9
Qt: Make Qt 5.9 a hard requirement
2018-07-10 20:20:27 +02:00
Lioncash
74899e417b Qt/MenuBar: Make failures to load map and signature files more obvious
Previously we wouldn't indicate if saving or loading these files
happened to fail. In some cases we'd only print out to the logger, but
this is a pretty poor way to tell a user of the interface that something
went wrong in a direct way (the logging messages aren't able to be localized
either).
2018-07-10 14:16:00 -04:00
Ryan Meredith
affd5689ff Qt: Clarify Synchronous (Ubershaders) name 2018-07-10 12:22:21 -04:00
spycrab
b9960777a7
Merge pull request #7236 from lioncash/fwd
DolphinQt/Settings: Replace includes with forward declarations
2018-07-10 16:24:33 +02:00
Zac Davidsen
69999fd309 fix manual updating by passing the main window to the updater instead of the menubar 2018-07-09 19:39:50 -04:00
spycrab
4f5ea1ad5e
Merge pull request #7232 from Techjar/netplay-reduce-poll-rate-twice
NetPlay: Change "Reduce Polling Rate" to poll twice per frame
2018-07-09 23:29:22 +02:00
spycrab
074b67706b Qt/Main: Remove redundant version check 2018-07-09 10:03:13 +02:00
spycrab
a22ffb6387 Qt: Remove ActionHelper 2018-07-09 10:02:10 +02:00
spycrab
4266d1f237 CMake: Require Qt 5.9 2018-07-09 09:17:33 +02:00
Lioncash
b4d91cc612 DolphinQt/Settings: Replace includes with forward declarations
Avoids dragging in netplay-related headers where they aren't explicitly
necessary.
2018-07-09 00:53:13 -04:00
Mat M
9487892c18
Merge pull request #7226 from lioncash/netplay
Core: Namespace NetPlay utilities under the NetPlay namespace
2018-07-09 00:38:12 -04:00
Techjar
2ee7021cda Qt/MenuBar: Add missing JIT branch option in debugger 2018-07-08 14:32:40 -04:00
Techjar
38e67c0530 NetPlay: Change "Reduce Polling Rate" to poll twice per frame
Some games don't play nice when we poll only once per frame, so we'll poll twice instead.
2018-07-08 06:14:13 -04:00
spycrab
8c97fb7cd4
Merge pull request #7203 from rukai/use_tas_checkbox
Add "Enable Controller Input" Checkbox on TAS dialogs
2018-07-08 04:35:50 +02:00
iwubcode
3b11066e61 Fix lint bugs 2018-07-07 13:02:38 -05:00
iwubcode
14482a72af Input: Allow cycling to occur for each individual controller 2018-07-07 12:55:49 -05:00
iwubcode
485285eadc Input: Add cycling between game specific profiles 2018-07-07 12:39:08 -05:00
iwubcode
3969bf6d1c Input: Add hotkey to cycle the wiimote profile forward or backward
Co-authored-by:  Barath Kannan <barathsotd@gmail.com>
2018-07-07 12:39:08 -05:00
spycrab
7b986c1b54
Merge pull request #7224 from lioncash/warning
VideoCommon/DolphinQt2: Resolve compiler warnings
2018-07-07 16:20:56 +02:00
Rukai
b94262ec33 Add 'Enable Controller Input' checkbox to TAS dialogs
When disabled only inputs from TAS dialog are used.
When enabled inputs from TAS dialog are used, except when a change in
input is detected from a real controller, in this case the TAS value is
replaced with the real controller value.
2018-07-07 22:55:42 +10:00
Michael M
e7cbee235c Convert Dolphin.Core.DefaultISO to use new-style config 2018-07-06 19:28:19 -07:00
Michael M
ce98a9c71d Qt/MappingWindow: update devices combo box when hotplugging devices 2018-07-06 17:15:30 -07:00
Michael M
b689a195ff Qt: add Settings::DevicesChanged signal 2018-07-06 17:15:29 -07:00
Lioncash
ef35f93cbd
DolphinQt/PatchesWidget: Remove unused private member variable m_game
This resolves a -Wunused-private-field warning
2018-07-06 19:58:51 -04:00
Lioncash
935a273cf1
DolphinQt/GameTracker: Remove unused lambda capture in constructor
This resolves a -Wunused-lambda-capture warning
2018-07-06 19:58:31 -04:00
Lioncash
675260b0f7
Core: Namespace NetPlay utilities under the NetPlay namespace
Previously there was only one function under the NetPlay namespace,
which is kind of silly considering we have all of these other types
and functions existing outside of the namespace.

This moves the rest of them into the namespace.

This gets some general names, like Player, for example, out of the global namespace.
2018-07-06 19:53:23 -04:00
spycrab
13ba24c5a6 Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00
Anthony Serna
2ee84a20fe [UI] Remove DolphinQt 2016-01-05 19:42:02 -06:00
JosJuice
03b4e16e0e DolphinQt: Attempt at fixing issue 9170 2015-12-17 21:49:28 +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
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
waddlesplash
4acd90d570 DolphinQt: Get rid of unneeded abbreviation macros. 2015-11-25 23:16:54 -05:00
Scott Mansell
ffb9722f2d Merge pull request #3032 from waddlesplash/dolphin-qt
Lots more minor DolphinQt stuffs.
2015-11-23 21:45:28 +13:00
Mathew Maidment
34bfb1bd0e Merge pull request #3263 from JosJuice/isofile-gamefile-includes
ISOFile/GameFile: Clean up includes
2015-11-15 22:15:03 -05:00
JosJuice
eeda056490 ISOFile/GameFile: Clean up includes 2015-11-15 17:15:16 +01:00
JosJuice
f6d25b2634 DolphinQt: Fix typo of return m_blob_type; 2015-11-15 12:57:28 +01:00
James Cowgill
386159c74e Remove uses of __DATE__ and __TIME__ 2015-11-14 00:52:41 +00:00
JosJuice
bef3feba6f DolphinQt: Add international flag to Resources
It exists since 93e46631.
2015-11-02 16:06:27 +01:00
Christian Widmer
1dd4c93f0c DolphinQt: Install binary for systems not matching APPLE 2015-10-09 11:11:41 +02:00
Scott Mansell
58d893e56f Merge pull request #3075 from waddlesplash/no-regexp
FileSearch: Don't use RegExes, just do string comparisons.
2015-10-02 04:00:23 +13:00
JosJuice
be7e0554d2 DiscIO: Add a way to get blob type 2015-09-27 20:54:31 +02:00
waddlesplash
5643fe5d1f FileSearch: Don't use RegExs, just do string comparisons.
Nothing used the RegEx feature of FileSearch, and GCC < 4.9
doesn't support C++11 RegEx properly, so get rid of it.
2015-09-27 13:25:51 -04: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
waddlesplash
f5743f5ee9 DolphinQt: Handle the Host_UpdateTitle callback. 2015-09-13 09:37:00 -04:00
waddlesplash
7c91669ced DolphinQt: Updates to the SystemInfo dialog.
* Windows 8.1/10 & OS X .10/.11 constants now in Qt
 * idealThreadCount() includes hyperthreads, so say 'logical processors'
2015-09-13 09:33:32 -04:00
waddlesplash
7c2f22fd0c DolphinQt: Use C++11 'final' keyword where applicable. 2015-09-13 09:33:30 -04:00
waddlesplash
11c641ed90 DolphinQt: Set the SUBSYSTEM in Release mode to 'Windows' to hide the console. 2015-09-13 09:33:28 -04:00
waddlesplash
0e2ea1ba64 DolphinQt: Remove '&' on closures where it isn't needed. 2015-09-13 09:33:26 -04:00
waddlesplash
7c13021627 DolphinQt: Add 'Screenshot' button. 2015-09-13 09:33:24 -04:00
waddlesplash
db8b50cf7e DolphinQt: Indentation fixes. 2015-09-13 09:33:22 -04:00
waddlesplash
831d8ef13f DolphinQt: Properly handle quit events.
* Confirm stopping emulation when the window is closing, not just the "Stop" button
 * Don't resume if we were already paused when we got the quit event
 * Shutdown the core at the end of main() so we don't crash on exit
 * Miscellaneous other logic cleanups related to this
2015-09-13 09:32:09 -04:00
waddlesplash
436f1133dd DolphinQt: Simplify action setup.
We don't need two sets of actions (one with icons, one without icons)
for Play/Stop, we can just tell Qt not to display the icons in the menus.
2015-09-12 11:24:00 -04:00
Lioncash
5db4a60995 Merge pull request #2993 from JosJuice/dol-elf-qt
DolphinQt: Support ELF and DOL files in the game list
2015-09-12 00:38:51 -04:00
Lioncash
4de2bd3be4 Merge pull request #2833 from waddlesplash/dolphin-qt
DolphinQt: Rewrite 'About' dialog to match the new WX one.
2015-09-12 00:38:05 -04:00
Lioncash
4643da73a3 Merge pull request #3021 from waddlesplash/dolphin-qt-fixup
DolphinQt: Use more C++11, add more sanity to VS projects.
2015-09-12 00:36:35 -04:00
Scott Mansell
ee7285a1db Merge pull request #3008 from Lionel07/qt-screensaver
Qt: Disable Display Sleep when game is running (Windows)
2015-09-12 16:13:51 +12:00
Scott Mansell
2c67ad88cd Merge pull request #3023 from JosJuice/qt-pixmaps
DolphinQt: Bring pixmaps up to date with DolphinWX and themes
2015-09-12 16:13:35 +12:00
Corwin Mcknight
b2e4019383 DolphinQt: Disable Display Sleep on Windows.
Disables Display Sleeping on Windows on DolphinQt while the game runs,
and re-enables it after the game closes.
2015-09-11 16:06:59 -07:00
JosJuice
cb496994e3 DolphinQt: Bring pixmaps up to date with DolphinWX and themes
Also removed PLUGIN from names because there aren't actually any plugins.
2015-09-11 16:13:18 +02:00
JosJuice
ec8ede2600 DolphinQt: Support XML metadata in Homebrew Channel format 2015-09-11 16:02:39 +02:00
JosJuice
3e6d62ae9e DolphinQt: 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.

That sure was simple compared to the wx version of this commit...
2015-09-11 16:02:38 +02:00
JosJuice
047ddb94a2 DolphinQt: Support ELF and DOL files in the game list 2015-09-11 16:02:14 +02:00
waddlesplash
c75fd4d7c5 DolphinQt: Add some sanity to the VS projects. 2015-09-10 23:49:20 -04:00
waddlesplash
8fbf70ec55 DolphinQt: Make use of the C++11 signal/slot connection syntax.
Also use lambdas over one-line functions in some cases.
2015-09-10 23:31:40 -04:00
waddlesplash
0c1671973c DolphinQt: Rewrite About dialog to match the new DolphinWX one. 2015-09-10 23:02:47 -04:00
Lioncash
4fc71e9708 Common: Remove StdMakeUnique.h 2015-09-06 04:09:53 -04:00
Shawn Hoffman
399083ac8a Drop the old msvcrt files. 2015-09-03 06:10:01 -07:00
Shawn Hoffman
aa7208e270 [windows] Update projects to vs2015. 2015-09-03 04:23:01 -07:00
comex
acd6cb79a4 Fix DoFileSearch returning the passed-in directories themselves.
Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8697&can=3
2015-06-21 16:07:56 -04: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
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