diff --git a/Core/RenderManager.cs b/Core/RenderManager.cs index 4c6c031..f9f8576 100644 --- a/Core/RenderManager.cs +++ b/Core/RenderManager.cs @@ -502,10 +502,12 @@ namespace ADOFAIRenderer.Core var videoFPS = Configuration.VideoFPS; var startTime = DateTime.Now; - var fileName = startTime.ToString("yyyy-MM-dd HH-mm-ss") + $".{Configuration.AdvancedConfig.Extension}"; - _currentOutPath = Path.Combine(MelonEnvironment.GameRootDirectory, "Render", fileName); - if (RenderContext.OutputPath != null) _currentOutPath = RenderContext.OutputPath; + else { + var fileName = startTime.ToString("yyyy-MM-dd HH-mm-ss") + + $".{Configuration.AdvancedConfig.FileExtension}"; + _currentOutPath = Path.Combine(MelonEnvironment.GameRootDirectory, "Render", fileName); + } FFmpegNativeEncoder? videoFFmpeg = null; try diff --git a/Data/RenderConfig.cs b/Data/RenderConfig.cs index bae11c9..33235c1 100644 --- a/Data/RenderConfig.cs +++ b/Data/RenderConfig.cs @@ -26,7 +26,7 @@ namespace ADOFAIRenderer.Data public int? RandomSeed { get; set; } = null; public bool ProcessAudio { get; set; } = true; public bool NonTile { get; set; } = false; - public string Extension { get; set; } = "mkv"; + public string FileExtension { get; set; } = "mkv"; } public class VideoEncodingConfig diff --git a/UI/RenderConfigUIManager.cs b/UI/RenderConfigUIManager.cs index bd66328..099501e 100644 --- a/UI/RenderConfigUIManager.cs +++ b/UI/RenderConfigUIManager.cs @@ -124,7 +124,7 @@ namespace ADOFAIRenderer.UI ProcessAudio = config.AdvancedConfig.ProcessAudio, RandomSeed = config.AdvancedConfig.RandomSeed, NonTile = config.AdvancedConfig.NonTile, - Extension = config.AdvancedConfig.Extension + FileExtension = config.AdvancedConfig.FileExtension }; if (_advancedConfigContainer != null && _root.Contains(_advancedConfigContainer)) @@ -162,18 +162,18 @@ namespace ADOFAIRenderer.UI _advancedConfigContainer.Add(titleRow); // 2. 확장자 로우 - var extensionRow = CreateRow(); - var extensionLabel = CreateFormLabel("확장자"); - var extensionChoices = new List { "mkv", "mp4", "mov", "webm", "avi" }; - var currentExt = string.IsNullOrWhiteSpace(tempConfig.Extension) ? "mkv" : tempConfig.Extension.TrimStart('.').ToLower(); - if (!extensionChoices.Contains(currentExt)) + var fileExtensionRow = CreateRow(); + var fileExtensionLabel = CreateFormLabel("확장자"); + var fileExtensionChoices = new List { "mkv", "mp4", "mov", "webm", "avi" }; + var currentFileExt = string.IsNullOrWhiteSpace(tempConfig.FileExtension) ? "mkv" : tempConfig.FileExtension.TrimStart('.').ToLower(); + if (!fileExtensionChoices.Contains(currentFileExt)) { - extensionChoices.Add(currentExt); + fileExtensionChoices.Add(currentFileExt); } - var extensionDropdown = new DropdownField(extensionChoices, currentExt) { name = "AdvancedExtension" }; - extensionRow.Add(extensionLabel); - extensionRow.Add(extensionDropdown); - _advancedConfigContainer.Add(extensionRow); + var fileExtensionDropdown = new DropdownField(fileExtensionChoices, currentFileExt) { name = "AdvancedFileExtension" }; + fileExtensionRow.Add(fileExtensionLabel); + fileExtensionRow.Add(fileExtensionDropdown); + _advancedConfigContainer.Add(fileExtensionRow); // 3. 오디오 처리 로우 var processAudioRow = CreateRow(); @@ -227,7 +227,7 @@ namespace ADOFAIRenderer.UI saveBtn.RegisterCallback(_ => { - tempConfig.Extension = extensionDropdown.value; + tempConfig.FileExtension = fileExtensionDropdown.value; tempConfig.ProcessAudio = processAudioToggle.value; tempConfig.NonTile = nonTileToggle.value; if (int.TryParse(randomSeedField.value?.Trim(), out var seed))