ttd.c
changeset 208 f3998d4089f0
parent 206 7f8c26d8526b
child 213 770e504a6e51
equal deleted inserted replaced
207:0f7f7a67bd1b 208:f3998d4089f0
   993 
   993 
   994 	if (_networking_sync) {
   994 	if (_networking_sync) {
   995 		// client: make sure client's time is synched to the server by running frames quickly up to where the server is.
   995 		// client: make sure client's time is synched to the server by running frames quickly up to where the server is.
   996 		if (!_networking_server) {
   996 		if (!_networking_server) {
   997 			while (_frame_counter < _frame_counter_srv) {
   997 			while (_frame_counter < _frame_counter_srv) {
       
   998 				NetworkCoreLoop(true);
   998 				StateGameLoop();
   999 				StateGameLoop();
   999 				NetworkProcessCommands(); // need to process queue to make sure that packets get executed.
  1000 				NetworkProcessCommands(); // need to process queue to make sure that packets get executed.
       
  1001 				NetworkCoreLoop(false);
  1000 			}
  1002 			}
  1001 		// client: don't exceed the max count told by the server
  1003 		// client: don't exceed the max count told by the server
  1002 		if (_frame_counter < _frame_counter_max) {
  1004 		if (_frame_counter < _frame_counter_max) {
  1003 			StateGameLoop();
  1005 			StateGameLoop();
  1004 			NetworkProcessCommands();
  1006 			NetworkProcessCommands();
  1008 		} else {
  1010 		} else {
  1009 		// server: work on to the frame max
  1011 		// server: work on to the frame max
  1010 		if (_frame_counter < _frame_counter_max) {
  1012 		if (_frame_counter < _frame_counter_max) {
  1011 			StateGameLoop();
  1013 			StateGameLoop();
  1012 			NetworkProcessCommands(); // to check if we got any new commands belonging to the current frame before we increase it.
  1014 			NetworkProcessCommands(); // to check if we got any new commands belonging to the current frame before we increase it.
       
  1015 			NetworkSendFrameSyncPackets();
  1013 			}
  1016 			}
  1014 		// server: wait until all clients were ready for going on
  1017 		// server: wait until all clients were ready for going on
  1015 		if (_frame_counter == _frame_counter_max) {
  1018 		if (_frame_counter == _frame_counter_max) {
  1016 			if (NetworkCheckClientReady()) NetworkSendSyncPackets();
  1019 			if (NetworkCheckClientReady()) NetworkSendSyncPackets();
  1017 			}
  1020 			}