[Scummvm-cvs-logs] scummvm master -> c7dbbc860677efd01bd2aaaa5944b21c0849dda4
bluegr
md5 at scummvm.org
Fri Dec 23 02:28:53 CET 2011
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
c7dbbc8606 DREAMWEB: Ported 'reminders' to C++ and renamed it to edensFlatReminders()
Commit: c7dbbc860677efd01bd2aaaa5944b21c0849dda4
https://github.com/scummvm/scummvm/commit/c7dbbc860677efd01bd2aaaa5944b21c0849dda4
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2011-12-22T17:27:27-08:00
Commit Message:
DREAMWEB: Ported 'reminders' to C++ and renamed it to edensFlatReminders()
Changed paths:
devtools/tasmrecover/tasm-recover
engines/dreamweb/dreamgen.cpp
engines/dreamweb/dreamgen.h
engines/dreamweb/stubs.cpp
engines/dreamweb/stubs.h
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index e7716ac..8952c3e 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -707,6 +707,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'redrawmainscrn',
'reelsonscreen',
'reexfromopen',
+ 'reminders',
'removeemm',
'removefreeobject',
'removesetobject',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index a0ce29d..dff190a 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -26,59 +26,6 @@
namespace DreamGen {
-void DreamGenContext::reminders() {
- STACK_CHECK;
- _cmp(data.byte(kReallocation), 24);
- if (!flags.z())
- return /* (notinedenslift) */;
- _cmp(data.byte(kMapx), 44);
- if (!flags.z())
- return /* (notinedenslift) */;
- _cmp(data.byte(kProgresspoints), 0);
- if (!flags.z())
- return /* (notfirst) */;
- al = 'D';
- ah = 'K';
- cl = 'E';
- ch = 'Y';
- isRyanHolding();
- if (flags.z())
- goto forgotone;
- al = 'C';
- ah = 'S';
- cl = 'H';
- ch = 'R';
- findExObject();
- _cmp(al, (114));
- if (flags.z())
- goto forgotone;
- ax = es.word(bx+2);
- _cmp(al, 4);
- if (!flags.z())
- goto forgotone;
- _cmp(ah, 255);
- if (flags.z())
- goto havegotcard;
- cl = 'P';
- ch = 'U';
- dl = 'R';
- dh = 'S';
- _xchg(al, ah);
- compare();
- if (!flags.z())
- goto forgotone;
-havegotcard:
- _inc(data.byte(kProgresspoints));
- return;
-forgotone:
- al = 50;
- bl = 54;
- bh = 70;
- cx = 48;
- dx = 8;
- setupTimedUse();
-}
-
void DreamGenContext::transferMap() {
STACK_CHECK;
di = data.word(kExframepos);
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index b13d150..76fa167 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -476,7 +476,6 @@ public:
void findFirstPath();
void startTalk();
void getAnyAd();
- void reminders();
void getFreeAd();
void dirFile();
void pickupConts();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 6989a57..c755b93 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -3784,7 +3784,7 @@ void DreamGenContext::afterNewRoom() {
zoom();
workToScreenM();
walkIntoRoom();
- reminders();
+ edensFlatReminders();
atmospheres();
}
@@ -4616,4 +4616,32 @@ void DreamGenContext::lookAtPlace() {
workToScreenM();
}
+void DreamGenContext::edensFlatReminders() {
+ if (data.byte(kReallocation) != 24 || data.byte(kMapx) != 44)
+ return; // not in Eden's lift
+
+ if (data.byte(kProgresspoints))
+ return; // not the first time in Eden's apartment
+
+ uint16 exObjextIndex = findExObject("CSHR");
+ if (!isRyanHolding("DKEY") || exObjextIndex == kNumexobjects) {
+ DreamBase::setupTimedUse(50, 48, 8, 54, 70); // forgot something
+ return;
+ }
+
+ DynObject *object = getExAd(exObjextIndex);
+
+ if (object->mapad[0] != 4) {
+ DreamBase::setupTimedUse(50, 48, 8, 54, 70); // forgot something
+ return;
+ } else if (object->mapad[1] != 255) {
+ if (!compare(object->mapad[1], object->mapad[0], "PURS")) {
+ DreamBase::setupTimedUse(50, 48, 8, 54, 70); // forgot something
+ return;
+ }
+ }
+
+ data.byte(kProgresspoints)++; // got card
+}
+
} // End of namespace DreamGen
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 1a76a78..f50f4d8 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -377,5 +377,6 @@
void lookAtPlace();
void inToInv();
void outOfInv();
+ void edensFlatReminders();
#endif
More information about the Scummvm-git-logs
mailing list