fix crash in replay playback (no world)

This commit is contained in:
Chris Forbes
2010-11-10 12:13:16 +13:00
parent 734b464de3
commit 5f37b9e7d2

View File

@@ -135,29 +135,33 @@ namespace OpenRA
Sound.Tick(); Sound.Tick();
Sync.CheckSyncUnchanged( world, () => { orderManager.TickImmediate(); } ); Sync.CheckSyncUnchanged( world, () => { orderManager.TickImmediate(); } );
var isNetTick = LocalTick % NetTickScale == 0; if (world != null)
if( !isNetTick || orderManager.IsReadyForNextFrame )
{ {
++orderManager.LocalFrameNumber; var isNetTick = LocalTick % NetTickScale == 0;
Log.Write( "debug", "--Tick: {0} ({1})", LocalTick, isNetTick ? "net" : "local" ); if (!isNetTick || orderManager.IsReadyForNextFrame)
{
++orderManager.LocalFrameNumber;
if( isNetTick ) orderManager.Tick(); Log.Write("debug", "--Tick: {0} ({1})", LocalTick, isNetTick ? "net" : "local");
Sync.CheckSyncUnchanged(world, () => if (isNetTick) orderManager.Tick();
{
world.OrderGenerator.Tick(world);
world.Selection.Tick(world);
});
world.Tick();
PerfHistory.Tick();
Sync.CheckSyncUnchanged(world, () =>
{
world.OrderGenerator.Tick(world);
world.Selection.Tick(world);
});
world.Tick();
PerfHistory.Tick();
}
else
if (orderManager.NetFrameNumber == 0)
orderManager.LastTickTime = Environment.TickCount;
} }
else
if( orderManager.NetFrameNumber == 0 )
orderManager.LastTickTime = Environment.TickCount;
} }
} }