mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-02-20 07:13:49 -07:00
* 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. |
||
|---|---|---|
| .. | ||
| Cheats | ||
| Config | ||
| Debugger | ||
| Input | ||
| ISOProperties | ||
| NetPlay | ||
| resources | ||
| AboutDolphin.cpp | ||
| AboutDolphin.h | ||
| AuiToolBar.h | ||
| CMakeLists.txt | ||
| ControllerConfigDiag.cpp | ||
| ControllerConfigDiag.h | ||
| DolphinSlider.cpp | ||
| DolphinSlider.h | ||
| DolphinWX.manifest | ||
| DolphinWX.rc | ||
| DolphinWX.vcxproj | ||
| DolphinWX.vcxproj.filters | ||
| DolphinWX.vcxproj.user | ||
| FifoPlayerDlg.cpp | ||
| FifoPlayerDlg.h | ||
| Frame.cpp | ||
| Frame.h | ||
| FrameAui.cpp | ||
| FrameTools.cpp | ||
| GameListCtrl.cpp | ||
| GameListCtrl.h | ||
| Globals.h | ||
| Info.plist.in | ||
| ISOFile.cpp | ||
| ISOFile.h | ||
| LogConfigWindow.cpp | ||
| LogConfigWindow.h | ||
| LogWindow.cpp | ||
| LogWindow.h | ||
| Main.cpp | ||
| Main.h | ||
| MainMenuBar.cpp | ||
| MainMenuBar.h | ||
| MainToolBar.cpp | ||
| MainToolBar.h | ||
| MemcardManager.cpp | ||
| MemcardManager.h | ||
| PatchAddEdit.cpp | ||
| PatchAddEdit.h | ||
| PostProcessingConfigDiag.cpp | ||
| PostProcessingConfigDiag.h | ||
| resource.h | ||
| SoftwareVideoConfigDialog.cpp | ||
| SoftwareVideoConfigDialog.h | ||
| TASInputDlg.cpp | ||
| TASInputDlg.h | ||
| VideoConfigDiag.cpp | ||
| VideoConfigDiag.h | ||
| WxEventUtils.cpp | ||
| WxEventUtils.h | ||
| WxUtils.cpp | ||
| WxUtils.h | ||