changeset 3565:f0e34d0b43fa draft

(svn r4446) - Add function to determine if a Sprite ID exists.
author peter1138 <peter1138@openttd.org>
date Sun, 16 Apr 2006 11:26:23 +0000
parents 4ec87b7cb8eb
children ad93fb7ceb94
files spritecache.c spritecache.h
diffstat 2 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/spritecache.c
+++ b/spritecache.c
@@ -71,6 +71,13 @@
 	return true;
 }
 
+/* Check if the given Sprite ID exists */
+bool SpriteExists(SpriteID id)
+{
+	/* Special case for Sprite ID zero -- its position is also 0... */
+	return _sprite_file_pos[id] != 0 || id == 0;
+}
+
 static void* AllocSprite(size_t);
 
 static void* ReadSprite(SpriteID id)
@@ -80,7 +87,7 @@
 
 	DEBUG(spritecache, 9) ("load sprite %d", id);
 
-	if (_sprite_file_pos[id] == 0 && id != 0) {
+	if (!SpriteExists(id)) {
 		error(
 			"Tried to load non-existing sprite #%d.\n"
 			"Probable cause: Wrong/missing NewGRFs",
--- a/spritecache.h
+++ b/spritecache.h
@@ -13,6 +13,7 @@
 } Sprite;
 
 const void *GetRawSprite(SpriteID sprite);
+bool SpriteExists(SpriteID sprite);
 
 static inline const Sprite *GetSprite(SpriteID sprite)
 {