diff options
| author | Bertrand Augereau | 2011-11-20 21:13:46 +0100 | 
|---|---|---|
| committer | Bertrand Augereau | 2011-11-20 21:22:16 +0100 | 
| commit | 57fc322992046e4a8fc1dd0b1969843430ad7795 (patch) | |
| tree | f74e722e9385feac2e7c260a70575a356c70efef | |
| parent | 2d4197381e251bcb71fdf452606c5f6fcc2d8561 (diff) | |
| download | scummvm-rg350-57fc322992046e4a8fc1dd0b1969843430ad7795.tar.gz scummvm-rg350-57fc322992046e4a8fc1dd0b1969843430ad7795.tar.bz2 scummvm-rg350-57fc322992046e4a8fc1dd0b1969843430ad7795.zip  | |
DREAMWEB: 'screenupdate' ported to C++
| -rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
| -rw-r--r-- | engines/dreamweb/dreamgen.cpp | 54 | ||||
| -rw-r--r-- | engines/dreamweb/dreamgen.h | 7 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.cpp | 45 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.h | 1 | 
5 files changed, 50 insertions, 58 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index b90f0b65f5..8b0797accb 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -31,6 +31,7 @@ p.link()  generator = cpp(context, "DreamGen", blacklist = [  	# These functions are not processed  	'randomnumber', +	'screenupdate',  	'startup',  	'startup1',  	'switchryanon', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 4ce51014f4..0e242fcc83 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -12448,59 +12448,6 @@ void DreamGenContext::clearrest() {  	deallocatemem();  } -void DreamGenContext::screenupdate() { -	STACK_CHECK; -	newplace(); -	mainscreen(); -	_cmp(data.byte(kQuitrequested),  0); -	if (!flags.z()) -		return /* (finishearly) */; -	animpointer(); -	showpointer(); -	_cmp(data.word(kWatchingtime), 0); -	if (!flags.z()) -		goto iswatchingmode; -	_cmp(data.byte(kNewlocation), 255); -	if (!flags.z()) -		return /* (finishearly) */; -iswatchingmode: -	vsync(); -	readmouse1(); -	dumppointer(); -	dumptextline(); -	delpointer(); -	autolook(); -	spriteupdate(); -	watchcount(); -	zoom(); -	showpointer(); -	_cmp(data.byte(kWongame), 0); -	if (!flags.z()) -		return /* (finishearly) */; -	vsync(); -	readmouse2(); -	dumppointer(); -	dumpzoom(); -	delpointer(); -	deleverything(); -	printsprites(); -	reelsonscreen(); -	afternewroom(); -	showpointer(); -	vsync(); -	readmouse3(); -	dumppointer(); -	dumpmap(); -	dumptimedtext(); -	delpointer(); -	showpointer(); -	vsync(); -	readmouse4(); -	dumppointer(); -	dumpwatch(); -	delpointer(); -} -  void DreamGenContext::watchreel() {  	STACK_CHECK;  	_cmp(data.word(kReeltowatch), -1); @@ -15287,7 +15234,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {  		case addr_clearrest: clearrest(); break;  		case addr_deallocatemem: deallocatemem(); break;  		case addr_allocatemem: allocatemem(); break; -		case addr_screenupdate: screenupdate(); break;  		case addr_watchreel: watchreel(); break;  		case addr_checkforshake: checkforshake(); break;  		case addr_showbyte: showbyte(); break; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index fc9ae785c8..d003a6ecb1 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -103,7 +103,6 @@ public:  	static const uint16 addr_showbyte = 0xc9b4;  	static const uint16 addr_checkforshake = 0xc9a4;  	static const uint16 addr_watchreel = 0xc9a0; -	static const uint16 addr_screenupdate = 0xc99c;  	static const uint16 addr_allocatemem = 0xc988;  	static const uint16 addr_deallocatemem = 0xc984;  	static const uint16 addr_clearrest = 0xc980; @@ -1218,7 +1217,7 @@ public:  	void getbackfromops();  	//void frameoutv();  	void showbyte(); -	void screenupdate(); +	//void screenupdate();  	//void addlength();  	//void usetimedtext();  	void putundercentre(); @@ -1356,7 +1355,7 @@ public:  	//void domix();  	//void paneltomap();  	//void obname(); -	void getridoftemp3(); +	void talk();  	void getridoftemp2();  	void usebalcony();  	void runendseq(); @@ -1528,7 +1527,7 @@ public:  	//void pixelcheckset();  	void reexfrominv();  	void examinventory(); -	void talk(); +	void getridoftemp3();  	void usedryer();  	//void dumpeverything();  	//void readmouse2(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 5dc1ee06ba..8a191224af 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -203,6 +203,51 @@ void DreamGenContext::dreamweb() {  	}  } +void DreamGenContext::screenupdate() { +	newplace(); +	mainscreen(); +	if (data.byte(kQuitrequested)) +		return; +	animpointer(); +	showpointer(); +	if ((data.word(kWatchingtime) == 0) && (data.byte(kNewlocation) != 0xff)) +		return; +	vsync(); +	readmouse1(); +	dumppointer(); +	dumptextline(); +	delpointer(); +	autolook(); +	spriteupdate(); +	watchcount(); +	zoom(); +	showpointer(); +	if (data.byte(kWongame)) +		return; +	vsync(); +	readmouse2(); +	dumppointer(); +	dumpzoom(); +	delpointer(); +	deleverything(); +	printsprites(); +	reelsonscreen(); +	afternewroom(); +	showpointer(); +	vsync(); +	readmouse3(); +	dumppointer(); +	dumpmap(); +	dumptimedtext(); +	delpointer(); +	showpointer(); +	vsync(); +	readmouse4(); +	dumppointer(); +	dumpwatch(); +	delpointer(); +} +  void DreamGenContext::startup() {  	data.byte(kCurrentkey) = 0;  	data.byte(kMainmode) = 0; diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index c613591089..27ed468325 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -19,6 +19,7 @@   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.   *   */ +	void screenupdate();	  	void startup();  	void startup1();  	void switchryanon();  | 
