aboutsummaryrefslogtreecommitdiff
path: root/engines/dm/text.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dm/text.h')
-rw-r--r--engines/dm/text.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/engines/dm/text.h b/engines/dm/text.h
index b6049d7659..d157c9bbeb 100644
--- a/engines/dm/text.h
+++ b/engines/dm/text.h
@@ -43,6 +43,11 @@ class TextMan {
int16 _messageAreaCursorRow; // @ G0358_i_MessageAreaCursorRow
int32 _messageAreaRowExpirationTime[4]; // @ G0360_al_MessageAreaRowExpirationTime
byte *_bitmapMessageAreaNewRow; // @ G0356_puc_Bitmap_MessageAreaNewRow
+
+ // for scrolling 'em messages
+ bool _isScrolling;
+ int64 _startedScrollingAt;
+ byte *_messageAreaCopy;
public:
TextScroller _textScroller;
@@ -56,18 +61,18 @@ public:
void printWithTrailingSpaces(byte *destBitmap, int16 destByteWidth, int16 destX, int16 destY, Color textColor, Color bgColor,
const char *text, int16 strLenght, int16 destHeight); // @ F0041_TEXT_PrintWithTrailingSpaces
void printLineFeed(); // @ F0051_TEXT_MESSAGEAREA_PrintLineFeed
- void printMessage(Color color, const char *string); // @ F0047_TEXT_MESSAGEAREA_PrintMessage
+ void printMessage(Color color, const char *string, bool printWithScroll = true); // @ F0047_TEXT_MESSAGEAREA_PrintMessage
void createNewRow(); // @ F0045_TEXT_MESSAGEAREA_CreateNewRow
void printString(Color color, const char* string);// @ F0046_TEXT_MESSAGEAREA_PrintString
void initialize(); // @ F0054_TEXT_Initialize
void moveCursor(int16 column, int16 row); // @ F0042_TEXT_MESSAGEAREA_MoveCursor
void clearExpiredRows(); // @ F0044_TEXT_MESSAGEAREA_ClearExpiredRows
void printEndGameString(int16 x, int16 y, Color textColor, char *text); // @ F0443_STARTEND_EndgamePrintString
- bool isTextScrolling(TextScroller *scroller, bool waitEndOfScrolling) {
- warning("STUB METHOD: isTextScrolling"); return true;
- } // @ F0561_SCROLLER_IsTextScrolling
- void setScrollerCommand(TextScroller *scroller, int16 command) { warning("STUB METHOD: f560_SCROLLER_setCommand"); } // @ F0560_SCROLLER_SetCommand
+ bool isTextScrolling(TextScroller *scroller, bool waitEndOfScrolling) { return false; } // @ F0561_SCROLLER_IsTextScrolling
+ void setScrollerCommand(TextScroller *scroller, int16 command) { } // @ F0560_SCROLLER_SetCommand
void clearAllRows(); // @ F0043_TEXT_MESSAGEAREA_ClearAllRows
+
+ void updateMessageArea();
};
}