Debug: Show tile info on separate lines in vehicle debug window
This commit is contained in:
@@ -60,7 +60,7 @@ const char *scope_dumper::VehicleInfo(const Vehicle *v)
|
||||
char *b = this->buffer;
|
||||
const char *last = lastof(this->buffer);
|
||||
auto dump_flags = [&](const Vehicle *u) {
|
||||
b = u->DumpVehicleFlags(b, last);
|
||||
b = u->DumpVehicleFlags(b, last, true);
|
||||
};
|
||||
if (v) {
|
||||
b += seprintf(b, last, "veh: %u: (", v->index);
|
||||
|
@@ -94,8 +94,20 @@ class NIHVehicle : public NIHelper {
|
||||
print(buffer);
|
||||
char *b = buffer;
|
||||
b += seprintf(b, lastof(buffer), " Flags: ");
|
||||
b = v->DumpVehicleFlags(b, lastof(buffer));
|
||||
b = v->DumpVehicleFlags(b, lastof(buffer), false);
|
||||
print(buffer);
|
||||
|
||||
b = buffer + seprintf(buffer, lastof(buffer), " ");
|
||||
b = DumpTileInfo(b, lastof(buffer), v->tile);
|
||||
if (buffer[2] == 't') buffer[2] = 'T';
|
||||
print(buffer);
|
||||
|
||||
TileIndex vtile = TileVirtXY(v->x_pos, v->y_pos);
|
||||
if (v->tile != vtile) {
|
||||
seprintf(buffer, lastof(buffer), " VirtXYTile: %X (%u x %u)", vtile, TileX(vtile), TileY(vtile));
|
||||
print(buffer);
|
||||
}
|
||||
|
||||
if (v->IsPrimaryVehicle()) {
|
||||
seprintf(buffer, lastof(buffer), " Order indices: real: %u, implicit: %u, tt: %u",
|
||||
v->cur_real_order_index, v->cur_implicit_order_index, v->cur_timetable_order_index);
|
||||
|
@@ -3711,7 +3711,7 @@ void Vehicle::RemoveFromShared()
|
||||
if (HasBit(this->vehicle_flags, VF_TIMETABLE_SEPARATION)) ClrBit(this->vehicle_flags, VF_TIMETABLE_STARTED);
|
||||
}
|
||||
|
||||
char *Vehicle::DumpVehicleFlags(char *b, const char *last) const
|
||||
char *Vehicle::DumpVehicleFlags(char *b, const char *last, bool include_tile) const
|
||||
{
|
||||
auto dump = [&](char c, bool flag) {
|
||||
if (flag) b += seprintf(b, last, "%c", c);
|
||||
@@ -3793,11 +3793,13 @@ char *Vehicle::DumpVehicleFlags(char *b, const char *last) const
|
||||
const RoadVehicle *r = RoadVehicle::From(this);
|
||||
b += seprintf(b, last, ", rvs:%X, rvf:%X", r->state, r->frame);
|
||||
}
|
||||
if (include_tile) {
|
||||
b += seprintf(b, last, ", [");
|
||||
b = DumpTileInfo(b, last, this->tile);
|
||||
b += seprintf(b, last, "]");
|
||||
TileIndex vtile = TileVirtXY(this->x_pos, this->y_pos);
|
||||
if (this->tile != vtile) b += seprintf(b, last, ", VirtXYTile: %X (%u x %u)", vtile, TileX(vtile), TileY(vtile));
|
||||
}
|
||||
if (this->cargo_payment) b += seprintf(b, last, ", CP");
|
||||
return b;
|
||||
}
|
||||
|
@@ -1087,7 +1087,7 @@ public:
|
||||
this->sprite_seq_bounds = this->sprite_seq.GetBounds();
|
||||
}
|
||||
|
||||
char *DumpVehicleFlags(char *b, const char *last) const;
|
||||
char *DumpVehicleFlags(char *b, const char *last, bool include_tile) const;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user