From b900a5444ed92224d7b5870f2e6686a49aeb20a1c98c39bb87ab0306465b214c Mon Sep 17 00:00:00 2001 From: copecone Date: Wed, 7 Oct 2026 00:00:40 +0900 Subject: [PATCH] Finalize O5Kit Theme & Window Generation --- UI/RendererUIManager.cs | 2 +- UI/Window/RenderConfigWindow.cs | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/UI/RendererUIManager.cs b/UI/RendererUIManager.cs index 866bb79..b7507a4 100644 --- a/UI/RendererUIManager.cs +++ b/UI/RendererUIManager.cs @@ -89,7 +89,7 @@ internal class RendererUIManager : MonoBehaviour ObjectBG = new Color(0f, 0f, 0f, 1f), ObjectButton = new Color(0f, 0f, 0f, 1f), ObjectActive = new Color(1.000f, 0.294f, 0.079f, 1f), - ObjectActiveBright = new Color(0.812f, 0.827f, 1.000f, 1f), + ObjectActiveBright = new Color(1.000f, 0.294f, 0.079f, 1f), ControlOutlineIdle = new Color(1f, 1f, 1f, 0.4f), ButtonHover = new Color(0.133f, 0.133f, 0.133f, 1.0f), ControlOutlineHover = new Color(1f, 1f, 1f, 0.4f), diff --git a/UI/Window/RenderConfigWindow.cs b/UI/Window/RenderConfigWindow.cs index d634832..f46359e 100644 --- a/UI/Window/RenderConfigWindow.cs +++ b/UI/Window/RenderConfigWindow.cs @@ -59,9 +59,8 @@ internal static class RenderConfigWindow { Id = "RendererMod_RenderConfig", Title = LocalizationManager.Get("ui.render_config.window_title"), - Size = new Vector2(580f, 480f), - Draggable = true, - Resizable = true, + Size = new Vector2(900, 600), TopBarHeight = 40, + Draggable = true, Resizable = true, ShowCloseButton = true }); @@ -126,7 +125,7 @@ internal static class RenderConfigWindow defaultValue: 60, min: 0.01, max: 3000, value: 60, format: "F3", clampMode: ClampMode.All, - sliderFilter: value => renderFpsSnap.OrderBy(n => Math.Abs(n - value)).First(), + sliderFilter: value => Snap(renderFpsSnap, value), inputFilter: null, onComplete: null, onChanged: val => { config.RenderFPS = val; }, text: LocalizationManager.Get("ui.render_config.render_fps"), id: "slider_render_fps", showFill: true @@ -137,7 +136,7 @@ internal static class RenderConfigWindow defaultValue: 60, min: 0.01, max: 600, value: 60, format: "F3", clampMode: ClampMode.All, - sliderFilter: value => videoFpsSnap.OrderBy(n => Math.Abs(n - value)).First(), + sliderFilter: value => Snap(videoFpsSnap, value), inputFilter: null, onComplete: null, onChanged: val => { config.VideoFPS = val; }, text: LocalizationManager.Get("ui.render_config.video_fps"), id: "slider_video_fps", showFill: true @@ -148,7 +147,7 @@ internal static class RenderConfigWindow defaultValue: 2560, min: 0, max: 15360, value: 2560, format: "F0", clampMode: ClampMode.All, - sliderFilter: value => renderWidthSnap.OrderBy(n => Math.Abs(n - value)).First(), inputFilter: value => Math.Max(value, 2), + sliderFilter: value => Snap(renderWidthSnap, value), inputFilter: value => Math.Max(value, 2), onComplete: null, onChanged: val => { config.RenderWidth = (int)Math.Round(val); }, text: LocalizationManager.Get("ui.render_config.render_width"), id: "slider_render_width", showFill: true @@ -159,7 +158,7 @@ internal static class RenderConfigWindow defaultValue: 1440, min: 0, max: 8640, value: 1440, format: "F0", clampMode: ClampMode.All, - sliderFilter: value => renderHeightSnap.OrderBy(n => Math.Abs(n - value)).First(), inputFilter: value => Math.Max(value, 2), + sliderFilter: value => Snap(renderHeightSnap, value), inputFilter: value => Math.Max(value, 2), onComplete: null, onChanged: val => { config.RenderWidth = (int)Math.Round(val); }, text: LocalizationManager.Get("ui.render_config.render_height"), id: "slider_render_height", showFill: true @@ -293,7 +292,7 @@ internal static class RenderConfigWindow defaultValue: 256, min: 64, max: 384, value: 256, format: "F0", clampMode: ClampMode.All, - sliderFilter: value => audioBitrateSnap.OrderBy(n => Math.Abs(n - value)).First(), + sliderFilter: value => Snap(audioBitrateSnap, value), inputFilter: null, onComplete: null, onChanged: val => { config.AudioConfig.AudioBitrate = (int)Math.Round(val) * 1000; }, text: LocalizationManager.Get("ui.render_config.audio_bitrate"), id: "slider_audio_bitrate", showFill: true @@ -465,6 +464,9 @@ internal static class RenderConfigWindow return; + double Snap(double[] array, double value) => + array.OrderBy(n => Math.Abs(n - value)).First(); + void UpdateVideoCodec(Codec codec) { _sampleRateDropdown?.SetValues(CodecUtil.AvailableSampleRate[CodecUtil.AudioCodecMatch[codec]]);