Opened 19 years ago
Closed 19 years ago
#2582 closed defect (fixed)
BASS regression: garbled text
Reported by: | SF/clemty | Owned by: | eriktorbjorn |
---|---|---|---|
Priority: | normal | Component: | Engine: Sky |
Version: | Keywords: | ||
Cc: | Game: | Beneath a Steel Sky |
Description
if you exit the furnace room in BASS and the language is set to German (similar thing happens with French too), the first line he says after climbing the stairs is garbled:
correct: "Wir sind auf dem Weg in die WOLKEN, Joey!" bug: "sdD Holographie von Galagher."
apparently the engine fetches the string from the wrong location.
this is a regression, first appeared in revision 19,743 (19,742 still has the correct output)
savegame + screenshots attached
Ticket imported from: #1478911. Ticket imported from: bugs/2582.
Attachments (3)
Change History (9)
by , 19 years ago
Attachment: | SKY-VM.000 added |
---|
comment:1 by , 19 years ago
Owner: | set to |
---|
comment:2 by , 19 years ago
btw this is still reproducible in current SVN builds for Windows XP and Linux (FC5/Athlon64)
comment:3 by , 19 years ago
Rev 19743 was commited by lavosspawn (see <http://svn.sourceforge.net/ viewcvs.cgi/scummvm/?rev=19743&view=rev>).
comment:4 by , 19 years ago
Owner: | changed from | to
---|
comment:5 by , 19 years ago
Owner: | changed from | to
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:6 by , 19 years ago
I see the problem. During a cleanup of Text::getText(), skipBytes was changed from uint32 to uint8. However that meant skipBytes could overflow in the following code fragment:
uint8 skipBytes = *blockPtr++; if (skipBytes & 0x80) { skipBytes &= 0x7F; skipBytes <<= 3; }
I've changed skipBytes to uint16.
furnace room, set language to german and exit rooms to see bug