restore shuffle install speed back to roughly 30 seconds (#156)
This commit is contained in:
@@ -56,6 +56,8 @@ static Result install_theme_internal(Entry_List_s themes, int installmode)
|
|||||||
return MAKERESULT(RL_USAGE, RS_INVALIDARG, RM_COMMON, RD_INVALID_SELECTION);
|
return MAKERESULT(RL_USAGE, RS_INVALIDARG, RM_COMMON, RD_INVALID_SELECTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char * padded = NULL;
|
||||||
|
|
||||||
int shuffle_count = 0;
|
int shuffle_count = 0;
|
||||||
Handle body_cache_handle;
|
Handle body_cache_handle;
|
||||||
|
|
||||||
@@ -83,13 +85,15 @@ static Result install_theme_internal(Entry_List_s themes, int installmode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
shuffle_body_sizes[shuffle_count] = body_size;
|
shuffle_body_sizes[shuffle_count] = body_size;
|
||||||
FSFILE_Write(body_cache_handle, NULL, BODY_CACHE_SIZE * shuffle_count, body, body_size, FS_WRITE_FLUSH);
|
|
||||||
|
padded = calloc(BODY_CACHE_SIZE, sizeof(char));
|
||||||
|
memcpy(padded, body, body_size);
|
||||||
free(body);
|
free(body);
|
||||||
|
|
||||||
u8 * blank = calloc(BODY_CACHE_SIZE - body_size, sizeof(u8));
|
FSFILE_Write(body_cache_handle, NULL, BODY_CACHE_SIZE * shuffle_count, padded, BODY_CACHE_SIZE, FS_WRITE_FLUSH);
|
||||||
if(blank)
|
|
||||||
FSFILE_Write(body_cache_handle, NULL, (BODY_CACHE_SIZE * shuffle_count) + body_size, blank, BODY_CACHE_SIZE - body_size, FS_WRITE_FLUSH);
|
free(padded);
|
||||||
free(blank);
|
padded = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(installmode & THEME_INSTALL_BGM)
|
if(installmode & THEME_INSTALL_BGM)
|
||||||
@@ -111,15 +115,15 @@ static Result install_theme_internal(Entry_List_s themes, int installmode)
|
|||||||
Handle bgm_cache_handle;
|
Handle bgm_cache_handle;
|
||||||
FSUSER_OpenFile(&bgm_cache_handle, ArchiveThemeExt, fsMakePath(PATH_ASCII, bgm_cache_path), FS_OPEN_WRITE, 0);
|
FSUSER_OpenFile(&bgm_cache_handle, ArchiveThemeExt, fsMakePath(PATH_ASCII, bgm_cache_path), FS_OPEN_WRITE, 0);
|
||||||
|
|
||||||
FSFILE_Write(bgm_cache_handle, NULL, 0, music, music_size, FS_WRITE_FLUSH);
|
padded = calloc(BGM_MAX_SIZE, sizeof(char));
|
||||||
|
memcpy(padded, music, music_size);
|
||||||
free(music);
|
free(music);
|
||||||
|
|
||||||
u8 * blank = calloc(BGM_MAX_SIZE - music_size, sizeof(u8));
|
FSFILE_Write(bgm_cache_handle, NULL, 0, padded, BGM_MAX_SIZE, 0);
|
||||||
if(blank)
|
|
||||||
FSFILE_Write(bgm_cache_handle, NULL, music_size, blank, BGM_MAX_SIZE - music_size, FS_WRITE_FLUSH);
|
|
||||||
free(blank);
|
|
||||||
|
|
||||||
FSFILE_Close(bgm_cache_handle);
|
FSFILE_Close(bgm_cache_handle);
|
||||||
|
free(padded);
|
||||||
|
padded = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
shuffle_count++;
|
shuffle_count++;
|
||||||
|
|||||||
Reference in New Issue
Block a user