Splash QR codes

This commit is contained in:
2017-09-08 23:34:16 -04:00
parent 5564ffe31b
commit 1103885baf
5 changed files with 18 additions and 6 deletions

View File

@@ -47,6 +47,7 @@
static const int THEMES_PER_SCREEN = 4; static const int THEMES_PER_SCREEN = 4;
bool homebrew; bool homebrew;
bool splash_mode;
enum TextureID { enum TextureID {
TEXTURE_FONT_RESERVED = 0, //used by pp2d for the font TEXTURE_FONT_RESERVED = 0, //used by pp2d for the font

View File

@@ -41,6 +41,9 @@ typedef struct{
bool is_zip; bool is_zip;
} Splash_s; } Splash_s;
Splash_s *splashes_list;
int splash_count;
Result get_splashes(Splash_s** splashes_list, int *splash_count); Result get_splashes(Splash_s** splashes_list, int *splash_count);
void splash_install(Splash_s splash_to_install); void splash_install(Splash_s splash_to_install);
void splash_delete(); void splash_delete();

View File

@@ -98,7 +98,7 @@ void scan_qr(u16 *buf)
{ {
qr_mode = false; qr_mode = false;
http_get((char*)data.payload, "/Themes/"); http_get((char*)data.payload, splash_mode ? "/Splashes/" : "/Themes/");
} }
} }
} }
@@ -257,7 +257,8 @@ Result http_get(char *url, char *path)
remake_file(path_to_file, ArchiveSD, size); remake_file(path_to_file, ArchiveSD, size);
buf_to_file(size, path_to_file, ArchiveSD, (char*)buf); buf_to_file(size, path_to_file, ArchiveSD, (char*)buf);
get_themes(&themes_list, &theme_count); if (splash_mode) get_splashes(&splashes_list, &splash_count);
else get_themes(&themes_list, &theme_count);
exit_qr(); exit_qr();

View File

@@ -80,8 +80,8 @@ int main(void)
free(themes_list); free(themes_list);
themes_list = NULL; themes_list = NULL;
} }
int splash_count = 0; splash_count = 0;
Splash_s *splashes_list = NULL; splashes_list = NULL;
res = get_splashes(&splashes_list, &splash_count); res = get_splashes(&splashes_list, &splash_count);
if (R_FAILED(res)) if (R_FAILED(res))
{ {
@@ -90,7 +90,7 @@ int main(void)
splashes_list = NULL; splashes_list = NULL;
} }
bool splash_mode = false; splash_mode = false;
int selected_splash = 0; int selected_splash = 0;
int selected_theme = 0; int selected_theme = 0;
int previously_selected = 0; int previously_selected = 0;
@@ -134,7 +134,7 @@ int main(void)
if (kDown & KEY_R) if (kDown & KEY_R)
{ {
if (splash_mode || preview_mode) { if (preview_mode) {
continue; continue;
} else { } else {
qr_mode = !qr_mode; qr_mode = !qr_mode;

View File

@@ -99,6 +99,13 @@ Result get_splashes(Splash_s** splashes_list, int *splash_count)
if (R_FAILED(res)) if (R_FAILED(res))
return res; return res;
if (*splashes_list != NULL)
{
free(*splashes_list);
*splashes_list = NULL;
*splash_count = 0;
}
u32 entries_read = 1; u32 entries_read = 1;
while (entries_read) while (entries_read)
{ {