src/train_cmd.cpp
changeset 7711 66dffbd3b136
parent 7692 1bbaefbb6c67
child 7762 03721db0ac1c
equal deleted inserted replaced
7710:8925ffc8a981 7711:66dffbd3b136
   229 		}
   229 		}
   230 
   230 
   231 		/* check the vehicle length (callback) */
   231 		/* check the vehicle length (callback) */
   232 		uint16 veh_len = CALLBACK_FAILED;
   232 		uint16 veh_len = CALLBACK_FAILED;
   233 		if (HASBIT(EngInfo(u->engine_type)->callbackmask, CBM_VEHICLE_LENGTH)) {
   233 		if (HASBIT(EngInfo(u->engine_type)->callbackmask, CBM_VEHICLE_LENGTH)) {
   234 			veh_len = GetVehicleCallback(CBID_TRAIN_VEHICLE_LENGTH, 0, 0, u->engine_type, u);
   234 			veh_len = GetVehicleCallback(CBID_VEHICLE_LENGTH, 0, 0, u->engine_type, u);
   235 		}
   235 		}
   236 		if (veh_len == CALLBACK_FAILED) veh_len = rvi_u->shorten_factor;
   236 		if (veh_len == CALLBACK_FAILED) veh_len = rvi_u->shorten_factor;
   237 		veh_len = clamp(veh_len, 0, u->next == NULL ? 7 : 5); // the clamp on vehicles not the last in chain is stricter, as too short wagons can break the 'follow next vehicle' code
   237 		veh_len = clamp(veh_len, 0, u->next == NULL ? 7 : 5); // the clamp on vehicles not the last in chain is stricter, as too short wagons can break the 'follow next vehicle' code
   238 		u->u.rail.cached_veh_length = 8 - veh_len;
   238 		u->u.rail.cached_veh_length = 8 - veh_len;
   239 		v->u.rail.cached_total_length += u->u.rail.cached_veh_length;
   239 		v->u.rail.cached_total_length += u->u.rail.cached_veh_length;