[Scummvm-cvs-logs] scummvm-tools master -> ec7a40b35ee8455a031ef38e3628b1c74d03c7d3

fuzzie fuzzie at fuzzie.org
Tue Aug 9 21:21:43 CEST 2011


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm-tools' repo located at https://github.com/scummvm/scummvm-tools .

Summary:
ec6cb98ba9 TOOLS: Use roomarray/localarray in descumm when relevant.
ec7a40b35e TOOLS: Try to stop descumm going beyond the start of _stringBuffer.


Commit: ec6cb98ba965f8b4b12687c511cb77f30c770b85
    https://github.com/scummvm/scummvm-tools/commit/ec6cb98ba965f8b4b12687c511cb77f30c770b85
Author: Alyssa Milburn (fuzzie at fuzzie.org)
Date: 2011-08-09T12:15:34-07:00

Commit Message:
TOOLS: Use roomarray/localarray in descumm when relevant.

Changed paths:
    engines/scumm/descumm6.cpp



diff --git a/engines/scumm/descumm6.cpp b/engines/scumm/descumm6.cpp
index fb9513a..86e9ce2 100644
--- a/engines/scumm/descumm6.cpp
+++ b/engines/scumm/descumm6.cpp
@@ -211,6 +211,10 @@ public:
 		else if(g_options.scriptVersion < 8 && !(_idx & 0xF000) &&
 			(s = getVarName(_idx & 0xFFF)) != NULL)
 			where += sprintf(where, "%s[",s);
+		else if(g_options.scriptVersion < 8 && g_options.heVersion >= 80 && (_idx & 0x8000))
+			where += sprintf(where, "roomarray%d[", _idx & 0xfff);
+		else if(g_options.scriptVersion < 8 && (_idx & 0x4000))
+			where += sprintf(where, "localarray%d[", _idx & 0xfff);
 		else
 			where += sprintf(where, "array%d[", _idx);
 


Commit: ec7a40b35ee8455a031ef38e3628b1c74d03c7d3
    https://github.com/scummvm/scummvm-tools/commit/ec7a40b35ee8455a031ef38e3628b1c74d03c7d3
Author: Alyssa Milburn (fuzzie at fuzzie.org)
Date: 2011-08-09T12:17:00-07:00

Commit Message:
TOOLS: Try to stop descumm going beyond the start of _stringBuffer.

This was causing segfaults for me, since descumm promptly overwrote
num_stack when reading strings in some circumstances. Seems to
produce identical output for me now, but I don't know if I'm just
hiding a bug or I've completely misunderstood.

Changed paths:
    engines/scumm/descumm6.cpp



diff --git a/engines/scumm/descumm6.cpp b/engines/scumm/descumm6.cpp
index 86e9ce2..ff6fe68 100644
--- a/engines/scumm/descumm6.cpp
+++ b/engines/scumm/descumm6.cpp
@@ -1190,7 +1190,7 @@ StackEnt *se_get_string() {
 	return se_complex(buf);
 }
 
-int _stringLength;
+int _stringLength = 1;
 byte _stringBuffer[4096];
 
 void getScriptString() {






More information about the Scummvm-git-logs mailing list