ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/cf.schmorp.de/dclient/src/backend/communicator/message_logger.cpp
Revision: 1.3
Committed: Mon Oct 18 16:38:01 2010 UTC (15 years, 11 months ago) by sf-pippijn
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +7 -4 lines
Log Message:
support msg colours

File Contents

# Content
1 #include "deliantra/message_logger.h"
2
3 #include "deliantra/data/fx.h"
4 #include "deliantra/data/item.h"
5
6 #include <json/json.h>
7
8 template<typename T, typename C>
9 static std::vector<T>
10 vector (C const &c)
11 {
12 return std::vector<T> (c.begin (), c.end ());
13 }
14
15 template<typename T>
16 static logstream const &
17 operator , (logstream const &os, T const &v)
18 {
19 return os << ',' << v;
20 }
21
22 template<typename T>
23 logstream const &
24 operator << (logstream const &os, std::vector<T> const &v)
25 {
26 os << '[';
27 for (auto it = v.begin (), et = v.end (); it != et; ++it)
28 {
29 os << *it;
30 if (it + 1 != et)
31 os << ',';
32 }
33 os << ']';
34 return os;
35 }
36
37 static logstream const &
38 operator << (logstream const &os, data::fx const &fx)
39 {
40 os << "\n fx{";
41 os << fx.type
42 , fx.facenum
43 , vector<int> (vector<unsigned char> (fx.name))
44 ;
45 os << '}';
46 return os;
47 }
48
49 static logstream const &
50 operator << (logstream const &os, data::item const &item)
51 {
52 os << "\n item{";
53 os << item.singular
54 , item.plural
55 , item.tag
56 , item.flags
57 , item.weight
58 , item.face
59 , item.nrof
60 , item.anim
61 , item.type
62 , int (item.animspeed)
63 ;
64 os << '}';
65 return os;
66 }
67
68 template<typename K, typename V>
69 static logstream const &
70 operator << (logstream const &os, std::pair<K, V> const &pair)
71 {
72 os << "\n pair{";
73 os << pair.first
74 , pair.second
75 ;
76 os << '}';
77 return os;
78 }
79
80 void
81 message_logger::addme_success ()
82 {
83 LOG ("server") << __func__ << "\n";
84 }
85
86 void
87 message_logger::addspell ()
88 {
89 LOG ("server") << __func__ << "\n";
90 }
91
92 void
93 message_logger::delinv (u32 tag)
94 {
95 LOG ("server") << __func__ << " (" << tag << ")\n";
96 }
97
98 void
99 message_logger::delitem (std::vector<u32> const &items)
100 {
101 LOG ("server") << __func__ << " (" << items << ")\n";
102 }
103
104 void
105 message_logger::drawinfo (int level, std::string const &msg)
106 {
107 auto const &logs = LOG;
108 logs ("server") << __func__ << " (";
109 logs << level, msg;
110 logs << ")\n";
111 }
112
113 void
114 message_logger::ext (Json::Value const &ext)
115 {
116 LOG ("server") << __func__ << " (" << ext << ")\n";
117 }
118
119 void
120 message_logger::fx (std::vector<data::fx> const &faces)
121 {
122 LOG ("server") << __func__ << " (" << faces << ")\n";
123 }
124
125 void
126 message_logger::item2 (u32 location, std::vector<data::item> const &items)
127 {
128 auto const &logs = LOG;
129 logs ("server") << __func__ << " (";
130 logs << location, items;
131 logs << ")\n";
132 }
133
134 void
135 message_logger::map (data::map const &map)
136 {
137 //LOG ("server") << __func__ << "\n";
138 }
139
140 void
141 message_logger::map_scroll (int dx, int dy)
142 {
143 auto const &logs = LOG;
144 logs ("server") << __func__ << " (";
145 logs << dx, dx;
146 logs << ")\n";
147 }
148
149 void
150 message_logger::msg (int level, std::string const &channel, std::string const &msg)
151 {
152 auto const &logs = LOG;
153 logs ("server") << __func__ << " (";
154 logs << level, channel, msg;
155 logs << ")\n";
156 }
157
158 void
159 message_logger::player (u32 tag, u32 weight, u32 face, std::string const &name)
160 {
161 auto const &logs = LOG;
162 logs ("server") << __func__ << " (";
163 logs << tag, weight, face, name;
164 logs << ")\n";
165 }
166
167 void
168 message_logger::replyinfo (std::string const &title, std::vector<std::pair<int, std::string>> const &info)
169 {
170 auto const &logs = LOG;
171 logs ("server") << __func__ << " (";
172 logs << title, info;
173 logs << ")\n";
174 }
175
176 void
177 message_logger::query (int flags, std::string const &prompt)
178 {
179 auto const &logs = LOG;
180 logs ("server") << __func__ << " (";
181 logs << flags, prompt;
182 logs << ")\n";
183 }
184
185 void
186 message_logger::stats (data::statistics const &stats)
187 {
188 LOG ("server") << __func__ << "\n";
189 }
190
191 void
192 message_logger::upditem (u08 flags, u32 location, data::item const &item)
193 {
194 auto const &logs = LOG;
195 logs ("server") << __func__ << " (";
196 logs << int (flags), location, item;
197 logs << ")\n";
198 }
199
200 void
201 message_logger::version (Json::Value const &server_version)
202 {
203 LOG ("server") << __func__ << " (" << server_version << ")\n";
204 }