Merge pull request #5735 from pavlos256/always-save-replay

Properly save replay even when the game crashes (fixes #5610)
This commit is contained in:
Matthias Mailänder
2014-06-25 20:17:39 +02:00

View File

@@ -483,25 +483,30 @@ namespace OpenRA
SetIdealFrameTime(Settings.Graphics.MaxFramerate);
while (state == RunStatus.Running)
try
{
if (Settings.Graphics.CapFramerate)
while (state == RunStatus.Running)
{
var sw = Stopwatch.StartNew();
if (Settings.Graphics.CapFramerate)
{
var sw = Stopwatch.StartNew();
Tick(orderManager);
Tick(orderManager);
var waitTime = Math.Min(idealFrameTime - sw.Elapsed.TotalSeconds, 1);
if (waitTime > 0)
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(waitTime));
var waitTime = Math.Min(idealFrameTime - sw.Elapsed.TotalSeconds, 1);
if (waitTime > 0)
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(waitTime));
}
else
Tick(orderManager);
}
else
Tick(orderManager);
}
// Ensure that the active replay is properly saved
if (orderManager != null)
orderManager.Dispose();
finally
{
// Ensure that the active replay is properly saved
if (orderManager != null)
orderManager.Dispose();
}
Renderer.Device.Dispose();