SEGS  0.4.2
Super Entity Game Server
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MapEvents.h
Go to the documentation of this file.
1 /*
2  * SEGS - Super Entity Game Server
3  * http://www.segs.io/
4  * Copyright (c) 2006 - 2018 SEGS Team (see Authors.txt)
5  * This software is licensed! (See License.txt for details)
6  */
7 
8 #pragma once
9 #include "Events/MapEventTypes.h"
10 #include "LinkLevelEvent.h"
11 #include "BitStream.h"
12 #include "CRUD_Link.h"
13 #include "CRUD_Events.h"
14 #include "MapLink.h"
15 
16 #include <glm/vec3.hpp>
17 #include <QtCore/QString>
18 #include <QtCore/QDebug>
19 
20 class Entity;
21 typedef CRUDLink_Event MapLinkEvent; //<MapLink>
22 
24 // Client -> Server
25 #include "Events/NewEntity.h"
26 
27 class MapUnknownRequest final : public MapLinkEvent
28 {
29 public:
31  {
32  }
33  void serializeto(BitStream &) const override
34  {
35  }
36  void serializefrom(BitStream &) override
37  {
38  }
39 };
40 
41 class ShortcutsRequest final : public MapLinkEvent
42 {
43 public:
45  {}
46  void serializeto(BitStream &bs) const override
47  {
48  bs.StorePackedBits(1,4); // opcode
49  }
50  void serializefrom(BitStream &) override
51  {
52  }
53 };
54 
55 class SceneRequest final : public MapLinkEvent
56 {
57 public:
59  {}
60  void serializeto(BitStream &bs) const override
61  {
62  bs.StorePackedBits(1,3); // opcode
63  }
64  void serializefrom(BitStream &) override
65  {
66  }
67 };
68 
69 class EntitiesRequest final : public MapLinkEvent
70 {
71 public:
73  {}
74  void serializeto(BitStream &bs) const override
75  {
76  bs.StorePackedBits(1,5); // opcode
77  }
78  void serializefrom(BitStream &) override
79  {
80  }
81 };
82 
83 class ClientQuit final : public MapLinkEvent
84 {
85 public:
88  {}
89  void serializeto(BitStream &bs) const override
90  {
91  bs.StorePackedBits(1,7); // opcode
93  }
94  void serializefrom(BitStream &bs) override
95  {
97  // TODO: try to differentiate between quit/logout ?
98  }
99 
100 };
101 
102 class ForcedLogout final : public MapLinkEvent
103 {
104 public:
105  QString reason;
106  ForcedLogout(const QString &_reason) :MapLinkEvent(MapEventTypes::evForceLogout),reason(_reason)
107  {}
108  void serializeto(BitStream &bs) const override
109  {
110  bs.StorePackedBits(1,12); // opcode
111  bs.StoreString(reason); // opcode
112  }
113  void serializefrom(BitStream &bs) override
114  {
115  bs.GetString(reason);
116  }
117 };
118 
119 class CookieRequest final : public MapLinkEvent
120 {
121 public:
122  uint32_t cookie;
123  uint32_t console;
125  {}
126  void serializeto(BitStream &bs) const override
127  {
128  bs.StorePackedBits(1,6); // opcode
129  }
130  void serializefrom(BitStream &bs) override
131  {
132  cookie = bs.GetPackedBits(1);
133  console = bs.GetPackedBits(1);
134  }
135 };
136 
137 class ConsoleCommand final : public MapLinkEvent
138 {
139 public:
140  QString contents;
142  {}
143  void serializeto(BitStream &bs) const
144  {
145  bs.StorePackedBits(1,0); // opcode - Warning -> exactly the same as Connect
146  }
148  {
149  bs.GetString(contents);
150  }
151 };
152 
154 {
155 public:
156  ClientResumedRendering():MapLinkEvent(MapEventTypes::evClientResumedRendering)
157  {}
158  void serializeto(BitStream &bs) const
159  {
160  bs.StorePackedBits(1,4);
161  }
162  void serializefrom(BitStream &/*bs*/)
163  {
164 // Parameterless - serializefrom is no-op
165  }
166 };
167 
168 class MiniMapState final : public MapLinkEvent
169 {
170 public:
171  uint32_t tile_idx=0;
173  {}
174  void serializeto(BitStream &bs) const
175  {
176  bs.StorePackedBits(1,1); // opcode - Warning -> exactly the same as Connect
177  }
179  {
180  tile_idx=bs.GetPackedBits(8);
181  }
182 
183 };
184 
185 class CombineRequest final : public MapLinkEvent
186 {
187 public:
188  struct PowerEntry
189  {
192  int index;
193  };
197  {}
198  void serializeto(BitStream &bs) const
199  {
200  bs.StorePackedBits(1,40); // opcode
201  assert(false); // since we will not send CombineRequest to anyone :)
202  }
203  // now to make this useful ;)
204 
206  {
207  // first bit tells us if we have full/partial?? data
208  // here we can do a small refactoring, because in both branches of if/else, the last set value is index.
209  if(bs.GetBits(1))
210  {
211  entry.powerset_array_index = bs.GetPackedBits(1);
212  entry.powerset_index = bs.GetPackedBits(1);
213  }
214  entry.index = bs.GetPackedBits(1);
215  }
217  {
220  }
221 };
222 
223 #include "Events/InputState.h"
224 #include "Events/ChatMessage.h"
225 #include "Events/WindowState.h"
227 // Server -> Client events
228 class MapInstanceConnected final : public MapLinkEvent
229 {
230 public:
232  {}
233  MapInstanceConnected(EventProcessor *evsrc,uint32_t resp,const QString &err) :
234  MapLinkEvent(MapEventTypes::evMapInstanceConnected,evsrc),
235  m_resp(resp),
236  m_fatal_error(err)
237  {}
238 
239  void serializeto(BitStream &bs) const
240  {
241  bs.StorePackedBits(1,5); //opcode
242  bs.StorePackedBits(1,m_resp);
243  if(m_resp)
245  }
247  {
248  m_resp = src.GetPackedBits(1);
249  if(m_resp==0)
251  }
252  uint32_t m_resp;
253  QString m_fatal_error;
254 
255 };
256 
257 class InspirationDockMode final : public MapLinkEvent
258 {
259 public:
260  uint32_t dock_mode = 0;
262  {}
263  void serializeto(BitStream &bs) const
264  {
265  bs.StorePackedBits(1,17);
266  bs.StoreBits(32,dock_mode);
267  }
269  {
270  dock_mode = bs.GetBits(32);
271  }
272 };
273 
274 class EnterDoor final : public MapLinkEvent
275 {
276 public:
278  glm::vec3 location;
279  QString name;
281  {}
282  void serializeto(BitStream &bs) const
283  {
284  bs.StorePackedBits(1,9);
285  }
287  {
290  {
291  location.x = bs.GetFloat();
292  location.y = bs.GetFloat();
293  location.z = bs.GetFloat();
294  }
295  bs.GetString(name);
296  }
297 };
298 
299 class ChangeStance final : public MapLinkEvent
300 {
301 public:
306  {}
307  void serializeto(BitStream &bs) const
308  {
309  bs.StorePackedBits(1,36);
310  }
312  {
313  enter_stance = bs.GetBits(1);
314  if(!enter_stance)
315  return;
318  }
319 
320 };
321 
322 class SetDestination final : public MapLinkEvent
323 {
324 public:
325  glm::vec3 destination;
328  {}
329  void serializeto(BitStream &bs) const
330  {
331  bs.StorePackedBits(1,11);
332  bs.StoreFloat(destination.x);
333  bs.StoreFloat(destination.y);
334  bs.StoreFloat(destination.z);
336  }
338  {
339  destination.x = bs.GetFloat();
340  destination.y = bs.GetFloat();
341  destination.z = bs.GetFloat();
342  point_index = bs.GetPackedBits(1);
343  }
344 };
345 
346 class ActivateInspiration final : public MapLinkEvent
347 {
348 public:
349  int slot_idx;
350  int row_idx;
352  {}
353  void serializeto(BitStream &bs) const override
354  {
355  bs.StorePackedBits(1,29);
357  bs.StorePackedBits(3,row_idx);
358  }
359  void serializefrom(BitStream &bs) override
360  {
361  slot_idx = bs.GetPackedBits(3);
362  row_idx = bs.GetPackedBits(3);
363  }
364 };
365 
366 class SetDefaultPowerSend final : public MapLinkEvent
367 {
368 public:
372  {}
373  void serializeto(BitStream &bs) const
374  {
375  bs.StorePackedBits(1,30);
376  }
378  {
379  powerset_idx = bs.GetPackedBits(4);
380  power_idx = bs.GetPackedBits(4);
381  }
382 };
383 
384 class SetDefaultPower final : public MapLinkEvent
385 {
386 public:
388  {}
389  void serializeto(BitStream &bs) const
390  {
391  bs.StorePackedBits(1,31);
392  }
393  void serializefrom(BitStream &/*bs*/)
394  {
395  // TODO: Seems like nothing is received server side.
396  qWarning() << "SetDefaultPower unimplemented.";
397  }
398 };
399 
400 class UnqueueAll final : public MapLinkEvent
401 {
402 public:
404  {}
405  void serializeto(BitStream &bs) const
406  {
407  bs.StorePackedBits(1,32);
408  }
409  void serializefrom(BitStream &/*bs*/)
410  {
411  // TODO: Seems like nothing is received server side.
412  qWarning() << "UnqueueAll unimplemented.";
413  }
414 };
415 
416 class AbortQueuedPower final : public MapLinkEvent
417 {
418 public:
420  {}
421  void serializeto(BitStream &bs) const
422  {
423  bs.StorePackedBits(1,33);
424  }
425  void serializefrom(BitStream &/*bs*/)
426  {
427 // Parameterless - serializefrom is no-op
428  }
429 };
430 
432 {
433 public:
434  QString description;
435  QString battlecry;
436  DescriptionAndBattleCry():MapLinkEvent(MapEventTypes::evDescriptionAndBattleCry)
437  {}
438  void serializeto(BitStream &bs) const
439  {
440  bs.StorePackedBits(1,67);
441  }
443  {
445  bs.GetString(battlecry);
446  }
447 };
448 
449 class SwitchViewPoint final : public MapLinkEvent
450 {
451 public:
454  {}
455  void serializeto(BitStream &bs) const
456  {
457  bs.StorePackedBits(1,64);
458  }
460  {
462  }
463 };
464 
466 {
467 public:
468  uint8_t m_chat_type;
469  TargetChatChannelSelected():MapLinkEvent(MapEventTypes::evTargetChatChannelSelected)
470  {}
471  void serializeto(BitStream &bs) const
472  {
473  bs.StorePackedBits(1,37);
474  }
476  {
477  m_chat_type = bs.GetPackedBits(1);
478  }
479 };
480 
481 class ChatReconfigure final : public MapLinkEvent
482 {
483 public:
487  {}
488  void serializeto(BitStream &bs) const
489  {
490  bs.StorePackedBits(1,38);
491  }
493  {
496  }
497 };
498 
499 class PowersDockMode final : public MapLinkEvent
500 {
501 public:
503 
505  {}
506  void serializeto(BitStream &bs) const
507  {
508  bs.StorePackedBits(1,18);
510  }
512  {
514  }
515 };
516 
517 class SwitchTray final : public MapLinkEvent
518 {
519 public:
520  uint32_t tray1_num = 0;
521  uint32_t tray2_num = 0;
522  uint32_t tray_unk1 = 0;
524  {}
525  void serializeto(BitStream &bs) const
526  {
527  bs.StorePackedBits(1,8);
528  bs.StorePackedBits(32,tray1_num);
529  bs.StorePackedBits(32,tray2_num);
530  bs.StoreBits(1,tray_unk1);
531  }
533  {
534  tray1_num = bs.GetPackedBits(32); // Appears to correlate to Tray1's #
535  tray2_num = bs.GetPackedBits(32); // Appears to correlate to Tray2's #
536  tray_unk1 = bs.GetBits(1); // TODO: Unused bits!?
537  // TODO: "Console command received " blank 40 times?
538  }
539 };
540 
541 class SetKeybind final : public MapLinkEvent
542 {
543 public:
544  QString profile;
546  uint8_t key;
547  uint32_t mods;
548  QString command;
550 
552  {}
553  void serializeto(BitStream &bs) const
554  {
555  bs.StorePackedBits(1,19);
556  }
558  {
559  bs.GetString(profile); // Profile Name
560  qDebug() << profile;
561  key_and_secondary = bs.GetBits(32); // Key & Secondary Binding
562 
563  key = key_and_secondary &0xFF;
564  is_secondary = (key_and_secondary & 0xF00)==0xF00;
565 
566  mods = bs.GetBits(32); // Mods
567  bs.GetString(command); // Command
568  }
569 };
570 
571 class RemoveKeybind final : public MapLinkEvent
572 {
573 public:
574  QString profile;
575  uint32_t key;
576  uint32_t mods;
578  {}
579  void serializeto(BitStream &bs) const
580  {
581  bs.StorePackedBits(1,20);
582  }
584  {
585  bs.GetString(profile); // Profile Name
586  key = bs.GetBits(32); // Key
587  mods = bs.GetBits(32); // Mods
588  }
589 };
590 
591 class ResetKeybinds final : public MapLinkEvent
592 {
593 public:
595  {}
596  void serializeto(BitStream &bs) const
597  {
598  bs.StorePackedBits(1,21);
599  }
600  void serializefrom(BitStream &/*bs*/)
601  {
602  // TODO: Seems like nothing is received server side.
603  }
604 };
605 
606 class SelectKeybindProfile final : public MapLinkEvent
607 {
608 public:
609  QString profile;
611  {}
612  void serializeto(BitStream &bs) const
613  {
614  bs.StorePackedBits(1,22);
615  }
617  {
618  bs.GetString(profile); // Keybind Profile Name
619  }
620 };
621 
622 #include "Events/ChatDividerMoved.h"
623 #include "Events/EntitiesResponse.h"
625 #include "Events/GameCommandList.h"
626 #include "Events/LocationVisited.h"
627 #include "Events/PlaqueVisited.h"
628 #include "Events/PlayerInfo.h"
630 #include "Events/SceneEvent.h"
631 #include "Events/Shortcuts.h"
632 #include "Events/SidekickOffer.h"
633 #include "Events/TeamLooking.h"
634 #include "Events/TeamOffer.h"
void serializeto(BitStream &bs) const override
Definition: MapEvents.h:74
ConsoleCommand()
Definition: MapEvents.h:141
Definition: MapEvents.h:137
MapInstanceConnected()
Definition: MapEvents.h:231
CombineRequest()
Definition: MapEvents.h:196
void StoreBits(uint32_t nBits, uint32_t dataBits)
Definition: BitStream.cpp:114
void serializefrom(BitStream &bs)
Definition: MapEvents.h:459
uint32_t m_resp
Definition: MapEvents.h:252
int powerset_index
Definition: MapEvents.h:303
uint32_t key
Definition: MapEvents.h:575
int m_chat_top_flags
Definition: MapEvents.h:484
void serializeto(BitStream &bs) const
Definition: MapEvents.h:506
uint32_t mods
Definition: MapEvents.h:576
Definition: MapEvents.h:465
Definition: MapEvents.h:416
ClientQuit()
Definition: MapEvents.h:87
uint32_t dock_mode
Definition: MapEvents.h:260
ClientResumedRendering()
Definition: MapEvents.h:156
uint32_t key_and_secondary
Definition: MapEvents.h:545
Definition: MapEvents.h:41
void serializeto(BitStream &bs) const
Definition: MapEvents.h:282
ResetKeybinds()
Definition: MapEvents.h:594
SetKeybind()
Definition: MapEvents.h:551
bool new_viewpoint_is_firstperson
Definition: MapEvents.h:452
int power_idx
Definition: MapEvents.h:370
SetDefaultPower()
Definition: MapEvents.h:387
MapInstanceConnected(EventProcessor *evsrc, uint32_t resp, const QString &err)
Definition: MapEvents.h:233
MapUnknownRequest()
Definition: MapEvents.h:30
void serializeto(BitStream &bs) const override
Definition: MapEvents.h:89
Definition: MapEvents.h:400
int32_t GetPackedBits(uint32_t minbits)
Definition: BitStream.cpp:285
int abort_disconnect
Definition: MapEvents.h:86
void serializefrom(BitStream &bs) override
Definition: MapEvents.h:94
void serializefrom(BitStream &bs)
Definition: MapEvents.h:475
int powerset_idx
Definition: MapEvents.h:369
int m_chat_bottom_flags
Definition: MapEvents.h:485
void serializeto(BitStream &bs) const
Definition: MapEvents.h:389
void serializeto(BitStream &bs) const
Definition: MapEvents.h:579
Definition: BitStream.h:30
uint32_t tray1_num
Definition: MapEvents.h:520
QString command
Definition: MapEvents.h:548
void serializeto(BitStream &bs) const override
Definition: MapEvents.h:108
void serializefrom(BitStream &bs)
Definition: MapEvents.h:377
void serializeto(BitStream &bs) const override
Definition: MapEvents.h:353
Definition: MapEvents.h:102
void serializeto(BitStream &bs) const override
Definition: MapEvents.h:60
int point_index
Definition: MapEvents.h:326
Definition: MapEvents.h:541
void serializefrom(BitStream &bs)
Definition: MapEvents.h:442
void serializefrom(BitStream &bs)
Definition: MapEvents.h:337
bool is_secondary
Definition: MapEvents.h:549
void serializefrom(BitStream &) override
Definition: MapEvents.h:36
void serializeto(BitStream &) const override
Definition: MapEvents.h:33
ActivateInspiration()
Definition: MapEvents.h:351
int powerset_index
Definition: MapEvents.h:191
TargetChatChannelSelected()
Definition: MapEvents.h:469
int index
Definition: MapEvents.h:192
uint8_t m_chat_type
Definition: MapEvents.h:468
QString description
Definition: MapEvents.h:434
glm::vec3 location
Definition: MapEvents.h:278
MiniMapState()
Definition: MapEvents.h:172
void StorePackedBits(uint32_t nBits, uint32_t dataBits)
Definition: BitStream.cpp:161
ChangeStance()
Definition: MapEvents.h:305
void serializeto(BitStream &bs) const
Definition: MapEvents.h:198
void serializeto(BitStream &bs) const
Definition: MapEvents.h:612
EntitiesRequest()
Definition: MapEvents.h:72
Definition: MapEvents.h:449
Definition: MapEvents.h:591
Definition: MapEvents.h:274
Definition: MapEvents.h:83
bool enter_stance
Definition: MapEvents.h:302
uint32_t tray2_num
Definition: MapEvents.h:521
int32_t GetBits(uint32_t nBits)
Definition: BitStream.cpp:257
Definition: MapEvents.h:517
EnterDoor()
Definition: MapEvents.h:280
void serializefrom(BitStream &bs) override
Definition: MapEvents.h:359
Definition: MapEvents.h:168
void serializeto(BitStream &bs) const
Definition: MapEvents.h:329
ForcedLogout(const QString &_reason)
Definition: MapEvents.h:106
PowerEntry second_power
Definition: MapEvents.h:195
void serializeto(BitStream &bs) const
Definition: MapEvents.h:455
void serializeto(BitStream &bs) const
Definition: MapEvents.h:421
Definition: MapEvents.h:257
void StoreString(const char *str)
Definition: BitStream.cpp:204
Definition: MapEvents.h:119
PowerEntry first_power
Definition: MapEvents.h:194
uint32_t tray_unk1
Definition: MapEvents.h:522
Definition: MapEvents.h:153
Definition: MapEvents.h:228
void serializefrom(BitStream &)
Definition: MapEvents.h:600
void serializeto(BitStream &bs) const
Definition: MapEvents.h:438
QString reason
Definition: MapEvents.h:105
PowersDockMode()
Definition: MapEvents.h:504
Definition: Entity.h:221
QString profile
Definition: MapEvents.h:544
void serializefrom(BitStream &bs)
Definition: MapEvents.h:311
void serializefrom(BitStream &) override
Definition: MapEvents.h:50
ShortcutsRequest()
Definition: MapEvents.h:44
Definition: MapEvents.h:55
Definition: MapEvents.h:185
void serializefrom(BitStream &bs)
Definition: MapEvents.h:583
Definition: MapEvents.h:299
void serializeto(BitStream &bs) const
Definition: MapEvents.h:596
void serializefrom(BitStream &bs)
Definition: MapEvents.h:178
void serializeto(BitStream &bs) const
Definition: MapEvents.h:263
uint32_t tile_idx
Definition: MapEvents.h:171
AbortQueuedPower()
Definition: MapEvents.h:419
Definition: MapEvents.h:499
Definition: MapEvents.h:346
void serializeto(BitStream &bs) const
Definition: MapEvents.h:553
CookieRequest()
Definition: MapEvents.h:124
CRUDLink_Event MapLinkEvent
Definition: EntitiesResponse.h:16
void GetString(QString &str)
Retrieves a null-terminated C-style string from the bit stream.
Definition: BitStream.cpp:326
SceneRequest()
Definition: MapEvents.h:58
Definition: MapEvents.h:384
void serializefrom(BitStream &bs)
Definition: MapEvents.h:147
Definition: MapEvents.h:606
void serializeto(BitStream &bs) const
Definition: MapEvents.h:174
QString name
Definition: MapEvents.h:279
Definition: MapEvents.h:322
void serializefrom(BitStream &bs) override
Definition: MapEvents.h:113
int powerset_array_index
Definition: MapEvents.h:190
DescriptionAndBattleCry()
Definition: MapEvents.h:436
void serializeto(BitStream &bs) const
Definition: MapEvents.h:471
void serializeto(BitStream &bs) const
Definition: MapEvents.h:405
SelectKeybindProfile()
Definition: MapEvents.h:610
QString battlecry
Definition: MapEvents.h:435
SetDefaultPowerSend()
Definition: MapEvents.h:371
void serializefrom(BitStream &) override
Definition: MapEvents.h:78
void serializefrom(BitStream &bs)
Definition: MapEvents.h:557
void serializefrom(BitStream &bs)
Definition: MapEvents.h:616
bool unspecified_location
Definition: MapEvents.h:277
void getPowerForCombinde(BitStream &bs, PowerEntry &entry)
Definition: MapEvents.h:205
int slot_idx
Definition: MapEvents.h:349
Definition: MapEvents.h:27
Definition: MapEvents.h:188
void serializeto(BitStream &bs) const
Definition: MapEvents.h:158
SwitchViewPoint()
Definition: MapEvents.h:453
glm::vec3 destination
Definition: MapEvents.h:325
void serializefrom(BitStream &bs)
Definition: MapEvents.h:268
InspirationDockMode()
Definition: MapEvents.h:261
void serializefrom(BitStream &)
Definition: MapEvents.h:425
void serializeto(BitStream &bs) const
Definition: MapEvents.h:525
void serializeto(BitStream &bs) const
Definition: MapEvents.h:307
void serializefrom(BitStream &)
Definition: MapEvents.h:393
void serializefrom(BitStream &bs)
Definition: MapEvents.h:532
UnqueueAll()
Definition: MapEvents.h:403
QString profile
Definition: MapEvents.h:574
QString profile
Definition: MapEvents.h:609
Definition: EventProcessor.h:13
uint32_t console
Definition: MapEvents.h:123
void serializefrom(BitStream &bs) override
Definition: MapEvents.h:130
Definition: MapEvents.h:431
void serializefrom(BitStream &bs)
Definition: MapEvents.h:216
void serializeto(BitStream &bs) const override
Definition: MapEvents.h:46
void serializefrom(BitStream &src)
Definition: MapEvents.h:246
QString contents
Definition: MapEvents.h:140
Definition: MapEvents.h:481
void serializefrom(BitStream &)
Definition: MapEvents.h:409
Definition: MapEvents.h:69
uint32_t mods
Definition: MapEvents.h:547
void serializeto(BitStream &bs) const
Definition: MapEvents.h:488
SetDestination()
Definition: MapEvents.h:327
RemoveKeybind()
Definition: MapEvents.h:577
Definition: MapEvents.h:366
uint32_t cookie
Definition: MapEvents.h:122
Definition: MapEventTypes.h:11
void StoreFloat(float val)
Definition: BitStream.cpp:393
void serializeto(BitStream &bs) const
Definition: MapEvents.h:143
uint8_t key
Definition: MapEvents.h:546
float GetFloat()
Definition: BitStream.cpp:380
EventProcessor * src() const
Definition: SEGSEvent.h:62
void serializefrom(BitStream &) override
Definition: MapEvents.h:64
void serializefrom(BitStream &bs)
Definition: MapEvents.h:511
QString m_fatal_error
Definition: MapEvents.h:253
int row_idx
Definition: MapEvents.h:350
void serializeto(BitStream &bs) const
Definition: MapEvents.h:373
bool toggle_secondary_tray
Definition: MapEvents.h:502
int power_index
Definition: MapEvents.h:304
void serializefrom(BitStream &)
Definition: MapEvents.h:162
SwitchTray()
Definition: MapEvents.h:523
void serializeto(BitStream &bs) const override
Definition: MapEvents.h:126
Definition: MapEvents.h:571
ChatReconfigure()
Definition: MapEvents.h:486
void serializeto(BitStream &bs) const
Definition: MapEvents.h:239
void serializefrom(BitStream &bs)
Definition: MapEvents.h:286
void serializefrom(BitStream &bs)
Definition: MapEvents.h:492