diff options
| -rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
| -rw-r--r-- | engines/dreamweb/dreamgen.cpp | 37 | ||||
| -rw-r--r-- | engines/dreamweb/dreamgen.h | 1 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.cpp | 52 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.h | 1 | 
5 files changed, 54 insertions, 38 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index c258de6cd2..3fb7dfaa7e 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -543,6 +543,7 @@ generator = cpp(context, "DreamGen", blacklist = [  	'restorereels',  	'rockstar',  	'roomname', +	'runintroseq',  	'saveems',  	'savefileread',  	'savefilewrite', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 356b853029..aaa531ff8e 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -1567,43 +1567,6 @@ void DreamGenContext::showMonk() {  	showFrame();  } -void DreamGenContext::runIntroSeq() { -	STACK_CHECK; -	data.byte(kGetback) = 0; -moreintroseq: -	vSync(); -	_cmp(data.byte(kLasthardkey), 1); -	if (flags.z()) -		goto earlyendrun; -	spriteUpdate(); -	vSync(); -	_cmp(data.byte(kLasthardkey), 1); -	if (flags.z()) -		goto earlyendrun; -	delEverything(); -	printSprites(); -	reelsOnScreen(); -	afterIntroRoom(); -	useTimedText(); -	vSync(); -	_cmp(data.byte(kLasthardkey), 1); -	if (flags.z()) -		goto earlyendrun; -	dumpMap(); -	dumpTimedText(); -	vSync(); -	_cmp(data.byte(kLasthardkey), 1); -	if (flags.z()) -		goto earlyendrun; -	_cmp(data.byte(kGetback), 1); -	if (!flags.z()) -		goto moreintroseq; -	return; -earlyendrun: -	getRidOfTempText(); -	clearBeforeLoad(); -} -  void DreamGenContext::runEndSeq() {  	STACK_CHECK;  	atmospheres(); diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 714ce3af2e..ca9f56158c 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -608,7 +608,6 @@ public:  	void dirFile();  	void pickupConts();  	void lockLightOff(); -	void runIntroSeq();  	void advisor();  	void allPalette();  	void cantDrop(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 923d0f76af..e75c7cde4f 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -3239,6 +3239,58 @@ void DreamGenContext::realCredits() {  	data.byte(kLasthardkey) =  0;  } +void DreamGenContext::runIntroSeq() { +	data.byte(kGetback) = 0; + +	do { +		vSync(); + +		if (data.byte(kLasthardkey) == 1) { +			getRidOfTempText(); +			clearBeforeLoad(); +			return; // "earlyendrun" +		} + +		spriteUpdate(); +		vSync(); + +		if (data.byte(kLasthardkey) == 1) { +			getRidOfTempText(); +			clearBeforeLoad(); +			return; // "earlyendrun" +		} + +		delEverything(); +		printSprites(); +		reelsOnScreen(); +		afterIntroRoom(); +		useTimedText(); +		vSync(); + +		if (data.byte(kLasthardkey) == 1) { +			getRidOfTempText(); +			clearBeforeLoad(); +			return; // "earlyendrun" +		} + +		dumpMap(); +		dumpTimedText(); +		vSync(); + +		if (data.byte(kLasthardkey) == 1) { +			getRidOfTempText(); +			clearBeforeLoad(); +			return; // "earlyendrun" +		} + +		} while (data.byte(kGetback) != 1); + +	// These were not called in this program arc +	// in the original code.. Bug? +	//getRidOfTempText(); +	//clearBeforeLoad(); +} +  void DreamGenContext::intro() {  	loadTempText("DREAMWEB.T82");  	loadPalFromIFF(); diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 97486152c7..2699605bd0 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -500,6 +500,7 @@  	void showPCX(const Common::String &name);  	void bibleQuote();  	void realCredits(); +	void runIntroSeq();  	void intro();  	void fadeScreenUp();  	void fadeScreenUps();  | 
