diff options
| author | Willem Jan Palenstijn | 2011-12-12 09:07:55 +0100 | 
|---|---|---|
| committer | Willem Jan Palenstijn | 2011-12-12 09:19:25 +0100 | 
| commit | 2ff147352c01045b7571c1d44c6ef942b1e64d98 (patch) | |
| tree | 2c1ab184ef326f7eee342444619087df3d6b3207 | |
| parent | 58c7a8dcb847f3ee03b704d3dd6bfc80018cbece (diff) | |
| download | scummvm-rg350-2ff147352c01045b7571c1d44c6ef942b1e64d98.tar.gz scummvm-rg350-2ff147352c01045b7571c1d44c6ef942b1e64d98.tar.bz2 scummvm-rg350-2ff147352c01045b7571c1d44c6ef942b1e64d98.zip | |
DREAMWEB: Cleanup and add FIXMEs
| -rw-r--r-- | engines/dreamweb/dreambase.h | 10 | ||||
| -rw-r--r-- | engines/dreamweb/object.cpp | 2 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.cpp | 26 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.h | 14 | 
4 files changed, 29 insertions, 23 deletions
| diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h index b22f46be77..285c44b600 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 edc0b734ec..53d834e74c 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 02381cc191..7a60f17c1f 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 49f319b754..950da21574 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(); | 
