diff options
-rw-r--r-- | src/newgrf_config.cpp | 12 | ||||
-rw-r--r-- | src/newgrf_config.h | 2 |
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); |