[Scummvm-cvs-logs] SF.net SVN: scummvm:[39951] scummvm/trunk/engines/agos/charset.cpp
Kirben at users.sourceforge.net
Kirben at users.sourceforge.net
Wed Apr 15 03:54:24 CEST 2009
Revision: 39951
http://scummvm.svn.sourceforge.net/scummvm/?rev=39951&view=rev
Author: Kirben
Date: 2009-04-15 01:54:24 +0000 (Wed, 15 Apr 2009)
Log Message:
-----------
Update renderString to match original code in The Feeble Files.
Modified Paths:
--------------
scummvm/trunk/engines/agos/charset.cpp
Modified: scummvm/trunk/engines/agos/charset.cpp
===================================================================
--- scummvm/trunk/engines/agos/charset.cpp 2009-04-14 20:10:49 UTC (rev 39950)
+++ scummvm/trunk/engines/agos/charset.cpp 2009-04-15 01:54:24 UTC (rev 39951)
@@ -303,20 +303,11 @@
p = dst + vgaSpriteId * 8;
if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ if (vgaSpriteId != 1)
+ WRITE_LE_UINT16(p, READ_LE_UINT32(p - 8) + READ_LE_UINT32(p - 4) * READ_LE_UINT32(p - 2));
+
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!
- //
- // The original seems to make an exception for sprite id 1, but
- // even the first conversation option can be a long line. For
- // some reason, I cannot reproduce the text corruption with the
- // original interpreter, though, so maybe we're missing some
- // detail here. Let's hope it's safe to always adjust the
- // buffer size anyway.
- WRITE_LE_UINT16(p + 8, READ_LE_UINT32(p) + width * height);
} else {
WRITE_BE_UINT16(p + 4, height);
WRITE_BE_UINT16(p + 6, width);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list