diff --git a/Component/RenderManager.cs b/Component/RenderManager.cs index 3ad0b32..07f8eea 100644 --- a/Component/RenderManager.cs +++ b/Component/RenderManager.cs @@ -53,7 +53,7 @@ namespace ADOFAIRenderer.Component public static int PassCount = 0; public static bool EndRequested = false; public static bool EndSuccessful = false; - private static int _wonFrame = -1; + public static int WonFrame = -1; private static bool _renderSetup; @@ -109,14 +109,14 @@ namespace ADOFAIRenderer.Component } else if (scrController.instance.state == States.Won) { - if (_wonFrame == -1) + if (WonFrame == -1) { - _wonFrame = FrameCount; + WonFrame = FrameCount; } var extraFrames = (int)Math.Ceiling(Configuration.EndWaitTime * Configuration.TargetFPS); - if (FrameCount - _wonFrame < extraFrames) return; + if (FrameCount - WonFrame < extraFrames) return; RenderMod.IsRendering = RenderMod.IsCapturing = false; Time.timeScale = 1f; scrConductor.currentPreset.inputOffset = _originalInputOffset; @@ -212,10 +212,8 @@ namespace ADOFAIRenderer.Component RenderMod.SkipCount = 0; EndRequested = false; EndSuccessful = false; - _wonFrame = -1; + WonFrame = -1; - double targetFps = Configuration.TargetFPS; - double videoFps = Configuration.VideoFPS; var targetFps = Configuration.TargetFPS; var videoFps = Configuration.VideoFPS; float bitrate = Configuration.Bitrate; diff --git a/Patch/ClassPatch/scrShowIfDebugPatch.cs b/Patch/ClassPatch/scrShowIfDebugPatch.cs index 874a07f..16921a3 100644 --- a/Patch/ClassPatch/scrShowIfDebugPatch.cs +++ b/Patch/ClassPatch/scrShowIfDebugPatch.cs @@ -17,8 +17,16 @@ namespace ADOFAIRenderer.Patch.ClassPatch { if (!RenderMod.IsRendering) return; - ___txt.text = "Rendering"; - if (RenderManager.Countdown > 0) ___txt.text += $" in {RenderManager.Countdown}.."; + ___txt.text = "Rendering..."; + if (RenderManager.Countdown > 0) ___txt.text = $"Rendering in {RenderManager.Countdown}.."; + + if (RenderManager.WonFrame != -1) + { + var elapsedFrames = RenderManager.FrameCount - RenderManager.WonFrame; + var remainingTime = RenderManager.Configuration.EndWaitTime - elapsedFrames / RenderManager.Configuration.TargetFPS; + if (remainingTime < 0) remainingTime = 0; + ___txt.text += $"\nWaiting for {remainingTime:F1}s..."; + } ___txt.color = ___defaultColor; }