mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-10-13 03:29:24 +00: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. |
||
---|---|---|
.. | ||
DSPHLE | ||
DSPLLE | ||
DVD | ||
EXI | ||
GCMemcard | ||
SI | ||
WiimoteCommon | ||
WiimoteEmu | ||
WiimoteReal | ||
AudioInterface.cpp | ||
AudioInterface.h | ||
CPU.cpp | ||
CPU.h | ||
DSP.cpp | ||
DSP.h | ||
GCKeyboard.cpp | ||
GCKeyboard.h | ||
GCKeyboardEmu.cpp | ||
GCKeyboardEmu.h | ||
GCPad.cpp | ||
GCPad.h | ||
GCPadEmu.cpp | ||
GCPadEmu.h | ||
GPFifo.cpp | ||
GPFifo.h | ||
HW.cpp | ||
HW.h | ||
Memmap.cpp | ||
Memmap.h | ||
MemoryInterface.cpp | ||
MemoryInterface.h | ||
MMIO.cpp | ||
MMIO.h | ||
MMIOHandlers.h | ||
ProcessorInterface.cpp | ||
ProcessorInterface.h | ||
Sram.cpp | ||
Sram.h | ||
StreamADPCM.cpp | ||
StreamADPCM.h | ||
SystemTimers.cpp | ||
SystemTimers.h | ||
VideoInterface.cpp | ||
VideoInterface.h | ||
WII_IPC.cpp | ||
WII_IPC.h | ||
Wiimote.cpp | ||
Wiimote.h | ||
WiiSaveCrypted.cpp | ||
WiiSaveCrypted.h |