22 #if defined(ENABLE_EOB) || defined(ENABLE_LOL) 24 #ifndef KYRA_TEXT_EOB_H 25 #define KYRA_TEXT_EOB_H 27 #include "common/scummsys.h" 28 #include "kyra/graphics/screen.h" 34 class TextDisplayer_rpg {
36 TextDisplayer_rpg(KyraRpgEngine *engine,
Screen *scr);
37 virtual ~TextDisplayer_rpg();
39 void setupField(
int dim,
bool mode);
41 virtual void printDialogueText(
int stringId,
const char *pageBreakString,
const char *pageBreakString2 = 0);
42 virtual void printDialogueText(
const char *str,
bool wait =
false);
43 void printMessage(
const char *str,
int textColor = -1, ...);
44 virtual void printShadedText(
const char *str,
int x = -1,
int y = -1,
int textColor = -1,
int shadowColor = -1,
int pitchW = -1,
int pitchH = -1,
int marginRight = 0,
bool screenUpdate =
true) {}
46 virtual int clearDim(
int dim);
49 void resetDimTextPositions(
int dim);
50 void resetPageBreakString();
51 void setPageBreakFlag();
52 void removePageBreakFlag();
54 void allowPageBreak(
bool mode) { _allowPageBreak = mode; }
55 void setWaitButtonMode(
int mode) { _waitButtonMode = mode; }
56 int lineCount()
const {
return _lineCount; }
62 void setColorMapping(
int sd, uint8 from, uint8 to);
63 void setShadowColor(
int sd,
int col) { applySetting(sd, kShadowColor, col); }
64 void setLineSpacing(
int sd,
int spacing) { applySetting(sd, kLineSpacing, spacing); }
65 void setVisualLineSpacingAdjust(
int sd,
int adj) { applySetting(sd, kVisualLineSpacingAdjust, adj); }
66 void setCharSpacing(
int sd,
int spacing) { applySetting(sd, kCharSpacing, spacing); }
69 virtual KyraRpgEngine *vm() {
return _vm; }
70 virtual Screen *screen() {
return _screen; }
72 virtual void displayText(
char *str, ...);
75 void printLine(
char *str);
76 virtual void textPageBreak();
77 void displayWaitButton();
79 void convertString(
char *str);
81 char *_dialogueBuffer;
83 const char *_tempString1;
84 const char *_tempString2;
89 uint32 _numCharsTotal;
91 uint32 _numCharsPrinted;
94 bool _twoByteLineBreakFlag;
95 const bool _pc98TextMode;
101 bool _allowPageBreak;
102 int _waitButtonSpace;
105 static const char _pageBreakDefault[3][5];
116 int visualLineSpacingAdjust;
119 int noHalfWidthLineEnd;
123 TextDimData *_textDimData;
128 bool isTwoByteChar(uint8 c)
const;
129 void applySetting(
int sd,
int ix,
int val);
130 uint8 remapColor(
int sd, uint8 color)
const;
134 kVisualLineSpacingAdjust,
145 Screen::FontId _waitButtonFont;
147 uint8 _colorMap[256];
156 #endif // ENABLE_EOB || ENABLE_LOL
Definition: atari-screen.h:60
Definition: detection.h:27