[Scummvm-cvs-logs] SF.net SVN: scummvm:[43130] scummvm/branches/gsoc2009-draci/engines/draci/ game.cpp

dkasak13 at users.sourceforge.net dkasak13 at users.sourceforge.net
Sat Aug 8 18:17:21 CEST 2009


Revision: 43130
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43130&view=rev
Author:   dkasak13
Date:     2009-08-08 16:17:21 +0000 (Sat, 08 Aug 2009)

Log Message:
-----------
* Test whether an object can be used by evaluating its canUse script (warning: this will break many things currently working until I implement IsIcoAct in my next few commits).
* Removed old HACK note because look / use scripts are now more properly implemented.

Modified Paths:
--------------
    scummvm/branches/gsoc2009-draci/engines/draci/game.cpp

Modified: scummvm/branches/gsoc2009-draci/engines/draci/game.cpp
===================================================================
--- scummvm/branches/gsoc2009-draci/engines/draci/game.cpp	2009-08-08 15:55:19 UTC (rev 43129)
+++ scummvm/branches/gsoc2009-draci/engines/draci/game.cpp	2009-08-08 16:17:21 UTC (rev 43130)
@@ -277,7 +277,7 @@
 					}
 
 					if (_loopSubstatus == kStatusOrdinary) {
-						// HACK: Test running look and use scripts
+
 						if (_vm->_mouse->lButtonPressed()) {
 							// Delete title text
 							title->setText("");
@@ -297,23 +297,30 @@
 							_vm->_mouse->cursorOn();
 						}
 
+						// TODO: Handle global use scripts (the use script for the room itself)
+
 						if (_vm->_mouse->rButtonPressed()) {
 							// Delete title text
 							title->setText("");
 
-							_vm->_mouse->cursorOff();
 							_vm->_mouse->rButtonSet(false);
 
-							if (!obj->_imUse) {
-								if (obj->_useDir == 0) {
-									walkHero(x, y);
-								} else {
-									walkHero(obj->_useX, obj->_useY);
+							if (_vm->_script->testExpression(obj->_program, obj->_canUse)) {
+								_vm->_mouse->cursorOff();
+
+								if (!obj->_imUse) {
+									if (obj->_useDir == 0) {
+										walkHero(x, y);
+									} else {
+										walkHero(obj->_useX, obj->_useY);
+									}
 								}
-							}
 
-							_vm->_script->run(obj->_program, obj->_use);
-							_vm->_mouse->cursorOn();
+								_vm->_script->run(obj->_program, obj->_use);
+								_vm->_mouse->cursorOn();
+							} else {
+								walkHero(x, y);
+							}	
 						}
 					}
 				} else {


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list