|
@@ -8,21 +8,21 @@
|
|
|
#include "macros.h"
|
|
|
#include "strings.h"
|
|
|
#include "gfx.h"
|
|
|
#include "landscape.h"
|
|
|
#include "viewport.h"
|
|
|
#include "saveload.h"
|
|
|
#include "hal.h"
|
|
|
#include "console.h"
|
|
|
#include "string.h"
|
|
|
#include "variables.h"
|
|
|
#include "table/sprites.h"
|
|
|
#include "blitter/factory.hpp"
|
|
|
#include <stdarg.h> /* va_list */
|
|
|
#include "date.h"
|
|
|
#include "texteff.hpp"
|
|
|
#include "video/video_driver.hpp"
|
|
|
|
|
|
enum {
|
|
|
MAX_TEXTMESSAGE_LENGTH = 200,
|
|
|
INIT_NUM_TEXT_MESSAGES = 20,
|
|
|
MAX_CHAT_MESSAGES = 10,
|
|
|
MAX_ANIMATED_TILES = 256,
|
|
@@ -165,13 +165,13 @@ void UndrawTextMessage()
|
|
|
if (width <= 0 || height <= 0) return;
|
|
|
|
|
|
_textmessage_visible = false;
|
|
|
/* Put our 'shot' back to the screen */
|
|
|
blitter->CopyFromBuffer(blitter->MoveTo(_screen.dst_ptr, x, y), _textmessage_backup, width, height);
|
|
|
/* And make sure it is updated next time */
|
|
|
_video_driver->make_dirty(x, y, width, height);
|
|
|
_video_driver->MakeDirty(x, y, width, height);
|
|
|
|
|
|
_textmessage_dirty = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/** Check if a message is expired every day */
|
|
@@ -245,13 +245,13 @@ void DrawTextMessage()
|
|
|
/* Paint the messages starting with the lowest at the bottom */
|
|
|
for (uint y = 13; count-- != 0; y += 13) {
|
|
|
DoDrawString(_textmsg_list[count].message, _textmsg_box.x + 3, _screen.height - _textmsg_box.y - y + 1, _textmsg_list[count].color);
|
|
|
}
|
|
|
|
|
|
/* Make sure the data is updated next flush */
|
|
|
_video_driver->make_dirty(x, y, width, height);
|
|
|
_video_driver->MakeDirty(x, y, width, height);
|
|
|
|
|
|
_textmessage_visible = true;
|
|
|
_textmessage_dirty = false;
|
|
|
}
|
|
|
|
|
|
static void MarkTextEffectAreaDirty(TextEffect *te)
|