diff --git a/Core/FirstUpdateHook.cs b/Core/FirstUpdateHook.cs
index dba8266..e395d0a 100644
--- a/Core/FirstUpdateHook.cs
+++ b/Core/FirstUpdateHook.cs
@@ -4,7 +4,7 @@ using UnityEngine;
namespace ADOFAIRenderer.Core
{
[DefaultExecutionOrder(int.MinValue)]
- public class FirstUpdateHook : MonoBehaviour
+ internal class FirstUpdateHook : MonoBehaviour
{
private bool _checkedFFmpeg;
private bool _checkedNvidiaDriver;
diff --git a/Core/PostRenderHook.cs b/Core/PostRenderHook.cs
index 22cde11..f0a5d14 100644
--- a/Core/PostRenderHook.cs
+++ b/Core/PostRenderHook.cs
@@ -6,7 +6,7 @@ using UnityEngine;
namespace ADOFAIRenderer.Core
{
[DefaultExecutionOrder(int.MaxValue)]
- public class PostRenderHook : MonoBehaviour
+ internal class PostRenderHook : MonoBehaviour
{
private FieldInfo? _camQuadMeshField;
diff --git a/Core/RenderManager.cs b/Core/RenderManager.cs
index 81e9344..f29606c 100644
--- a/Core/RenderManager.cs
+++ b/Core/RenderManager.cs
@@ -21,7 +21,7 @@ using ThreadPriority = System.Threading.ThreadPriority;
namespace ADOFAIRenderer.Core
{
- public class RenderManager : MonoBehaviour
+ internal class RenderManager : MonoBehaviour
{
// Singleton Accessors
public static RenderManager Instance { get; private set; } = null!;
diff --git a/Data/DoubleLimit.cs b/Data/DoubleLimit.cs
index ff072d3..4c3d728 100644
--- a/Data/DoubleLimit.cs
+++ b/Data/DoubleLimit.cs
@@ -4,7 +4,7 @@ namespace ADOFAIRenderer.Data
/// Base class for double input validation limits.
/// Multiple limits can be composed on a single input field — all are checked in order.
///
- public abstract class DoubleLimit
+ internal abstract class DoubleLimit
{
///
/// Validates the given double value against this limit.
@@ -21,7 +21,7 @@ namespace ADOFAIRenderer.Data
///
/// Requires the double value to be strictly positive (> 0).
///
- public class PositiveOnlyDoubleLimit : DoubleLimit
+ internal class PositiveOnlyDoubleLimit : DoubleLimit
{
public override bool Validate(double value, out string errorMessage)
{
@@ -40,7 +40,7 @@ namespace ADOFAIRenderer.Data
/// Requires the double value to be within an inclusive [Min, Max] range.
/// Either bound can be null to represent an unbounded side.
///
- public class RangeDoubleLimit : DoubleLimit
+ internal class RangeDoubleLimit : DoubleLimit
{
public double? Min { get; }
public double? Max { get; }
diff --git a/Data/Input/DoubleInputValidator.cs b/Data/Input/DoubleInputValidator.cs
index fd749f3..26eeaa2 100644
--- a/Data/Input/DoubleInputValidator.cs
+++ b/Data/Input/DoubleInputValidator.cs
@@ -5,7 +5,7 @@ using UnityEngine.UIElements;
namespace ADOFAIRenderer.Data.Input
{
- public class DoubleInputValidator
+ internal class DoubleInputValidator
{
private struct FieldEntry
{
diff --git a/Data/Input/EnumDropdownBinder.cs b/Data/Input/EnumDropdownBinder.cs
index 2bad359..d8b68e6 100644
--- a/Data/Input/EnumDropdownBinder.cs
+++ b/Data/Input/EnumDropdownBinder.cs
@@ -11,7 +11,7 @@ namespace ADOFAIRenderer.Data.Input
/// Populates choices from enum names and provides typed access to the selected value.
///
/// The enum type to bind.
- public class EnumDropdownBinder where T : struct, Enum
+ internal class EnumDropdownBinder where T : struct, Enum
{
private readonly DropdownField? _dropdown;
private readonly List _values;
diff --git a/Data/Input/IntegerInputValidator.cs b/Data/Input/IntegerInputValidator.cs
index 62ccd4f..bfb378a 100644
--- a/Data/Input/IntegerInputValidator.cs
+++ b/Data/Input/IntegerInputValidator.cs
@@ -5,7 +5,7 @@ using UnityEngine.UIElements;
namespace ADOFAIRenderer.Data.Input
{
- public class IntegerInputValidator
+ internal class IntegerInputValidator
{
private struct FieldEntry
{
diff --git a/Data/IntegerLimit.cs b/Data/IntegerLimit.cs
index 3e05d0f..285e4c6 100644
--- a/Data/IntegerLimit.cs
+++ b/Data/IntegerLimit.cs
@@ -4,7 +4,7 @@ namespace ADOFAIRenderer.Data
/// Base class for integer input validation limits.
/// Multiple limits can be composed on a single input field — all are checked in order.
///
- public abstract class IntegerLimit
+ internal abstract class IntegerLimit
{
///
/// Validates the given integer value against this limit.
@@ -21,7 +21,7 @@ namespace ADOFAIRenderer.Data
///
/// Requires the integer value to be strictly positive (> 0).
///
- public class PositiveOnlyIntegerLimit : IntegerLimit
+ internal class PositiveOnlyIntegerLimit : IntegerLimit
{
public override bool Validate(int value, out string errorMessage)
{
@@ -40,7 +40,7 @@ namespace ADOFAIRenderer.Data
/// Requires the integer value to be within an inclusive [Min, Max] range.
/// Either bound can be null to represent an unbounded side.
///
- public class RangeIntegerLimit : IntegerLimit
+ internal class RangeIntegerLimit : IntegerLimit
{
public int? Min { get; }
public int? Max { get; }
diff --git a/Data/PresetManager.cs b/Data/PresetManager.cs
index 746148f..ea12f0f 100644
--- a/Data/PresetManager.cs
+++ b/Data/PresetManager.cs
@@ -9,13 +9,13 @@ using Newtonsoft.Json.Linq;
namespace ADOFAIRenderer.Data
{
- public class RenderPreset
+ internal class RenderPreset
{
public string Name { get; set; } = string.Empty;
public RenderConfig Config { get; set; } = null!;
}
- public static class PresetManager
+ internal static class PresetManager
{
private static string GetPresetsDirectory()
{
diff --git a/Data/RenderConfig.cs b/Data/RenderConfig.cs
index 533c389..a8ce42b 100644
--- a/Data/RenderConfig.cs
+++ b/Data/RenderConfig.cs
@@ -2,7 +2,7 @@ using ADOFAIRenderer.Util.FFmpeg;
namespace ADOFAIRenderer.Data
{
- public class RenderConfig
+ internal class RenderConfig
{
public double RenderFPS { get; set; }
public double VideoFPS { get; set; }
@@ -18,14 +18,14 @@ namespace ADOFAIRenderer.Data
public bool ShowJudgementText { get; set; }
}
- public class AdvancedConfig
+ internal class AdvancedConfig
{
public int? RandomSeed { get; set; } = null;
public bool ProcessAudio { get; set; } = true;
public bool NonTile { get; set; } = false;
}
- public class VideoEncodingConfig
+ internal class VideoEncodingConfig
{
public Codec Codec { get; set; } = Codec.H264;
public RateControlMode RateControlMode { get; set; } = RateControlMode.CBR;
@@ -38,7 +38,7 @@ namespace ADOFAIRenderer.Data
public bool ForceSoftwareEncoder { get; set; } = false;
}
- public class AudioEncodingConfig
+ internal class AudioEncodingConfig
{
private int _audioSampleRate = 44100;
private int _audioChannels = 2;
diff --git a/RenderMod.cs b/RenderMod.cs
index b6c6287..43e873e 100644
--- a/RenderMod.cs
+++ b/RenderMod.cs
@@ -12,7 +12,7 @@ using UnityEngine.EventSystems;
namespace ADOFAIRenderer
{
- public class RenderMod : MelonMod
+ internal class RenderMod : MelonMod
{
public static AssetBundle FontBundle = null!;
// ReSharper disable once MemberCanBePrivate.Global
diff --git a/UI/CommonWarningDialogUI.cs b/UI/CommonWarningDialogUI.cs
index a16d1e3..4930ef2 100644
--- a/UI/CommonWarningDialogUI.cs
+++ b/UI/CommonWarningDialogUI.cs
@@ -9,7 +9,7 @@ using Image = UnityEngine.UI.Image;
namespace ADOFAIRenderer.UI
{
- public class DialogButton
+ internal class DialogButton
{
public string Text;
public Action OnClick;
@@ -23,7 +23,7 @@ namespace ADOFAIRenderer.UI
}
}
- public class CommonWarningDialogUI : MonoBehaviour
+ internal class CommonWarningDialogUI : MonoBehaviour
{
public static CommonWarningDialogUI? Instance { get; private set; }
private readonly List _disabledElements = new();
diff --git a/UI/DebugMonitorUI.cs b/UI/DebugMonitorUI.cs
index ec01f41..ffe0eed 100644
--- a/UI/DebugMonitorUI.cs
+++ b/UI/DebugMonitorUI.cs
@@ -8,7 +8,7 @@ using UnityEngine.UI;
namespace ADOFAIRenderer.UI
{
- public class DebugMonitorUI : MonoBehaviour
+ internal class DebugMonitorUI : MonoBehaviour
{
// --- Progress Bar UI Configuration Constants ---
private const float BarWidth = 800f;
diff --git a/UI/EscapeHandlerUI.cs b/UI/EscapeHandlerUI.cs
index 88400a7..6d80591 100644
--- a/UI/EscapeHandlerUI.cs
+++ b/UI/EscapeHandlerUI.cs
@@ -6,7 +6,7 @@ using UnityEngine.UI;
namespace ADOFAIRenderer.UI
{
- public class EscapeHandlerUI : MonoBehaviour
+ internal class EscapeHandlerUI : MonoBehaviour
{
private GameObject _containerObj = null!;
private TextMeshProUGUI _textComponent = null!;
diff --git a/UI/FFmpegDownloadUI.cs b/UI/FFmpegDownloadUI.cs
index 6c7b08e..c294428 100644
--- a/UI/FFmpegDownloadUI.cs
+++ b/UI/FFmpegDownloadUI.cs
@@ -12,7 +12,7 @@ using MelonLoader.Utils;
namespace ADOFAIRenderer.UI
{
- public class FFmpegDownloadUI : MonoBehaviour
+ internal class FFmpegDownloadUI : MonoBehaviour
{
private GameObject _buttonContainerObj = null!;
private GameObject _progressBarObj = null!;
diff --git a/UI/RenderConfigUIManager.cs b/UI/RenderConfigUIManager.cs
index 268c0f2..43ce3b6 100644
--- a/UI/RenderConfigUIManager.cs
+++ b/UI/RenderConfigUIManager.cs
@@ -9,7 +9,7 @@ using UnityEngine.UIElements;
namespace ADOFAIRenderer.UI
{
- public class RenderConfigUIManager : MonoBehaviour
+ internal class RenderConfigUIManager : MonoBehaviour
{
[SerializeField]
private UIDocument uiDocument = null!;
diff --git a/Util/Audio/AudioResampler.cs b/Util/Audio/AudioResampler.cs
index b2df1d4..c0e9b66 100644
--- a/Util/Audio/AudioResampler.cs
+++ b/Util/Audio/AudioResampler.cs
@@ -2,7 +2,7 @@ using System;
namespace ADOFAIRenderer.Util.Audio
{
- public static class AudioResampler
+ internal static class AudioResampler
{
public static float[] Resample(float[] inputSamples, int inputChannels, int inputFrequency, int targetChannels, int targetFrequency)
{
diff --git a/Util/Audio/AudioSpectrumGenerator.cs b/Util/Audio/AudioSpectrumGenerator.cs
index b6e223c..9f02e6a 100644
--- a/Util/Audio/AudioSpectrumGenerator.cs
+++ b/Util/Audio/AudioSpectrumGenerator.cs
@@ -5,7 +5,7 @@ using UnityEngine;
namespace ADOFAIRenderer.Util.Audio
{
- public static class AudioSpectrumGenerator
+ internal static class AudioSpectrumGenerator
{
public static float[]? AudioClipData { get; private set; }
public static int Channels { get; private set; }
diff --git a/Util/Audio/AudioSyncCalculator.cs b/Util/Audio/AudioSyncCalculator.cs
index e5e6ff8..f365d8c 100644
--- a/Util/Audio/AudioSyncCalculator.cs
+++ b/Util/Audio/AudioSyncCalculator.cs
@@ -2,7 +2,7 @@ using System;
namespace ADOFAIRenderer.Util.Audio
{
- public class AudioSyncCalculator
+ internal class AudioSyncCalculator
{
private readonly long _sampleRate;
private readonly (long Numerator, long Denominator) _fpsRational;
diff --git a/Util/Audio/Filter/Gain.cs b/Util/Audio/Filter/Gain.cs
index 23ab42a..611f93f 100644
--- a/Util/Audio/Filter/Gain.cs
+++ b/Util/Audio/Filter/Gain.cs
@@ -2,7 +2,7 @@ using System;
namespace ADOFAIRenderer.Util.Audio.Filter
{
- public class Gain : IAudioFilter
+ internal class Gain : IAudioFilter
{
public float Level = 0f;
diff --git a/Util/Audio/Filter/HardClip.cs b/Util/Audio/Filter/HardClip.cs
index eaaeff1..d9f010a 100644
--- a/Util/Audio/Filter/HardClip.cs
+++ b/Util/Audio/Filter/HardClip.cs
@@ -3,7 +3,7 @@ using System.Runtime.CompilerServices;
namespace ADOFAIRenderer.Util.Audio.Filter
{
- public class HardClip : IAudioFilter
+ internal class HardClip : IAudioFilter
{
// ReSharper disable once MemberCanBePrivate.Global
// ReSharper disable once FieldCanBeMadeReadOnly.Global
diff --git a/Util/Audio/Filter/IAudioFilter.cs b/Util/Audio/Filter/IAudioFilter.cs
index 069cf1e..30609bc 100644
--- a/Util/Audio/Filter/IAudioFilter.cs
+++ b/Util/Audio/Filter/IAudioFilter.cs
@@ -2,7 +2,7 @@ using System;
namespace ADOFAIRenderer.Util.Audio.Filter
{
- public interface IAudioFilter
+ internal interface IAudioFilter
{
void Initialize(int sampleRate, int channels);
diff --git a/Util/Audio/Filter/RMSCompressor.cs b/Util/Audio/Filter/RMSCompressor.cs
index 107834d..47b66e6 100644
--- a/Util/Audio/Filter/RMSCompressor.cs
+++ b/Util/Audio/Filter/RMSCompressor.cs
@@ -4,7 +4,7 @@ using System.Runtime.CompilerServices;
namespace ADOFAIRenderer.Util.Audio.Filter
{
// ReSharper disable once InconsistentNaming
- public class RMSCompressor : IAudioFilter
+ internal class RMSCompressor : IAudioFilter
{
private float _thresholdDb = -20f;
private float _ratio = 4f;
diff --git a/Util/Audio/OfflineAudioMixer.cs b/Util/Audio/OfflineAudioMixer.cs
index e7490d1..eba734c 100644
--- a/Util/Audio/OfflineAudioMixer.cs
+++ b/Util/Audio/OfflineAudioMixer.cs
@@ -7,7 +7,7 @@ using UnityEngine;
namespace ADOFAIRenderer.Util.Audio
{
- public class AudioClipCache
+ internal class AudioClipCache
{
private readonly Dictionary _cache = new();
@@ -69,7 +69,7 @@ namespace ADOFAIRenderer.Util.Audio
}
}
- public class OfflineAudioMixer
+ internal class OfflineAudioMixer
{
public class SoundEvent
{
diff --git a/Util/BundleLoader.cs b/Util/BundleLoader.cs
index 1ed15b5..1b5b32a 100644
--- a/Util/BundleLoader.cs
+++ b/Util/BundleLoader.cs
@@ -6,9 +6,9 @@ using UnityEngine;
namespace ADOFAIRenderer.Util
{
- public static class BundleLoader
+ internal static class BundleLoader
{
- private static string BundlePlatform;
+ private static readonly string BundlePlatform;
private static readonly Assembly? ExecutingAssembly;
static BundleLoader()
diff --git a/Util/FFmpeg/Codec.cs b/Util/FFmpeg/Codec.cs
index e74de90..fddc172 100644
--- a/Util/FFmpeg/Codec.cs
+++ b/Util/FFmpeg/Codec.cs
@@ -3,7 +3,7 @@
namespace ADOFAIRenderer.Util.FFmpeg
{
[SuppressMessage("ReSharper", "InconsistentNaming")]
- public enum Codec
+ internal enum Codec
{
H264, H265, VP9, AV1, VVC
}
diff --git a/Util/FFmpeg/FFmpegNativeDecoder.cs b/Util/FFmpeg/FFmpegNativeDecoder.cs
index f3a1ad1..a9a0d74 100644
--- a/Util/FFmpeg/FFmpegNativeDecoder.cs
+++ b/Util/FFmpeg/FFmpegNativeDecoder.cs
@@ -9,7 +9,7 @@ namespace ADOFAIRenderer.Util.FFmpeg
/// FFmpeg의 C 네이티브 API를 사용하여 비디오 파일을 스트리밍 방식으로 디코딩하는 클래스입니다.
/// 플레이어 형태가 아니며, 필요할 때 프레임을 순차적으로 읽거나 앞으로 탐색(Seek/Skip)할 수 있습니다.
///
- public sealed unsafe class FFmpegNativeDecoder : IDisposable
+ internal sealed unsafe class FFmpegNativeDecoder : IDisposable
{
private AVFormatContext* _pFormatContext = null;
private AVCodecContext* _pCodecContext = null;
diff --git a/Util/FFmpeg/FFmpegNativeEncoder.cs b/Util/FFmpeg/FFmpegNativeEncoder.cs
index fea78c0..7e26eaa 100644
--- a/Util/FFmpeg/FFmpegNativeEncoder.cs
+++ b/Util/FFmpeg/FFmpegNativeEncoder.cs
@@ -36,7 +36,7 @@ namespace ADOFAIRenderer.Util.FFmpeg
/// • 하드웨어 가속 개요: https://ffmpeg.org/doxygen/trunk/group__lavu__hwcontext.html
/// • HW 가속 위키: https://trac.ffmpeg.org/wiki/HWAccelIntro
///
- public sealed unsafe class FFmpegNativeEncoder : IDisposable
+ internal sealed unsafe class FFmpegNativeEncoder : IDisposable
{
///
/// 인코더에 전달할 설정값을 담는 구조체입니다.
diff --git a/Util/FFmpeg/RateControlMode.cs b/Util/FFmpeg/RateControlMode.cs
index b790945..d7ec1d4 100644
--- a/Util/FFmpeg/RateControlMode.cs
+++ b/Util/FFmpeg/RateControlMode.cs
@@ -3,7 +3,7 @@
namespace ADOFAIRenderer.Util.FFmpeg
{
[SuppressMessage("ReSharper", "InconsistentNaming")]
- public enum RateControlMode
+ internal enum RateControlMode
{
CBR,
VBR,
diff --git a/Util/FFmpeg/VideoEncoder.cs b/Util/FFmpeg/VideoEncoder.cs
index 0036113..e813d45 100644
--- a/Util/FFmpeg/VideoEncoder.cs
+++ b/Util/FFmpeg/VideoEncoder.cs
@@ -16,7 +16,7 @@ namespace ADOFAIRenderer.Util.FFmpeg
}
[SuppressMessage("ReSharper", "InconsistentNaming")]
- public sealed class VideoEncoder : IEquatable
+ internal sealed class VideoEncoder : IEquatable
{
// ReSharper disable MemberCanBePrivate.Global
diff --git a/Util/FFmpegVideoBGPlayer.cs b/Util/FFmpegVideoBGPlayer.cs
index 7127191..3739fca 100644
--- a/Util/FFmpegVideoBGPlayer.cs
+++ b/Util/FFmpegVideoBGPlayer.cs
@@ -9,7 +9,7 @@ using FFmpeg.AutoGen;
namespace ADOFAIRenderer.Util
{
// ReSharper disable once InconsistentNaming
- public class FFmpegVideoBGPlayer : MonoBehaviour
+ internal class FFmpegVideoBGPlayer : MonoBehaviour
{
private static readonly int YTex = Shader.PropertyToID("_YTex");
private static readonly int UVTex = Shader.PropertyToID("_UVTex");
diff --git a/Util/FrameReader.cs b/Util/FrameReader.cs
index 6d7228c..b9212ad 100644
--- a/Util/FrameReader.cs
+++ b/Util/FrameReader.cs
@@ -12,7 +12,7 @@ using UnityEngine.Rendering;
namespace ADOFAIRenderer.Util
{
- public class FrameReader : IDisposable
+ internal class FrameReader : IDisposable
{
private static readonly int Height = Shader.PropertyToID("Height");
private static readonly int Width = Shader.PropertyToID("Width");
diff --git a/Util/GPUUtil.cs b/Util/GPUUtil.cs
index 149c39a..16846ce 100644
--- a/Util/GPUUtil.cs
+++ b/Util/GPUUtil.cs
@@ -9,12 +9,12 @@ using UnityEngine;
namespace ADOFAIRenderer.Util
{
[SuppressMessage("ReSharper", "InconsistentNaming")]
- public enum GPUVendor
+ internal enum GPUVendor
{
Unknown, NVIDIA, AMD, Intel, Apple
}
- public static class GPUUtil
+ internal static class GPUUtil
{
private const string NvidiaPattern =
@"^NVIDIA GeForce [RG]TX [0-9]+(?> SUPER| Ti(?> SUPER)?)?(?> [0-9]+GB)?(?> Laptop GPU)?(?>/PCIe/SSE2)?$";
diff --git a/Util/OSNotification.cs b/Util/OSNotification.cs
index a556081..4968aab 100644
--- a/Util/OSNotification.cs
+++ b/Util/OSNotification.cs
@@ -19,7 +19,7 @@ namespace ADOFAIRenderer.Util
/// - Linux: Uses notify-send (libnotify) with xdg-open for folder actions.
///
///
- public static class OSNotification
+ internal static class OSNotification
{
///
/// Sends a native desktop notification.
diff --git a/Util/ParticleUtil.cs b/Util/ParticleUtil.cs
index 14a5986..9c16058 100644
--- a/Util/ParticleUtil.cs
+++ b/Util/ParticleUtil.cs
@@ -4,7 +4,7 @@ using UnityEngine;
namespace ADOFAIRenderer.Util
{
- public static class ParticleUtil
+ internal static class ParticleUtil
{
private static readonly ConditionalWeakTable Cache = new();
diff --git a/Util/RationalUtil.cs b/Util/RationalUtil.cs
index 4a6c293..da646cf 100644
--- a/Util/RationalUtil.cs
+++ b/Util/RationalUtil.cs
@@ -2,7 +2,7 @@
namespace ADOFAIRenderer.Util
{
- public class RationalUtil
+ internal static class RationalUtil
{
public static (int Numerator, int Denominator) Double2MaxPrecisionInt(double value,
int maxDenominator = 100000000)
@@ -11,7 +11,6 @@ namespace ADOFAIRenderer.Util
if (value == 0.0) return (0, 1);
var isNegative = value < 0;
- var sign = isNegative ? -1.0 : 1.0;
var target = Math.Abs(value);
// 2. 스턴-브로코 / 연속분수 경계값 초기화
// 아래 두 행의 분수 (0/1, 1/0) 사이에서 시작하여 타겟에 가까워집니다.
diff --git a/Util/RegistryUtil.cs b/Util/RegistryUtil.cs
index 7ed150b..a91ddfd 100644
--- a/Util/RegistryUtil.cs
+++ b/Util/RegistryUtil.cs
@@ -2,7 +2,7 @@ using System;
namespace ADOFAIRenderer.Util
{
- public static class RegistryUtil
+ internal static class RegistryUtil
{
private static readonly Type? RegistryKeyType;
private static readonly Type? RegistryHiveType;
diff --git a/Util/StreamUtil.cs b/Util/StreamUtil.cs
index fc21487..352ba42 100644
--- a/Util/StreamUtil.cs
+++ b/Util/StreamUtil.cs
@@ -4,7 +4,7 @@ using MelonLoader;
namespace ADOFAIRenderer.Util
{
- public static class StreamUtil
+ internal static class StreamUtil
{
public static void WriteNativePtrToStream(IntPtr nativePtr, int length, Stream destinationStream)
{