void title_sequence_rename_save(int preset, int index, const char *newName) { if (preset >= TITLE_SEQUENCE_DEFAULT_PRESETS && preset < gConfigTitleSequences.num_presets && index >= 0 && index < gConfigTitleSequences.presets[preset].num_saves && filename_valid_characters(newName) && !title_sequence_save_exists(preset, newName)) { // Rename the save file char separator = platform_get_path_separator(); utf8 src[MAX_PATH], dest[MAX_PATH]; platform_get_user_directory(src, "title sequences"); platform_get_user_directory(dest, "title sequences"); strcat(src, gConfigTitleSequences.presets[preset].name); strcat(dest, gConfigTitleSequences.presets[preset].name); strncat(src, &separator, 1); strncat(dest, &separator, 1); strcat(src, gConfigTitleSequences.presets[preset].saves[index]); strcat(dest, newName); // Add the appropriate extension if needed char *extension = (char*)path_get_extension(newName); if (_stricmp(extension, ".sv6") != 0 && _stricmp(extension, ".sc6") != 0) strcat(dest, ".sv6"); platform_file_move(src, dest); safe_strncpy(gConfigTitleSequences.presets[preset].saves[index], newName, TITLE_SEQUENCE_MAX_SAVE_LENGTH); // Add the appropriate extension if needed if (_stricmp(extension, ".sv6") != 0 && _stricmp(extension, ".sc6") != 0) strcat(gConfigTitleSequences.presets[preset].saves[index], ".sv6"); title_sequence_save_preset_script(preset); } }
void theme_rename_preset(int preset, const char *newName) { if (preset >= 2) { utf8 src[MAX_PATH], dest[MAX_PATH]; platform_get_user_directory(src, "themes"); platform_get_user_directory(dest, "themes"); strcat(src, gConfigThemes.presets[preset].name); strcat(dest, newName); strcat(src, ".ini"); strcat(dest, ".ini"); platform_file_move(src, dest); strcpy(gConfigThemes.presets[gCurrentTheme].name, newName); if (preset == gCurrentTheme) { gConfigInterface.current_theme_preset = gConfigThemes.presets[gCurrentTheme].name; } } }
void title_sequence_rename_preset(int preset, const char *newName) { if (preset >= TITLE_SEQUENCE_DEFAULT_PRESETS && preset < gConfigTitleSequences.num_presets && filename_valid_characters(newName) && !title_sequence_name_exists(newName)) { // Rename the folder utf8 src[MAX_PATH], dest[MAX_PATH]; platform_get_user_directory(src, "title sequences"); platform_get_user_directory(dest, "title sequences"); strcat(src, gConfigTitleSequences.presets[preset].name); strcat(dest, newName); platform_file_move(src, dest); safe_strncpy(gConfigTitleSequences.presets[preset].name, newName, TITLE_SEQUENCE_NAME_SIZE); // Rename the config preset name if needed if (preset == gCurrentPreviewTitleSequence) { gConfigInterface.current_title_sequence_preset = gConfigTitleSequences.presets[preset].name; } } }
void theme_rename(const utf8 * name) { const utf8 * oldPath = ThemeManager::CurrentThemePath; utf8 newPath[MAX_PATH]; ThemeManager::EnsureThemeDirectoryExists(); ThemeManager::GetThemeFileName(newPath, sizeof(newPath), name); platform_file_move(oldPath, newPath); String::DiscardDuplicate(&ThemeManager::CurrentThemePath, newPath); ThemeManager::CurrentTheme->SetName(name); ThemeManager::CurrentTheme->WriteToFile(ThemeManager::CurrentThemePath); theme_manager_load_available_themes(); for (size_t i = 0; i < ThemeManager::AvailableThemes.GetCount(); i++) { if (Path::Equals(newPath, ThemeManager::AvailableThemes[i].Path)) { ThemeManager::ActiveAvailableThemeIndex = i; String::DiscardDuplicate(&gConfigInterface.current_theme_preset, theme_manager_get_available_theme_name(1)); break; } } }