12 #include "../stdafx.h" 
   13 #include "../order_backup.h" 
   14 #include "../settings_type.h" 
   15 #include "../network/network.h" 
   19 #include "../safeguards.h" 
   27   uint8 old_flags = this->
flags;
 
   40     case OT_GOTO_DEPOT: 
case OT_GOTO_STATION: 
case OT_LOADING: 
break;
 
   44   if (this->
GetType() != OT_GOTO_DEPOT) {
 
   46     if ((old_flags & 2) != 0) { 
 
   48     } 
else if ((old_flags & 4) == 0) { 
 
   58     if ((old_flags & 1) != 0) { 
 
   60     } 
else if ((old_flags & 2) != 0) { 
 
   83   return Order(
GB(packed, 8, 8) << 16 | 
GB(packed, 4, 4) << 8 | 
GB(packed, 0, 4));
 
  106   static const SaveLoad _order_desc[] = {
 
  126 static void Save_ORDR()
 
  130   FOR_ALL_ORDERS(order) {
 
  131     SlSetArrayIndex(order->
index);
 
  132     SlObject(order, GetOrderDescription());
 
  136 static void Load_ORDR()
 
  146       len /= 
sizeof(uint16);
 
  147       uint16 *orders = MallocT<uint16>(len + 1);
 
  149       SlArray(orders, len, SLE_UINT16);
 
  151       for (
size_t i = 0; i < len; ++i) {
 
  158       len /= 
sizeof(uint32);
 
  159       uint32 *orders = MallocT<uint32>(len + 1);
 
  161       SlArray(orders, len, SLE_UINT32);
 
  163       for (
size_t i = 0; i < len; ++i) {
 
  164         new (i) 
Order(orders[i]);
 
  174       if (o->
IsType(OT_NOTHING)) {
 
  181       if (prev != NULL) prev->
next = o;
 
  188       SlObject(order, GetOrderDescription());
 
  197 static void Ptrs_ORDR()
 
  211   static const SaveLoad _orderlist_desc[] = {
 
  216   return _orderlist_desc;
 
  219 static void Save_ORDL()
 
  223   FOR_ALL_ORDER_LISTS(list) {
 
  224     SlSetArrayIndex(list->
index);
 
  225     SlObject(list, GetOrderListDescription());
 
  229 static void Load_ORDL()
 
  236     SlObject(list, GetOrderListDescription());
 
  241 static void Ptrs_ORDL()
 
  245   FOR_ALL_ORDER_LISTS(list) {
 
  246     SlObject(list, GetOrderListDescription());
 
  252   static const SaveLoad _order_backup_desc[] = {
 
  272   return _order_backup_desc;
 
  275 static void Save_BKOR()
 
  284     SlSetArrayIndex(ob->
index);
 
  285     SlObject(ob, GetOrderBackupDescription());
 
  296     SlObject(ob, GetOrderBackupDescription());
 
  300 static void Ptrs_BKOR()
 
  304     SlObject(ob, GetOrderBackupDescription());
 
  309   { 
'BKOR', Save_BKOR, Load_BKOR, Ptrs_BKOR, NULL, CH_ARRAY},
 
  310   { 
'ORDR', Save_ORDR, Load_ORDR, Ptrs_ORDR, NULL, CH_ARRAY},
 
  311   { 
'ORDL', Save_ORDL, Load_ORDL, Ptrs_ORDL, NULL, CH_ARRAY | 
CH_LAST},