diff options
author | Filippos Karapetis | 2011-10-09 19:56:17 +0300 |
---|---|---|
committer | Filippos Karapetis | 2011-10-09 19:56:51 +0300 |
commit | 90a11586e21d06c150f98842a62f2a5ae7857bb5 (patch) | |
tree | e128ecdf8436d67dfd680254fff0052cc750d0d1 /engines/sci | |
parent | d8da625e5ed4fb8c3ec7de32541181c032963072 (diff) | |
download | scummvm-rg350-90a11586e21d06c150f98842a62f2a5ae7857bb5.tar.gz scummvm-rg350-90a11586e21d06c150f98842a62f2a5ae7857bb5.tar.bz2 scummvm-rg350-90a11586e21d06c150f98842a62f2a5ae7857bb5.zip |
SCI: CreateTextBitmap should return a pointer. Also, silenced a warning
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 9 | ||||
-rw-r--r-- | engines/sci/graphics/text32.cpp | 7 | ||||
-rw-r--r-- | engines/sci/graphics/text32.h | 2 |
3 files changed, 9 insertions, 9 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index e3a41fe361..3d8a7774e2 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -1391,8 +1391,7 @@ reg_t kCreateTextBitmap(EngineState *s, int argc, reg_t *argv) { debugC(kDebugLevelStrings, "%s", text.c_str()); uint16 maxWidth = argv[1].toUint16(); // nsRight - nsLeft + 1 uint16 maxHeight = argv[2].toUint16(); // nsBottom - nsTop + 1 - g_sci->_gfxText32->createTextBitmap(object, maxWidth, maxHeight); - break; + return g_sci->_gfxText32->createTextBitmap(object, maxWidth, maxHeight); } case 1: { if (argc != 2) { @@ -1403,14 +1402,12 @@ reg_t kCreateTextBitmap(EngineState *s, int argc, reg_t *argv) { Common::String text = s->_segMan->getString(readSelector(s->_segMan, object, SELECTOR(text))); debugC(kDebugLevelStrings, "kCreateTextBitmap case 1 (%04x:%04x)", PRINT_REG(argv[1])); debugC(kDebugLevelStrings, "%s", text.c_str()); - g_sci->_gfxText32->createTextBitmap(object); - break; + return g_sci->_gfxText32->createTextBitmap(object); } default: warning("CreateTextBitmap(%d)", argv[0].toUint16()); + return NULL_REG; } - - return NULL_REG; } reg_t kGetWindowsOption(EngineState *s, int argc, reg_t *argv) { diff --git a/engines/sci/graphics/text32.cpp b/engines/sci/graphics/text32.cpp index 6ec1261a88..7be3874ed0 100644 --- a/engines/sci/graphics/text32.cpp +++ b/engines/sci/graphics/text32.cpp @@ -56,7 +56,7 @@ void GfxText32::purgeCache() { _textCache.clear(); } -void GfxText32::createTextBitmap(reg_t textObject, uint16 maxWidth, uint16 maxHeight) { +reg_t GfxText32::createTextBitmap(reg_t textObject, uint16 maxWidth, uint16 maxHeight) { if (_textCache.size() >= MAX_CACHED_TEXTS) purgeCache(); @@ -71,6 +71,9 @@ void GfxText32::createTextBitmap(reg_t textObject, uint16 maxWidth, uint16 maxHe } _textCache[textId] = createTextEntry(textObject, maxWidth, maxHeight); + + // TODO: Create a new hunk pointer with the created surface + return NULL_REG; } // TODO: Finish this! @@ -176,7 +179,7 @@ TextEntry *GfxText32::createTextEntry(reg_t textObject, uint16 maxWidth, uint16 memset(newEntry->surface, 0, newEntry->width * newEntry->height); newEntry->text = _segMan->getString(stringObject); - int16 maxTextWidth = 0, charCount = 0; + int16 /*maxTextWidth = 0,*/ charCount = 0; uint16 curX = 0, curY = 0; while (*text) { diff --git a/engines/sci/graphics/text32.h b/engines/sci/graphics/text32.h index 620bcfc155..113fbb46a2 100644 --- a/engines/sci/graphics/text32.h +++ b/engines/sci/graphics/text32.h @@ -51,7 +51,7 @@ class GfxText32 { public: GfxText32(SegManager *segMan, GfxCache *fonts, GfxScreen *screen); ~GfxText32(); - void createTextBitmap(reg_t textObject, uint16 maxWidth = 0, uint16 maxHeight = 0); + reg_t createTextBitmap(reg_t textObject, uint16 maxWidth = 0, uint16 maxHeight = 0); void drawTextBitmap(reg_t textObject, uint16 textX, uint16 textY, uint16 planeWidth); int16 GetLongest(const char *text, int16 maxWidth, GfxFont *font); TextEntry *getTextEntry(reg_t textObject); |