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);
|
||||
}
|
||||
|
||||
char * padded = NULL;
|
||||
|
||||
int shuffle_count = 0;
|
||||
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;
|
||||
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);
|
||||
|
||||
u8 * blank = calloc(BODY_CACHE_SIZE - body_size, sizeof(u8));
|
||||
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(blank);
|
||||
FSFILE_Write(body_cache_handle, NULL, BODY_CACHE_SIZE * shuffle_count, padded, BODY_CACHE_SIZE, FS_WRITE_FLUSH);
|
||||
|
||||
free(padded);
|
||||
padded = NULL;
|
||||
}
|
||||
|
||||
if(installmode & THEME_INSTALL_BGM)
|
||||
@@ -111,15 +115,15 @@ static Result install_theme_internal(Entry_List_s themes, int installmode)
|
||||
Handle bgm_cache_handle;
|
||||
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);
|
||||
|
||||
u8 * blank = calloc(BGM_MAX_SIZE - music_size, sizeof(u8));
|
||||
if(blank)
|
||||
FSFILE_Write(bgm_cache_handle, NULL, music_size, blank, BGM_MAX_SIZE - music_size, FS_WRITE_FLUSH);
|
||||
free(blank);
|
||||
FSFILE_Write(bgm_cache_handle, NULL, 0, padded, BGM_MAX_SIZE, 0);
|
||||
|
||||
FSFILE_Close(bgm_cache_handle);
|
||||
free(padded);
|
||||
padded = NULL;
|
||||
}
|
||||
|
||||
shuffle_count++;
|
||||
|
||||
Reference in New Issue
Block a user