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

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Sat Mar 17 21:48:24 CET 2007


Revision: 26183
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26183&view=rev
Author:   peres001
Date:     2007-03-17 13:48:23 -0700 (Sat, 17 Mar 2007)

Log Message:
-----------
added getters for width and height in Zone and Animation

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/animation.cpp
    scummvm/trunk/engines/parallaction/location.cpp
    scummvm/trunk/engines/parallaction/walk.cpp
    scummvm/trunk/engines/parallaction/zone.cpp
    scummvm/trunk/engines/parallaction/zone.h

Modified: scummvm/trunk/engines/parallaction/animation.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/animation.cpp	2007-03-17 20:19:16 UTC (rev 26182)
+++ scummvm/trunk/engines/parallaction/animation.cpp	2007-03-17 20:48:23 UTC (rev 26183)
@@ -191,15 +191,15 @@
 	for ( ; v18; v18 = (Animation*)v18->_zone._next) {
 
 		if ((v18->_zone._flags & kFlagsActive) && ((v18->_zone._flags & kFlagsRemove) == 0))   {
-			v14._width = v18->_cnv._width;
-			v14._height = v18->_cnv._height;
+			v14._width = v18->width();
+			v14._height = v18->height();
 			v14._data0 = v18->_cnv._array[v18->_frame];
 //			v14._data1 = v18->_cnv.field_8[v18->_frame];
 
 			if (v18->_zone._flags & kFlagsNoMasked)
 				_si = 3;
 			else
-				_si = _vm->_gfx->queryMask(v18->_zone._top + v18->_cnv._height);
+				_si = _vm->_gfx->queryMask(v18->_zone._top + v18->height());
 
 //			printf("jobDisplayAnimations %s, x: %i, y: %i, w: %i, h: %i\n", v18->_zone._name, v18->_zone._left, v18->_zone._top, v14._width, v14._height);
 			_vm->_gfx->blitCnv(&v14, v18->_zone._left, v18->_zone._top, _si, Gfx::kBitBack);
@@ -233,7 +233,7 @@
 
 		if (((a->_zone._flags & kFlagsActive) == 0) && ((a->_zone._flags & kFlagsRemove) == 0)) continue;
 
-		Common::Rect r(a->_cnv._width, a->_cnv._height);
+		Common::Rect r(a->width(), a->height());
 		r.moveTo(a->_zone._oldLeft, a->_zone._oldTop);
 		_vm->_gfx->restoreBackground(r);
 
@@ -489,7 +489,7 @@
 	StaticCnv v18;
 	WalkNode *v4 = NULL;
 
-	if (a->_zone._flags & kFlagsCharacter) a->_z = a->_zone._top + a->_cnv._height;
+	if (a->_zone._flags & kFlagsCharacter) a->_z = a->_zone._top + a->height();
 	for ( ; a; a = (Animation*)a->_zone._next) {
 
 		if ((a->_zone._flags & kFlagsActing) == 0) continue;
@@ -571,8 +571,8 @@
 				break;
 
 			case INST_PUT:	// put
-				v18._width = inst->_opBase._a->_cnv._width;
-				v18._height = inst->_opBase._a->_cnv._height;
+				v18._width = inst->_opBase._a->width();
+				v18._height = inst->_opBase._a->height();
 				v18._data0 = inst->_opBase._a->_cnv._array[inst->_opBase._a->_frame];
 				v18._data1 = NULL; // inst->_opBase._a->_cnv.field_8[inst->_opBase._a->_frame];
 
@@ -632,7 +632,7 @@
 
 label1:
 		if (a->_zone._flags & kFlagsCharacter)
-			a->_z = a->_zone._top + a->_cnv._height;
+			a->_z = a->_zone._top + a->height();
 	}
 
 	sortAnimations();
@@ -658,7 +658,7 @@
 	Node v14;
 	memset(&v14, 0, sizeof(Node));
 
-	_vm->_char._ani._z = _vm->_char._ani._cnv._height + _vm->_char._ani._zone._top;
+	_vm->_char._ani._z = _vm->_char._ani.height() + _vm->_char._ani._zone._top;
 
 	Animation *vC = (Animation*)_animations._next;
 	Node *v8;

Modified: scummvm/trunk/engines/parallaction/location.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/location.cpp	2007-03-17 20:19:16 UTC (rev 26182)
+++ scummvm/trunk/engines/parallaction/location.cpp	2007-03-17 20:48:23 UTC (rev 26183)
@@ -237,8 +237,8 @@
 		if (!scumm_stricmp(_tokens[0], "COORD")) {
 
 			WalkNode *v4 = (WalkNode*)malloc(sizeof(WalkNode));
-			v4->_x = atoi(_tokens[1]) - _vm->_char._ani._cnv._width/2;
-			v4->_y = atoi(_tokens[2]) - _vm->_char._ani._cnv._height;
+			v4->_x = atoi(_tokens[1]) - _vm->_char._ani.width()/2;
+			v4->_y = atoi(_tokens[2]) - _vm->_char._ani.height();
 
 			addNode(list, v4);
 

Modified: scummvm/trunk/engines/parallaction/walk.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/walk.cpp	2007-03-17 20:19:16 UTC (rev 26182)
+++ scummvm/trunk/engines/parallaction/walk.cpp	2007-03-17 20:48:23 UTC (rev 26183)
@@ -115,8 +115,8 @@
 	WalkNode *v48 = (WalkNode*)malloc(sizeof(WalkNode));
 	WalkNode *v44 = (WalkNode*)malloc(sizeof(WalkNode));
 
-	v48->_x = to_x - _vm->_char._ani._cnv._width / 2; 		// target top left coordinates
-	v48->_y = to_y - _vm->_char._ani._cnv._height;
+	v48->_x = to_x - _vm->_char._ani.width() / 2; 		// target top left coordinates
+	v48->_y = to_y - _vm->_char._ani.height();
 	v48->_next = NULL;
 	memcpy(v44, v48, sizeof(WalkNode));
 
@@ -245,8 +245,8 @@
 	Point v4 = { 0, 0 };
 
 	Point foot = {
-		_vm->_char._ani._zone._left + _vm->_char._ani._cnv._width/2,
-		_vm->_char._ani._zone._top + _vm->_char._ani._cnv._height
+		_vm->_char._ani._zone._left + _vm->_char._ani.width()/2,
+		_vm->_char._ani._zone._top + _vm->_char._ani.height()
 	};
 
 	Point v8 = {
@@ -297,8 +297,8 @@
 				v8._y = foot._y;
 			}
 
-			Node->_x = v4._x - _vm->_char._ani._cnv._width / 2;
-			Node->_y = v4._y - _vm->_char._ani._cnv._height;
+			Node->_x = v4._x - _vm->_char._ani.width() / 2;
+			Node->_y = v4._y - _vm->_char._ani.height();
 
 			return (x - v4._x) * (x - v4._x) + (y - v4._y) * (y - v4._y);
 		}
@@ -319,7 +319,7 @@
 	int16 _si = _vm->_char._ani._zone._left;
 	int16 _di = _vm->_char._ani._zone._top;
 
-//	debugC(1, kDebugWalk, "jobWalk to (%i, %i)", node->_x + _vm->_char._ani._cnv._width / 2, node->_y + _vm->_char._ani._cnv._height);
+//	debugC(1, kDebugWalk, "jobWalk to (%i, %i)", node->_x + _vm->_char._ani.width() / 2, node->_y + _vm->_char._ani.height());
 
 	_vm->_char._ani._zone._oldLeft = _si;
 	_vm->_char._ani._zone._oldTop = _di;
@@ -386,27 +386,27 @@
 	}
 
 //	StaticCnv v14;
-//	v14._width = _vm->_char._ani._cnv._width;
-//	v14._height = _vm->_char._ani._cnv._height;
+//	v14._width = _vm->_char._ani.width();
+//	v14._height = _vm->_char._ani.height();
 //	v14._data0 = _vm->_char._ani._cnv._array[_vm->_char._ani._frame];
 //	v14._data1 = _vm->_char._ani._cnv.field_8[_vm->_char._ani._frame];
 
-	if ((_si < node->_x) && (_si < SCREEN_WIDTH) && (queryPath(_vm->_char._ani._cnv._width/2 + _si + 2, _vm->_char._ani._cnv._height + _di) != 0)) {
+	if ((_si < node->_x) && (_si < SCREEN_WIDTH) && (queryPath(_vm->_char._ani.width()/2 + _si + 2, _vm->_char._ani.height() + _di) != 0)) {
 //		printf("walk right\n");
 		_si = (_si + 2 < node->_x) ? _si + 2 : node->_x;
 	}
 
-	if ((_si > node->_x) && (_si > -20) && (queryPath(_vm->_char._ani._cnv._width/2 + _si - 2, _vm->_char._ani._cnv._height + _di) != 0)) {
+	if ((_si > node->_x) && (_si > -20) && (queryPath(_vm->_char._ani.width()/2 + _si - 2, _vm->_char._ani.height() + _di) != 0)) {
 //		printf("walk left\n");
 		_si = (_si - 2 > node->_x) ? _si - 2 :node->_x;
 	}
 
-	if ((_di < node->_y) && (_di < (SCREEN_HEIGHT - _vm->_char._ani._cnv._height)) && (queryPath(_vm->_char._ani._cnv._width/2 + _si, _vm->_char._ani._cnv._height + _di + 2) != 0)) {
+	if ((_di < node->_y) && (_di < (SCREEN_HEIGHT - _vm->_char._ani.height())) && (queryPath(_vm->_char._ani.width()/2 + _si, _vm->_char._ani.height() + _di + 2) != 0)) {
 //		printf("walk down\n");
 		_di = (_di + 2 <= node->_y) ? _di + 2 : node->_y;
 	}
 
-	if ((_di > node->_y) && (_di > -20) && (queryPath(_vm->_char._ani._cnv._width/2 + _si, _vm->_char._ani._cnv._height + _di - 2) != 0)) {
+	if ((_di > node->_y) && (_di > -20) && (queryPath(_vm->_char._ani.width()/2 + _si, _vm->_char._ani.height() + _di - 2) != 0)) {
 //		printf("walk up\n");
 		_di = (_di - 2 >= node->_y) ? _di - 2 : node->_y;
 	}
@@ -440,7 +440,7 @@
 	}
 
 	_engineFlags &= ~kEngineWalking;
-	Zone *z = hitZone(kZoneDoor, _vm->_char._ani._zone._left + _vm->_char._ani._cnv._width / 2,	_vm->_char._ani._zone._top + _vm->_char._ani._cnv._height);
+	Zone *z = hitZone(kZoneDoor, _vm->_char._ani._zone._left + _vm->_char._ani.width() / 2,	_vm->_char._ani._zone._top + _vm->_char._ani.height());
 
 	if (z != NULL) {
 
@@ -458,7 +458,7 @@
 		}
 	}
 
-	z = hitZone(kZoneTrap, _vm->_char._ani._zone._left + _vm->_char._ani._cnv._width / 2, _vm->_char._ani._zone._top + _vm->_char._ani._cnv._height);
+	z = hitZone(kZoneTrap, _vm->_char._ani._zone._left + _vm->_char._ani.width() / 2, _vm->_char._ani._zone._top + _vm->_char._ani.height());
 
 	if (z != NULL) {
 		_localFlags[_vm->_currentLocationIndex] |= kFlagsEnter;

Modified: scummvm/trunk/engines/parallaction/zone.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/zone.cpp	2007-03-17 20:19:16 UTC (rev 26182)
+++ scummvm/trunk/engines/parallaction/zone.cpp	2007-03-17 20:48:23 UTC (rev 26183)
@@ -610,11 +610,11 @@
 				continue;
 			if (_si < _vm->_char._ani._zone._left)
 				continue;
-			if (_si > (_vm->_char._ani._zone._left + _vm->_char._ani._cnv._width))
+			if (_si > (_vm->_char._ani._zone._left + _vm->_char._ani.width()))
 				continue;
 			if (_di < _vm->_char._ani._zone._top)
 				continue;
-			if (_di > (_vm->_char._ani._zone._top + _vm->_char._ani._cnv._height))
+			if (_di > (_vm->_char._ani._zone._top + _vm->_char._ani.height()))
 				continue;
 
 		}
@@ -636,8 +636,8 @@
 //		printf("Animation name: %s", a->_zone._name);
 
 		_a = (a->_zone._flags & kFlagsActive) ? 1 : 0;															   // _a: active Animation
-		_e = ((_si >= a->_zone._left + a->_cnv._width) || (_si <= a->_zone._left)) ? 0 : 1;		// _e: horizontal range
-		_f = ((_di >= a->_zone._top + a->_cnv._height) || (_di <= a->_zone._top)) ? 0 : 1;		// _f: vertical range
+		_e = ((_si >= a->_zone._left + a->width()) || (_si <= a->_zone._left)) ? 0 : 1;		// _e: horizontal range
+		_f = ((_di >= a->_zone._top + a->height()) || (_di <= a->_zone._top)) ? 0 : 1;		// _f: vertical range
 
 		_b = ((type != 0) || (a->_zone._type == kZoneYou)) ? 0 : 1; 										 // _b: (no type specified) AND (Animation is not the character)
 		_c = (a->_zone._type & 0xFFFF0000) ? 0 : 1; 															// _c: Animation is not an object

Modified: scummvm/trunk/engines/parallaction/zone.h
===================================================================
--- scummvm/trunk/engines/parallaction/zone.h	2007-03-17 20:19:16 UTC (rev 26182)
+++ scummvm/trunk/engines/parallaction/zone.h	2007-03-17 20:48:23 UTC (rev 26183)
@@ -134,14 +134,20 @@
 
 	uint32			_type;
 	uint32			_flags;
-//	char*			_labeltext;
-//	StaticCnv		_labelcnv;
 	ZoneLabel       _label;
 	uint16			field_2C;		// unused
 	uint16			field_2E;		// unused
 	ZoneTypeData	u;
 	Command 		*_commands;
 	Point			_moveTo;
+
+	uint16 width() const {
+		return _right - _left;
+	}
+
+	uint16 height() const {
+		return _bottom - _top;
+	}
 };
 
 struct LocalVariable {
@@ -199,6 +205,14 @@
 	uint16		field_5A;		// unused
 	uint16		field_5C;		// unused
 	uint16		field_5E;		// unused
+
+	uint16 width() const {
+		return _cnv._width;
+	}
+
+	uint16 height() const {
+		return _cnv._height;
+	}
 };
 
 extern Node _zones;


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