From 592cca5402f9162fc70b48f40b95faec44341bd0 Mon Sep 17 00:00:00 2001 From: Thierry Crozat Date: Sun, 22 May 2011 15:15:15 +0100 Subject: GRAPHICS: Get rid of kSODFont (ScummFont) OSD is now using the kGUIFont instead. The main advantage is that the kGUIFont can be used for translated text while only ASCII characters were present in ScummFont. --- graphics/font.h | 12 -- graphics/fontman.cpp | 13 +- graphics/fontman.h | 1 - graphics/fonts/scummfont.cpp | 313 ------------------------------------------- graphics/module.mk | 1 - 5 files changed, 3 insertions(+), 337 deletions(-) delete mode 100644 graphics/fonts/scummfont.cpp (limited to 'graphics') diff --git a/graphics/font.h b/graphics/font.h index 7a992674d2..dc75f86e1f 100644 --- a/graphics/font.h +++ b/graphics/font.h @@ -114,18 +114,6 @@ public: int wordWrapText(const Common::String &str, int maxWidth, Common::Array &lines) const; }; -/** - * A SCUMM style font. - */ -class ScummFont : public Font { -public: - virtual int getFontHeight() const { return 8; } - virtual int getMaxCharWidth() const { return 8; } - - virtual int getCharWidth(byte chr) const; - virtual void drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const; -}; - typedef uint16 bitmap_t; /* bitmap image unit size*/ struct BBX { diff --git a/graphics/fontman.cpp b/graphics/fontman.cpp index f937e55b69..08f2ce990b 100644 --- a/graphics/fontman.cpp +++ b/graphics/fontman.cpp @@ -26,7 +26,6 @@ DECLARE_SINGLETON(Graphics::FontManager); namespace Graphics { -const ScummFont *g_scummfont = 0; FORWARD_DECLARE_FONT(g_sysfont); FORWARD_DECLARE_FONT(g_sysfont_big); FORWARD_DECLARE_FONT(g_consolefont); @@ -34,18 +33,15 @@ FORWARD_DECLARE_FONT(g_consolefont); FontManager::FontManager() { // This assert should *never* trigger, because // FontManager is a singleton, thus there is only - // one instance of it per time. (g_scummfont gets + // one instance of it per time. (g_sysfont gets // reset to 0 in the desctructor of this class). - assert(g_scummfont == 0); - g_scummfont = new ScummFont; + assert(g_sysfont == 0); INIT_FONT(g_sysfont); INIT_FONT(g_sysfont_big); INIT_FONT(g_consolefont); } FontManager::~FontManager() { - delete g_scummfont; - g_scummfont = 0; delete g_sysfont; g_sysfont = 0; delete g_sysfont_big; @@ -58,7 +54,6 @@ const struct { const char *name; FontManager::FontUsage id; } builtinFontNames[] = { - { "builtinOSD", FontManager::kOSDFont }, { "builtinConsole", FontManager::kConsoleFont }, { "fixed5x8.bdf", FontManager::kConsoleFont }, { "fixed5x8-iso-8859-1.bdf", FontManager::kConsoleFont }, @@ -69,7 +64,7 @@ const struct { { "helvB12.bdf", FontManager::kBigGUIFont }, { "helvB12-iso-8859-1.bdf", FontManager::kBigGUIFont }, { "helvB12-ascii.bdf", FontManager::kBigGUIFont }, - { 0, FontManager::kOSDFont } + { 0, FontManager::kConsoleFont } }; const Font *FontManager::getFontByName(const Common::String &name) const { @@ -84,8 +79,6 @@ const Font *FontManager::getFontByName(const Common::String &name) const { const Font *FontManager::getFontByUsage(FontUsage usage) const { switch (usage) { - case kOSDFont: - return g_scummfont; case kConsoleFont: return g_consolefont; case kGUIFont: diff --git a/graphics/fontman.h b/graphics/fontman.h index d3b84ffa7c..a388c64bf6 100644 --- a/graphics/fontman.h +++ b/graphics/fontman.h @@ -36,7 +36,6 @@ class Font; class FontManager : public Common::Singleton { public: enum FontUsage { - kOSDFont = 0, kConsoleFont = 1, kGUIFont = 2, kBigGUIFont = 3 diff --git a/graphics/fonts/scummfont.cpp b/graphics/fonts/scummfont.cpp deleted file mode 100644 index 1ff1e51fdc..0000000000 --- a/graphics/fonts/scummfont.cpp +++ /dev/null @@ -1,313 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#include "graphics/font.h" -#include "graphics/surface.h" - -namespace Graphics { - -// Built-in font -static const byte guifont[] = { - // Header - 0, 0, 99, 1, 226, 8, - // Character width table - 4, 8, 6, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8, 2, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 3, 7, 8, 7, 7, 8, 4, 5, 5, 8, 7, 4, 7, 3, 8, - 7, 7, 7, 7, 8, 7, 7, 7, 7, 7, 3, 4, 7, 5, 7, 7, - 8, 7, 7, 7, 7, 7, 7, 7, 7, 5, 7, 7, 7, 8, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 8, 7, 7, 7, 5, 8, 5, 8, 8, - 7, 7, 7, 6, 7, 7, 7, 7, 7, 5, 6, 7, 5, 8, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 8, 7, 7, 7, 5, 3, 5, 7, 8, - 7, 7, 7, 7, 7, 7, 0, 6, 7, 7, 7, 5, 5, 5, 7, 0, - 6, 8, 8, 7, 7, 7, 7, 7, 0, 7, 7, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, - // Character table - 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 1, 3, 6, 12, 24, 62, 3, 0, // 1 - 128, 192, 96, 48, 24, 124, 192, 0, // 2 - 0, 3, 62, 24, 12, 6, 3, 1, // 3 - 0, 192, 124, 24, 48, 96, 192, 128, // 4 - 0, 0, 0, 0, 0, 0, 0, 0, // 5 - 0, 0, 0, 0, 0, 0, 0, 0, // 6 - 0, 0, 0, 0, 0, 0, 0, 0, // 7 - 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 0, 0, 0, 0, 0, 0, 0, 0, // 9 - 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 0, 0, 0, 0, 0, 0, 0, 0, // 11 - 0, 0, 0, 0, 0, 0, 0, 0, // 12 - 0, 0, 0, 0, 0, 0, 0, 0, // 13 - 0, 0, 0, 0, 0, 0, 0, 0, // 14 - 0, 0, 0, 0, 0, 0, 0, 0, // 15 - 237, 74, 72, 0, 0, 0, 0, 0, // 16 - 128, 128, 128, 0, 0, 0, 0, 0, // 17 - 0, 0, 0, 0, 0, 0, 0, 0, // 18 - 60, 66, 153, 161, 161, 153, 66, 60, // 19 - 0, 0, 0, 0, 0, 0, 0, 0, // 20 - 0, 0, 0, 0, 0, 0, 0, 0, // 21 - 0, 0, 0, 0, 0, 0, 0, 0, // 22 - 0, 0, 0, 0, 0, 0, 0, 0, // 23 - 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 0, 0, 0, 0, 0, 0, 0, 0, // 25 - 0, 0, 0, 0, 0, 0, 0, 0, // 26 - 0, 0, 0, 0, 0, 0, 0, 0, // 27 - 0, 0, 0, 0, 0, 0, 0, 0, // 28 - 0, 0, 0, 0, 0, 0, 0, 0, // 29 - 0, 0, 0, 0, 0, 0, 0, 0, // 30 - 0, 0, 0, 0, 0, 0, 0, 0, // 31 - 0, 0, 0, 0, 0, 0, 0, 0, // 32 - 96, 96, 96, 96, 0, 0, 96, 0, // 33 - 102, 102, 102, 0, 0, 0, 0, 0, // 34 - 102, 102, 255, 102, 255, 102, 102, 0, // 35 - 24, 62, 96, 60, 6, 124, 24, 0, // 36 - 98, 102, 12, 24, 48, 102, 70, 0, // 37 - 60, 102, 60, 56, 103, 102, 63, 0, // 38 - 96, 48, 16, 0, 0, 0, 0, 0, // 39 - 24, 48, 96, 96, 96, 48, 24, 0, // 40 - 96, 48, 24, 24, 24, 48, 96, 0, // 41 - 0, 102, 60, 255, 60, 102, 0, 0, // 42 - 0, 24, 24, 126, 24, 24, 0, 0, // 43 - 0, 0, 0, 0, 0, 48, 48, 96, // 44 - 0, 0, 0, 126, 0, 0, 0, 0, // 45 - 0, 0, 0, 0, 0, 96, 96, 0, // 46 - 0, 3, 6, 12, 24, 48, 96, 0, // 47 - 60, 102, 102, 102, 102, 102, 60, 0, // 48 - 24, 24, 56, 24, 24, 24, 126, 0, // 49 - 60, 102, 6, 12, 48, 96, 126, 0, // 50 - 60, 102, 6, 28, 6, 102, 60, 0, // 51 - 6, 14, 30, 102, 127, 6, 6, 0, // 52 - 126, 96, 124, 6, 6, 102, 60, 0, // 53 - 60, 102, 96, 124, 102, 102, 60, 0, // 54 - 126, 102, 12, 24, 24, 24, 24, 0, // 55 - 60, 102, 102, 60, 102, 102, 60, 0, // 56 - 60, 102, 102, 62, 6, 102, 60, 0, // 57 - 0, 0, 96, 0, 0, 96, 0, 0, // 58 - 0, 0, 48, 0, 0, 48, 48, 96, // 59 - 14, 24, 48, 96, 48, 24, 14, 0, // 60 - 0, 0, 120, 0, 120, 0, 0, 0, // 61 - 112, 24, 12, 6, 12, 24, 112, 0, // 62 - 60, 102, 6, 12, 24, 0, 24, 0, // 63 - 0, 0, 0, 255, 255, 0, 0, 0, // 64 - 24, 60, 102, 126, 102, 102, 102, 0, // 65 - 124, 102, 102, 124, 102, 102, 124, 0, // 66 - 60, 102, 96, 96, 96, 102, 60, 0, // 67 - 120, 108, 102, 102, 102, 108, 120, 0, // 68 - 126, 96, 96, 120, 96, 96, 126, 0, // 69 - 126, 96, 96, 120, 96, 96, 96, 0, // 70 - 60, 102, 96, 110, 102, 102, 60, 0, // 71 - 102, 102, 102, 126, 102, 102, 102, 0, // 72 - 120, 48, 48, 48, 48, 48, 120, 0, // 73 - 30, 12, 12, 12, 12, 108, 56, 0, // 74 - 102, 108, 120, 112, 120, 108, 102, 0, // 75 - 96, 96, 96, 96, 96, 96, 126, 0, // 76 - 99, 119, 127, 107, 99, 99, 99, 0, // 77 - 102, 118, 126, 126, 110, 102, 102, 0, // 78 - 60, 102, 102, 102, 102, 102, 60, 0, // 79 - 124, 102, 102, 124, 96, 96, 96, 0, // 80 - 60, 102, 102, 102, 102, 60, 14, 0, // 81 - 124, 102, 102, 124, 120, 108, 102, 0, // 82 - 60, 102, 96, 60, 6, 102, 60, 0, // 83 - 126, 24, 24, 24, 24, 24, 24, 0, // 84 - 102, 102, 102, 102, 102, 102, 60, 0, // 85 - 102, 102, 102, 102, 102, 60, 24, 0, // 86 - 99, 99, 99, 107, 127, 119, 99, 0, // 87 - 102, 102, 60, 24, 60, 102, 102, 0, // 88 - 102, 102, 102, 60, 24, 24, 24, 0, // 89 - 126, 6, 12, 24, 48, 96, 126, 0, // 90 - 120, 96, 96, 96, 96, 96, 120, 0, // 91 - 3, 6, 12, 24, 48, 96, 192, 0, // 92 - 120, 24, 24, 24, 24, 24, 120, 0, // 93 - 0, 0, 0, 0, 0, 219, 219, 0, // 94 - 0, 0, 0, 0, 0, 0, 0, 255, // 95 - 102, 102, 102, 0, 0, 0, 0, 0, // 96 - 0, 0, 60, 6, 62, 102, 62, 0, // 97 - 0, 96, 96, 124, 102, 102, 124, 0, // 98 - 0, 0, 60, 96, 96, 96, 60, 0, // 99 - 0, 6, 6, 62, 102, 102, 62, 0, // 100 - 0, 0, 60, 102, 126, 96, 60, 0, // 101 - 0, 14, 24, 62, 24, 24, 24, 0, // 102 - 0, 0, 62, 102, 102, 62, 6, 124, // 103 - 0, 96, 96, 124, 102, 102, 102, 0, // 104 - 0, 48, 0, 112, 48, 48, 120, 0, // 105 - 0, 12, 0, 12, 12, 12, 12, 120, // 106 - 0, 96, 96, 108, 120, 108, 102, 0, // 107 - 0, 112, 48, 48, 48, 48, 120, 0, // 108 - 0, 0, 102, 127, 127, 107, 99, 0, // 109 - 0, 0, 124, 102, 102, 102, 102, 0, // 110 - 0, 0, 60, 102, 102, 102, 60, 0, // 111 - 0, 0, 124, 102, 102, 124, 96, 96, // 112 - 0, 0, 62, 102, 102, 62, 6, 6, // 113 - 0, 0, 124, 102, 96, 96, 96, 0, // 114 - 0, 0, 62, 96, 60, 6, 124, 0, // 115 - 0, 24, 126, 24, 24, 24, 14, 0, // 116 - 0, 0, 102, 102, 102, 102, 62, 0, // 117 - 0, 0, 102, 102, 102, 60, 24, 0, // 118 - 0, 0, 99, 107, 127, 62, 54, 0, // 119 - 0, 0, 102, 60, 24, 60, 102, 0, // 120 - 0, 0, 102, 102, 102, 62, 12, 120, // 121 - 0, 0, 126, 12, 24, 48, 126, 0, // 122 - 24, 48, 48, 96, 48, 48, 24, 0, // 123 - 96, 96, 96, 0, 96, 96, 96, 0, // 124 - 96, 48, 48, 24, 48, 48, 96, 0, // 125 - 0, 0, 97, 153, 134, 0, 0, 0, // 126 - 8, 12, 14, 255, 255, 14, 12, 8, // 127 - 60, 102, 96, 96, 102, 60, 24, 56, // 128 - 102, 0, 102, 102, 102, 102, 62, 0, // 129 - 12, 24, 60, 102, 126, 96, 60, 0, // 130 - 24, 36, 60, 6, 62, 102, 62, 0, // 131 - 102, 0, 60, 6, 62, 102, 62, 0, // 132 - 48, 24, 60, 6, 62, 102, 62, 0, // 133 - 0, 0, 0, 0, 0, 0, 0, 0, // 134 - 0, 60, 96, 96, 96, 60, 24, 56, // 135 - 24, 36, 60, 102, 126, 96, 60, 0, // 136 - 102, 0, 60, 102, 126, 96, 60, 0, // 137 - 48, 24, 60, 102, 126, 96, 60, 0, // 138 - 0, 216, 0, 112, 48, 48, 120, 0, // 139 - 48, 72, 0, 112, 48, 48, 120, 0, // 140 - 96, 48, 0, 112, 48, 48, 120, 0, // 141 - 102, 24, 60, 102, 126, 102, 102, 0, // 142 - 0, 0, 0, 0, 0, 0, 0, 0, // 143 - 24, 48, 124, 96, 120, 96, 124, 0, // 144 - 0, 0, 108, 26, 126, 216, 110, 0, // 145 - 30, 40, 40, 126, 72, 136, 142, 0, // 146 - 24, 36, 60, 102, 102, 102, 60, 0, // 147 - 102, 0, 60, 102, 102, 102, 60, 0, // 148 - 48, 24, 60, 102, 102, 102, 60, 0, // 149 - 24, 36, 0, 102, 102, 102, 62, 0, // 150 - 48, 24, 102, 102, 102, 102, 62, 0, // 151 - 0, 0, 0, 0, 0, 0, 0, 0, // 152 - 102, 60, 102, 102, 102, 102, 60, 0, // 153 - 102, 0, 102, 102, 102, 102, 60, 0, // 154 - 0, 0, 0, 0, 0, 0, 0, 0, // 155 - 0, 0, 0, 0, 0, 0, 0, 0, // 156 - 0, 0, 0, 0, 0, 0, 0, 0, // 157 - 0, 0, 0, 0, 0, 0, 0, 0, // 158 - 0, 0, 0, 0, 0, 0, 0, 0, // 159 - 12, 24, 60, 6, 62, 102, 62, 0, // 160 - 0, 0, 0, 0, 0, 0, 0, 0, // 161 - 0, 0, 0, 0, 0, 0, 0, 0, // 162 - 0, 0, 0, 0, 0, 0, 0, 0, // 163 - 0, 0, 0, 0, 0, 0, 0, 0, // 164 - 0, 0, 0, 0, 0, 0, 0, 0, // 165 - 0, 0, 0, 0, 0, 0, 0, 0, // 166 - 0, 0, 0, 0, 0, 0, 0, 0, // 167 - 0, 0, 0, 0, 0, 0, 0, 0, // 168 - 0, 0, 0, 0, 0, 0, 0, 0, // 169 - 0, 0, 0, 0, 0, 0, 0, 0, // 170 - 0, 0, 0, 0, 0, 0, 0, 0, // 171 - 0, 0, 0, 0, 0, 0, 0, 0, // 172 - 0, 0, 0, 0, 0, 0, 0, 0, // 173 - 0, 0, 0, 0, 0, 0, 0, 0, // 174 - 0, 0, 0, 0, 0, 0, 0, 0, // 175 - 0, 0, 0, 0, 0, 0, 0, 0, // 176 - 0, 0, 0, 0, 0, 0, 0, 0, // 177 - 0, 0, 0, 0, 0, 0, 0, 0, // 178 - 0, 0, 0, 0, 0, 0, 0, 0, // 179 - 0, 0, 0, 0, 0, 0, 0, 0, // 180 - 0, 0, 0, 0, 0, 0, 0, 0, // 181 - 0, 0, 0, 0, 0, 0, 0, 0, // 182 - 0, 0, 0, 0, 0, 0, 0, 0, // 183 - 0, 0, 0, 0, 0, 0, 0, 0, // 184 - 0, 0, 0, 0, 0, 0, 0, 0, // 185 - 0, 0, 0, 0, 0, 0, 0, 0, // 186 - 0, 0, 0, 0, 0, 0, 0, 0, // 187 - 0, 0, 0, 0, 0, 0, 0, 0, // 188 - 0, 0, 0, 0, 0, 0, 0, 0, // 189 - 0, 0, 0, 0, 0, 0, 0, 0, // 190 - 0, 0, 0, 0, 0, 0, 0, 0, // 191 - 0, 0, 0, 0, 0, 0, 0, 0, // 192 - 0, 0, 0, 0, 0, 0, 0, 0, // 193 - 0, 0, 0, 0, 0, 0, 0, 0, // 194 - 0, 0, 0, 0, 0, 0, 0, 0, // 195 - 0, 0, 0, 0, 0, 0, 0, 0, // 196 - 0, 0, 0, 0, 0, 0, 0, 0, // 197 - 0, 0, 0, 0, 0, 0, 0, 0, // 198 - 0, 0, 0, 0, 0, 0, 0, 0, // 199 - 0, 0, 0, 0, 0, 0, 0, 0, // 200 - 0, 0, 0, 0, 0, 0, 0, 0, // 201 - 0, 0, 0, 0, 0, 0, 0, 0, // 202 - 0, 0, 0, 0, 0, 0, 0, 0, // 203 - 0, 0, 0, 0, 0, 0, 0, 0, // 204 - 0, 0, 0, 0, 0, 0, 0, 0, // 205 - 0, 0, 0, 0, 0, 0, 0, 0, // 206 - 0, 0, 0, 0, 0, 0, 0, 0, // 207 - 0, 0, 0, 0, 0, 0, 0, 0, // 208 - 0, 0, 0, 0, 0, 0, 0, 0, // 209 - 0, 0, 0, 0, 0, 0, 0, 0, // 210 - 0, 0, 0, 0, 0, 0, 0, 0, // 211 - 0, 0, 0, 0, 0, 0, 0, 0, // 212 - 0, 0, 0, 0, 0, 0, 0, 0, // 213 - 0, 0, 0, 0, 0, 0, 0, 0, // 214 - 0, 0, 0, 0, 0, 0, 0, 0, // 215 - 0, 0, 0, 0, 0, 0, 0, 0, // 216 - 0, 0, 0, 0, 0, 0, 0, 0, // 217 - 0, 0, 0, 0, 0, 0, 0, 0, // 218 - 0, 0, 0, 0, 0, 0, 0, 0, // 219 - 0, 0, 0, 0, 0, 0, 0, 0, // 220 - 0, 0, 0, 0, 0, 0, 0, 0, // 221 - 0, 0, 0, 0, 0, 0, 0, 0, // 222 - 0, 0, 0, 0, 0, 0, 0, 0, // 223 - 0, 0, 0, 0, 0, 0, 0, 0, // 224 - 28, 54, 54, 124, 102, 102, 124, 64, // 225 - 0, 0, 0 // ??? -}; - -int ScummFont::getCharWidth(byte chr) const { - return guifont[chr+6]; -} - -void ScummFont::drawChar(Surface *dst, byte chr, int tx, int ty, uint32 color) const { - assert(dst != 0); - byte *ptr = (byte *)dst->getBasePtr(tx, ty); - - const byte *tmp = guifont + 6 + guifont[4] + chr * 8; - uint buffer = 0; - uint mask = 0; - - for (int y = 0; y < 8; y++) { - if (ty + y < 0 || ty + y >= dst->h) - continue; - for (int x = 0; x < 8; x++) { - if (tx + x < 0 || tx + x >= dst->w) - continue; - unsigned char c; - mask >>= 1; - if (mask == 0) { - buffer = *tmp++; - mask = 0x80; - } - c = ((buffer & mask) != 0); - if (c) { - if (dst->format.bytesPerPixel == 1) - ptr[x] = color; - else if (dst->format.bytesPerPixel == 2) - ((uint16 *)ptr)[x] = color; - } - } - ptr += dst->pitch; - } -} - -} // End of namespace Graphics diff --git a/graphics/module.mk b/graphics/module.mk index a9051c868a..32658c96bd 100644 --- a/graphics/module.mk +++ b/graphics/module.mk @@ -9,7 +9,6 @@ MODULE_OBJS := \ fonts/consolefont.o \ fonts/newfont_big.o \ fonts/newfont.o \ - fonts/scummfont.o \ fonts/winfont.o \ iff.o \ imagedec.o \ -- cgit v1.2.3