diff options
author | Nicola Mettifogo | 2007-11-22 21:19:44 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2007-11-22 21:19:44 +0000 |
commit | d8e8050015086f4139fb327a2a25a6859b858d8f (patch) | |
tree | a4a0175c5149f544a2d328a571414bceb1d1acd8 /engines/parallaction/exec_ns.cpp | |
parent | cd3f548407f90128c95deda368f3fd46613e1d5d (diff) | |
download | scummvm-rg350-d8e8050015086f4139fb327a2a25a6859b858d8f.tar.gz scummvm-rg350-d8e8050015086f4139fb327a2a25a6859b858d8f.tar.bz2 scummvm-rg350-d8e8050015086f4139fb327a2a25a6859b858d8f.zip |
* added (incomplete) explicit state machine handling in engine class (see _inputMode)
* added service routines to Gfx
* changed displayCharacterComment to work with the new state machine and gfx routines
svn-id: r29613
Diffstat (limited to 'engines/parallaction/exec_ns.cpp')
-rw-r--r-- | engines/parallaction/exec_ns.cpp | 39 |
1 files changed, 7 insertions, 32 deletions
diff --git a/engines/parallaction/exec_ns.cpp b/engines/parallaction/exec_ns.cpp index 52e132a56e..1545dc9d07 100644 --- a/engines/parallaction/exec_ns.cpp +++ b/engines/parallaction/exec_ns.cpp @@ -478,49 +478,24 @@ void Parallaction::runCommands(CommandList& list, Zone *z) { } - +// +// ZONE TYPE: EXAMINE +// // displays character head commenting an examined object // -// works on the frontbuffer -// void Parallaction::displayCharacterComment(ExamineData *data) { if (data->_description == NULL) return; - // NOTE: saving visible screen before displaying comment allows - // to restore the exact situation after the comment is deleted. - // This means animations are restored in the exact position as - // they were, thus avoiding clipping effect as signalled in - // BUG item #1762614. - _gfx->copyScreen(Gfx::kBitFront, Gfx::kBitBack); - - _gfx->setFont(_dialogueFont); - _gfx->flatBlitCnv(_char._talk, 0, 190, 80, Gfx::kBitFront); - - int16 v26, v28; - _gfx->getStringExtent(data->_description, 130, &v28, &v26); - Common::Rect r(v28, v26); - r.moveTo(140, 10); - _gfx->drawBalloon(r, 0); - _gfx->displayWrappedString(data->_description, 140, 10, 0, 130); - - waitUntilLeftClick(); + _gfx->setDialogueBalloon(data->_description, 140, 10, 130, 0, 0); + _gfx->setItem(_char._talk, 190, 80); + _gfx->setItemFrame(0, 0); - _gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront); - _gfx->updateScreen(); - - return; + _inputMode = kInputModeComment; } -// -// ZONE TYPE: EXAMINE -// - // display detail view of an item (and eventually comments) // -// works on the frontbuffer -// - void Parallaction::displayItemComment(ExamineData *data) { if (data->_description == NULL) return; |