summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/newgrf_config.cpp12
-rw-r--r--src/newgrf_config.h2
2 files changed, 6 insertions, 8 deletions
diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp
index 3d711fcd5..22cccaee6 100644
--- a/src/newgrf_config.cpp
+++ b/src/newgrf_config.cpp
@@ -312,15 +312,13 @@ void ScanNewGRFFiles(void)
}
-/* Find a NewGRF in the scanned list */
-const GRFConfig *FindGRFConfig(uint32 grfid, uint8 *md5sum)
+/* Find a NewGRF in the scanned list, if md5sum is NULL, we don't care about it*/
+const GRFConfig *FindGRFConfig(uint32 grfid, const uint8 *md5sum)
{
- GRFConfig *c;
- static const uint8 blanksum[sizeof(c->md5sum)] = { 0 };
-
- for (c = _all_grfs; c != NULL; c = c->next) {
+ for (const GRFConfig *c = _all_grfs; c != NULL; c = c->next) {
if (c->grfid == grfid) {
- if (memcmp(blanksum, c->md5sum, sizeof(c->md5sum)) == 0) CalcGRFMD5Sum(c);
+ if (md5sum == NULL) return c;
+
if (memcmp(md5sum, c->md5sum, sizeof(c->md5sum)) == 0) return c;
}
}
diff --git a/src/newgrf_config.h b/src/newgrf_config.h
index 6ebc3ffa2..7cc90d41f 100644
--- a/src/newgrf_config.h
+++ b/src/newgrf_config.h
@@ -41,7 +41,7 @@ extern GRFConfig *_grfconfig_newgame;
extern GRFConfig *_grfconfig_static;
void ScanNewGRFFiles(void);
-const GRFConfig *FindGRFConfig(uint32 grfid, uint8 *md5sum);
+const GRFConfig *FindGRFConfig(uint32 grfid, const uint8 *md5sum = NULL);
GRFConfig *GetGRFConfig(uint32 grfid);
GRFConfig **CopyGRFConfigList(GRFConfig **dst, const GRFConfig *src);
void AppendStaticGRFConfigs(GRFConfig **dst);