summaryrefslogtreecommitdiff
path: root/newgrf.c
diff options
context:
space:
mode:
Diffstat (limited to 'newgrf.c')
-rw-r--r--newgrf.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/newgrf.c b/newgrf.c
index 2805531e6..6f16c9e3b 100644
--- a/newgrf.c
+++ b/newgrf.c
@@ -3068,6 +3068,21 @@ static void ResetCustomStations(void)
}
}
+static void ResetNewGRF(void)
+{
+ GRFFile *f, *next;
+
+ for (f = _first_grffile; f != NULL; f = next) {
+ next = f->next;
+
+ free(f->filename);
+ free(f);
+ }
+
+ _first_grffile = NULL;
+ _cur_grffile = NULL;
+}
+
/**
* Reset all NewGRF loaded data
* TODO
@@ -3118,6 +3133,9 @@ static void ResetNewGRFData(void)
ResetStationClasses();
ResetCustomStations();
+ /* Reset NewGRF files */
+ ResetNewGRF();
+
// Add engine type to engine data. This is needed for the refit precalculation.
AddTypeToEngines();