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

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Sat Jan 29 11:42:40 CET 2011


Revision: 55610
          http://scummvm.svn.sourceforge.net/scummvm/?rev=55610&view=rev
Author:   peres001
Date:     2011-01-29 10:42:40 +0000 (Sat, 29 Jan 2011)

Log Message:
-----------
PARALLACTION: Cleanup dialogue code.

Shorten long lines to increase readability.

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

Modified: scummvm/trunk/engines/parallaction/dialogue.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/dialogue.cpp	2011-01-29 09:56:23 UTC (rev 55609)
+++ scummvm/trunk/engines/parallaction/dialogue.cpp	2011-01-29 10:42:40 UTC (rev 55610)
@@ -83,6 +83,10 @@
 	bool			_isKeyDown;
 	uint16			_downKey;
 
+protected:	
+	Gfx				*_gfx;
+	BalloonManager  *_balloonMan;
+	
 public:
 	DialogueManager(Parallaction *vm, ZonePtr z);
 	virtual ~DialogueManager();
@@ -128,6 +132,9 @@
 };
 
 DialogueManager::DialogueManager(Parallaction *vm, ZonePtr z) : _vm(vm), _z(z) {
+	_gfx = _vm->_gfx;
+	_balloonMan = _vm->_balloonMan;
+	
 	_dialogue = _z->u._speakDialogue;
 	isNpc = !_z->u._filename.empty() && _z->u._filename.compareToIgnoreCase("yourself");
 	_questioner = isNpc ? _vm->_disk->loadTalk(_z->u._filename.c_str()) : _vm->_char._talk;
@@ -196,7 +203,7 @@
 	// create balloons
 	int id;
 	for (int i = 0; i < _numVisAnswers; ++i) {
-		id = _vm->_balloonMan->setDialogueBalloon(_visAnswers[i]._a->_text, 1, BalloonManager::kUnselectedColor);
+		id = _balloonMan->setDialogueBalloon(_visAnswers[i]._a->_text, 1, BalloonManager::kUnselectedColor);
 		assert(id >= 0);
 		_visAnswers[i]._balloon = id;
 
@@ -205,7 +212,7 @@
 	int mood = 0;
 	if (_numVisAnswers == 1) {
 		mood = _visAnswers[0]._a->speakerMood();
-		_vm->_balloonMan->setBalloonText(_visAnswers[0]._balloon, _visAnswers[0]._a->_text, BalloonManager::kNormalColor);
+		_balloonMan->setBalloonText(_visAnswers[0]._balloon, _visAnswers[0]._a->_text, BalloonManager::kNormalColor);
 	} else
 	if (_numVisAnswers > 1) {
 		mood = _visAnswers[0]._a->speakerMood();
@@ -213,8 +220,8 @@
 		_selection = 0;
 	}
 
-	_faceId = _vm->_gfx->setItem(_answerer, _ballonPos._answerChar.x, _ballonPos._answerChar.y);
-	_vm->_gfx->setItemFrame(_faceId, mood);
+	_faceId = _gfx->setItem(_answerer, _ballonPos._answerChar.x, _ballonPos._answerChar.y);
+	_gfx->setItemFrame(_faceId, mood);
 }
 
 int16 DialogueManager::selectAnswer1() {
@@ -231,16 +238,19 @@
 
 int16 DialogueManager::selectAnswerN() {
 
-	_selection = _vm->_balloonMan->hitTestDialogueBalloon(_mousePos.x, _mousePos.y);
+	_selection = _balloonMan->hitTestDialogueBalloon(_mousePos.x, _mousePos.y);
 
+	VisibleAnswer *oldAnswer = &_visAnswers[_oldSelection];
+	VisibleAnswer *answer = &_visAnswers[_selection];
+	
 	if (_selection != _oldSelection) {
 		if (_oldSelection != NO_ANSWER_SELECTED) {
-			_vm->_balloonMan->setBalloonText(_visAnswers[_oldSelection]._balloon, _visAnswers[_oldSelection]._a->_text, BalloonManager::kUnselectedColor);
+			_balloonMan->setBalloonText(oldAnswer->_balloon, oldAnswer->_a->_text, BalloonManager::kUnselectedColor);
 		}
 
 		if (_selection != NO_ANSWER_SELECTED) {
-			_vm->_balloonMan->setBalloonText(_visAnswers[_selection]._balloon, _visAnswers[_selection]._a->_text, BalloonManager::kSelectedColor);
-			_vm->_gfx->setItemFrame(_faceId, _visAnswers[_selection]._a->speakerMood());
+			_balloonMan->setBalloonText(answer->_balloon, answer->_a->_text, BalloonManager::kSelectedColor);
+			_gfx->setItemFrame(_faceId, answer->_a->speakerMood());
 		}
 	}
 
@@ -256,16 +266,16 @@
 bool DialogueManager::displayQuestion() {
 	if (_q->textIsNull()) return false;
 
-	_vm->_balloonMan->setSingleBalloon(_q->_text, _ballonPos._questionBalloon.x, _ballonPos._questionBalloon.y, _q->balloonWinding(), BalloonManager::kNormalColor);
-	_faceId = _vm->_gfx->setItem(_questioner, _ballonPos._questionChar.x, _ballonPos._questionChar.y);
-	_vm->_gfx->setItemFrame(_faceId, _q->speakerMood());
+	_balloonMan->setSingleBalloon(_q->_text, _ballonPos._questionBalloon.x, _ballonPos._questionBalloon.y, _q->balloonWinding(), BalloonManager::kNormalColor);
+	_faceId = _gfx->setItem(_questioner, _ballonPos._questionChar.x, _ballonPos._questionChar.y);
+	_gfx->setItemFrame(_faceId, _q->speakerMood());
 
 	return true;
 }
 
 void DialogueManager::runQuestion() {
 	if (_mouseButtons == kMouseLeftUp) {
-		_vm->_gfx->freeDialogueObjects();
+		_gfx->freeDialogueObjects();
 		transitionToState(NEXT_ANSWER);
 	}
 
@@ -304,7 +314,7 @@
 	_answerId = selectAnswer();
 	if (_answerId != NO_ANSWER_SELECTED) {
 		_cmdList = &_q->_answers[_answerId]->_commands;
-		_vm->_gfx->freeDialogueObjects();
+		_gfx->freeDialogueObjects();
 		transitionToState(NEXT_QUESTION);
 	}
 }
@@ -388,7 +398,7 @@
 		}
 
 		if (_passwordChanged) {
-			_vm->_balloonMan->setBalloonText(_visAnswers[0]._balloon, _visAnswers[0]._a->_text, BalloonManager::kNormalColor);
+			_balloonMan->setBalloonText(_visAnswers[0]._balloon, _visAnswers[0]._a->_text, BalloonManager::kNormalColor);
 			_passwordChanged = false;
 		}
 


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