Color TitleDB entries based on whether they are installed.

This commit is contained in:
Steven Smith 2016-07-12 15:31:47 -07:00
parent 6bca2bd74f
commit d0ea37d0e0
4 changed files with 17 additions and 3 deletions

View File

@ -7,3 +7,5 @@ file=FF000000
directory=FF0000FF directory=FF0000FF
enabled=FF00FF00 enabled=FF00FF00
disabled=FF0000FF disabled=FF0000FF
installed=FF00FF00
notinstalled=FF0000FF

View File

@ -207,6 +207,10 @@ void screen_init() {
colorConfig[COLOR_ENABLED] = color; colorConfig[COLOR_ENABLED] = color;
} else if(strcasecmp(key, "disabled") == 0) { } else if(strcasecmp(key, "disabled") == 0) {
colorConfig[COLOR_DISABLED] = color; colorConfig[COLOR_DISABLED] = color;
} else if(strcasecmp(key, "installed") == 0) {
colorConfig[COLOR_INSTALLED] = color;
} else if(strcasecmp(key, "notinstalled") == 0) {
colorConfig[COLOR_NOT_INSTALLED] = color;
} }
} }
} }

View File

@ -42,7 +42,7 @@
#define TEXTURE_AUTO_START 32 #define TEXTURE_AUTO_START 32
#define NUM_COLORS 9 #define NUM_COLORS 11
#define COLOR_TEXT 0 #define COLOR_TEXT 0
#define COLOR_NAND 1 #define COLOR_NAND 1
@ -53,6 +53,8 @@
#define COLOR_DIRECTORY 6 #define COLOR_DIRECTORY 6
#define COLOR_ENABLED 7 #define COLOR_ENABLED 7
#define COLOR_DISABLED 8 #define COLOR_DISABLED 8
#define COLOR_INSTALLED 9
#define COLOR_NOT_INSTALLED 10
void screen_init(); void screen_init();
void screen_exit(); void screen_exit();

View File

@ -105,7 +105,13 @@ static void task_populate_titledb_thread(void* arg) {
snprintf(item->name, LIST_ITEM_NAME_MAX, "%016llX", titledbInfo->titleId); snprintf(item->name, LIST_ITEM_NAME_MAX, "%016llX", titledbInfo->titleId);
} }
item->color = COLOR_TEXT; AM_TitleEntry entry;
if(R_SUCCEEDED(AM_GetTitleInfo(((titledbInfo->titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD, 1, &titledbInfo->titleId, &entry))) {
item->color = COLOR_INSTALLED;
} else {
item->color = COLOR_NOT_INSTALLED;
}
item->data = titledbInfo; item->data = titledbInfo;
linked_list_add(data->items, item); linked_list_add(data->items, item);