Fix incremental menu animation presentation
This commit is contained in:
@@ -111,6 +111,9 @@ public interface IHost
|
||||
void SetCursorResource(long resourceId) { }
|
||||
void ClearCursorResource() { }
|
||||
void Sleep(long duration);
|
||||
// Native op-0xd5 pacing sleeps inside run-state 0x40 without publishing retained gfx state.
|
||||
// Interactive hosts must keep this distinct from presentation-capable script op-0xc8 sleep.
|
||||
void WaitForTimedCallbackDeadline(long duration) => Sleep(duration);
|
||||
void FrameYield();
|
||||
// Native op 0x9 resets scene-owned host services before reloading root script resource 0.
|
||||
// Global banks, engine configuration, decoded-asset caches, and persistent profile state survive.
|
||||
|
||||
@@ -2260,7 +2260,7 @@ public sealed class VirtualMachine
|
||||
long elapsedMs = _host.InputClockMilliseconds - _cur.TimedCallbackStartedAtMs.Value;
|
||||
if (elapsedMs < callback.DeadlineMs)
|
||||
{
|
||||
_host.Sleep(callback.DeadlineMs - elapsedMs);
|
||||
_host.WaitForTimedCallbackDeadline(callback.DeadlineMs - elapsedMs);
|
||||
elapsedMs = _host.InputClockMilliseconds - _cur.TimedCallbackStartedAtMs.Value;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user