Fix: Code quality

Use INVALID_TILE instead of 0xFFFF
Don't recompute next vehicle tile
This commit is contained in:
Yourself
2019-11-21 19:43:18 -08:00
parent 4d9027a2a5
commit 2935c6d036

View File

@@ -73,7 +73,7 @@ protected:
int cost = 0; int cost = 0;
bool predictedOccupied = false; bool predictedOccupied = false;
for (int i = 0; i < MAX_TARGETS && Yapf().leaderTargets[i] != 0xFFFF; ++i) { for (int i = 0; i < MAX_TARGETS && Yapf().leaderTargets[i] != INVALID_TILE; ++i) {
if (Yapf().leaderTargets[i] != tile) continue; if (Yapf().leaderTargets[i] != tile) continue;
cost += Yapf().PfGetSettings().road_curve_penalty; cost += Yapf().PfGetSettings().road_curve_penalty;
predictedOccupied = true; predictedOccupied = true;
@@ -361,7 +361,7 @@ static Vehicle * FindVehiclesOnTileProc(Vehicle *v, void *_data)
TileIndex ti = v->tile + TileOffsByDir(v->direction); TileIndex ti = v->tile + TileOffsByDir(v->direction);
for (int i = 0; i < MAX_TARGETS; i++) { for (int i = 0; i < MAX_TARGETS; i++) {
if ((*data->targets)[i] == 0xFFFF) { if ((*data->targets)[i] == INVALID_TILE) {
(*data->targets)[i] = ti; (*data->targets)[i] = ti;
break; break;
} }
@@ -437,13 +437,12 @@ public:
Yapf().SetDestination(v); Yapf().SetDestination(v);
for (int i = 0; i < MAX_TARGETS; ++i) { for (int i = 0; i < MAX_TARGETS; ++i) {
Yapf().leaderTargets[i] = 0xFFFF; Yapf().leaderTargets[i] = INVALID_TILE;
} }
FindVehiclesOnTileProcData data; FindVehiclesOnTileProcData data;
data.originVehicle = v; data.originVehicle = v;
data.targets = &Yapf().leaderTargets; data.targets = &Yapf().leaderTargets;
TileIndex ti = v->tile + TileOffsByDir(v->direction); FindVehicleOnPos(tile, &data, &FindVehiclesOnTileProc);
FindVehicleOnPos(ti, &data, &FindVehiclesOnTileProc);
/* find the best path */ /* find the best path */
path_found = Yapf().FindPath(v); path_found = Yapf().FindPath(v);