src/timetable_cmd.cpp
changeset 8302 ed068d41cf1e
parent 8270 e7c342f6b14c
child 8650 9a9c905deaa5
equal deleted inserted replaced
8301:9f8d82ea6667 8302:ed068d41cf1e
    22 		order->travel_time = time;
    22 		order->travel_time = time;
    23 	} else {
    23 	} else {
    24 		order->wait_time = time;
    24 		order->wait_time = time;
    25 	}
    25 	}
    26 
    26 
    27 	if (v->cur_order_index == order_number && HasBit(v->current_order.flags, OFB_PART_OF_ORDERS)) {
    27 	if (v->cur_order_index == order_number && HasBit(v->current_order.flags, OF_PART_OF_ORDERS)) {
    28 		if (is_journey) {
    28 		if (is_journey) {
    29 			v->current_order.travel_time = time;
    29 			v->current_order.travel_time = time;
    30 		} else {
    30 		} else {
    31 			v->current_order.wait_time = time;
    31 			v->current_order.wait_time = time;
    32 		}
    32 		}
    63 	if (order == NULL) return CMD_ERROR;
    63 	if (order == NULL) return CMD_ERROR;
    64 
    64 
    65 	bool is_journey = HasBit(p1, 24);
    65 	bool is_journey = HasBit(p1, 24);
    66 	if (!is_journey) {
    66 	if (!is_journey) {
    67 		if (order->type != OT_GOTO_STATION) return_cmd_error(STR_TIMETABLE_ONLY_WAIT_AT_STATIONS);
    67 		if (order->type != OT_GOTO_STATION) return_cmd_error(STR_TIMETABLE_ONLY_WAIT_AT_STATIONS);
    68 		if (_patches.new_nonstop && (order->flags & OF_NON_STOP)) return_cmd_error(STR_TIMETABLE_NOT_STOPPING_HERE);
    68 		if (_patches.new_nonstop && (order->flags & OFB_NON_STOP)) return_cmd_error(STR_TIMETABLE_NOT_STOPPING_HERE);
    69 	}
    69 	}
    70 
    70 
    71 	if (flags & DC_EXEC) {
    71 	if (flags & DC_EXEC) {
    72 		ChangeTimetable(v, order_number, p2, is_journey);
    72 		ChangeTimetable(v, order_number, p2, is_journey);
    73 	}
    73 	}