[Scummvm-cvs-logs] SF.net SVN: scummvm: [31110] scummvm/trunk/engines/agos

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Wed Mar 12 01:22:31 CET 2008


Revision: 31110
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31110&view=rev
Author:   Kirben
Date:     2008-03-11 17:22:30 -0700 (Tue, 11 Mar 2008)

Log Message:
-----------
Fix bug #1911558 - FF: Inventory doesn't scroll to the end.

Modified Paths:
--------------
    scummvm/trunk/engines/agos/agos.cpp
    scummvm/trunk/engines/agos/agos.h
    scummvm/trunk/engines/agos/oracle.cpp
    scummvm/trunk/engines/agos/verb.cpp

Modified: scummvm/trunk/engines/agos/agos.cpp
===================================================================
--- scummvm/trunk/engines/agos/agos.cpp	2008-03-11 21:07:00 UTC (rev 31109)
+++ scummvm/trunk/engines/agos/agos.cpp	2008-03-12 00:22:30 UTC (rev 31110)
@@ -252,6 +252,7 @@
 	_lastHitArea3 = 0;
 	_hitAreaSubjectItem = 0;
 	_currentBox = 0;
+	_currentBoxNum = 0;
 	_currentVerbBox = 0;
 	_lastVerbOn = 0;
 	_needHitAreaRecalc = 0;

Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h	2008-03-11 21:07:00 UTC (rev 31109)
+++ scummvm/trunk/engines/agos/agos.h	2008-03-12 00:22:30 UTC (rev 31110)
@@ -342,6 +342,7 @@
 	HitArea *_lastHitArea3;
 	Item *_hitAreaSubjectItem;
 	HitArea *_currentBox, *_currentVerbBox, *_lastVerbOn;
+	uint16 	_currentBoxNum;
 	uint _needHitAreaRecalc;
 	uint _verbHitArea;
 	uint16 _defaultVerb;

Modified: scummvm/trunk/engines/agos/oracle.cpp
===================================================================
--- scummvm/trunk/engines/agos/oracle.cpp	2008-03-11 21:07:00 UTC (rev 31109)
+++ scummvm/trunk/engines/agos/oracle.cpp	2008-03-12 00:22:30 UTC (rev 31110)
@@ -115,7 +115,7 @@
 	_marks = 0;
 	checkUp(window);
 	animate(4, 9, 21, 0 ,0, 0);
-	while (_currentBox->id == 0x7FFB && getBitFlag(89)) {
+	while (_currentBoxNum == 0x7FFB && getBitFlag(89)) {
 		checkUp(window);
 		delay(1);
 	}
@@ -156,7 +156,7 @@
 	_marks = 0;
 	checkDown(window);
 	animate(4, 9, 23, 0, 0, 0);
-	while (_currentBox->id == 0x7FFC && getBitFlag(89)) {
+	while (_currentBoxNum == 0x7FFC && getBitFlag(89)) {
 		checkDown(window);
 		delay(1);
 	}
@@ -202,7 +202,7 @@
 				startSubroutineEx(sub);
 			setBitFlag(94, false);
 		}
-		if (_currentBox->id != 601 || !getBitFlag(89))
+		if (_currentBoxNum != 601 || !getBitFlag(89))
 			break;
 		delay(100);
 	}
@@ -236,7 +236,7 @@
 				startSubroutineEx(sub);
 			setBitFlag(93, false);
 		}
-		if (_currentBox->id != 600 || !getBitFlag(89))
+		if (_currentBoxNum != 600 || !getBitFlag(89))
 			break;
 		delay(100);
 	}

Modified: scummvm/trunk/engines/agos/verb.cpp
===================================================================
--- scummvm/trunk/engines/agos/verb.cpp	2008-03-11 21:07:00 UTC (rev 31109)
+++ scummvm/trunk/engines/agos/verb.cpp	2008-03-12 00:22:30 UTC (rev 31110)
@@ -672,7 +672,9 @@
 		}
 	} while (ha++, --count);
 
+	_currentBoxNum = 0;
 	_currentBox = best_ha;
+
 	if (best_ha == NULL) {
 		clearName();
 		if (getGameType() == GType_WW && _mouseCursor >= 4) {
@@ -682,6 +684,8 @@
 		return;
 	}
 
+	_currentBoxNum = best_ha->id;
+
 	if (mode != 0) {
 		if (mode == 3) {
 			if (getGameType() == GType_ELVIRA1 || getGameType() == GType_ELVIRA2) {


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