diff options
-rw-r--r-- | scumm/cursor.cpp | 9 | ||||
-rw-r--r-- | scumm/intern.h | 2 |
2 files changed, 6 insertions, 5 deletions
diff --git a/scumm/cursor.cpp b/scumm/cursor.cpp index a24a502c31..98f680fd54 100644 --- a/scumm/cursor.cpp +++ b/scumm/cursor.cpp @@ -331,19 +331,20 @@ void ScummEngine_v5::redefineBuiltinCursorFromChar(int index, int chr) { } Graphics::Surface s; - byte buf[16*16]; - memset(buf, 123, 16*16); + byte buf[16*17]; + memset(buf, 123, 16*17); s.pixels = buf; s.w = _charset->getCharWidth(chr); s.h = _charset->getFontHeight(); s.pitch = s.w; - assert(s.w <= 16 && s.h <= 16); + // s.h = 17 for FM-TOWNS Loom Japanese. Fixes bug #1166917 + assert(s.w <= 16 && s.h <= 17); s.bytesPerPixel = 1; _charset->drawChar(chr, s, 0, 0); uint16 *ptr = _cursorImages[index]; - memset(ptr, 0, 16 * sizeof(uint16)); + memset(ptr, 0, 17 * sizeof(uint16)); for (int h = 0; h < s.h; h++) { for (int w = 0; w < s.w; w++) { if (buf[s.pitch * h + w] != 123) diff --git a/scumm/intern.h b/scumm/intern.h index 99b2bb2d50..d911505582 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -50,7 +50,7 @@ protected: const OpcodeEntryV5 *_opcodesV5; - uint16 _cursorImages[4][16]; + uint16 _cursorImages[4][17]; byte _cursorHotspots[2 * 4]; public: |