mirror of
https://github.com/libretro/scummvm.git
synced 2024-11-28 03:40:36 +00:00
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.
This commit is contained in:
parent
72080d8972
commit
592cca5402
@ -135,7 +135,7 @@ static int eatSystemEvents() {
|
||||
}
|
||||
|
||||
static void drawProgress(float progress) {
|
||||
const Graphics::Font &font(*FontMan.getFontByUsage(Graphics::FontManager::kOSDFont));
|
||||
const Graphics::Font &font(*FontMan.getFontByUsage(Graphics::FontManager::kGUIFont));
|
||||
Graphics::Surface *screen = g_system->lockScreen();
|
||||
|
||||
assert(screen);
|
||||
@ -174,7 +174,7 @@ static void drawProgress(float progress) {
|
||||
}
|
||||
|
||||
static void drawMessage(int offset, const Common::String &text) {
|
||||
const Graphics::Font &font(*FontMan.getFontByUsage(Graphics::FontManager::kOSDFont));
|
||||
const Graphics::Font &font(*FontMan.getFontByUsage(Graphics::FontManager::kGUIFont));
|
||||
Graphics::Surface *screen = g_system->lockScreen();
|
||||
|
||||
assert(screen);
|
||||
|
@ -1385,7 +1385,7 @@ const char *OpenGLGraphicsManager::getCurrentModeName() {
|
||||
#ifdef USE_OSD
|
||||
void OpenGLGraphicsManager::updateOSD() {
|
||||
// The font we are going to use:
|
||||
const Graphics::Font *font = FontMan.getFontByUsage(Graphics::FontManager::kOSDFont);
|
||||
const Graphics::Font *font = FontMan.getFontByUsage(Graphics::FontManager::kGUIFont);
|
||||
|
||||
if (_osdSurface.w != _osdTexture->getWidth() || _osdSurface.h != _osdTexture->getHeight())
|
||||
_osdSurface.create(_osdTexture->getWidth(), _osdTexture->getHeight(), _overlayFormat);
|
||||
|
@ -2060,7 +2060,7 @@ void SdlGraphicsManager::displayMessageOnOSD(const char *msg) {
|
||||
_osdSurface->format->Bshift, _osdSurface->format->Ashift);
|
||||
|
||||
// The font we are going to use:
|
||||
const Graphics::Font *font = FontMan.getFontByUsage(Graphics::FontManager::kOSDFont);
|
||||
const Graphics::Font *font = FontMan.getFontByUsage(Graphics::FontManager::kGUIFont);
|
||||
|
||||
// Clear everything with the "transparent" color, i.e. the colorkey
|
||||
SDL_FillRect(_osdSurface, 0, kOSDColorKey);
|
||||
|
@ -114,18 +114,6 @@ public:
|
||||
int wordWrapText(const Common::String &str, int maxWidth, Common::Array<Common::String> &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 {
|
||||
|
@ -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:
|
||||
|
@ -36,7 +36,6 @@ class Font;
|
||||
class FontManager : public Common::Singleton<FontManager> {
|
||||
public:
|
||||
enum FontUsage {
|
||||
kOSDFont = 0,
|
||||
kConsoleFont = 1,
|
||||
kGUIFont = 2,
|
||||
kBigGUIFont = 3
|
||||
|
@ -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
|
@ -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 \
|
||||
|
Loading…
Reference in New Issue
Block a user