diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 6d831ca5af..cbaa442928 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -54,6 +54,7 @@ #include "base_media_base.h" #include "debug_settings.h" #include "debug_desync.h" +#include "scope_info.h" #include #include "safeguards.h" @@ -2623,6 +2624,23 @@ DEF_CONSOLE_CMD(ConDumpCargoTypes) return true; } +DEF_CONSOLE_CMD(ConDumpVehicle) +{ + if (argc != 2) { + IConsoleHelp("Debug: Show vehicle information. Usage: 'dump_vehicle '"); + return true; + } + + const Vehicle *v = Vehicle::GetIfValid(atoi(argv[1])); + if (v != nullptr) { + IConsolePrint(CC_DEFAULT, scope_dumper().VehicleInfo(v)); + } else { + IConsolePrint(CC_DEFAULT, "No such vehicle"); + } + + return true; +} + /** * Dump the state of a tile on the map. * param x tile number or tile x coordinate. @@ -3465,6 +3483,7 @@ void IConsoleStdLibRegister() IConsole::CmdRegister("dump_rail_types", ConDumpRailTypes, nullptr, true); IConsole::CmdRegister("dump_bridge_types", ConDumpBridgeTypes, nullptr, true); IConsole::CmdRegister("dump_cargo_types", ConDumpCargoTypes, nullptr, true); + IConsole::CmdRegister("dump_vehicle", ConDumpVehicle, nullptr, true); IConsole::CmdRegister("dump_tile", ConDumpTile, nullptr, true); IConsole::CmdRegister("check_caches", ConCheckCaches, nullptr, true); IConsole::CmdRegister("show_town_window", ConShowTownWindow, nullptr, true);