[Scummvm-cvs-logs] SF.net SVN: scummvm:[45054] scummvm/branches/branch-1-0-0/engines/ parallaction/dialogue.cpp

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Wed Oct 14 08:14:05 CEST 2009


Revision: 45054
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45054&view=rev
Author:   peres001
Date:     2009-10-14 06:14:05 +0000 (Wed, 14 Oct 2009)

Log Message:
-----------
backport of r45053. Fixed regression bug #2874229. Regression had happened in r39878, when the dialogue code was refactored.

Modified Paths:
--------------
    scummvm/branches/branch-1-0-0/engines/parallaction/dialogue.cpp

Modified: scummvm/branches/branch-1-0-0/engines/parallaction/dialogue.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/engines/parallaction/dialogue.cpp	2009-10-14 06:12:16 UTC (rev 45053)
+++ scummvm/branches/branch-1-0-0/engines/parallaction/dialogue.cpp	2009-10-14 06:14:05 UTC (rev 45054)
@@ -93,6 +93,7 @@
 	BalloonPositions	_ballonPos;
 	struct VisibleAnswer {
 		Answer	*_a;
+		int		_index;		// index into Question::_answers[]
 		int		_balloon;
 	} _visAnswers[5];
 	int			_numVisAnswers;
@@ -197,11 +198,11 @@
 
 int16 DialogueManager::selectAnswer1() {
 	if (!_visAnswers[0]._a->_text.compareToIgnoreCase("null")) {
-		return 0;
+		return _visAnswers[0]._index;
 	}
 
 	if (_mouseButtons == kMouseLeftUp) {
-		return 0;
+		return _visAnswers[0]._index;
 	}
 
 	return -1;
@@ -225,7 +226,7 @@
 	_oldSelection = _selection;
 
 	if ((_mouseButtons == kMouseLeftUp) && (_selection != -1)) {
-		return _selection;
+		return _visAnswers[_selection]._index;
 	}
 
 	return -1;
@@ -273,7 +274,6 @@
 	debugC(9, kDebugDialogue, "runAnswer\n");
 
 	_answerId = selectAnswer();
-
 	if (_answerId != -1) {
 		_cmdList = &_q->_answers[_answerId]->_commands;
 		_vm->_gfx->freeDialogueObjects();
@@ -400,6 +400,7 @@
 			}
 
 			_visAnswers[_numVisAnswers]._a = a;
+			_visAnswers[_numVisAnswers]._index = i;
 			_numVisAnswers++;
 		}
 


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