aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/dialogue.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2008-12-13 17:31:48 +0000
committerNicola Mettifogo2008-12-13 17:31:48 +0000
commit800db6f142b93c07903ad6ef7c2a57bb563ff6dc (patch)
tree8628930091ac594466dc4b043340f0c7534a5d66 /engines/parallaction/dialogue.cpp
parent49e0a52ee1f4e31d073da025cae00d4157ef1707 (diff)
downloadscummvm-rg350-800db6f142b93c07903ad6ef7c2a57bb563ff6dc.tar.gz
scummvm-rg350-800db6f142b93c07903ad6ef7c2a57bb563ff6dc.tar.bz2
scummvm-rg350-800db6f142b93c07903ad6ef7c2a57bb563ff6dc.zip
Restructuring of rendering code.
svn-id: r35342
Diffstat (limited to 'engines/parallaction/dialogue.cpp')
-rw-r--r--engines/parallaction/dialogue.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/engines/parallaction/dialogue.cpp b/engines/parallaction/dialogue.cpp
index 23272d7b0f..41c87c55db 100644
--- a/engines/parallaction/dialogue.cpp
+++ b/engines/parallaction/dialogue.cpp
@@ -82,6 +82,7 @@ class DialogueManager {
bool isNpc;
GfxObj *_questioner;
GfxObj *_answerer;
+ int _faceId;
Question *_q;
@@ -194,24 +195,24 @@ bool DialogueManager::displayAnswers() {
displayAnswer(i);
}
+ int mood = 0;
+
if (_askPassword) {
resetPassword();
-// _vm->_balloonMan->setDialogueBalloon(_q->_answers[0]->_text, 1, 3);
- int id = _vm->_gfx->setItem(_answerer, _ballonPos._answerChar.x, _ballonPos._answerChar.y);
- _vm->_gfx->setItemFrame(id, 0);
} else
if (_numVisAnswers == 1) {
- int id = _vm->_gfx->setItem(_answerer, _ballonPos._answerChar.x, _ballonPos._answerChar.y);
- _vm->_gfx->setItemFrame(id, _q->_answers[0]->_mood & 0xF);
+ mood = _q->_answers[0]->_mood & 0xF;
_vm->_balloonMan->setBalloonText(0, _q->_answers[_visAnswers[0]]->_text.c_str(), BalloonManager::kNormalColor);
} else
if (_numVisAnswers > 1) {
- int id = _vm->_gfx->setItem(_answerer, _ballonPos._answerChar.x, _ballonPos._answerChar.y);
- _vm->_gfx->setItemFrame(id, _q->_answers[_visAnswers[0]]->_mood & 0xF);
+ mood = _q->_answers[_visAnswers[0]]->_mood & 0xF;
_oldSelection = -1;
_selection = 0;
}
+ _faceId = _vm->_gfx->setItem(_answerer, _ballonPos._answerChar.x, _ballonPos._answerChar.y);
+ _vm->_gfx->setItemFrame(_faceId, mood);
+
return _numVisAnswers > 0;
}
@@ -219,8 +220,8 @@ bool DialogueManager::displayQuestion() {
if (!_q->_text.compareToIgnoreCase("NULL")) return false;
_vm->_balloonMan->setSingleBalloon(_q->_text.c_str(), _ballonPos._questionBalloon.x, _ballonPos._questionBalloon.y, _q->_mood & 0x10, BalloonManager::kNormalColor);
- int id = _vm->_gfx->setItem(_questioner, _ballonPos._questionChar.x, _ballonPos._questionChar.y);
- _vm->_gfx->setItemFrame(id, _q->_mood & 0xF);
+ _faceId = _vm->_gfx->setItem(_questioner, _ballonPos._questionChar.x, _ballonPos._questionChar.y);
+ _vm->_gfx->setItemFrame(_faceId, _q->_mood & 0xF);
return true;
}
@@ -291,7 +292,7 @@ int16 DialogueManager::selectAnswerN() {
if (_selection != -1) {
_vm->_balloonMan->setBalloonText(_selection, _q->_answers[_visAnswers[_selection]]->_text.c_str(), BalloonManager::kSelectedColor);
- _vm->_gfx->setItemFrame(0, _q->_answers[_visAnswers[_selection]]->_mood & 0xF);
+ _vm->_gfx->setItemFrame(_faceId, _q->_answers[_visAnswers[_selection]]->_mood & 0xF);
}
}