[Scummvm-cvs-logs] SF.net SVN: scummvm: [25093] scummvm/trunk/engines/parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Mon Jan 15 21:11:57 CET 2007


Revision: 25093
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25093&view=rev
Author:   peres001
Date:     2007-01-15 12:11:49 -0800 (Mon, 15 Jan 2007)

Log Message:
-----------
fixed pointer casting in InputData management

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/parallaction.cpp
    scummvm/trunk/engines/parallaction/parallaction.h

Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp	2007-01-15 19:56:27 UTC (rev 25092)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp	2007-01-15 20:11:49 UTC (rev 25093)
@@ -428,8 +428,8 @@
 		_graphics->_labelPosition[1]._y = -1000;
 		_graphics->_labelPosition[0]._x = -1000;
 		_graphics->_labelPosition[0]._y = -1000;
-		_jDrawLabel = addJob(&jobDisplayLabel, (void*)data->_data, JOBPRIORITY_DRAWLABEL);
-		_jEraseLabel = addJob(&jobEraseLabel, (void*)data->_data, JOBPRIORITY_HIDEINVENTORY);
+		_jDrawLabel = addJob(&jobDisplayLabel, (void*)data->_cnv, JOBPRIORITY_DRAWLABEL);
+		_jEraseLabel = addJob(&jobEraseLabel, (void*)data->_cnv, JOBPRIORITY_HIDEINVENTORY);
 		break;
 
 	case kEvExitZone:
@@ -442,7 +442,7 @@
 		_procCurrentHoverItem = -1;
 		_hoverZone = NULL;
 		pauseJobs();
-		z = (Zone*)data->_data;
+		z = data->_zone;
 		if (runZone(z) == 0) {
 			runCommands( z->_commands, z );
 		}
@@ -466,9 +466,9 @@
 
 	case kEvCloseInventory: // closes inventory and possibly select item
 		closeInventory();
-		if ((data->_data != -1) && (_inventory[data->_data]._id != 0)) {
+		if ((data->_inventoryIndex != -1) && (_inventory[data->_inventoryIndex]._id != 0)) {
 			// activates item
-			changeCursor(data->_data);
+			changeCursor(data->_inventoryIndex);
 		}
 		_jRunScripts = addJob(&jobRunScripts, 0, JOBPRIORITY_RUNSTUFF);
 		addJob(&jobHideInventory, 0, JOBPRIORITY_HIDEINVENTORY);
@@ -477,8 +477,8 @@
 
 	case kEvHoverInventory:
 		highlightInventoryItem(_procCurrentHoverItem, 12);	// disable
-		highlightInventoryItem(data->_data, 19);						// enable
-		_procCurrentHoverItem = data->_data;
+		highlightInventoryItem(data->_inventoryIndex, 19);						// enable
+		_procCurrentHoverItem = data->_inventoryIndex;
 		break;
 
 	case kEvWalk:
@@ -594,15 +594,13 @@
 
 			_hoverZone = z;
 			_input._event = kEvEnterZone;
-			// FIXME: casting pointer to int32
-			_input._data= (int32)&z->_label;
+			_input._cnv = &z->_label;
 			return &_input;
 		}
 
 		if ((_mouseButtons == kMouseLeftUp) && ((_activeItem._id != 0) || ((z->_type & 0xFFFF) == kZoneCommand))) {
 
-			// FIXME: casting pointer to int32
-			_input._data = (int32)z;
+			_input._zone = z;
 			if (z->_flags & kFlagsNoWalk) {
 //				printf("7.1\n");
 
@@ -645,13 +643,13 @@
 		// right up hides inventory
 
 		_input._event = kEvCloseInventory;
-		_input._data = getHoverInventoryItem(_mousePos._x, _mousePos._y);
+		_input._inventoryIndex = getHoverInventoryItem(_mousePos._x, _mousePos._y);
 		highlightInventoryItem(_transCurrentHoverItem, 12); 		// disable
 
 		if ((_engineFlags & kEngineDragging) == 0) return &_input;
 
 		_engineFlags &= ~kEngineDragging;
-		Zone *z = hitZone(kZoneMerge, _activeItem._index, _inventory[_input._data]._index);
+		Zone *z = hitZone(kZoneMerge, _activeItem._index, _inventory[_input._inventoryIndex]._index);
 
 		if (z != NULL) {
 			dropItem(z->u.merge->_obj1 - 4);
@@ -667,7 +665,7 @@
 
 	_transCurrentHoverItem = _si;
 	_input._event = kEvHoverInventory;
-	_input._data = _si;
+	_input._inventoryIndex = _si;
 	return &_input;
 
 }

Modified: scummvm/trunk/engines/parallaction/parallaction.h
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.h	2007-01-15 19:56:27 UTC (rev 25092)
+++ scummvm/trunk/engines/parallaction/parallaction.h	2007-01-15 20:11:49 UTC (rev 25093)
@@ -252,7 +252,10 @@
 	struct InputData {
 		uint16		_event;
 		Point		_mousePos;
-		int32		_data;
+
+		int16       _inventoryIndex;
+		Zone*       _zone;
+        StaticCnv*  _cnv;
 	};
 
 	bool		_skipMenu;


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