[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