diff --git a/android/app/src/main/java/org/wiicompiled/quest/launcher/LauncherActivity.kt b/android/app/src/main/java/org/wiicompiled/quest/launcher/LauncherActivity.kt
index 2db9d9d..9eea75c 100644
--- a/android/app/src/main/java/org/wiicompiled/quest/launcher/LauncherActivity.kt
+++ b/android/app/src/main/java/org/wiicompiled/quest/launcher/LauncherActivity.kt
@@ -362,9 +362,10 @@ class LauncherActivity : Activity() {
showBanner(getString(R.string.home_mod_needed_message), warning = true)
gameStatus == GameLibrary.Status.Stale -> showBanner(getString(R.string.home_game_stale), warning = true)
gameStatus == GameLibrary.Status.Missing && discStatus == GameStorage.DiscStatus.Missing ->
- showBanner(getString(R.string.home_setup_intro), warning = false)
+ showBanner(getString(R.string.home_setup_intro) + discMd5Note(), warning = false)
gameStatus == GameLibrary.Status.Missing -> showBanner(getString(R.string.home_game_missing), warning = false)
- discStatus == GameStorage.DiscStatus.Missing -> showBanner(getString(R.string.home_data_missing, disc), warning = false)
+ discStatus == GameStorage.DiscStatus.Missing ->
+ showBanner(getString(R.string.home_data_missing, disc) + discMd5Note(), warning = false)
else -> showBanner(null)
}
@@ -527,6 +528,9 @@ class LauncherActivity : Activity() {
}
}
+ /** The clean disc's .iso hash, for the banners that ask for a disc image. */
+ private fun discMd5Note(): String = "\n\n" + getString(R.string.disc_md5_note, getString(R.string.disc_md5))
+
private fun showBanner(text: String?, warning: Boolean = false) {
if (text == null) {
dataBanner.visibility = View.GONE
diff --git a/android/app/src/main/java/org/wiicompiled/quest/launcher/SettingsPage.kt b/android/app/src/main/java/org/wiicompiled/quest/launcher/SettingsPage.kt
index bc5ef18..ee25954 100644
--- a/android/app/src/main/java/org/wiicompiled/quest/launcher/SettingsPage.kt
+++ b/android/app/src/main/java/org/wiicompiled/quest/launcher/SettingsPage.kt
@@ -326,6 +326,7 @@ class SettingsPage(
action(R.string.about_extract, R.string.about_extract_helper, R.string.home_select_disc, enabled = idle) {
selectDiscImage()
}
+ info(R.string.about_disc_md5, activity.getString(R.string.disc_md5), stacked = true)
// One row per game this app carries a kit for, so both are visible at once.
for (profile in GameProfile.available(activity)) {
val manifest = GameLibrary.manifest(activity, profile)
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 6d15a0b..358fcb4 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -285,6 +285,10 @@
Logs
Extract from disc image
Replaces DATA with the files of your own PAL disc image.
+
+ E7B1FF1FABB0789482CE2CB0661D986E
+ Your disc image must be the clean PAL game: as a .iso file its MD5 hash is %1$s. Compressed images (WBFS, RVZ…) have a different hash.
+ Clean PAL .iso MD5
Game
Built by %1$s on %2$s
Not installed yet