From c794500363e384e470f844df09a1c48d56f4a07a Mon Sep 17 00:00:00 2001 From: Alex Taber Date: Wed, 30 Aug 2017 00:17:44 -0400 Subject: [PATCH] Add shuffle indicators --- include/themes.h | 2 +- source/main.c | 13 +++++++++++-- source/themes.c | 1 - 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/include/themes.h b/include/themes.h index 4a5adcc..99a8a89 100644 --- a/include/themes.h +++ b/include/themes.h @@ -29,7 +29,7 @@ #include <3ds.h> -#define TEX_COUNT 1 +#define TEX_COUNT 3 typedef struct { u16 name[0x40]; diff --git a/source/main.c b/source/main.c index 8173b3f..68579c1 100644 --- a/source/main.c +++ b/source/main.c @@ -35,7 +35,9 @@ #include "themes.h" #include "unicode.h" -#define TEXTURE_ARROW 1 +#define TEXTURE_ARROW 1 +#define TEXTURE_SHUFFLE_BLACK 2 +#define TEXTURE_SHUFFLE_WHITE 3 #define MAX_THEMES 4 int init_services(void) @@ -50,6 +52,8 @@ int init_services(void) pp2d_set_screen_color(GFX_TOP, ABGR8(255, 32, 28, 35)); pp2d_set_screen_color(GFX_BOTTOM, ABGR8(255, 32, 28, 35)); pp2d_load_texture_png(TEXTURE_ARROW, "romfs:/arrow.png"); + pp2d_load_texture_png(TEXTURE_SHUFFLE_BLACK, "romfs:/shuffle_black.png"); + pp2d_load_texture_png(TEXTURE_SHUFFLE_WHITE, "romfs:/shuffle_white.png"); return 0; } @@ -172,6 +176,11 @@ int main(void) utf16_to_utf32((u32*)name, themes_list[i+top_pos]->name, 0x40); if (cursor_pos-1 == i) pp2d_draw_wtext(50, 40 + (48 * i), 0.55, 0.55, color_black, name); else pp2d_draw_wtext(50, 40 + (48 * i), 0.55, 0.55, color_white, name); + if (themes_list[i+top_pos]->selected) + { + if (cursor_pos-1 == i) pp2d_draw_texture(TEXTURE_SHUFFLE_BLACK, 280, 32 + (48 * i)); + else pp2d_draw_texture(TEXTURE_SHUFFLE_WHITE, 280, 32 + (48 * i)); + } } if (kDown & KEY_A) @@ -181,7 +190,7 @@ int main(void) if (kDown & KEY_B) { - current_theme->selected = true; + current_theme->selected = !(current_theme->selected); } if (kDown & KEY_SELECT) diff --git a/source/themes.c b/source/themes.c index fb47712..0639680 100644 --- a/source/themes.c +++ b/source/themes.c @@ -88,7 +88,6 @@ int scan_themes(theme **themes, int num_themes) } parse_smdh(theme_info, theme_path); memcpy(theme_info->path, theme_path, 0x106 * sizeof(u16)); - theme_info->selected = true; themes[i] = theme_info; free(entry); }