aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova2/screen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/supernova2/screen.cpp')
-rw-r--r--engines/supernova2/screen.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/supernova2/screen.cpp b/engines/supernova2/screen.cpp
index 9f04defb00..29aa52ecbd 100644
--- a/engines/supernova2/screen.cpp
+++ b/engines/supernova2/screen.cpp
@@ -181,7 +181,7 @@ Screen::Screen(Supernova2Engine *vm, ResourceManager *resMan)
, _textCursorY(0)
, _messageShown(false) {
- CursorMan.replaceCursor(_resMan->getImage(ResourceManager::kCursorNormal),
+ CursorMan.replaceCursor(_resMan->getCursor(ResourceManager::kCursorNormal),
16, 16, 0, 0, kColorCursorTransparent);
CursorMan.replaceCursorPalette(initVGAPalette, 0, 16);
CursorMan.showMouse(true);
@@ -203,7 +203,7 @@ void Screen::setGuiBrightness(int brightness) {
_guiBrightness = brightness;
}
-const MS2Image *Screen::getCurrentImage() const {
+MS2Image *Screen::getCurrentImage() {
return _currentImage;
}
@@ -460,7 +460,7 @@ int Screen::textWidth(const Common::String &text) {
return Screen::textWidth(text.c_str());
}
-void Screen::renderMessage(const char *text, MessagePosition position) {
+void Screen::renderMessage(const char *text, MessagePosition position, int positionX, int positionY) {
Common::String t(text);
char *row[20];
Common::String::iterator p = t.begin();
@@ -518,6 +518,11 @@ void Screen::renderMessage(const char *text, MessagePosition position) {
y = 142;
}
+ if (positionX != -1 && positionY != -1) {
+ x = positionX;
+ y = positionY;
+ }
+
int message_columns = x - 3;
int message_rows = y - 3;
int message_width = rowWidthMax + 6;