author | rubidium |
Mon, 11 Aug 2008 22:45:11 +0000 | |
changeset 9898 | 75347c78b276 |
child 9901 | 602720bd2d53 |
permissions | -rw-r--r-- |
9898
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
1 |
/* $Id$ */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
2 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
3 |
/** @file network_chat_gui.cpp GUI for handling chat messages. */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
4 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
5 |
#include <stdarg.h> /* va_list */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
6 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
7 |
#ifdef ENABLE_NETWORK |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
8 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
9 |
#include "../stdafx.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
10 |
#include "network.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
11 |
#include "network_type.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
12 |
#include "../date_func.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
13 |
#include "../gfx_func.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
14 |
#include "../strings_func.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
15 |
#include "../blitter/factory.hpp" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
16 |
#include "../console_func.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
17 |
#include "../video/video_driver.hpp" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
18 |
#include "../table/sprites.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
19 |
#include "../window_gui.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
20 |
#include "../textbuf_gui.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
21 |
#include "../querystring_gui.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
22 |
#include "../town.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
23 |
#include "../window_func.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
24 |
#include "network_internal.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
25 |
#include "network_client.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
26 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
27 |
#include "table/strings.h" |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
28 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
29 |
enum { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
30 |
MAX_CHAT_MESSAGES = 10, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
31 |
}; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
32 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
33 |
struct ChatMessage { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
34 |
char message[NETWORK_CHAT_LENGTH]; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
35 |
uint16 color; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
36 |
Date end_date; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
37 |
}; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
38 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
39 |
/* used for chat window */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
40 |
static ChatMessage _chatmsg_list[MAX_CHAT_MESSAGES]; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
41 |
static bool _chatmessage_dirty = false; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
42 |
static bool _chatmessage_visible = false; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
43 |
static bool _chat_tab_completion_active; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
44 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
45 |
/* The chatbox grows from the bottom so the coordinates are pixels from |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
46 |
* the left and pixels from the bottom. The height is the maximum height */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
47 |
static const PointDimension _chatmsg_box = {10, 30, 500, 150}; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
48 |
static uint8 _chatmessage_backup[150 * 500 * 6]; // (height * width) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
49 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
50 |
static inline uint GetChatMessageCount() |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
51 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
52 |
uint i = 0; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
53 |
for (; i < MAX_CHAT_MESSAGES; i++) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
54 |
if (_chatmsg_list[i].message[0] == '\0') break; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
55 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
56 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
57 |
return i; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
58 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
59 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
60 |
/** |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
61 |
* Add a text message to the 'chat window' to be shown |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
62 |
* @param color The colour this message is to be shown in |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
63 |
* @param duration The duration of the chat message in game-days |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
64 |
* @param message message itself in printf() style |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
65 |
*/ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
66 |
void CDECL NetworkAddChatMessage(uint16 color, uint8 duration, const char *message, ...) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
67 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
68 |
char buf[NETWORK_CHAT_LENGTH]; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
69 |
const char *bufp; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
70 |
va_list va; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
71 |
uint msg_count; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
72 |
uint16 lines; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
73 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
74 |
va_start(va, message); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
75 |
vsnprintf(buf, lengthof(buf), message, va); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
76 |
va_end(va); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
77 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
78 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
79 |
Utf8TrimString(buf, NETWORK_CHAT_LENGTH); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
80 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
81 |
/* Force linebreaks for strings that are too long */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
82 |
lines = GB(FormatStringLinebreaks(buf, _chatmsg_box.width - 8), 0, 16) + 1; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
83 |
if (lines >= MAX_CHAT_MESSAGES) return; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
84 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
85 |
msg_count = GetChatMessageCount(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
86 |
/* We want to add more chat messages than there is free space for, remove 'old' */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
87 |
if (lines > MAX_CHAT_MESSAGES - msg_count) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
88 |
int i = lines - (MAX_CHAT_MESSAGES - msg_count); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
89 |
memmove(&_chatmsg_list[0], &_chatmsg_list[i], sizeof(_chatmsg_list[0]) * (msg_count - i)); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
90 |
msg_count = MAX_CHAT_MESSAGES - lines; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
91 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
92 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
93 |
for (bufp = buf; lines != 0; lines--) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
94 |
ChatMessage *cmsg = &_chatmsg_list[msg_count++]; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
95 |
ttd_strlcpy(cmsg->message, bufp, sizeof(cmsg->message)); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
96 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
97 |
/* The default colour for a message is player colour. Replace this with |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
98 |
* white for any additional lines */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
99 |
cmsg->color = (bufp == buf && color & IS_PALETTE_COLOR) ? color : (0x1D - 15) | IS_PALETTE_COLOR; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
100 |
cmsg->end_date = _date + duration; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
101 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
102 |
bufp += strlen(bufp) + 1; // jump to 'next line' in the formatted string |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
103 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
104 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
105 |
_chatmessage_dirty = true; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
106 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
107 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
108 |
void NetworkInitChatMessage() |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
109 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
110 |
for (uint i = 0; i < MAX_CHAT_MESSAGES; i++) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
111 |
_chatmsg_list[i].message[0] = '\0'; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
112 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
113 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
114 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
115 |
/** Hide the chatbox */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
116 |
void NetworkUndrawChatMessage() |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
117 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
118 |
if (_chatmessage_visible) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
119 |
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
120 |
/* Sometimes we also need to hide the cursor |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
121 |
* This is because both textmessage and the cursor take a shot of the |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
122 |
* screen before drawing. |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
123 |
* Now the textmessage takes his shot and paints his data before the cursor |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
124 |
* does, so in the shot of the cursor is the screen-data of the textmessage |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
125 |
* included when the cursor hangs somewhere over the textmessage. To |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
126 |
* avoid wrong repaints, we undraw the cursor in that case, and everything |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
127 |
* looks nicely ;) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
128 |
* (and now hope this story above makes sense to you ;)) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
129 |
*/ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
130 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
131 |
if (_cursor.visible) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
132 |
if (_cursor.draw_pos.x + _cursor.draw_size.x >= _chatmsg_box.x && |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
133 |
_cursor.draw_pos.x <= _chatmsg_box.x + _chatmsg_box.width && |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
134 |
_cursor.draw_pos.y + _cursor.draw_size.y >= _screen.height - _chatmsg_box.y - _chatmsg_box.height && |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
135 |
_cursor.draw_pos.y <= _screen.height - _chatmsg_box.y) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
136 |
UndrawMouseCursor(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
137 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
138 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
139 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
140 |
int x = _chatmsg_box.x; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
141 |
int y = _screen.height - _chatmsg_box.y - _chatmsg_box.height; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
142 |
int width = _chatmsg_box.width; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
143 |
int height = _chatmsg_box.height; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
144 |
if (y < 0) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
145 |
height = max(height + y, min(_chatmsg_box.height, _screen.height)); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
146 |
y = 0; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
147 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
148 |
if (x + width >= _screen.width) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
149 |
width = _screen.width - x; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
150 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
151 |
if (width <= 0 || height <= 0) return; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
152 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
153 |
_chatmessage_visible = false; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
154 |
/* Put our 'shot' back to the screen */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
155 |
blitter->CopyFromBuffer(blitter->MoveTo(_screen.dst_ptr, x, y), _chatmessage_backup, width, height); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
156 |
/* And make sure it is updated next time */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
157 |
_video_driver->MakeDirty(x, y, width, height); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
158 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
159 |
_chatmessage_dirty = true; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
160 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
161 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
162 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
163 |
/** Check if a message is expired every day */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
164 |
void NetworkChatMessageDailyLoop() |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
165 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
166 |
for (uint i = 0; i < MAX_CHAT_MESSAGES; i++) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
167 |
ChatMessage *cmsg = &_chatmsg_list[i]; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
168 |
if (cmsg->message[0] == '\0') continue; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
169 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
170 |
/* Message has expired, remove from the list */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
171 |
if (cmsg->end_date < _date) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
172 |
/* Move the remaining messages over the current message */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
173 |
if (i != MAX_CHAT_MESSAGES - 1) memmove(cmsg, cmsg + 1, sizeof(*cmsg) * (MAX_CHAT_MESSAGES - i - 1)); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
174 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
175 |
/* Mark the last item as empty */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
176 |
_chatmsg_list[MAX_CHAT_MESSAGES - 1].message[0] = '\0'; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
177 |
_chatmessage_dirty = true; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
178 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
179 |
/* Go one item back, because we moved the array 1 to the left */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
180 |
i--; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
181 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
182 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
183 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
184 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
185 |
/** Draw the chat message-box */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
186 |
void NetworkDrawChatMessage() |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
187 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
188 |
Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
189 |
if (!_chatmessage_dirty) return; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
190 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
191 |
/* First undraw if needed */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
192 |
NetworkUndrawChatMessage(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
193 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
194 |
if (_iconsole_mode == ICONSOLE_FULL) return; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
195 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
196 |
/* Check if we have anything to draw at all */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
197 |
uint count = GetChatMessageCount(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
198 |
if (count == 0) return; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
199 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
200 |
int x = _chatmsg_box.x; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
201 |
int y = _screen.height - _chatmsg_box.y - _chatmsg_box.height; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
202 |
int width = _chatmsg_box.width; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
203 |
int height = _chatmsg_box.height; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
204 |
if (y < 0) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
205 |
height = max(height + y, min(_chatmsg_box.height, _screen.height)); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
206 |
y = 0; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
207 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
208 |
if (x + width >= _screen.width) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
209 |
width = _screen.width - x; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
210 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
211 |
if (width <= 0 || height <= 0) return; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
212 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
213 |
assert(blitter->BufferSize(width, height) < (int)sizeof(_chatmessage_backup)); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
214 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
215 |
/* Make a copy of the screen as it is before painting (for undraw) */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
216 |
blitter->CopyToBuffer(blitter->MoveTo(_screen.dst_ptr, x, y), _chatmessage_backup, width, height); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
217 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
218 |
_cur_dpi = &_screen; // switch to _screen painting |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
219 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
220 |
/* Paint a half-transparent box behind the chat messages */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
221 |
GfxFillRect( |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
222 |
_chatmsg_box.x, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
223 |
_screen.height - _chatmsg_box.y - count * 13 - 2, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
224 |
_chatmsg_box.x + _chatmsg_box.width - 1, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
225 |
_screen.height - _chatmsg_box.y - 2, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
226 |
PALETTE_TO_TRANSPARENT, FILLRECT_RECOLOR // black, but with some alpha for background |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
227 |
); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
228 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
229 |
/* Paint the chat messages starting with the lowest at the bottom */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
230 |
for (uint y = 13; count-- != 0; y += 13) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
231 |
DoDrawString(_chatmsg_list[count].message, _chatmsg_box.x + 3, _screen.height - _chatmsg_box.y - y + 1, _chatmsg_list[count].color); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
232 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
233 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
234 |
/* Make sure the data is updated next flush */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
235 |
_video_driver->MakeDirty(x, y, width, height); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
236 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
237 |
_chatmessage_visible = true; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
238 |
_chatmessage_dirty = false; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
239 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
240 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
241 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
242 |
static void SendChat(const char *buf, DestType type, int dest) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
243 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
244 |
if (StrEmpty(buf)) return; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
245 |
if (!_network_server) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
246 |
SEND_COMMAND(PACKET_CLIENT_CHAT)((NetworkAction)(NETWORK_ACTION_CHAT + type), type, dest, buf); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
247 |
} else { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
248 |
NetworkServerSendChat((NetworkAction)(NETWORK_ACTION_CHAT + type), type, dest, buf, NETWORK_SERVER_INDEX); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
249 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
250 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
251 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
252 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
253 |
struct NetworkChatWindow : public QueryStringBaseWindow { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
254 |
DestType dtype; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
255 |
int dest; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
256 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
257 |
NetworkChatWindow (const WindowDesc *desc, DestType type, int dest) : QueryStringBaseWindow(NETWORK_CHAT_LENGTH, desc) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
258 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
259 |
this->LowerWidget(2); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
260 |
this->dtype = type; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
261 |
this->dest = dest; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
262 |
this->afilter = CS_ALPHANUMERAL; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
263 |
InitializeTextBuffer(&this->text, this->edit_str_buf, this->edit_str_size, 0); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
264 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
265 |
InvalidateWindowData(WC_NEWS_WINDOW, 0, this->height); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
266 |
SetBit(_no_scroll, SCROLL_CHAT); // do not scroll the game with the arrow-keys |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
267 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
268 |
_chat_tab_completion_active = false; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
269 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
270 |
this->FindWindowPlacementAndResize(desc); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
271 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
272 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
273 |
~NetworkChatWindow () |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
274 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
275 |
InvalidateWindowData(WC_NEWS_WINDOW, 0, 0); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
276 |
ClrBit(_no_scroll, SCROLL_CHAT); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
277 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
278 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
279 |
/** |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
280 |
* Find the next item of the list of things that can be auto-completed. |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
281 |
* @param item The current indexed item to return. This function can, and most |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
282 |
* likely will, alter item, to skip empty items in the arrays. |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
283 |
* @return Returns the char that matched to the index. |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
284 |
*/ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
285 |
const char *ChatTabCompletionNextItem(uint *item) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
286 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
287 |
static char chat_tab_temp_buffer[64]; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
288 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
289 |
/* First, try clients */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
290 |
if (*item < MAX_CLIENT_INFO) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
291 |
/* Skip inactive clients */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
292 |
while (_network_client_info[*item].client_index == NETWORK_EMPTY_INDEX && *item < MAX_CLIENT_INFO) (*item)++; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
293 |
if (*item < MAX_CLIENT_INFO) return _network_client_info[*item].client_name; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
294 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
295 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
296 |
/* Then, try townnames */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
297 |
/* Not that the following assumes all town indices are adjacent, ie no |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
298 |
* towns have been deleted. */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
299 |
if (*item <= (uint)MAX_CLIENT_INFO + GetMaxTownIndex()) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
300 |
const Town *t; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
301 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
302 |
FOR_ALL_TOWNS_FROM(t, *item - MAX_CLIENT_INFO) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
303 |
/* Get the town-name via the string-system */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
304 |
SetDParam(0, t->index); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
305 |
GetString(chat_tab_temp_buffer, STR_TOWN, lastof(chat_tab_temp_buffer)); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
306 |
return &chat_tab_temp_buffer[0]; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
307 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
308 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
309 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
310 |
return NULL; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
311 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
312 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
313 |
/** |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
314 |
* Find what text to complete. It scans for a space from the left and marks |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
315 |
* the word right from that as to complete. It also writes a \0 at the |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
316 |
* position of the space (if any). If nothing found, buf is returned. |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
317 |
*/ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
318 |
static char *ChatTabCompletionFindText(char *buf) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
319 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
320 |
char *p = strrchr(buf, ' '); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
321 |
if (p == NULL) return buf; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
322 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
323 |
*p = '\0'; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
324 |
return p + 1; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
325 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
326 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
327 |
/** |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
328 |
* See if we can auto-complete the current text of the user. |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
329 |
*/ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
330 |
void ChatTabCompletion() |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
331 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
332 |
static char _chat_tab_completion_buf[NETWORK_CHAT_LENGTH]; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
333 |
assert(this->edit_str_size == lengthof(_chat_tab_completion_buf)); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
334 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
335 |
Textbuf *tb = &this->text; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
336 |
size_t len, tb_len; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
337 |
uint item; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
338 |
char *tb_buf, *pre_buf; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
339 |
const char *cur_name; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
340 |
bool second_scan = false; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
341 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
342 |
item = 0; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
343 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
344 |
/* Copy the buffer so we can modify it without damaging the real data */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
345 |
pre_buf = (_chat_tab_completion_active) ? strdup(_chat_tab_completion_buf) : strdup(tb->buf); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
346 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
347 |
tb_buf = ChatTabCompletionFindText(pre_buf); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
348 |
tb_len = strlen(tb_buf); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
349 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
350 |
while ((cur_name = ChatTabCompletionNextItem(&item)) != NULL) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
351 |
item++; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
352 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
353 |
if (_chat_tab_completion_active) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
354 |
/* We are pressing TAB again on the same name, is there an other name |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
355 |
* that starts with this? */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
356 |
if (!second_scan) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
357 |
size_t offset; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
358 |
size_t length; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
359 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
360 |
/* If we are completing at the begin of the line, skip the ': ' we added */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
361 |
if (tb_buf == pre_buf) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
362 |
offset = 0; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
363 |
length = tb->length - 2; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
364 |
} else { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
365 |
/* Else, find the place we are completing at */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
366 |
offset = strlen(pre_buf) + 1; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
367 |
length = tb->length - offset; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
368 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
369 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
370 |
/* Compare if we have a match */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
371 |
if (strlen(cur_name) == length && strncmp(cur_name, tb->buf + offset, length) == 0) second_scan = true; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
372 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
373 |
continue; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
374 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
375 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
376 |
/* Now any match we make on _chat_tab_completion_buf after this, is perfect */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
377 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
378 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
379 |
len = strlen(cur_name); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
380 |
if (tb_len < len && strncasecmp(cur_name, tb_buf, tb_len) == 0) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
381 |
/* Save the data it was before completion */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
382 |
if (!second_scan) snprintf(_chat_tab_completion_buf, lengthof(_chat_tab_completion_buf), "%s", tb->buf); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
383 |
_chat_tab_completion_active = true; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
384 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
385 |
/* Change to the found name. Add ': ' if we are at the start of the line (pretty) */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
386 |
if (pre_buf == tb_buf) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
387 |
snprintf(tb->buf, this->edit_str_size, "%s: ", cur_name); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
388 |
} else { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
389 |
snprintf(tb->buf, this->edit_str_size, "%s %s", pre_buf, cur_name); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
390 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
391 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
392 |
/* Update the textbuffer */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
393 |
UpdateTextBufferSize(&this->text); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
394 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
395 |
this->SetDirty(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
396 |
free(pre_buf); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
397 |
return; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
398 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
399 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
400 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
401 |
if (second_scan) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
402 |
/* We walked all posibilities, and the user presses tab again.. revert to original text */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
403 |
strcpy(tb->buf, _chat_tab_completion_buf); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
404 |
_chat_tab_completion_active = false; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
405 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
406 |
/* Update the textbuffer */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
407 |
UpdateTextBufferSize(&this->text); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
408 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
409 |
this->SetDirty(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
410 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
411 |
free(pre_buf); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
412 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
413 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
414 |
virtual void OnPaint() |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
415 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
416 |
static const StringID chat_captions[] = { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
417 |
STR_NETWORK_CHAT_ALL_CAPTION, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
418 |
STR_NETWORK_CHAT_COMPANY_CAPTION, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
419 |
STR_NETWORK_CHAT_CLIENT_CAPTION |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
420 |
}; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
421 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
422 |
this->DrawWidgets(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
423 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
424 |
assert((uint)this->dtype < lengthof(chat_captions)); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
425 |
DrawStringRightAligned(this->widget[2].left - 2, this->widget[2].top + 1, chat_captions[this->dtype], TC_BLACK); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
426 |
this->DrawEditBox(2); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
427 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
428 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
429 |
virtual void OnClick(Point pt, int widget) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
430 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
431 |
switch (widget) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
432 |
case 2: |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
433 |
ShowOnScreenKeyboard(this, 2, 0, 3); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
434 |
break; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
435 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
436 |
case 3: /* Send */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
437 |
SendChat(this->text.buf, this->dtype, this->dest); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
438 |
/* FALLTHROUGH */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
439 |
case 0: /* Cancel */ delete this; break; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
440 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
441 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
442 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
443 |
virtual void OnMouseLoop() |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
444 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
445 |
this->HandleEditBox(2); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
446 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
447 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
448 |
virtual EventState OnKeyPress(uint16 key, uint16 keycode) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
449 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
450 |
EventState state = ES_NOT_HANDLED; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
451 |
if (keycode == WKC_TAB) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
452 |
ChatTabCompletion(); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
453 |
} else { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
454 |
_chat_tab_completion_active = false; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
455 |
switch (this->HandleEditBoxKey(2, key, keycode, state)) { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
456 |
case 1: /* Return */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
457 |
SendChat(this->text.buf, this->dtype, this->dest); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
458 |
/* FALLTHROUGH */ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
459 |
case 2: /* Escape */ delete this; break; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
460 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
461 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
462 |
return state; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
463 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
464 |
}; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
465 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
466 |
static const Widget _chat_window_widgets[] = { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
467 |
{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
468 |
{ WWT_PANEL, RESIZE_RIGHT, COLOUR_GREY, 11, 319, 0, 13, 0x0, STR_NULL}, // background |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
469 |
{ WWT_EDITBOX, RESIZE_RIGHT, COLOUR_GREY, 75, 257, 1, 12, STR_NETWORK_CHAT_OSKTITLE, STR_NULL}, // text box |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
470 |
{ WWT_PUSHTXTBTN, RESIZE_LR, COLOUR_GREY, 258, 319, 1, 12, STR_NETWORK_SEND, STR_NULL}, // send button |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
471 |
{ WIDGETS_END}, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
472 |
}; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
473 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
474 |
static const WindowDesc _chat_window_desc = { |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
475 |
WDP_CENTER, -26, 320, 14, 640, 14, // x, y, width, height |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
476 |
WC_SEND_NETWORK_MSG, WC_NONE, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
477 |
WDF_STD_TOOLTIPS | WDF_DEF_WIDGET, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
478 |
_chat_window_widgets, |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
479 |
}; |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
480 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
481 |
void ShowNetworkChatQueryWindow(DestType type, int dest) |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
482 |
{ |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
483 |
DeleteWindowById(WC_SEND_NETWORK_MSG, 0); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
484 |
new NetworkChatWindow (&_chat_window_desc, type, dest); |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
485 |
} |
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
486 |
|
75347c78b276
(svn r14047) -Codechange: move chatmessage handling to the network directory as that's the only case chat messages are used. Furthermore remove any trace of chatmessages when compiling without network support.
rubidium
parents:
diff
changeset
|
487 |
#endif /* ENABLE_NETWORK */ |