dolphin/Source/Core/DolphinWX
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
..
Cheats Merge pull request #4878 from ligfx/geckodownloadcodes 2017-06-05 20:00:30 -07:00
Config DiscIO: Remove C/I/S prefixes from class names 2017-06-06 12:31:59 +02:00
Debugger Merge pull request #5294 from sepalani/mem-view-ascii 2017-06-05 20:21:02 -07:00
Input Don't translate button names 2017-05-06 16:29:10 +02:00
ISOProperties DiscIO: Remove C/I/S prefixes from class names 2017-06-06 12:31:59 +02:00
NetPlay NetPlaySetupFrame: Remove spaces that shouldn't be present 2017-05-07 20:55:58 +02:00
resources
AboutDolphin.cpp
AboutDolphin.h
AuiToolBar.h
CMakeLists.txt CodeView: Assemble menu item added 2017-06-03 20:21:25 +01:00
ControllerConfigDiag.cpp Qt: Add controller (overview) window 2017-05-09 18:49:10 +02:00
ControllerConfigDiag.h Qt: Add controller (overview) window 2017-05-09 18:49:10 +02:00
DolphinSlider.cpp
DolphinSlider.h
DolphinWX.manifest
DolphinWX.rc
DolphinWX.vcxproj Merge pull request #5408 from sepalani/assemble 2017-06-05 18:26:33 -07:00
DolphinWX.vcxproj.filters Merge pull request #5408 from sepalani/assemble 2017-06-05 18:26:33 -07:00
DolphinWX.vcxproj.user msbuild: increment other version numbers to vs2017 equivalents 2017-06-03 18:20:39 -07:00
FifoPlayerDlg.cpp
FifoPlayerDlg.h
Frame.cpp GameConfigLoader: Add GFX Game INI translations 2017-06-03 18:13:02 +01:00
Frame.h Boot: Clean up the boot code 2017-06-06 16:27:52 +02:00
FrameAui.cpp Frame: Normalize member names 2017-05-01 05:13:19 -04:00
FrameTools.cpp Boot: Clean up the boot code 2017-06-06 16:27:52 +02:00
GameListCtrl.cpp Wx: Implement new, themed stars 2017-06-02 22:38:56 +02:00
GameListCtrl.h
Globals.h WX: Replace 'BIOS' with 'IPL' 2017-06-04 10:20:16 +02:00
Info.plist.in
ISOFile.cpp DiscIO: Remove C/I/S prefixes from class names 2017-06-06 12:31:59 +02:00
ISOFile.h WX: Use TitleDatabase for getting title names 2017-05-21 18:57:55 +02:00
LogConfigWindow.cpp
LogConfigWindow.h
LogWindow.cpp Frame: Normalize member names 2017-05-01 05:13:19 -04:00
LogWindow.h
Main.cpp Host: Get rid of Host_SetStartupDebuggingParameters() 2017-05-14 19:12:59 -04:00
Main.h
MainMenuBar.cpp DiscIO: Remove C/I/S prefixes from class names 2017-06-06 12:31:59 +02:00
MainMenuBar.h
MainToolBar.cpp
MainToolBar.h
MemcardManager.cpp
MemcardManager.h
PatchAddEdit.cpp
PatchAddEdit.h
PostProcessingConfigDiag.cpp
PostProcessingConfigDiag.h
resource.h
SoftwareVideoConfigDialog.cpp GameConfigLoader: Add GFX Game INI translations 2017-06-03 18:13:02 +01:00
SoftwareVideoConfigDialog.h
TASInputDlg.cpp Don't translate button names 2017-05-06 16:29:10 +02:00
TASInputDlg.h
VideoConfigDiag.cpp GameConfigLoader: Add GFX Game INI translations 2017-06-03 18:13:02 +01:00
VideoConfigDiag.h GameConfigLoader: Add GFX Game INI translations 2017-06-03 18:13:02 +01:00
WxEventUtils.cpp
WxEventUtils.h
WxUtils.cpp
WxUtils.h