(svn r771) Do not give a file new {struct GRFFile} if it was already loaded once. Eliminates those double entries in the newgrf manager and also some possible memory leaks.
--- a/newgrf.c Mon Nov 22 22:22:03 2004 +0000
+++ b/newgrf.c Mon Nov 22 22:51:19 2004 +0000
@@ -1989,6 +1989,14 @@
{
struct GRFFile *newfile;
+ newfile = GetFileByFilename(filename);
+ if (newfile) {
+ /* We already loaded it once. */
+ newfile->sprite_offset = sprite_offset;
+ _cur_grffile = newfile;
+ return;
+ }
+
newfile = calloc(1, sizeof(struct GRFFile));
if (newfile == NULL)