File diff r20251:8c2b509af318 → r20252:76a6f1c78ce7
src/roadveh_cmd.cpp
Show inline comments
 
@@ -270,26 +270,28 @@ CommandCost CmdBuildRoadVehicle(TileInde
 
		int x = TileX(tile) * TILE_SIZE + TILE_SIZE / 2;
 
		int y = TileY(tile) * TILE_SIZE + TILE_SIZE / 2;
 
		v->x_pos = x;
 
		v->y_pos = y;
 
		v->z_pos = GetSlopePixelZ(x, y);
 

	
 
		v->state = RVSB_IN_DEPOT;
 
		v->vehstatus = VS_HIDDEN | VS_STOPPED | VS_DEFPAL;
 

	
 
		v->spritenum = rvi->image_index;
 
		v->cargo_type = e->GetDefaultCargoType();
 
		v->cargo_cap = rvi->capacity;
 
		v->refit_cap = 0;
 

	
 
		v->last_station_visited = INVALID_STATION;
 
		v->last_loading_station = INVALID_STATION;
 
		v->engine_type = e->index;
 
		v->gcache.first_engine = INVALID_ENGINE; // needs to be set before first callback
 

	
 
		v->reliability = e->reliability;
 
		v->reliability_spd_dec = e->reliability_spd_dec;
 
		v->max_age = e->GetLifeLengthInDays();
 
		_new_vehicle_id = v->index;
 

	
 
		v->SetServiceInterval(Company::Get(v->owner)->settings.vehicle.servint_roadveh);
 

	
 
		v->date_of_last_service = _date;
 
		v->build_year = _cur_year;
 
@@ -302,24 +304,25 @@ CommandCost CmdBuildRoadVehicle(TileInde
 
		v->compatible_roadtypes = RoadTypeToRoadTypes(v->roadtype);
 
		v->gcache.cached_veh_length = VEHICLE_LENGTH;
 

	
 
		if (e->flags & ENGINE_EXCLUSIVE_PREVIEW) SetBit(v->vehicle_flags, VF_BUILT_AS_PROTOTYPE);
 
		v->SetServiceIntervalIsPercent(Company::Get(_current_company)->settings.vehicle.servint_ispercent);
 

	
 
		AddArticulatedParts(v);
 
		v->InvalidateNewGRFCacheOfChain();
 

	
 
		/* Call various callbacks after the whole consist has been constructed */
 
		for (RoadVehicle *u = v; u != NULL; u = u->Next()) {
 
			u->cargo_cap = u->GetEngine()->DetermineCapacity(u);
 
			u->refit_cap = 0;
 
			v->InvalidateNewGRFCache();
 
			u->InvalidateNewGRFCache();
 
		}
 
		RoadVehUpdateCache(v);
 
		/* Initialize cached values for realistic acceleration. */
 
		if (_settings_game.vehicle.roadveh_acceleration_model != AM_ORIGINAL) v->CargoChanged();
 

	
 
		VehicleUpdatePosition(v);
 

	
 
		CheckConsistencyOfArticulatedVehicle(v);
 
	}