changeset 18407:587c70b39535 draft

(svn r23243) -Codechange: give a clearer error when the sprite font failed to provide a sprite or fall back to the freetype font if that's loaded
author rubidium <rubidium@openttd.org>
date Thu, 17 Nov 2011 21:13:05 +0000
parents bd86f3f06d9e
children c4286df1c22a
files src/fontcache.cpp
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/fontcache.cpp
+++ b/src/fontcache.cpp
@@ -1001,7 +1001,15 @@
 	if (face == NULL || (key >= SCC_SPRITE_START && key <= SCC_SPRITE_END)) {
 		SpriteID sprite = GetUnicodeGlyph(size, key);
 		if (sprite == 0) sprite = GetUnicodeGlyph(size, '?');
-		return GetSprite(sprite, ST_FONT);
+
+		/* Load the sprite if it's known. */
+		if (sprite != 0) return GetSprite(sprite, ST_FONT);
+
+		/* For the 'rare' case there is no font available at all. */
+		if (face == NULL) error("No sprite font and no real font either... bailing!");
+
+		/* Use the '?' from the freetype font. */
+		key = '?';
 	}
 
 	/* Check for the glyph in our cache */