implementing consistent order order (ugh) (#70)

This commit is contained in:
Chris Forbes
2009-11-01 21:33:00 +13:00
parent f4a5c9069b
commit 33ef0f6e61

View File

@@ -36,15 +36,14 @@ namespace OpenRa.Game
if( savingReplay != null ) if( savingReplay != null )
savingReplay.Write( frameNumber ); savingReplay.Write( frameNumber );
foreach( var p in players ) var allOrders = players.SelectMany(p => p.OrdersForFrame(frameNumber)).OrderBy(o => o.Player.Palette);
foreach (var order in allOrders)
{ {
foreach( var order in p.OrdersForFrame( frameNumber ) ) UnitOrders.ProcessOrder(order);
{ if (savingReplay != null)
UnitOrders.ProcessOrder( order ); savingReplay.Write(order.Serialize());
if( savingReplay != null )
savingReplay.Write( order.Serialize() );
}
} }
++frameNumber; ++frameNumber;
// sanity check on the framenumber. This is 2^31 frames maximum, or multiple *years* at 40ms/frame. // sanity check on the framenumber. This is 2^31 frames maximum, or multiple *years* at 40ms/frame.
if( ( frameNumber & 0x80000000 ) != 0 ) if( ( frameNumber & 0x80000000 ) != 0 )