equal
deleted
inserted
replaced
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); |