diff options
Diffstat (limited to 'engines/simon/charset.cpp')
-rw-r--r-- | engines/simon/charset.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/simon/charset.cpp b/engines/simon/charset.cpp index 151f3221a7..f0b5cfa040 100644 --- a/engines/simon/charset.cpp +++ b/engines/simon/charset.cpp @@ -207,6 +207,11 @@ void SimonEngine::renderString(uint vga_sprite_id, uint color, uint width, uint if (getGameType() == GType_FF) { WRITE_LE_UINT16(p + 4, height); WRITE_LE_UINT16(p + 6, width); + // We need to adjust the offset to the next buffer to be right + // after this one. By default, each buffer is only 9000 bytes + // long. A two-line string can very well be more than twice + // that size! + WRITE_LE_UINT16(p + 8, READ_LE_UINT32(p) + width * height); } else { WRITE_BE_UINT16(p + 4, height); WRITE_BE_UINT16(p + 6, width); |