From c14a2c8548885b806efae6ae733827a057148761 Mon Sep 17 00:00:00 2001 From: Pk11 Date: Sat, 15 Jan 2022 03:26:05 -0600 Subject: [PATCH] Don't install system titles without Unlaunch --- arm9/src/install.c | 11 +++++++++++ arm9/src/main.c | 2 +- arm9/src/main.h | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/arm9/src/install.c b/arm9/src/install.c index 4c76e44..021f8eb 100644 --- a/arm9/src/install.c +++ b/arm9/src/install.c @@ -397,6 +397,17 @@ bool install(char* fpath, bool systemTitle) goto error; } + //no system titles without Unlaunch + if (!unlaunchFound && h->tid_high != 0x00030004) + { + iprintf("\x1B[31m"); //red + iprintf("Error: "); + iprintf("\x1B[33m"); //yellow + iprintf("This title cannot be\ninstalled without Unlaunch.\n"); + iprintf("\x1B[47m"); //white + goto error; + } + //blacklisted titles { //tid without region diff --git a/arm9/src/main.c b/arm9/src/main.c index 6ec8c1d..69b138e 100644 --- a/arm9/src/main.c +++ b/arm9/src/main.c @@ -8,6 +8,7 @@ bool programEnd = false; bool sdnandMode = true; +bool unlaunchFound = false; bool arm7Exiting = false; bool charging = false; u8 batteryLevel = 0; @@ -143,7 +144,6 @@ int main(int argc, char **argv) //check for unlaunch { - bool unlaunchFound = false; FILE *file = fopen("nand:/sys/HWINFO_S.dat", "rb"); if (file) { diff --git a/arm9/src/main.h b/arm9/src/main.h index 539a22d..739961f 100644 --- a/arm9/src/main.h +++ b/arm9/src/main.h @@ -7,6 +7,7 @@ extern bool programEnd; extern bool sdnandMode; +extern bool unlaunchFound; extern bool charging; extern u8 batteryLevel;