[Scummvm-cvs-logs] scummvm master -> 0133ca823e5948e7a144ae32d2bbcceda3fdc564

wjp wjp at usecode.org
Sat Dec 24 12:10:55 CET 2011


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

Summary:
64b7aee081 DREAMWEB: Minor cleanup
0133ca823e DREAMWEB: Fix wrong buffer size


Commit: 64b7aee081af753366bdd2000e73f24b28b226e8
    https://github.com/scummvm/scummvm/commit/64b7aee081af753366bdd2000e73f24b28b226e8
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-12-24T03:10:35-08:00

Commit Message:
DREAMWEB: Minor cleanup

Changed paths:
    engines/dreamweb/dreambase.h
    engines/dreamweb/stubs.cpp
    engines/dreamweb/use.cpp



diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h
index 32b36a5..e573443 100644
--- a/engines/dreamweb/dreambase.h
+++ b/engines/dreamweb/dreambase.h
@@ -513,6 +513,7 @@ public:
 	void startLoading(const Room &room);
 	void startup();
 	void atmospheres();
+	bool objectMatches(void *object, const char *id);
 
 	// from use.cpp
 	void placeFreeObject(uint8 index);
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 0b2ed7a..09c8b36 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -1681,8 +1681,8 @@ void DreamBase::printMessage2(uint16 x, uint16 y, uint8 index, uint8 maxWidth, b
 	printDirect(string, x, y, maxWidth, centered);
 }
 
-static bool objectMatches(void *object, const char *id) {
-	const char *objId = (const char *)(((const uint8 *)object) + 12); // whether it is a DynObject or a SetObject
+bool DreamBase::objectMatches(void *object, const char *id) {
+	const char *objId = (const char *)object + 12; // whether it is a DynObject or a SetObject
 	for (size_t i = 0; i < 4; ++i) {
 		if (id[i] != objId[i] + 'A')
 			return false;
diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp
index b642598..aa7c2bd 100644
--- a/engines/dreamweb/use.cpp
+++ b/engines/dreamweb/use.cpp
@@ -128,11 +128,12 @@ void DreamGenContext::useRoutine() {
 	}
 
 	getAnyAd();
-	const uint8 *id = es.ptr(bx + 12, 4);
+	// CHECKME: Do the callbacks use es:bx ?
+	void *obj = es.ptr(bx, 15);
 
 	for (size_t i = 0; i < sizeof(kUseList)/sizeof(UseListEntry); ++i) {
 		const UseListEntry &entry = kUseList[i];
-		if (('A' + id[0] == entry.id[0]) && ('A' + id[1] == entry.id[1]) && ('A' + id[2] == entry.id[2]) && ('A' + id[3] == entry.id[3])) {
+		if (objectMatches(obj, entry.id)) {
 			(this->*entry.callback)();
 			return;
 		}


Commit: 0133ca823e5948e7a144ae32d2bbcceda3fdc564
    https://github.com/scummvm/scummvm/commit/0133ca823e5948e7a144ae32d2bbcceda3fdc564
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-12-24T03:10:35-08:00

Commit Message:
DREAMWEB: Fix wrong buffer size

Changed paths:
    engines/dreamweb/dreambase.h



diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h
index e573443..7ba8a93 100644
--- a/engines/dreamweb/dreambase.h
+++ b/engines/dreamweb/dreambase.h
@@ -44,7 +44,7 @@ const unsigned int kUnderTextSizeX_f = 228; // foreign version
 const unsigned int kUnderTextSizeY_f = 13; // foreign version
 const unsigned int kUnderTimedTextSizeY_f = 30;
 const unsigned int kUnderTextBufSize = kUnderTextSizeX_f * kUnderTextSizeY_f;
-const unsigned int kUnderTimedTextBufSize = 256 * kUnderTextSizeY_f;
+const unsigned int kUnderTimedTextBufSize = 256 * kUnderTimedTextSizeY_f;
 const unsigned int kLengthOfVars = 68;
 const unsigned int kNumChanges = 250;
 






More information about the Scummvm-git-logs mailing list