src/order_cmd.cpp
changeset 8258 9fa31acb07bc
parent 8254 1496654ca5e7
child 8264 b1e85998c7d3
equal deleted inserted replaced
8257:3151fdbc73f9 8258:9fa31acb07bc
   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 */