From 4daaec1a9458b2df7215bd2b330cf0cd6797ebf3 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 19 Jan 2019 20:59:27 +0000 Subject: [PATCH] Change: Invalidate ship path caches if pathfinder choice or forbid-90-degree turns are changed. --- src/settings.cpp | 9 +++++++++ src/table/settings.ini | 3 +++ 2 files changed, 12 insertions(+) diff --git a/src/settings.cpp b/src/settings.cpp index 3e61cc87f8..ae797e09b9 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1312,6 +1312,15 @@ static bool MaxVehiclesChanged(int32 p1) return true; } +static bool InvalidateShipPathCache(int32 p1) +{ + Ship *s; + FOR_ALL_SHIPS(s) { + s->path.clear(); + } + return true; +} + #ifdef ENABLE_NETWORK diff --git a/src/table/settings.ini b/src/table/settings.ini index bb6159693a..7afdd80801 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -42,6 +42,7 @@ static bool InvalidateCompanyInfrastructureWindow(int32 p1); static bool InvalidateCompanyWindow(int32 p1); static bool ZoomMinMaxChanged(int32 p1); static bool MaxVehiclesChanged(int32 p1); +static bool InvalidateShipPathCache(int32 p1); #ifdef ENABLE_NETWORK static bool UpdateClientName(int32 p1); @@ -820,6 +821,7 @@ var = pf.forbid_90_deg def = false str = STR_CONFIG_SETTING_FORBID_90_DEG strhelp = STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT +proc = InvalidateShipPathCache cat = SC_EXPERT [SDT_VAR] @@ -942,6 +944,7 @@ interval = 1 str = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT strval = STR_CONFIG_SETTING_PATHFINDER_OPF +proc = InvalidateShipPathCache cat = SC_EXPERT [SDT_BOOL]