[Scummvm-cvs-logs] scummvm master -> 2ff147352c01045b7571c1d44c6ef942b1e64d98

wjp wjp at usecode.org
Mon Dec 12 09:20:06 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:
2ff147352c DREAMWEB: Cleanup and add FIXMEs


Commit: 2ff147352c01045b7571c1d44c6ef942b1e64d98
    https://github.com/scummvm/scummvm/commit/2ff147352c01045b7571c1d44c6ef942b1e64d98
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-12-12T00:19:25-08:00

Commit Message:
DREAMWEB: Cleanup and add FIXMEs

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



diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h
index b22f46b..285c44b 100644
--- a/engines/dreamweb/dreambase.h
+++ b/engines/dreamweb/dreambase.h
@@ -65,6 +65,9 @@ public:
 	void lockLightOn();
 	void lockLightOff();
 
+	// from object.cpp
+	void obIcons();
+
 	// from pathfind.cpp
 	Common::Point _lineData[200];		// Output of Bresenham
 	void checkDest(const RoomPaths *roomsPaths);
@@ -137,6 +140,13 @@ public:
 	DynObject *getFreeAd(uint8 index);
 	DynObject *getExAd(uint8 index);
 	DynObject *getEitherAdCPP();
+	void showWatch();
+	void showTime();
+	void showExit();
+	void showMan();
+	void panelIcons1();
+	SetObject *getSetAd(uint8 index);
+	void *getAnyAd(uint8 *value1, uint8 *value2);
 
 	// from use.cpp
 	void placeFreeObject(uint8 index);
diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp
index edc0b73..53d834e 100644
--- a/engines/dreamweb/object.cpp
+++ b/engines/dreamweb/object.cpp
@@ -99,7 +99,7 @@ void DreamGenContext::obPicture() {
 	showFrame(frames, 160, 68, frame, 0x80);
 }
 
-void DreamGenContext::obIcons() {
+void DreamBase::obIcons() {
 	uint8 value1, value2;
 	getAnyAd(&value1, &value2);
 	if (value1 != 0xff) {
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 02381cc..7a60f17 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -1383,7 +1383,7 @@ DynObject *DreamBase::getEitherAdCPP() {
 		return getFreeAd(data.byte(kItemframe));
 }
 
-void *DreamGenContext::getAnyAd(uint8 *value1, uint8 *value2) {
+void *DreamBase::getAnyAd(uint8 *value1, uint8 *value2) {
 	if (data.byte(kObjecttype) == 4) {
 		DynObject *exObject = getExAd(data.byte(kCommand));
 		*value1 = exObject->b7;
@@ -1411,7 +1411,7 @@ void *DreamGenContext::getAnyAdDir(uint8 index, uint8 flag) {
 		return getSetAd(index);
 }
 
-SetObject *DreamGenContext::getSetAd(uint8 index) {
+SetObject *DreamBase::getSetAd(uint8 index) {
 	return (SetObject *)getSegment(data.word(kSetdat)).ptr(0, 0) + index;
 }
 
@@ -2065,7 +2065,7 @@ void DreamGenContext::mainScreen() {
 		walkAndExamine();
 }
 
-void DreamGenContext::showWatch() {
+void DreamBase::showWatch() {
 	if (data.byte(kWatchon)) {
 		showFrame(engine->icons1(), 250, 1, 6, 0);
 		showTime();
@@ -2079,7 +2079,7 @@ void DreamGenContext::dumpWatch() {
 	data.byte(kWatchdump) = 0;
 }
 
-void DreamGenContext::showTime() {
+void DreamBase::showTime() {
 	if (data.byte(kWatchon) == 0)
 		return;
 	Frame *charset = (Frame *)getSegment(data.word(kCharset1)).ptr(0, 0);
@@ -2467,18 +2467,18 @@ void DreamGenContext::showRightPage() {
 	data.word(kLinespacing) = 10;
 }
 
-void DreamGenContext::showExit() {
+void DreamBase::showExit() {
 	showFrame(engine->icons1(), 274, 154, 11, 0);
 }
 
-void DreamGenContext::showMan() {
+void DreamBase::showMan() {
 	showFrame(engine->icons1(), 0, 0, 0, 0);
 	showFrame(engine->icons1(), 0, 114, 1, 0);
 	if (data.byte(kShadeson))
 		showFrame(engine->icons1(), 28, 25, 2, 0);
 }
 
-void DreamGenContext::panelIcons1() {
+void DreamBase::panelIcons1() {
 	uint16 x;
 	if (data.byte(kWatchon) != 1)
 		x = 48;
@@ -4223,22 +4223,22 @@ void DreamGenContext::showPuzText() {
 }
 
 void DreamGenContext::showPuzText(uint16 command, uint16 count) {
-	// The original called findPuzText here and saved es:si. We call it below.
+	findPuzText(); // FIXME: Unnecessary? (Input: al, Output: es:si)
 	createPanel();
 	showPanel();
 	showMan();
 	showExit();
 	obIcons();
-	findPuzText();	// we call it here to set es:si correctly
 	uint16 offset = kTextstart + getSegment(data.word(kPuzzletext)).word(command * 2);
 	const uint8 *string = getSegment(data.word(kPuzzletext)).ptr(offset, 0);
-	uint16 y = 104;
-	DreamBase::printDirect(&string, 36, &y, 241, 241 & 1);
+	printDirect(string, 36, 104, 241, 241 & 1);
 	workToScreenM();
 	hangOnP(count);
 }
 
 void DreamGenContext::monkSpeaking() {
+	// FIXME: This is the CD version only.
+
 	data.byte(kRoomssample) = 35;
 	loadRoomsSample();
 	loadIntoTemp("DREAMWEB.G15");
@@ -4251,13 +4251,13 @@ void DreamGenContext::monkSpeaking() {
 	playChannel0(12, 255);
 	fadeScreenUps();
 	hangOn(300);
-	al = 40;
 
 	for (int i = 40; i <= 48; i++) {
 		dl = 'T';
 		dh = 83;
 		cl = 'T';
 		ah = 0;
+		al = i;
 		loadSpeech();
 
 		playChannel1(50 + 12);
@@ -4265,8 +4265,6 @@ void DreamGenContext::monkSpeaking() {
 		do {
 			engine->waitForVSync();
 		} while (data.byte(kCh1playing) != 255);
-
-		al++;
 	} 
 
 	data.byte(kVolumedirection) = 1;
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 49f319b..950da21 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -166,8 +166,12 @@
 		return DreamBase::getExAd(index);
 	}
 	DynObject *getEitherAdCPP();
-	SetObject *getSetAd(uint8 index);
-	void *getAnyAd(uint8 *value1, uint8 *value2);
+	void *getAnyAd(uint8 *value1, uint8 *value2) {
+		return DreamBase::getAnyAd(value1, value2);
+	}
+	SetObject *getSetAd(uint8 index) {
+		return DreamBase::getSetAd(index);
+	}
 	void *getAnyAdDir(uint8 index, uint8 flag);
 	void setAllChanges();
 	void doChange(uint8 index, uint8 value, uint8 type);
@@ -195,7 +199,6 @@
 	void addToPeopleList(ReelRoutine *routine);
 	void getExPos();
 	void obPicture();
-	void obIcons();
 	void compare();
 	bool compare(uint8 index, uint8 flag, const char id[4]);
 	bool pixelCheckSet(const ObjPos *pos, uint8 x, uint8 y);
@@ -237,9 +240,7 @@
 	uint16 getPersFrame(uint8 index);
 	void convIcons();
 	void examineOb(bool examineAgain = true);
-	void showWatch();
 	void dumpWatch();
-	void showTime();
 	void roomName();
 	void transferText();
 	void initRain();
@@ -424,9 +425,6 @@
 	void showOuterPad();
 	uint8 nextSymbol(uint8 symbol);
 	void showSymbol();
-	void showExit();
-	void showMan();
-	void panelIcons1();
 	void examIcon();
 	void buttonOne();
 	void buttonTwo();






More information about the Scummvm-git-logs mailing list