Result shufflehax_install(char *menuhax_basefn)
{
	Result ret=0;

	char payload_filepath[256];

	memset(payload_filepath, 0, sizeof(payload_filepath));

	snprintf(payload_filepath, sizeof(payload_filepath)-1, "sdmc:/3ds/menuhax_manager/finaloutput/shufflepayload/%s.lz", menuhax_basefn);

	printf("Installing shufflehax...\n");

	printf("Enabling shuffle themecache...\n");
	ret = enablethemecache(3, 1, 1);
	if(ret!=0)return ret;

	printf("Installing to the SD theme-cache...\n");
	ret = sd2themecache(payload_filepath, "sdmc:/3ds/menuhax_manager/bgm_bundledmenuhax.bcstm", 0);
	if(ret!=0)return ret;

	printf("Initializing the seperate menuhax theme-data files...\n");
	ret = sd2themecache("sdmc:/3ds/menuhax_manager/blanktheme.lz", NULL, 1);
	if(ret!=0)return ret;

	return 0;
}
Result menu_enablethemecache_persistent()
{
	return enablethemecache(3);
}