dolphin/Source/Core/DolphinQt2
Léo Lam 22992ae41e Boot: Clean up the boot code
* Move out boot parameters to a separate struct, which is not part
  of SConfig/ConfigManager because there is no reason for it to
  be there.

* Move out file name parsing and constructing the appropriate params
  from paths to a separate function that does that, and only that.

* For every different boot type we support, add a proper struct with
  only the required parameters, with descriptive names and use
  std::variant to only store what we need.

* Clean up the bHLE_BS2 stuff which made no sense sometimes. Now
  instead of using bHLE_BS2 for two different things, both for storing
  the user config setting and as a runtime boot parameter,
  we simply replace the Disc boot params with BootParameters::IPL.

* Const correctness so it's clear what can or cannot update the config.

* Drop unused parameters and unneeded checks.

* Make a few checks a lot more concise. (Looking at you, extension
  checks for disc images.)

* Remove a mildly terrible workaround where we needed to pass an empty
  string in order to boot the GC IPL without any game inserted.
  (Not required anymore thanks to std::variant and std::optional.)

The motivation for this are multiple: cleaning up and being able to add
support for booting an installed NAND title. Without this change, it'd
be pretty much impossible to implement that.

Also, using std::visit with std::variant makes the compiler do
additional type checks: now we're guaranteed that the boot code will
handle all boot types and no invalid boot type will be possible.
2017-06-06 16:27:52 +02:00
..
Config DiscIO: Remove C/I/S prefixes from class names 2017-06-06 12:31:59 +02:00
GameList DiscIO: Remove C/I/S prefixes from class names 2017-06-06 12:31:59 +02:00
QtUtils DolphinQt2: add DoubleClickEventFilter 2017-06-05 16:46:10 -07:00
Settings Merge pull request #5546 from ligfx/qtdynamicthemes 2017-06-05 17:15:17 -07:00
AboutDialog.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
AboutDialog.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
CMakeLists.txt DolphinQt2: move Path from toolbar to a pane 2017-06-05 16:46:10 -07:00
DolphinQt2.manifest Use .manifest file for apps on Windows 2017-02-10 14:18:45 -08:00
DolphinQt2.vcxproj DolphinQt2: move Path from toolbar to a pane 2017-06-05 16:46:10 -07:00
DolphinQt2.vcxproj.filters DolphinQt2: move Path from toolbar to a pane 2017-06-05 16:46:10 -07:00
DolphinQt2.vcxproj.user might as well update yet some more pointless version numbers.. 2017-06-03 18:20:40 -07:00
Host.cpp Host: Get rid of Host_SetStartupDebuggingParameters() 2017-05-14 19:12:59 -04:00
Host.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
InDevelopmentWarning.cpp DQt2: Warning window HiDPI fix. 2016-07-16 10:51:02 +10:00
InDevelopmentWarning.h DolphinQt2: Experimental GUI Warning Prompt. 2016-07-13 15:52:45 +10:00
Info.plist.in CMake: use CMAKE_OSX_DEPLOYMENT_TARGET 2017-01-24 01:27:41 -08:00
Main.cpp DolphinQt2: make Settings a singleton 2017-06-05 16:46:10 -07:00
MainWindow.cpp Boot: Clean up the boot code 2017-06-06 16:27:52 +02:00
MainWindow.h DolphinQt2: move Path from toolbar to a pane 2017-06-05 16:46:10 -07:00
MenuBar.cpp DolphinQt2: make Settings a singleton 2017-06-05 16:46:10 -07:00
MenuBar.h Qt: Bring Gamelist up to Wx standards 2017-05-08 19:03:59 +02:00
qt.conf CMake: use BundleUtilities to fix up Dolphin.app 2017-02-03 22:27:19 -08:00
RenderWidget.cpp RenderWidget: hide cursor 2017-06-05 16:49:28 -07:00
RenderWidget.h RenderWidget: hide cursor 2017-06-05 16:49:28 -07:00
Resources.cpp GameListModel: update icons when theme changes 2017-06-05 17:04:29 -07:00
Resources.h GameListModel: update icons when theme changes 2017-06-05 17:04:29 -07:00
Settings.cpp Merge pull request #5546 from ligfx/qtdynamicthemes 2017-06-05 17:15:17 -07:00
Settings.h Merge pull request #5546 from ligfx/qtdynamicthemes 2017-06-05 17:15:17 -07:00
ToolBar.cpp ToolBar: update icons when theme changes 2017-06-05 17:04:29 -07:00
ToolBar.h DolphinQt2: move Path from toolbar to a pane 2017-06-05 16:46:10 -07:00