[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