roadveh_cmd.c
changeset 3421 8ab76c47c72c
parent 3404 3ac4f7fedfb5
child 3431 0d7fa19d0b4a
equal deleted inserted replaced
3420:85a5201aeb14 3421:8ab76c47c72c
   139 		v->unitnumber = unit_num;
   139 		v->unitnumber = unit_num;
   140 		v->direction = 0;
   140 		v->direction = 0;
   141 		v->owner = _current_player;
   141 		v->owner = _current_player;
   142 
   142 
   143 		v->tile = tile;
   143 		v->tile = tile;
   144 		x = TileX(tile) * 16 + 8;
   144 		x = TileX(tile) * TILE_SIZE + 8;
   145 		y = TileY(tile) * 16 + 8;
   145 		y = TileY(tile) * TILE_SIZE + 8;
   146 		v->x_pos = x;
   146 		v->x_pos = x;
   147 		v->y_pos = y;
   147 		v->y_pos = y;
   148 		v->z_pos = GetSlopeZ(x,y);
   148 		v->z_pos = GetSlopeZ(x,y);
   149 		v->z_height = 6;
   149 		v->z_height = 6;
   150 
   150 
  1209 		v->direction = DiagDirToDir(dir);
  1209 		v->direction = DiagDirToDir(dir);
  1210 
  1210 
  1211 		rd2 = _roadveh_data_2[dir];
  1211 		rd2 = _roadveh_data_2[dir];
  1212 		rdp = _road_drive_data[(_opt.road_side << 4) + rd2];
  1212 		rdp = _road_drive_data[(_opt.road_side << 4) + rd2];
  1213 
  1213 
  1214 		x = TileX(v->tile) * 16 + (rdp[6].x & 0xF);
  1214 		x = TileX(v->tile) * TILE_SIZE + (rdp[6].x & 0xF);
  1215 		y = TileY(v->tile) * 16 + (rdp[6].y & 0xF);
  1215 		y = TileY(v->tile) * TILE_SIZE + (rdp[6].y & 0xF);
  1216 
  1216 
  1217 		if (RoadVehFindCloseTo(v, x, y, v->direction) != NULL) return;
  1217 		if (RoadVehFindCloseTo(v, x, y, v->direction) != NULL) return;
  1218 
  1218 
  1219 		VehicleServiceInDepot(v);
  1219 		VehicleServiceInDepot(v);
  1220 
  1220 
  1297 			tile = v->tile;
  1297 			tile = v->tile;
  1298 		}
  1298 		}
  1299 
  1299 
  1300 		rdp = _road_drive_data[(dir + (_opt.road_side << 4)) ^ v->u.road.overtaking];
  1300 		rdp = _road_drive_data[(dir + (_opt.road_side << 4)) ^ v->u.road.overtaking];
  1301 
  1301 
  1302 		x = TileX(tile) * 16 + rdp[0].x;
  1302 		x = TileX(tile) * TILE_SIZE + rdp[0].x;
  1303 		y = TileY(tile) * 16 + rdp[0].y;
  1303 		y = TileY(tile) * TILE_SIZE + rdp[0].y;
  1304 
  1304 
  1305 		newdir = RoadVehGetSlidingDirection(v, x, y);
  1305 		newdir = RoadVehGetSlidingDirection(v, x, y);
  1306 		if (RoadVehFindCloseTo(v, x, y, newdir) != NULL) return;
  1306 		if (RoadVehFindCloseTo(v, x, y, newdir) != NULL) return;
  1307 
  1307 
  1308 		r = VehicleEnterTile(v, tile, x, y);
  1308 		r = VehicleEnterTile(v, tile, x, y);
  1358 		}
  1358 		}
  1359 
  1359 
  1360 		tmp = (_opt.road_side << 4) + dir;
  1360 		tmp = (_opt.road_side << 4) + dir;
  1361 		rdp = _road_drive_data[tmp];
  1361 		rdp = _road_drive_data[tmp];
  1362 
  1362 
  1363 		x = TileX(v->tile) * 16 + rdp[1].x;
  1363 		x = TileX(v->tile) * TILE_SIZE + rdp[1].x;
  1364 		y = TileY(v->tile) * 16 + rdp[1].y;
  1364 		y = TileY(v->tile) * TILE_SIZE + rdp[1].y;
  1365 
  1365 
  1366 		newdir = RoadVehGetSlidingDirection(v, x, y);
  1366 		newdir = RoadVehGetSlidingDirection(v, x, y);
  1367 		if (RoadVehFindCloseTo(v, x, y, newdir) != NULL) return;
  1367 		if (RoadVehFindCloseTo(v, x, y, newdir) != NULL) return;
  1368 
  1368 
  1369 		r = VehicleEnterTile(v, v->tile, x, y);
  1369 		r = VehicleEnterTile(v, v->tile, x, y);