Add debug console command to delete a vehicle ID

pull/221/head
Jonathan G Rennison 3 years ago
parent 2cbb42f9a9
commit b931df9934

@ -2134,6 +2134,27 @@ DEF_CONSOLE_CMD(ConMergeLinkgraphJobsAsap)
return true;
}
#ifdef _DEBUG
DEF_CONSOLE_CMD(ConDeleteVehicleID)
{
if (argc == 0) {
IConsoleHelp("Delete vehicle ID, for emergency single-player use only.");
return true;
}
if (argc == 2) {
uint32 result;
if (GetArgumentInteger(&result, argv[1])) {
extern void ConsoleRemoveVehicle(VehicleID id);
ConsoleRemoveVehicle(result);
return true;
}
}
return false;
}
#endif
DEF_CONSOLE_CMD(ConGetFullDate)
{
if (argc == 0) {
@ -3382,4 +3403,8 @@ void IConsoleStdLibRegister()
/* Bug workarounds */
IConsoleCmdRegister("jgrpp_bug_workaround_unblock_heliports", ConResetBlockedHeliports, ConHookNoNetwork, true);
IConsoleCmdRegister("merge_linkgraph_jobs_asap", ConMergeLinkgraphJobsAsap, ConHookNoNetwork, true);
#ifdef _DEBUG
IConsoleCmdRegister("delete_vehicle_id", ConDeleteVehicleID, ConHookNoNetwork, true);
#endif
}

@ -191,6 +191,12 @@ static void RemoveAndSellVehicle(Vehicle *v, bool give_money)
}
}
void ConsoleRemoveVehicle(VehicleID id)
{
Vehicle *v = Vehicle::GetIfValid(id);
if (v->Previous() == nullptr) RemoveAndSellVehicle(v, false);
}
/**
* Check all path reservations, and reserve a new path if the current path is invalid.
*/

Loading…
Cancel
Save