From ced7bc54b7cad26ea14b6dae7142aed193aa79e9 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Tue, 9 Jan 2024 18:56:30 +0000 Subject: [PATCH] Debug: Show ship path cache in debug window --- src/table/newgrf_debug_data.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/table/newgrf_debug_data.h b/src/table/newgrf_debug_data.h index 55667dd972..4d125267bb 100644 --- a/src/table/newgrf_debug_data.h +++ b/src/table/newgrf_debug_data.h @@ -466,6 +466,26 @@ class NIHVehicle : public NIHelper { seprintf(buffer, lastof(buffer), " Lost counter: %u", s->lost_count); output.print(buffer); + b = buffer + seprintf(buffer, lastof(buffer), " Path cache: "); + if (!s->cached_path.empty()) { + b += seprintf(b, lastof(buffer), "length: %u", (uint)s->cached_path.size()); + output.print(buffer); + b = buffer; + uint i = 0; + for (Trackdir td : s->cached_path) { + if ((i & 7) == 0) { + if (b > buffer) output.print(buffer); + b = buffer + seprintf(buffer, lastof(buffer), " %X", td); + } else { + b += seprintf(b, lastof(buffer), ", %X", td); + } + i++; + } + if (b > buffer) output.print(buffer); + } else { + b += seprintf(b, lastof(buffer), "none"); + output.print(buffer); + } } if (v->type == VEH_AIRCRAFT) { const Aircraft *a = Aircraft::From(v);