diff --git a/ADOFAIRenderer.csproj b/ADOFAIRenderer.csproj index 2591e4a..ba45748 100644 --- a/ADOFAIRenderer.csproj +++ b/ADOFAIRenderer.csproj @@ -7,6 +7,7 @@ false true true + 9 diff --git a/Core/RenderManager.cs b/Core/RenderManager.cs index 7dacfe9..ca85512 100644 --- a/Core/RenderManager.cs +++ b/Core/RenderManager.cs @@ -102,7 +102,7 @@ namespace ADOFAIRenderer.Core } // Thread and Queue State - internal SortedList ImageQueue = new SortedList(); + internal SortedList ImageQueue = new(); public Thread? RenderThread; public long passCount; public bool endRequested; @@ -111,7 +111,7 @@ namespace ADOFAIRenderer.Core // Private Instance Fields private FFmpegNativeEncoder? _activeVideoFFmpeg; - private readonly List _allVideoFFmpegInstances = new List(); + private readonly List _allVideoFFmpegInstances = new(); private int _originalInputOffset; private GameObject? _debugMonitorObj; private GameObject? _escapeHandlerObj; diff --git a/Data/IntegerInputValidator.cs b/Data/IntegerInputValidator.cs new file mode 100644 index 0000000..d37f62e --- /dev/null +++ b/Data/IntegerInputValidator.cs @@ -0,0 +1,7 @@ +namespace ADOFAIRenderer.Data +{ + public class PositiveIntegerValidator + { + + } +} \ No newline at end of file diff --git a/Data/RenderConfig.cs b/Data/RenderConfig.cs new file mode 100644 index 0000000..53e8bbc --- /dev/null +++ b/Data/RenderConfig.cs @@ -0,0 +1,7 @@ +namespace ADOFAIRenderer.Configuration +{ + public class RenderConfig + { + + } +} \ No newline at end of file diff --git a/Patch/Engine/RenderEnvironmentPatches.cs b/Patch/Engine/RenderEnvironmentPatches.cs index ac691a2..23d2e72 100644 --- a/Patch/Engine/RenderEnvironmentPatches.cs +++ b/Patch/Engine/RenderEnvironmentPatches.cs @@ -2,7 +2,6 @@ using System.Diagnostics.CodeAnalysis; using ADOFAIRenderer.Core; using ADOFAIRenderer.Util; using HarmonyLib; -using MelonLoader; using UnityEngine; namespace ADOFAIRenderer.Patch.Engine diff --git a/UI/DebugMonitorUI.cs b/UI/DebugMonitorUI.cs index 7f8788a..b336d33 100644 --- a/UI/DebugMonitorUI.cs +++ b/UI/DebugMonitorUI.cs @@ -15,13 +15,13 @@ namespace ADOFAIRenderer.UI private const float BarPosX = 0f; private const float BarPosY = -420f; // Y position relative to screen center (Reference: 1920x1080) private const int BarTextFontSize = 16; // 눈에 띄게 증가된 텍스트 크기 - private static readonly Color BarBackgroundColor = new Color(0.08f, 0.08f, 0.1f, 1.0f); - private static readonly Color BarFillColor = new Color(0.0f, 0.8f, 1.0f, 1.0f); // Sleek cyan/blue - private static readonly Color BarTextColor = new Color(1.0f, 1.0f, 1.0f, 1.0f); + private static readonly Color BarBackgroundColor = new(0.08f, 0.08f, 0.1f, 1.0f); + private static readonly Color BarFillColor = new(0.0f, 0.8f, 1.0f, 1.0f); // Sleek cyan/blue + private static readonly Color BarTextColor = new(1.0f, 1.0f, 1.0f, 1.0f); // --- Progress Bar Outline Configuration Constants --- private static readonly Color BarOutlineColor = Color.white; // 대비되는 흰색 윤곽선 - private static readonly Vector2 BarOutlineDistance = new Vector2(3.0f, -3.0f); // 3px의 굵고 직관적인 윤곽선 두께 + private static readonly Vector2 BarOutlineDistance = new(3.0f, -3.0f); // 3px의 굵고 직관적인 윤곽선 두께 private TextMeshProUGUI _text = null!; private GameObject _progressBarObj = null!; diff --git a/Util/AudioSpectrumGenerator.cs b/Util/AudioSpectrumGenerator.cs index 39ea17c..8b07750 100644 --- a/Util/AudioSpectrumGenerator.cs +++ b/Util/AudioSpectrumGenerator.cs @@ -13,7 +13,7 @@ namespace ADOFAIRenderer.Util public static int TotalSamples { get; private set; } private static long _cachedFrame = -1; - private static readonly Dictionary CachedSpectrums = new Dictionary(); + private static readonly Dictionary CachedSpectrums = new(); public static void Initialize(AudioClip? clip) { diff --git a/Util/FFmpeg/FFmpegNativeEncoder.cs b/Util/FFmpeg/FFmpegNativeEncoder.cs index dddf7b5..9118d96 100644 --- a/Util/FFmpeg/FFmpegNativeEncoder.cs +++ b/Util/FFmpeg/FFmpegNativeEncoder.cs @@ -128,7 +128,7 @@ namespace ADOFAIRenderer.Util.FFmpeg private bool _disposed; /// 멀티스레딩 환경에서 인코더 상태 및 리소스 접근을 동기화하기 위한 락 객체. - private readonly object _lock = new object(); + private readonly object _lock = new(); /// /// QSV 인코더에서 hw_frames_ctx 모드(GPU 프레임 풀)가 활성화되었는지 여부. diff --git a/Util/FrameReader.cs b/Util/FrameReader.cs index 9b05308..3ba0dbf 100644 --- a/Util/FrameReader.cs +++ b/Util/FrameReader.cs @@ -15,9 +15,9 @@ namespace ADOFAIRenderer.Util { private const int InitialBufferSize = 16; - private readonly Stack _statePool = new Stack(); - private readonly List _allocatedStates = new List(); - private readonly object _poolLock = new object(); + private readonly Stack _statePool = new(); + private readonly List _allocatedStates = new(); + private readonly object _poolLock = new(); private bool _isInitialized; private volatile bool _isDisposed; diff --git a/Util/GPUUtil.cs b/Util/GPUUtil.cs index ac3a2fe..be0752c 100644 --- a/Util/GPUUtil.cs +++ b/Util/GPUUtil.cs @@ -20,7 +20,7 @@ namespace ADOFAIRenderer.Util private const string IntelPattern = @"^Intel(?>\(R\))* (?>U*HD Graphics [0-9]+$|Arc\(TM\) [A-C][0-9]+ Graphics)"; - private static readonly Dictionary> CodecMap = new Dictionary> + private static readonly Dictionary> CodecMap = new() { [Codec.H264] = new List<(GPUVendor, string)> { (GPUVendor.NVIDIA, "h264_nvenc"), (GPUVendor.Intel, "h264_qsv"), (GPUVendor.AMD, "h264_amf"), (GPUVendor.Unknown, "libx264") }, [Codec.H265] = new List<(GPUVendor, string)> { (GPUVendor.NVIDIA, "hevc_nvenc"), (GPUVendor.Intel, "hevc_qsv"), (GPUVendor.AMD, "hevc_amf"), (GPUVendor.Unknown, "libx265") },