From 1ce4eda5761f37445e676c92ee3f0affbf4e8e79 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Thu, 23 Nov 2006 21:19:43 +0000 Subject: [PATCH] (svn r7242) -Fix: Don't load 1-byte pseudo sprites, as used in some NewGRF sets. If the sprite is ever drawn this will result in a "missing sprite" error instead of undefined misbehaviour leading to segmentation faults... --- spritecache.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spritecache.c b/spritecache.c index 4604f76026..a27444ce12 100644 --- a/spritecache.c +++ b/spritecache.c @@ -45,7 +45,9 @@ static bool ReadSpriteHeaderSkipData(void) type = FioReadByte(); if (type == 0xFF) { FioSkipBytes(num); - return true; + /* Some NewGRF files have "empty" pseudo-sprites which are 1 + * byte long. Catch these so the sprites won't be displayed. */ + return num != 1; } FioSkipBytes(7);