# HG changeset patch # User Darkvater # Date 2007-01-13 17:23:02 # Node ID df89a7ff5d5ebad23a99d53f04aff8f15d3ded7c # Parent 01025ea9456921f4cc363484b4e3552267c8d903 (svn r8105) -Codechange: Change FindGRFConfig so that if md5sum parameter is omitted (or NULL) only a check for GRFID is done and not on md5sum as well. Remove blanksum in the function as it's obsoleted diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp --- 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 (const GRFConfig *c = _all_grfs; c != NULL; c = c->next) { + if (c->grfid == grfid) { + if (md5sum == NULL) return c; - for (c = _all_grfs; c != NULL; c = c->next) { - if (c->grfid == grfid) { - if (memcmp(blanksum, c->md5sum, sizeof(c->md5sum)) == 0) CalcGRFMD5Sum(c); if (memcmp(md5sum, c->md5sum, sizeof(c->md5sum)) == 0) return c; } } diff --git a/src/newgrf_config.h b/src/newgrf_config.h --- 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);