aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parallaction.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2007-11-21 20:04:14 +0000
committerNicola Mettifogo2007-11-21 20:04:14 +0000
commit6af9577e84341630c00a29faa23d65a0d671aa81 (patch)
tree76d620fbdb2ae361f8fd3e23c1f6efdd0e589fd4 /engines/parallaction/parallaction.cpp
parent634595e0738cfb55d922ab91cdea7460156306a9 (diff)
downloadscummvm-rg350-6af9577e84341630c00a29faa23d65a0d671aa81.tar.gz
scummvm-rg350-6af9577e84341630c00a29faa23d65a0d671aa81.tar.bz2
scummvm-rg350-6af9577e84341630c00a29faa23d65a0d671aa81.zip
* moved label drawing into Gfx, to be drawn directly in the framebuffer
* changed low level blitting function to accept Graphics::Surface to ease development * temporarily disabled labels/subtitles in BRA svn-id: r29593
Diffstat (limited to 'engines/parallaction/parallaction.cpp')
-rw-r--r--engines/parallaction/parallaction.cpp30
1 files changed, 3 insertions, 27 deletions
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp
index 43091286af..1dd377b9a3 100644
--- a/engines/parallaction/parallaction.cpp
+++ b/engines/parallaction/parallaction.cpp
@@ -159,8 +159,6 @@ int Parallaction::init() {
_location._startFrame = 0;
_location._comment = NULL;
_location._endComment = NULL;
- _label = 0;
- _deletingLabel = false;
_backgroundInfo = 0;
_pathBuffer = 0;
@@ -285,7 +283,6 @@ void Parallaction::runGame() {
changeLocation(_location._name);
}
- eraseLabel();
eraseAnimations();
runScripts();
@@ -294,7 +291,6 @@ void Parallaction::runGame() {
runJobs();
drawAnimations();
- drawLabel();
updateView();
@@ -313,38 +309,18 @@ void Parallaction::updateView() {
g_system->delayMillis(30);
}
-void Parallaction::showLabel(Label &label) {
- label.resetPosition();
- _label = &label;
-}
-
-void Parallaction::hideLabel(uint priority) {
-
- if (!_label)
- return;
-
- if (priority == kPriority99) {
- _label = 0;
- } else {
- // schedule job for deletion
- _deletingLabel = true;
- _engineFlags |= kEngineBlockInput;
- }
-
-}
-
void Parallaction::processInput(InputData *data) {
switch (data->_event) {
case kEvEnterZone:
debugC(2, kDebugInput, "processInput: kEvEnterZone");
- showLabel(*data->_label);
+ _gfx->setLabel(data->_label);
break;
case kEvExitZone:
debugC(2, kDebugInput, "processInput: kEvExitZone");
- hideLabel(kPriority15);
+ _gfx->setLabel(0);
break;
case kEvAction:
@@ -359,7 +335,7 @@ void Parallaction::processInput(InputData *data) {
case kEvOpenInventory:
_procCurrentHoverItem = -1;
_hoverZone = NULL;
- hideLabel(kPriority2);
+ _gfx->setLabel(0);
if (hitZone(kZoneYou, _mousePos.x, _mousePos.y) == 0) {
setArrowCursor();
}