From bb4ecfcd8c04773b8c8e818cafec254af532c836 Mon Sep 17 00:00:00 2001 From: PopSlime Date: Fri, 10 Feb 2023 17:36:19 +0800 Subject: [PATCH] Add graphical offset global settings. --- Assets/Cryville/Crtr/ChartPlayer.cs | 4 +++- Assets/Cryville/Crtr/Settings.cs | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Assets/Cryville/Crtr/ChartPlayer.cs b/Assets/Cryville/Crtr/ChartPlayer.cs index 58c1367..f6fd984 100644 --- a/Assets/Cryville/Crtr/ChartPlayer.cs +++ b/Assets/Cryville/Crtr/ChartPlayer.cs @@ -63,6 +63,7 @@ namespace Cryville.Crtr { static double renderStep = 0.05; public static double actualRenderStep = 0; static bool autoRenderStep = false; + public static float graphicalOffset = 0; public static float soundOffset = 0; static float startOffset = 0; public static float sv = 16f; @@ -133,7 +134,7 @@ namespace Cryville.Crtr { if (forceSyncFrames != 0) { forceSyncFrames--; double target = Game.AudioClient.Position - atime0; - dt = target - cbus.Time; + dt = target - cbus.Time - graphicalOffset; step = autoRenderStep ? 1f / Application.targetFrameRate : renderStep; inputProxy.SyncTime(target); } @@ -346,6 +347,7 @@ namespace Cryville.Crtr { renderStep = Settings.Default.RenderStep; actualRenderStep = renderStep; autoRenderStep = renderStep == 0; + graphicalOffset = Settings.Default.GraphicalOffset; soundOffset = Settings.Default.SoundOffset; startOffset = Settings.Default.StartOffset; forceSyncFrames= Settings.Default.ForceSyncFrames; diff --git a/Assets/Cryville/Crtr/Settings.cs b/Assets/Cryville/Crtr/Settings.cs index 04a5ab0..089881c 100644 --- a/Assets/Cryville/Crtr/Settings.cs +++ b/Assets/Cryville/Crtr/Settings.cs @@ -61,6 +61,18 @@ namespace Cryville.Crtr { } } + [Category("gameplay")] + [Step(0.01f)] + [Precision(1e-3)] + public float GraphicalOffset { + get { + return PlayerPrefs.GetFloat("GraphicalOffset", 0); + } + set { + PlayerPrefs.SetFloat("GraphicalOffset", value); + } + } + [Browsable(false)] public string LastRunVersion { get {