|
|
|
@ -1315,7 +1315,7 @@ static bool RoadVehLeaveDepot(RoadVehicle *v, bool first)
|
|
|
|
|
v->direction = DiagDirToDir(dir);
|
|
|
|
|
|
|
|
|
|
Trackdir tdir = DiagDirToDiagTrackdir(dir);
|
|
|
|
|
const RoadDriveEntry *rdp = _road_drive_data[GetRoadTramType(v->roadtype)][(_settings_game.vehicle.road_side << RVS_DRIVE_SIDE) + tdir];
|
|
|
|
|
const RoadDriveEntry *rdp = _road_drive_data[GetRoadTramType(v->roadtype) + (_settings_game.vehicle.diagonal_roads * 2)][(_settings_game.vehicle.road_side << RVS_DRIVE_SIDE) + tdir];
|
|
|
|
|
|
|
|
|
|
int x = TileX(v->tile) * TILE_SIZE + (rdp[RVC_DEPOT_START_FRAME].x & 0xF);
|
|
|
|
|
int y = TileY(v->tile) * TILE_SIZE + (rdp[RVC_DEPOT_START_FRAME].y & 0xF);
|
|
|
|
@ -1713,7 +1713,7 @@ bool IndividualRoadVehicleController(RoadVehicle *v, const RoadVehicle *prev)
|
|
|
|
|
/* Get move position data for next frame.
|
|
|
|
|
* For a drive-through road stop use 'straight road' move data.
|
|
|
|
|
* In this case v->state is masked to give the road stop entry direction. */
|
|
|
|
|
RoadDriveEntry rd = _road_drive_data[GetRoadTramType(v->roadtype)][(
|
|
|
|
|
RoadDriveEntry rd = _road_drive_data[GetRoadTramType(v->roadtype) + (_settings_game.vehicle.diagonal_roads * 2)][(
|
|
|
|
|
(HasBit(v->state, RVS_IN_DT_ROAD_STOP) ? v->state & RVSB_ROAD_STOP_TRACKDIR_MASK : v->state) +
|
|
|
|
|
(_settings_game.vehicle.road_side << RVS_DRIVE_SIDE)) ^ v->overtaking][v->frame + 1];
|
|
|
|
|
|
|
|
|
@ -1812,7 +1812,7 @@ again:
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Get position data for first frame on the new tile */
|
|
|
|
|
const RoadDriveEntry *rdp = _road_drive_data[GetRoadTramType(v->roadtype)][(dir + (_settings_game.vehicle.road_side << RVS_DRIVE_SIDE)) ^ v->overtaking];
|
|
|
|
|
const RoadDriveEntry *rdp = _road_drive_data[GetRoadTramType(v->roadtype) + (_settings_game.vehicle.diagonal_roads * 2)][(dir + (_settings_game.vehicle.road_side << RVS_DRIVE_SIDE)) ^ v->overtaking];
|
|
|
|
|
|
|
|
|
|
int x = TileX(tile) * TILE_SIZE + rdp[start_frame].x;
|
|
|
|
|
int y = TileY(tile) * TILE_SIZE + rdp[start_frame].y;
|
|
|
|
@ -1928,7 +1928,7 @@ again:
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const RoadDriveEntry *rdp = _road_drive_data[GetRoadTramType(v->roadtype)][(_settings_game.vehicle.road_side << RVS_DRIVE_SIDE) + dir];
|
|
|
|
|
const RoadDriveEntry *rdp = _road_drive_data[GetRoadTramType(v->roadtype) + (_settings_game.vehicle.diagonal_roads * 2)][(_settings_game.vehicle.road_side << RVS_DRIVE_SIDE) + dir];
|
|
|
|
|
|
|
|
|
|
int x = TileX(v->tile) * TILE_SIZE + rdp[turn_around_start_frame].x;
|
|
|
|
|
int y = TileY(v->tile) * TILE_SIZE + rdp[turn_around_start_frame].y;
|
|
|
|
|