aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/illusions.cpp
diff options
context:
space:
mode:
authorjohndoe1232014-04-11 09:40:54 +0200
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit2e149cf651ee9344ee96ea904c5dce5a444aeaff (patch)
tree5fb2c760d303a4db0856cbc4de7c94609d8b4238 /engines/illusions/illusions.cpp
parent67366aa04b723fadec300cc6ce1d5c6ee9241af7 (diff)
downloadscummvm-rg350-2e149cf651ee9344ee96ea904c5dce5a444aeaff.tar.gz
scummvm-rg350-2e149cf651ee9344ee96ea904c5dce5a444aeaff.tar.bz2
scummvm-rg350-2e149cf651ee9344ee96ea904c5dce5a444aeaff.zip
ILLUSIONS: More work on Duckman
- Implement Duckman cursor and interaction handling - Add more script opcodes - Add TextDrawer and ScreenText (needs minor refactoring for BBDOU)
Diffstat (limited to 'engines/illusions/illusions.cpp')
-rw-r--r--engines/illusions/illusions.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/engines/illusions/illusions.cpp b/engines/illusions/illusions.cpp
index 4d9f4a0702..f4ba0cd131 100644
--- a/engines/illusions/illusions.cpp
+++ b/engines/illusions/illusions.cpp
@@ -32,6 +32,7 @@
#include "illusions/input.h"
#include "illusions/resourcesystem.h"
#include "illusions/screen.h"
+#include "illusions/screentext.h"
#include "illusions/scriptresource.h"
#include "illusions/scriptman.h"
#include "illusions/soundresource.h"
@@ -159,7 +160,6 @@ int IllusionsEngine::updateGraphics() {
for (Controls::ItemsIterator it = _controls->_controls.begin(); it != _controls->_controls.end(); ++it) {
Control *control = *it;
Actor *actor = control->_actor;
-
if (control->_pauseCtr == 0 && actor && (actor->_flags & 1) && !(actor->_flags & 0x0200)) {
Common::Point drawPosition = control->calcPosition(panPoint);
if (actor->_flags & 0x2000) {
@@ -184,13 +184,11 @@ int IllusionsEngine::updateGraphics() {
}
}
-#if 0 // TODO
- if (_textInfo._surface) {
+ if (_screenText->_surface) {
int16 priority = getPriorityFromBase(99);
- _screen->_drawQueue->insertTextSurface(_textInfo._surface, _textInfo._dimensions,
- _textInfo._position, priority);
+ _screen->_drawQueue->insertTextSurface(_screenText->_surface, _screenText->_dimensions,
+ _screenText->_position, priority);
}
-#endif
return 1;
}
@@ -294,4 +292,20 @@ uint32 IllusionsEngine::clipTextDuration(uint32 duration) {
return duration;
}
+void IllusionsEngine::getDefaultTextDimensions(WidthHeight &dimensions) {
+ dimensions = _defaultTextDimensions;
+}
+
+void IllusionsEngine::setDefaultTextDimensions(WidthHeight &dimensions) {
+ _defaultTextDimensions = dimensions;
+}
+
+void IllusionsEngine::getDefaultTextPosition(Common::Point &position) {
+ position = _defaultTextPosition;
+}
+
+void IllusionsEngine::setDefaultTextPosition(Common::Point &position) {
+ _defaultTextPosition = position;
+}
+
} // End of namespace Illusions