[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