[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.451,2.452 object.cpp,1.231,1.232 script.cpp,1.217,1.218 script_v2.cpp,2.274,2.275 scumm.cpp,1.451,1.452 scumm.h,1.596,1.597 verbs.cpp,1.130,1.131

Max Horn fingolfin at users.sourceforge.net
Wed Apr 20 16:54:10 CEST 2005


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12338

Modified Files:
	intern.h object.cpp script.cpp script_v2.cpp scumm.cpp scumm.h 
	verbs.cpp 
Log Message:
Moved v2 verb code into class ScummEngine_v2

Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.451
retrieving revision 2.452
diff -u -d -r2.451 -r2.452
--- intern.h	20 Apr 2005 23:33:31 -0000	2.451
+++ intern.h	20 Apr 2005 23:53:27 -0000	2.452
@@ -246,11 +246,18 @@
 
 	const OpcodeEntryV2 *_opcodesV2;
 
+	V2MouseoverBox _mouseOverBoxesV2[7];
+	int8 _mouseOverBoxV2;
+
 public:
 	ScummEngine_v2(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]);
 
 	virtual void scummInit();
 
+	void checkV2MouseOver(Common::Point pos);
+	void checkV2Inventory(int x, int y);
+	void redrawV2Inventory();
+
 protected:
 	virtual void setupOpcodes();
 	virtual void executeOpcode(byte i);
@@ -266,6 +273,7 @@
 	virtual void readGlobalObjects();
 	virtual void loadCharset(int no);
 
+	virtual void runInventoryScript(int i);
 
 	virtual int getVar();
 

Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.cpp,v
retrieving revision 1.231
retrieving revision 1.232
diff -u -d -r1.231 -r1.232
--- object.cpp	20 Apr 2005 18:20:57 -0000	1.231
+++ object.cpp	20 Apr 2005 23:53:27 -0000	1.232
@@ -352,10 +352,6 @@
 		} while ((_objs[b].state & mask) == a);
 	}
 	
-	if ((_platform == Common::kPlatformNES) && (_userState & 0x40) && (v2_mouseover_box >= 0) && 
-		(v2_mouseover_box < 4))
-		return findInventory(VAR(VAR_EGO), v2_mouseover_box + _inventoryOffset + 1);
-
 	return 0;
 }
 

Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script.cpp,v
retrieving revision 1.217
retrieving revision 1.218
diff -u -d -r1.217 -r1.218
--- script.cpp	20 Apr 2005 18:21:01 -0000	1.217
+++ script.cpp	20 Apr 2005 23:53:27 -0000	1.218
@@ -711,15 +711,11 @@
 }
 
 void ScummEngine::runInventoryScript(int i) {
-	if (_version <= 2) {
-		redrawV2Inventory();
-	} else {
-		int args[24];
-		memset(args, 0, sizeof(args));
-		args[0] = i;
-		if (VAR(VAR_INVENTORY_SCRIPT)) {
-			runScript(VAR(VAR_INVENTORY_SCRIPT), 0, 0, args);
-		}
+	int args[24];
+	memset(args, 0, sizeof(args));
+	args[0] = i;
+	if (VAR(VAR_INVENTORY_SCRIPT)) {
+		runScript(VAR(VAR_INVENTORY_SCRIPT), 0, 0, args);
 	}
 }
 

Index: script_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v2.cpp,v
retrieving revision 2.274
retrieving revision 2.275
diff -u -d -r2.274 -r2.275
--- script_v2.cpp	20 Apr 2005 18:21:02 -0000	2.274
+++ script_v2.cpp	20 Apr 2005 23:53:28 -0000	2.275
@@ -1225,10 +1225,16 @@
 }
 
 void ScummEngine_v2::o2_findObject() {
+	int obj;
 	getResultPos();
 	int x = getVarOrDirectByte(PARAM_1) * 8;
 	int y = getVarOrDirectByte(PARAM_2) * 2;
-	setResult(findObject(x, y));
+	obj = findObject(x, y);
+	if (obj == 0 && (_platform == Common::kPlatformNES) && (_userState & 0x40)) {
+		if (_mouseOverBoxV2 >= 0 && _mouseOverBoxV2 < 4)
+			obj = findInventory(VAR(VAR_EGO), _mouseOverBoxV2 + _inventoryOffset + 1);
+	}
+	setResult(obj);
 }
 
 void ScummEngine_v2::o2_getActorX() {
@@ -1585,6 +1591,10 @@
 	VAR(VAR_SENTENCE_PREPOSITION) = 0;
 }
 
+void ScummEngine_v2::runInventoryScript(int i) {
+	redrawV2Inventory();
+}
+
 #undef PARAM_1
 #undef PARAM_2
 #undef PARAM_3

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.451
retrieving revision 1.452
diff -u -d -r1.451 -r1.452
--- scumm.cpp	20 Apr 2005 23:33:32 -0000	1.451
+++ scumm.cpp	20 Apr 2005 23:53:28 -0000	1.452
@@ -2026,8 +2026,8 @@
 		verbMouseOver(0);
 
 		if (_version <= 2) {
-			redrawV2Inventory();
-			checkV2MouseOver(_mouse);
+			((ScummEngine_v2 *)this)->redrawV2Inventory();
+			((ScummEngine_v2 *)this)->checkV2MouseOver(_mouse);
 		}
 
 		_fullRedraw = true;
@@ -2089,17 +2089,13 @@
 		}
 		if (_heversion >= 71) {
 			preProcessAuxQueue();
-
-			if (_heversion >= 90) {
-				((ScummEngine_v90he *)this)->spritesMarkDirty(0);
-				((ScummEngine_v90he *)this)->spritesProcessWiz(true);
-			}
-
-			processActors();
-
-		} else {
-			processActors();
 		}
+		if (_heversion >= 90) {
+			((ScummEngine_v90he *)this)->spritesMarkDirty(0);
+			((ScummEngine_v90he *)this)->spritesProcessWiz(true);
+		}
+
+		processActors();
 		
 		_fullRedraw = false;
 
@@ -2128,9 +2124,9 @@
 				// FIXME/TODO: Reset and redraw the sentence line
 				oldEgo = VAR(VAR_EGO);
 				_inventoryOffset = 0;
-				redrawV2Inventory();
+				((ScummEngine_v2 *)this)->redrawV2Inventory();
 			}
-			checkV2MouseOver(_mouse);
+			((ScummEngine_v2 *)this)->checkV2MouseOver(_mouse);
 		}
 
 		// For the Full Throttle credits to work properly, the blast

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.596
retrieving revision 1.597
diff -u -d -r1.596 -r1.597
--- scumm.h	20 Apr 2005 23:33:33 -0000	1.596
+++ scumm.h	20 Apr 2005 23:53:28 -0000	1.597
@@ -613,7 +613,7 @@
 	void runScriptNested(int script);
 	void executeScript();
 	void updateScriptPtr();
-	void runInventoryScript(int i);
+	virtual void runInventoryScript(int i);
 	void checkAndRunSentenceScript();
 	void runExitScript();
 	void runEntryScript();
@@ -788,7 +788,6 @@
 
 	int getDistanceBetween(bool is_obj_1, int b, int c, bool is_obj_2, int e, int f);
 
-
 protected:
 	/* Should be in Verb class */
 	uint16 _verbMouseOver;
@@ -808,15 +807,6 @@
 	void killVerb(int slot);
 	void setVerbObject(uint room, uint object, uint verb);
 
-
-	// TODO: This should be moved into ScummEngine_v2 if possible
-	V2MouseoverBox v2_mouseover_boxes[7];
-	int8 v2_mouseover_box;
-
-	void checkV2MouseOver(Common::Point pos);
-	void checkV2Inventory(int x, int y);
-	void redrawV2Inventory();
-
 public:
 	/* Should be in Actor class */
 	Actor *derefActor(int id, const char *errmsg = 0) const;

Index: verbs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/verbs.cpp,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -d -r1.130 -r1.131
--- verbs.cpp	20 Apr 2005 23:33:34 -0000	1.130
+++ verbs.cpp	20 Apr 2005 23:53:29 -0000	1.131
@@ -54,55 +54,55 @@
 		arrow_color = 1;
 	}
 
-	v2_mouseover_box = -1;
+	_mouseOverBoxV2 = -1;
 
 	// Inventory items
 
 	for (i = 0; i < 2; i++) {
-		v2_mouseover_boxes[2 * i].rect.left = 0;
-		v2_mouseover_boxes[2 * i].rect.right = 144;
-		v2_mouseover_boxes[2 * i].rect.top = 32 + 8 * i;
-		v2_mouseover_boxes[2 * i].rect.bottom = v2_mouseover_boxes[2 * i].rect.top + 8;
+		_mouseOverBoxesV2[2 * i].rect.left = 0;
+		_mouseOverBoxesV2[2 * i].rect.right = 144;
+		_mouseOverBoxesV2[2 * i].rect.top = 32 + 8 * i;
+		_mouseOverBoxesV2[2 * i].rect.bottom = _mouseOverBoxesV2[2 * i].rect.top + 8;
 
-		v2_mouseover_boxes[2 * i].color = color;
-		v2_mouseover_boxes[2 * i].hicolor = hi_color;
+		_mouseOverBoxesV2[2 * i].color = color;
+		_mouseOverBoxesV2[2 * i].hicolor = hi_color;
 
-		v2_mouseover_boxes[2 * i + 1].rect.left = 176;
-		v2_mouseover_boxes[2 * i + 1].rect.right = 320;
-		v2_mouseover_boxes[2 * i + 1].rect.top = v2_mouseover_boxes[2 * i].rect.top;
-		v2_mouseover_boxes[2 * i + 1].rect.bottom = v2_mouseover_boxes[2 * i].rect.bottom;
+		_mouseOverBoxesV2[2 * i + 1].rect.left = 176;
+		_mouseOverBoxesV2[2 * i + 1].rect.right = 320;
+		_mouseOverBoxesV2[2 * i + 1].rect.top = _mouseOverBoxesV2[2 * i].rect.top;
+		_mouseOverBoxesV2[2 * i + 1].rect.bottom = _mouseOverBoxesV2[2 * i].rect.bottom;
 
-		v2_mouseover_boxes[2 * i + 1].color = color;
-		v2_mouseover_boxes[2 * i + 1].hicolor = hi_color;
+		_mouseOverBoxesV2[2 * i + 1].color = color;
+		_mouseOverBoxesV2[2 * i + 1].hicolor = hi_color;
 	}
 
 	// Inventory arrows
 
-	v2_mouseover_boxes[kInventoryUpArrow].rect.left = 144;
-	v2_mouseover_boxes[kInventoryUpArrow].rect.right = 176;
-	v2_mouseover_boxes[kInventoryUpArrow].rect.top = 32;
-	v2_mouseover_boxes[kInventoryUpArrow].rect.bottom = 40;
+	_mouseOverBoxesV2[kInventoryUpArrow].rect.left = 144;
+	_mouseOverBoxesV2[kInventoryUpArrow].rect.right = 176;
+	_mouseOverBoxesV2[kInventoryUpArrow].rect.top = 32;
+	_mouseOverBoxesV2[kInventoryUpArrow].rect.bottom = 40;
 
-	v2_mouseover_boxes[kInventoryUpArrow].color = arrow_color;
-	v2_mouseover_boxes[kInventoryUpArrow].hicolor = hi_color;
+	_mouseOverBoxesV2[kInventoryUpArrow].color = arrow_color;
+	_mouseOverBoxesV2[kInventoryUpArrow].hicolor = hi_color;
 
-	v2_mouseover_boxes[kInventoryDownArrow].rect.left = 144;
-	v2_mouseover_boxes[kInventoryDownArrow].rect.right = 176;
-	v2_mouseover_boxes[kInventoryDownArrow].rect.top = 40;
-	v2_mouseover_boxes[kInventoryDownArrow].rect.bottom = 48;
+	_mouseOverBoxesV2[kInventoryDownArrow].rect.left = 144;
+	_mouseOverBoxesV2[kInventoryDownArrow].rect.right = 176;
+	_mouseOverBoxesV2[kInventoryDownArrow].rect.top = 40;
+	_mouseOverBoxesV2[kInventoryDownArrow].rect.bottom = 48;
 
-	v2_mouseover_boxes[kInventoryDownArrow].color = arrow_color;
-	v2_mouseover_boxes[kInventoryDownArrow].hicolor = hi_color;
+	_mouseOverBoxesV2[kInventoryDownArrow].color = arrow_color;
+	_mouseOverBoxesV2[kInventoryDownArrow].hicolor = hi_color;
 
 	// Sentence line
 
-	v2_mouseover_boxes[kSentenceLine].rect.left = 0;
-	v2_mouseover_boxes[kSentenceLine].rect.right = 320;
-	v2_mouseover_boxes[kSentenceLine].rect.top = 0;
-	v2_mouseover_boxes[kSentenceLine].rect.bottom = 8;
+	_mouseOverBoxesV2[kSentenceLine].rect.left = 0;
+	_mouseOverBoxesV2[kSentenceLine].rect.right = 320;
+	_mouseOverBoxesV2[kSentenceLine].rect.top = 0;
+	_mouseOverBoxesV2[kSentenceLine].rect.bottom = 8;
 
-	v2_mouseover_boxes[kSentenceLine].color = color;
-	v2_mouseover_boxes[kSentenceLine].hicolor = hi_color;
+	_mouseOverBoxesV2[kSentenceLine].color = color;
+	_mouseOverBoxesV2[kSentenceLine].hicolor = hi_color;
 }
 
 void ScummEngine_v2::initNESMouseOver() {
@@ -113,58 +113,58 @@
 	hi_color = 0;
 	arrow_color = 0;
 
-	v2_mouseover_box = -1;
+	_mouseOverBoxV2 = -1;
 
 	// Inventory items
 
 	for (i = 0; i < 2; i++) {
-		v2_mouseover_boxes[2 * i].rect.left = 16;
-		v2_mouseover_boxes[2 * i].rect.right = 120;
-		v2_mouseover_boxes[2 * i].rect.top = 48 + 8 * i;
-		v2_mouseover_boxes[2 * i].rect.bottom = v2_mouseover_boxes[2 * i].rect.top + 8;
+		_mouseOverBoxesV2[2 * i].rect.left = 16;
+		_mouseOverBoxesV2[2 * i].rect.right = 120;
+		_mouseOverBoxesV2[2 * i].rect.top = 48 + 8 * i;
+		_mouseOverBoxesV2[2 * i].rect.bottom = _mouseOverBoxesV2[2 * i].rect.top + 8;
 
-		v2_mouseover_boxes[2 * i].color = color;
-		v2_mouseover_boxes[2 * i].hicolor = hi_color;
+		_mouseOverBoxesV2[2 * i].color = color;
+		_mouseOverBoxesV2[2 * i].hicolor = hi_color;
 
-		v2_mouseover_boxes[2 * i + 1].rect.left = 152;
-		v2_mouseover_boxes[2 * i + 1].rect.right = 256;
-		v2_mouseover_boxes[2 * i + 1].rect.top = v2_mouseover_boxes[2 * i].rect.top;
-		v2_mouseover_boxes[2 * i + 1].rect.bottom = v2_mouseover_boxes[2 * i].rect.bottom;
+		_mouseOverBoxesV2[2 * i + 1].rect.left = 152;
+		_mouseOverBoxesV2[2 * i + 1].rect.right = 256;
+		_mouseOverBoxesV2[2 * i + 1].rect.top = _mouseOverBoxesV2[2 * i].rect.top;
+		_mouseOverBoxesV2[2 * i + 1].rect.bottom = _mouseOverBoxesV2[2 * i].rect.bottom;
 
-		v2_mouseover_boxes[2 * i + 1].color = color;
-		v2_mouseover_boxes[2 * i + 1].hicolor = hi_color;
+		_mouseOverBoxesV2[2 * i + 1].color = color;
+		_mouseOverBoxesV2[2 * i + 1].hicolor = hi_color;
 	}
 
 	// Inventory arrows
 
-	v2_mouseover_boxes[kInventoryUpArrow].rect.left = 128;
-	v2_mouseover_boxes[kInventoryUpArrow].rect.right = 136;
-	v2_mouseover_boxes[kInventoryUpArrow].rect.top = 48;
-	v2_mouseover_boxes[kInventoryUpArrow].rect.bottom = 56;
+	_mouseOverBoxesV2[kInventoryUpArrow].rect.left = 128;
+	_mouseOverBoxesV2[kInventoryUpArrow].rect.right = 136;
+	_mouseOverBoxesV2[kInventoryUpArrow].rect.top = 48;
+	_mouseOverBoxesV2[kInventoryUpArrow].rect.bottom = 56;
 
-	v2_mouseover_boxes[kInventoryUpArrow].color = arrow_color;
-	v2_mouseover_boxes[kInventoryUpArrow].hicolor = hi_color;
+	_mouseOverBoxesV2[kInventoryUpArrow].color = arrow_color;
+	_mouseOverBoxesV2[kInventoryUpArrow].hicolor = hi_color;
 
-	v2_mouseover_boxes[kInventoryDownArrow].rect.left = 136;
-	v2_mouseover_boxes[kInventoryDownArrow].rect.right = 144;
-	v2_mouseover_boxes[kInventoryDownArrow].rect.top = 48;
-	v2_mouseover_boxes[kInventoryDownArrow].rect.bottom = 56;
+	_mouseOverBoxesV2[kInventoryDownArrow].rect.left = 136;
+	_mouseOverBoxesV2[kInventoryDownArrow].rect.right = 144;
+	_mouseOverBoxesV2[kInventoryDownArrow].rect.top = 48;
+	_mouseOverBoxesV2[kInventoryDownArrow].rect.bottom = 56;
 
-	v2_mouseover_boxes[kInventoryDownArrow].color = arrow_color;
-	v2_mouseover_boxes[kInventoryDownArrow].hicolor = hi_color;
+	_mouseOverBoxesV2[kInventoryDownArrow].color = arrow_color;
+	_mouseOverBoxesV2[kInventoryDownArrow].hicolor = hi_color;
 
 	// Sentence line
 
-	v2_mouseover_boxes[kSentenceLine].rect.left = 16;
-	v2_mouseover_boxes[kSentenceLine].rect.right = 256;
-	v2_mouseover_boxes[kSentenceLine].rect.top = 0;
-	v2_mouseover_boxes[kSentenceLine].rect.bottom = 8;
+	_mouseOverBoxesV2[kSentenceLine].rect.left = 16;
+	_mouseOverBoxesV2[kSentenceLine].rect.right = 256;
+	_mouseOverBoxesV2[kSentenceLine].rect.top = 0;
+	_mouseOverBoxesV2[kSentenceLine].rect.bottom = 8;
 
-	v2_mouseover_boxes[kSentenceLine].color = color;
-	v2_mouseover_boxes[kSentenceLine].hicolor = hi_color;
+	_mouseOverBoxesV2[kSentenceLine].color = color;
+	_mouseOverBoxesV2[kSentenceLine].hicolor = hi_color;
 }
 
-void ScummEngine::checkV2MouseOver(Common::Point pos) {
+void ScummEngine_v2::checkV2MouseOver(Common::Point pos) {
 	VirtScreen *vs = &virtscr[kVerbVirtScreen];
 	Common::Rect rect;
 	byte *ptr, *dst;
@@ -172,30 +172,30 @@
 
 	// Don't do anything unless the inventory is active
 	if (!(_userState & 64)) {
-		v2_mouseover_box = -1;
+		_mouseOverBoxV2 = -1;
 		return;
 	}
 
 	if (_cursor.state > 0) {
-		for (i = 0; i < ARRAYSIZE(v2_mouseover_boxes); i++) {
-			if (v2_mouseover_boxes[i].rect.contains(pos.x, pos.y - vs->topline)) {
+		for (i = 0; i < ARRAYSIZE(_mouseOverBoxesV2); i++) {
+			if (_mouseOverBoxesV2[i].rect.contains(pos.x, pos.y - vs->topline)) {
 				new_box = i;
 				break;
 			}
 		}
 	}
 
-	if (new_box != v2_mouseover_box) {
-		if (v2_mouseover_box != -1) {
-			rect = v2_mouseover_boxes[v2_mouseover_box].rect;
+	if (new_box != _mouseOverBoxV2) {
+		if (_mouseOverBoxV2 != -1) {
+			rect = _mouseOverBoxesV2[_mouseOverBoxV2].rect;
 
 			dst = ptr = vs->getPixels(rect.left, rect.top);
 
 			// Remove highlight.
 			for (y = rect.height() - 1; y >= 0; y--) {
 				for (x = rect.width() - 1; x >= 0; x--) {
-					if (dst[x] == v2_mouseover_boxes[v2_mouseover_box].hicolor)
-						dst[x] = v2_mouseover_boxes[v2_mouseover_box].color;
+					if (dst[x] == _mouseOverBoxesV2[_mouseOverBoxV2].hicolor)
+						dst[x] = _mouseOverBoxesV2[_mouseOverBoxV2].color;
 				}
 				dst += vs->pitch;
 			}
@@ -204,15 +204,15 @@
 		}
 
 		if (new_box != -1) {
-			rect = v2_mouseover_boxes[new_box].rect;
+			rect = _mouseOverBoxesV2[new_box].rect;
 
 			dst = ptr = vs->getPixels(rect.left, rect.top);
 
 			// Apply highlight
 			for (y = rect.height() - 1; y >= 0; y--) {
 				for (x = rect.width() - 1; x >= 0; x--) {
-					if (dst[x] == v2_mouseover_boxes[new_box].color)
-						dst[x] = v2_mouseover_boxes[new_box].hicolor;
+					if (dst[x] == _mouseOverBoxesV2[new_box].color)
+						dst[x] = _mouseOverBoxesV2[new_box].hicolor;
 				}
 				dst += vs->pitch;
 			}
@@ -220,11 +220,11 @@
 			markRectAsDirty(kVerbVirtScreen, rect);
 		}
 
-		v2_mouseover_box = new_box;
+		_mouseOverBoxV2 = new_box;
 	}
 }
 
-void ScummEngine::checkV2Inventory(int x, int y) {
+void ScummEngine_v2::checkV2Inventory(int x, int y) {
 	int inventoryArea = (_platform == Common::kPlatformNES) ? 48: 32;
 	int object = 0;
 
@@ -233,12 +233,12 @@
 	if ((y < inventoryArea) || !(_mouseAndKeyboardStat & MBS_LEFT_CLICK)) 
 		return;
 
-	if (v2_mouseover_boxes[kInventoryUpArrow].rect.contains(x, y)) {
+	if (_mouseOverBoxesV2[kInventoryUpArrow].rect.contains(x, y)) {
 		if (_inventoryOffset >= 2) {
 			_inventoryOffset -= 2;
 			redrawV2Inventory();
 		}
- 	} else if (v2_mouseover_boxes[kInventoryDownArrow].rect.contains(x, y)) {
+ 	} else if (_mouseOverBoxesV2[kInventoryDownArrow].rect.contains(x, y)) {
  		if (_inventoryOffset + 4 < getInventoryCount(_scummVars[VAR_EGO])) {
 			_inventoryOffset += 2;
 			redrawV2Inventory();
@@ -246,7 +246,7 @@
 	}
 
 	for (object = 0; object < 4; object++) {
-		if (v2_mouseover_boxes[object].rect.contains(x, y)) {
+		if (_mouseOverBoxesV2[object].rect.contains(x, y)) {
 			break;
 		}
 	}
@@ -261,7 +261,7 @@
 	}
 }
 
-void ScummEngine::redrawV2Inventory() {
+void ScummEngine_v2::redrawV2Inventory() {
 	VirtScreen *vs = &virtscr[kVerbVirtScreen];
 	int i;
 	int max_inv;
@@ -269,7 +269,7 @@
 	int inventoryArea = (_platform == Common::kPlatformNES) ? 48: 32;
 	int maxChars = (_platform == Common::kPlatformNES) ? 13: 18;
 
-	v2_mouseover_box = -1;
+	_mouseOverBoxV2 = -1;
 
 	if (!(_userState & 64))	// Don't draw inventory unless active
 		return;
@@ -291,10 +291,10 @@
 		if (obj == 0)
 			break;
 		
-		_string[1].ypos = v2_mouseover_boxes[i].rect.top + vs->topline;
-		_string[1].xpos = v2_mouseover_boxes[i].rect.left;
+		_string[1].ypos = _mouseOverBoxesV2[i].rect.top + vs->topline;
+		_string[1].xpos = _mouseOverBoxesV2[i].rect.left;
 
-		_string[1].color = v2_mouseover_boxes[i].color;
+		_string[1].color = _mouseOverBoxesV2[i].color;
 
 		const byte *tmp = getObjOrActorName(obj);
 		assert(tmp);
@@ -311,9 +311,9 @@
 
 	// If necessary, draw "up" arrow
 	if (_inventoryOffset > 0) {
-		_string[1].xpos = v2_mouseover_boxes[kInventoryUpArrow].rect.left;
-		_string[1].ypos = v2_mouseover_boxes[kInventoryUpArrow].rect.top + vs->topline;
-		_string[1].color = v2_mouseover_boxes[kInventoryUpArrow].color;
+		_string[1].xpos = _mouseOverBoxesV2[kInventoryUpArrow].rect.left;
+		_string[1].ypos = _mouseOverBoxesV2[kInventoryUpArrow].rect.top + vs->topline;
+		_string[1].color = _mouseOverBoxesV2[kInventoryUpArrow].color;
 		if (_platform == Common::kPlatformNES)
 			drawString(1, (const byte *)"\x7E");
 		else
@@ -322,9 +322,9 @@
 
 	// If necessary, draw "down" arrow
 	if (_inventoryOffset + 4 < getInventoryCount(_scummVars[VAR_EGO])) {
-		_string[1].xpos = v2_mouseover_boxes[kInventoryDownArrow].rect.left;
-		_string[1].ypos = v2_mouseover_boxes[kInventoryDownArrow].rect.top + vs->topline;
-		_string[1].color = v2_mouseover_boxes[kInventoryDownArrow].color;
+		_string[1].xpos = _mouseOverBoxesV2[kInventoryDownArrow].rect.left;
+		_string[1].ypos = _mouseOverBoxesV2[kInventoryDownArrow].rect.top + vs->topline;
+		_string[1].color = _mouseOverBoxesV2[kInventoryDownArrow].color;
 		if (_platform == Common::kPlatformNES)
 			drawString(1, (const byte *)"\x7F");
 		else
@@ -402,7 +402,7 @@
 			runInputScript(5, 0, 0);
 		} else if (_version <= 2 && zone->number == 2 && _mouse.y > zone->topline + inventoryArea) {
 			// Click into V2 inventory
-			checkV2Inventory(_mouse.x, _mouse.y);
+			((ScummEngine_v2 *)this)->checkV2Inventory(_mouse.x, _mouse.y);
 		} else {
 			over = findVerbAtPos(_mouse.x, _mouse.y);
 			if (over != 0) {





More information about the Scummvm-git-logs mailing list