[Scummvm-cvs-logs] SF.net SVN: scummvm:[54668] scummvm/branches/branch-1-2-0

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Tue Nov 30 10:00:20 CET 2010


Revision: 54668
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54668&view=rev
Author:   dreammaster
Date:     2010-11-30 09:00:20 +0000 (Tue, 30 Nov 2010)

Log Message:
-----------
LURE: Backport of Lure NPC movement fixes

Modified Paths:
--------------
    scummvm/branches/branch-1-2-0/NEWS
    scummvm/branches/branch-1-2-0/engines/lure/hotspots.cpp
    scummvm/branches/branch-1-2-0/engines/lure/menu.cpp
    scummvm/branches/branch-1-2-0/engines/lure/res.cpp
    scummvm/branches/branch-1-2-0/engines/lure/res_struct.cpp
    scummvm/branches/branch-1-2-0/engines/lure/res_struct.h

Modified: scummvm/branches/branch-1-2-0/NEWS
===================================================================
--- scummvm/branches/branch-1-2-0/NEWS	2010-11-30 08:27:15 UTC (rev 54667)
+++ scummvm/branches/branch-1-2-0/NEWS	2010-11-30 09:00:20 UTC (rev 54668)
@@ -5,12 +5,15 @@
    - Add Hungarian translation.
    - Add Brazilian Portuguese translation.
 
- Cruise
+ Cruise:
    - Fixed a problem with Raoul appearing when examining the Book
 
  Groovie:
    - Fixed a regression that made the Russian version of T7G crash.
 
+ Lure:
+   - Fixed several NPC movement bugs
+
 1.2.0 (2010-10-15)
  New Games:
    - Added support for Fascination.

Modified: scummvm/branches/branch-1-2-0/engines/lure/hotspots.cpp
===================================================================
--- scummvm/branches/branch-1-2-0/engines/lure/hotspots.cpp	2010-11-30 08:27:15 UTC (rev 54667)
+++ scummvm/branches/branch-1-2-0/engines/lure/hotspots.cpp	2010-11-30 09:00:20 UTC (rev 54668)
@@ -4170,6 +4170,7 @@
 		_inProgress = true;
 		initVars();
 
+		Common::Point diff(_destX - _xCurrent, _destY - _yCurrent);
 		_xCurrent >>= 3; _yCurrent >>= 3;
 		_xDestCurrent >>= 3; _yDestCurrent >>= 3;
 		if ((_xCurrent == _xDestCurrent) && (_yCurrent == _yDestCurrent)) {
@@ -4178,6 +4179,10 @@
 				add(RIGHT, _xDestPos);
 			else if (_xDestPos < 0)
 				add(LEFT, -_xDestPos);
+			else if (diff.y > 0)
+				add(DOWN, diff.y);
+			else
+				add(UP, -diff.y);
 
 			_inProgress = false;
 			result = PF_OK;
@@ -4353,7 +4358,7 @@
 			break;
 	}
 
-	// Add a final move if necessary
+	// Add final movement if necessary
 
 	if (result == PF_OK) {
 		if (_xDestPos < 0)

Modified: scummvm/branches/branch-1-2-0/engines/lure/menu.cpp
===================================================================
--- scummvm/branches/branch-1-2-0/engines/lure/menu.cpp	2010-11-30 08:27:15 UTC (rev 54667)
+++ scummvm/branches/branch-1-2-0/engines/lure/menu.cpp	2010-11-30 09:00:20 UTC (rev 54668)
@@ -629,6 +629,8 @@
 	}
 
 bail_out:
+	delete s;
+
 #ifndef LURE_CLICKABLE_MENUS
 	mouse.setPosition(oldX, oldY);
 	mouse.cursorOn();

Modified: scummvm/branches/branch-1-2-0/engines/lure/res.cpp
===================================================================
--- scummvm/branches/branch-1-2-0/engines/lure/res.cpp	2010-11-30 08:27:15 UTC (rev 54667)
+++ scummvm/branches/branch-1-2-0/engines/lure/res.cpp	2010-11-30 09:00:20 UTC (rev 54668)
@@ -33,8 +33,6 @@
 
 namespace Lure {
 
-using namespace Common;
-
 static Resources *int_resources = NULL;
 
 Resources &Resources::getReference() {

Modified: scummvm/branches/branch-1-2-0/engines/lure/res_struct.cpp
===================================================================
--- scummvm/branches/branch-1-2-0/engines/lure/res_struct.cpp	2010-11-30 08:27:15 UTC (rev 54667)
+++ scummvm/branches/branch-1-2-0/engines/lure/res_struct.cpp	2010-11-30 09:00:20 UTC (rev 54668)
@@ -875,7 +875,7 @@
 	_parent = src->_parent;
 	_action = src->_action;
 	_numParams = src->_numParams;
-	Common::copy(src->_params, src->_params + MAX_TELL_COMMANDS * 3 * sizeof(uint16), _params);
+	Common::copy(src->_params, src->_params + MAX_TELL_COMMANDS * 3, _params);
 }
 
 uint16 CharacterScheduleEntry::param(int index) {

Modified: scummvm/branches/branch-1-2-0/engines/lure/res_struct.h
===================================================================
--- scummvm/branches/branch-1-2-0/engines/lure/res_struct.h	2010-11-30 08:27:15 UTC (rev 54667)
+++ scummvm/branches/branch-1-2-0/engines/lure/res_struct.h	2010-11-30 09:00:20 UTC (rev 54668)
@@ -445,6 +445,10 @@
 	void setRoomNumber(uint16 roomNum) { _roomNumber = roomNum; }
 	void setSupportData(CharacterScheduleEntry *newRec) {
 		assert((newRec == NULL) || (newRec->parent() != NULL));
+		if (_dynamicSupportData) {
+			delete _supportData;
+			_dynamicSupportData = false;
+		}
 		_supportData = newRec;
 	}
 	void setSupportData(uint16 entryId);


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