22 #ifndef MADS_MESSAGES_H 23 #define MADS_MESSAGES_H 25 #include "common/scummsys.h" 26 #include "common/array.h" 27 #include "mads/nebular/core/action.h" 28 #include "mads/nebular/core/font.h" 29 #include "mads/nebular/core/msurface.h" 34 #define KERNEL_MESSAGES_SIZE 10 35 #define INDEFINITE_TIMEOUT 9999999 36 #define TEXT_DISPLAY_SIZE 40 37 #define RANDOM_MESSAGE_SIZE 4 39 enum KernelMessageFlags {
40 KMSG_QUOTED = 1, KMSG_PLAYER_TIMEOUT = 2, KMSG_SEQ_ENTRY = 4, KMSG_SCROLL = 8,
41 KMSG_RIGHT_ALIGN = 0x10, KMSG_CENTER_ALIGN = 0x20, KMSG_EXPIRE = 0x40,
42 KMSG_ACTIVE = 0x80, KMSG_ANIM = 0x100
45 class RexNebularEngine;
54 int _textDisplayIndex;
61 TriggerMode _abortMode;
73 _handle = _quoteId = -1;
104 int add(
const Common::Point &pt, uint fontColor, uint8 flags,
int endTrigger,
106 int addQuote(
int quoteId,
int endTrigger, uint32 timeout);
107 void scrollMessage(
int msgIndex,
int numTicks,
bool quoted);
108 void setSeqIndex(
int msgIndex,
int seqIndex);
109 void setAnim(
int msgId,
int seqId,
int val3);
110 void remove(
int msgIndex);
113 void processText(
int msgIndex);
114 void delay(uint32 priorFrameTime, uint32 currentTime);
115 void setQuoted(
int msgIndex,
int numTicks,
bool quoted);
117 void initRandomMessages(
int maxSimultaneousMessages,
118 const Common::Rect &bounds,
int minYSpacing,
int scrollRate,
119 int color,
int duration,
int quoteId, ...);
134 bool generateRandom(
int major,
int minor);
151 #define TEXT_DISPLAY_SIZE 40 162 void expire(
int idx);
164 int add(
int xp,
int yp, uint fontColor,
int charSpacing,
const Common::String &,
Font *font);
180 void setDirtyAreas();
185 void setDirtyAreas2();
Definition: messages.h:68
Definition: messages.h:137
Definition: messages.h:47
Definition: msurface.h:56
Definition: messages.h:153
Definition: messages.h:77
Definition: sound_manager.h:38
Definition: messages.h:90