diff options
| author | Bertrand Augereau | 2011-11-23 13:09:31 +0100 | 
|---|---|---|
| committer | Bertrand Augereau | 2011-11-23 15:25:52 +0100 | 
| commit | 7843073c0eba240e5270be90c87bb708cce2d2cc (patch) | |
| tree | 14de9a8966f6775b6b7eba34dda0220517a0b297 | |
| parent | a8a698c82b748b73224f01c3bd19b29a2e698ab0 (diff) | |
| download | scummvm-rg350-7843073c0eba240e5270be90c87bb708cce2d2cc.tar.gz scummvm-rg350-7843073c0eba240e5270be90c87bb708cce2d2cc.tar.bz2 scummvm-rg350-7843073c0eba240e5270be90c87bb708cce2d2cc.zip | |
DREAMWEB: 'autolook' ported to C++
| -rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
| -rw-r--r-- | engines/dreamweb/dreamgen.cpp | 23 | ||||
| -rw-r--r-- | engines/dreamweb/dreamgen.h | 3 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.cpp | 14 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.h | 1 | 
5 files changed, 17 insertions, 25 deletions
| diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index fab094178c..1d5264f00f 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -272,6 +272,7 @@ generator = cpp(context, "DreamGen", blacklist = [  	'createpanel',  	'createpanel2',  	'findroominloc', +	'autolook',  	'reelsonscreen',  	'reconstruct',  	], skip_output = [ diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 8e5a784d27..34fa14c1c0 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -4894,29 +4894,6 @@ void DreamGenContext::drawfloor() {  	es = pop();  } -void DreamGenContext::autolook() { -	STACK_CHECK; -	ax = data.word(kMousex); -	_cmp(ax, data.word(kOldx)); -	if (!flags.z()) -		goto diffmouse; -	ax = data.word(kMousey); -	_cmp(ax, data.word(kOldy)); -	if (!flags.z()) -		goto diffmouse; -	_dec(data.word(kLookcounter)); -	_cmp(data.word(kLookcounter), 0); -	if (!flags.z()) -		return /* (noautolook) */; -	_cmp(data.word(kWatchingtime), 0); -	if (!flags.z()) -		return /* (noautolook) */; -	dolook(); -	return; -diffmouse: -	data.word(kLookcounter) = 1000; -} -  void DreamGenContext::look() {  	STACK_CHECK;  	_cmp(data.word(kWatchingtime), 0); diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 6bed222d1b..606961c84c 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -378,7 +378,6 @@ public:  	static const uint16 addr_redrawmainscrn = 0xc478;  	static const uint16 addr_dolook = 0xc474;  	static const uint16 addr_look = 0xc470; -	static const uint16 addr_autolook = 0xc46c;  	static const uint16 addr_drawfloor = 0xc428;  	static const uint16 addr_deleteextext = 0xc420;  	static const uint16 addr_deleteexframe = 0xc41c; @@ -1586,7 +1585,7 @@ public:  	void dosreturn();  	void wheelsound();  	void actualsave(); -	void autolook(); +	//void autolook();  	void playguitar();  	//void showreelframe();  	void searchforsame(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 73b7b27b56..bd3439a77b 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -2260,5 +2260,19 @@ void DreamGenContext::findroominloc() {  	data.byte(kRoomnum) = roomNum;  } +void DreamGenContext::autolook() { +	if ((data.word(kMousex) != data.word(kOldx)) || (data.word(kMousey) != data.word(kOldy))) { +		data.word(kLookcounter) = 1000; +		return; +	} + +	--data.word(kLookcounter); +	if (data.word(kLookcounter)) +		return; +	if (data.word(kWatchingtime)) +		return; +	dolook(); +} +  } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 2a9a068439..39d1758974 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -332,4 +332,5 @@  	void findroominloc();  	void reelsonscreen();  	void reconstruct(); +	void autolook(); | 
