diff options
author | Torbjörn Andersson | 2007-01-27 01:50:41 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2007-01-27 01:50:41 +0000 |
commit | aaa2973bacc79f3054447becd83cb399ab9a75ba (patch) | |
tree | 0a7735b7194e6af3f54378b126c55ebf0feed757 /engines/scumm/charset.cpp | |
parent | 82cc1db7943bfd9917f5deb33b82db58c75f1e15 (diff) | |
download | scummvm-rg350-aaa2973bacc79f3054447becd83cb399ab9a75ba.tar.gz scummvm-rg350-aaa2973bacc79f3054447becd83cb399ab9a75ba.tar.bz2 scummvm-rg350-aaa2973bacc79f3054447becd83cb399ab9a75ba.zip |
Applied my own patch #1640913 ("Loading NUT fonts on demand"), after discussing
it with Fingolfin.
svn-id: r25221
Diffstat (limited to 'engines/scumm/charset.cpp')
-rw-r--r-- | engines/scumm/charset.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/engines/scumm/charset.cpp b/engines/scumm/charset.cpp index a15f2b6d76..165eead6e7 100644 --- a/engines/scumm/charset.cpp +++ b/engines/scumm/charset.cpp @@ -1604,15 +1604,7 @@ CharsetRendererNut::CharsetRendererNut(ScummEngine *vm) _current = 0; for (int i = 0; i < 5; i++) { - char fontname[256]; - if ((_vm->_game.id == GID_CMI) && (_vm->_game.features & GF_DEMO) && (i == 4)) - break; - sprintf(fontname, "font%d.nut", i); - _fr[i] = new NutRenderer(_vm); - if (!(_fr[i]->loadFont(fontname, true))) { - delete _fr[i]; - _fr[i] = NULL; - } + _fr[i] = NULL; } } @@ -1625,8 +1617,16 @@ CharsetRendererNut::~CharsetRendererNut() { } void CharsetRendererNut::setCurID(byte id) { - assert(id < 5); + int numFonts = ((_vm->_game.id == GID_CMI) && (_vm->_game.features & GF_DEMO)) ? 4 : 5; + assert(id < numFonts); _curId = id; + if (!_fr[id]) { + _fr[id] = new NutRenderer(_vm); + char fontname[11]; + sprintf(fontname, "font%d.nut", id); + _fr[id] = new NutRenderer(_vm); + _fr[id]->loadFont(fontname, true); + } _current = _fr[id]; assert(_current); } |