Fix bone-attached entities (#10015)
[oweals/minetest.git] / src / chatmessage.h
1 /*
2 Minetest
3 Copyright (C) 2017 nerzhul, Loic Blot <loic.blot@unix-experience.fr>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation; either version 2.1 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #pragma once
21
22 #include <string>
23 #include <ctime>
24
25 enum ChatMessageType
26 {
27         CHATMESSAGE_TYPE_RAW = 0,
28         CHATMESSAGE_TYPE_NORMAL = 1,
29         CHATMESSAGE_TYPE_ANNOUNCE = 2,
30         CHATMESSAGE_TYPE_SYSTEM = 3,
31         CHATMESSAGE_TYPE_MAX = 4,
32 };
33
34 struct ChatMessage
35 {
36         ChatMessage(const std::wstring &m = L"") : message(m) {}
37
38         ChatMessage(ChatMessageType t, const std::wstring &m, const std::wstring &s = L"",
39                         std::time_t ts = std::time(0)) :
40                         type(t),
41                         message(m), sender(s), timestamp(ts)
42         {
43         }
44
45         ChatMessageType type = CHATMESSAGE_TYPE_RAW;
46         std::wstring message = L"";
47         std::wstring sender = L"";
48         std::time_t timestamp = std::time(0);
49 };