dolphin/Source/Android
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
..
app Merge pull request #5347 from JosJuice/do-not-translate-button-names 2017-06-05 19:05:09 -07:00
gradle/wrapper Android: Update android studio + gradle. 2017-03-04 15:53:40 +01:00
jni Boot: Clean up the boot code 2017-06-06 16:27:52 +02:00
.gitignore Android:Changes to simplify command-line building of the app, and bugfixes to the Gradle script 2015-07-13 09:37:44 -04:00
build.gradle Update to latest libraries, use correct version name 2017-05-04 17:13:30 +10:00
code-style-java.jar Android: Fix a possible crash in the file browser if attempting to show a file with no extension. 2015-05-12 09:18:29 -04:00
gradle.properties Implement Gamecube Input setting screen 2016-01-29 23:33:06 -05:00
gradlew Convert the Android source code to the directory structure of a Gradle-based Android Studio project. 2015-05-02 21:49:17 -04:00
gradlew.bat Convert the Android source code to the directory structure of a Gradle-based Android Studio project. 2015-05-02 21:49:17 -04:00
settings.gradle Convert the Android source code to the directory structure of a Gradle-based Android Studio project. 2015-05-02 21:49:17 -04:00