equal
deleted
inserted
replaced
924 void BackupVehicleOrders(const Vehicle *v, BackuppedOrders *bak) |
924 void BackupVehicleOrders(const Vehicle *v, BackuppedOrders *bak) |
925 { |
925 { |
926 /* Make sure we always have freed the stuff */ |
926 /* Make sure we always have freed the stuff */ |
927 free(bak->order); |
927 free(bak->order); |
928 bak->order = NULL; |
928 bak->order = NULL; |
|
929 free(bak->name); |
|
930 bak->name = NULL; |
929 |
931 |
930 /* Save general info */ |
932 /* Save general info */ |
931 bak->orderindex = v->cur_order_index; |
933 bak->orderindex = v->cur_order_index; |
932 bak->service_interval = v->service_interval; |
934 bak->service_interval = v->service_interval; |
933 |
935 if (v->name != NULL) bak->name = strdup(v->name); |
934 /* Safe custom string, if any */ |
|
935 if (!IsCustomName(v->string_id)) { |
|
936 bak->name[0] = '\0'; |
|
937 } else { |
|
938 SetDParam(0, v->index); |
|
939 GetString(bak->name, STR_VEHICLE_NAME, lastof(bak->name)); |
|
940 } |
|
941 |
936 |
942 /* If we have shared orders, store it on a special way */ |
937 /* If we have shared orders, store it on a special way */ |
943 if (IsOrderListShared(v)) { |
938 if (IsOrderListShared(v)) { |
944 const Vehicle *u = (v->next_shared) ? v->next_shared : v->prev_shared; |
939 const Vehicle *u = (v->next_shared) ? v->next_shared : v->prev_shared; |
945 |
940 |
977 * |
972 * |
978 */ |
973 */ |
979 void RestoreVehicleOrders(const Vehicle *v, const BackuppedOrders *bak) |
974 void RestoreVehicleOrders(const Vehicle *v, const BackuppedOrders *bak) |
980 { |
975 { |
981 /* If we have a custom name, process that */ |
976 /* If we have a custom name, process that */ |
982 if (!StrEmpty(bak->name)) { |
977 if (bak->name != NULL) { |
983 _cmd_text = bak->name; |
978 _cmd_text = bak->name; |
984 DoCommandP(0, v->index, 0, NULL, CMD_NAME_VEHICLE); |
979 DoCommandP(0, v->index, 0, NULL, CMD_NAME_VEHICLE); |
985 } |
980 } |
986 |
981 |
987 /* If we had shared orders, recover that */ |
982 /* If we had shared orders, recover that */ |