mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Chat protocol rewrite (#5117)
* New TOCLIENT_CHAT_MESSAGE packet * Rename old packet to TOCLIENT_CHAT_MESSAGE_OLD for compat * Handle TOCLIENT_CHAT_MESSAGE new structure client side * Client chat queue should use a specific object * SendChatMessage: use the right packet depending on protocol version (not complete yet) * Add chatmessage(type) objects and handle them client side (partially) * Use ChatMessage instead of std::wstring server side * Update with timestamp support
This commit is contained in:
parent
ecbc972ea6
commit
7ddf67aa14
16 changed files with 251 additions and 51 deletions
10
src/client.h
10
src/client.h
|
@ -43,6 +43,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#define CLIENT_CHAT_MESSAGE_LIMIT_PER_10S 10.0f
|
||||
|
||||
struct MeshMakeData;
|
||||
struct ChatMessage;
|
||||
class MapBlockMesh;
|
||||
class IWritableTextureSource;
|
||||
class IWritableShaderSource;
|
||||
|
@ -328,7 +329,8 @@ public:
|
|||
void handleCommand_BlockData(NetworkPacket* pkt);
|
||||
void handleCommand_Inventory(NetworkPacket* pkt);
|
||||
void handleCommand_TimeOfDay(NetworkPacket* pkt);
|
||||
void handleCommand_ChatMessage(NetworkPacket* pkt);
|
||||
void handleCommand_ChatMessageOld(NetworkPacket *pkt);
|
||||
void handleCommand_ChatMessage(NetworkPacket *pkt);
|
||||
void handleCommand_ActiveObjectRemoveAdd(NetworkPacket* pkt);
|
||||
void handleCommand_ActiveObjectMessages(NetworkPacket* pkt);
|
||||
void handleCommand_Movement(NetworkPacket* pkt);
|
||||
|
@ -520,9 +522,9 @@ public:
|
|||
|
||||
void makeScreenshot();
|
||||
|
||||
inline void pushToChatQueue(const std::wstring &input)
|
||||
inline void pushToChatQueue(ChatMessage *cec)
|
||||
{
|
||||
m_chat_queue.push(input);
|
||||
m_chat_queue.push(cec);
|
||||
}
|
||||
|
||||
ClientScripting *getScript() { return m_script; }
|
||||
|
@ -629,10 +631,10 @@ private:
|
|||
// 0 <= m_daynight_i < DAYNIGHT_CACHE_COUNT
|
||||
//s32 m_daynight_i;
|
||||
//u32 m_daynight_ratio;
|
||||
std::queue<std::wstring> m_chat_queue;
|
||||
std::queue<std::wstring> m_out_chat_queue;
|
||||
u32 m_last_chat_message_sent;
|
||||
float m_chat_message_allowance = 5.0f;
|
||||
std::queue<ChatMessage *> m_chat_queue;
|
||||
|
||||
// The authentication methods we can use to enter sudo mode (=change password)
|
||||
u32 m_sudo_auth_methods;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue