• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • libtdegames
 

libtdegames

  • libtdegames
  • kgame
kgamemessage.cpp
1/*
2 This file is part of the TDE games library
3 Copyright (C) 2001 Martin Heni (martin@heni-online.de)
4 Copyright (C) 2001 Andreas Beckermann (b_mann@gmx.de)
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License version 2 as published by the Free Software Foundation.
9
10 This library 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 GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20/*
21 $Id$
22*/
23
24#include "kgamemessage.h"
25
26#include <tdelocale.h>
27
28#define MESSAGE_VERSION 2
29
30TQ_UINT32 KGameMessage::createPlayerId(int oldplayerid,TQ_UINT32 gameid)
31{
32 int p;
33 p = oldplayerid & 0x3ff; // remove game id
34 p |= (gameid << 10);
35 return p;
36}
37
38int KGameMessage::rawPlayerId(TQ_UINT32 playerid)
39{
40 return playerid & 0x03ff;
41}
42
43TQ_UINT32 KGameMessage::rawGameId(TQ_UINT32 playerid)
44{
45 return (playerid & 0xfc00) >> 10;
46}
47
48bool KGameMessage::isPlayer(TQ_UINT32 msgid)
49{
50 if (msgid & 0xfc00) {
51 return true;
52 } else {
53 return false;
54 }
55}
56
57bool KGameMessage::isGame(TQ_UINT32 msgid)
58{
59 return !isPlayer(msgid);
60}
61
62
63void KGameMessage::createHeader(TQDataStream &msg,TQ_UINT32 sender,TQ_UINT32 receiver,int msgid)
64{
65 msg << (TQ_INT16)sender << (TQ_INT16)receiver << (TQ_INT16)msgid;
66}
67
68void KGameMessage::extractHeader(TQDataStream &msg,TQ_UINT32 &sender,TQ_UINT32 &receiver,int &msgid)
69{
70 TQ_INT16 d3,d4,d5;
71 msg >> d3 >> d4 >> d5;
72 sender=d3;receiver=d4;msgid=d5;
73}
74
75void KGameMessage::createPropertyHeader(TQDataStream &msg,int id)
76{
77 msg << (TQ_INT16)id;
78}
79
80void KGameMessage::extractPropertyHeader(TQDataStream &msg,int &id)
81{
82 TQ_INT16 d1;
83 msg >> d1;
84 id=d1;
85}
86
87void KGameMessage::createPropertyCommand(TQDataStream &msg,int cmdid,int pid,int cmd)
88{
89 createPropertyHeader(msg,cmdid);
90 msg << (TQ_INT16)pid ;
91 msg << (TQ_INT8)cmd ;
92}
93
94void KGameMessage::extractPropertyCommand(TQDataStream &msg,int &pid,int &cmd)
95{
96 TQ_INT16 d1;
97 TQ_INT8 d2;
98 msg >> d1 >> d2;
99 pid=d1;
100 cmd=d2;
101}
102
103int KGameMessage::version()
104{
105 return MESSAGE_VERSION;
106}
107
108TQString KGameMessage::messageId2Text(int msgid)
109{
110// this should contain all KGameMessage::GameMessageIds
111// feel free to add missing ones, to remove obsolete one and even feel free to
112// let it be ;-)
113 switch (msgid) {
114 case KGameMessage::IdSetupGame:
115 return i18n("Setup Game");
116 case KGameMessage::IdSetupGameContinue:
117 return i18n("Setup Game Continue");
118 case KGameMessage::IdGameLoad:
119 return i18n("Load Game");
120 case KGameMessage::IdGameConnected:
121 return i18n("Client game connected");
122 case KGameMessage::IdGameSetupDone:
123 return i18n("Game setup done");
124 case KGameMessage::IdSyncRandom:
125 return i18n("Synchronize Random");
126 case KGameMessage::IdDisconnect:
127 return i18n("Disconnect");
128 case KGameMessage::IdPlayerProperty:
129 return i18n("Player Property");
130 case KGameMessage::IdGameProperty:
131 return i18n("Game Property");
132 case KGameMessage::IdAddPlayer:
133 return i18n("Add Player");
134 case KGameMessage::IdRemovePlayer:
135 return i18n("Remove Player");
136 case KGameMessage::IdActivatePlayer:
137 return i18n("Activate Player");
138 case KGameMessage::IdInactivatePlayer:
139 return i18n("Inactivate Player");
140 case KGameMessage::IdTurn:
141 return i18n("Id Turn");
142 case KGameMessage::IdError:
143 return i18n("Error Message");
144 case KGameMessage::IdPlayerInput:
145 return i18n("Player Input");
146 case KGameMessage::IdIOAdded:
147 return i18n("An IO was added");
148 case KGameMessage::IdProcessQuery:
149 return i18n("Process Query");
150 case KGameMessage::IdPlayerId:
151 return i18n("Player ID");
152 case KGameMessage::IdUser: // IdUser must be unknown for use, too!
153 default:
154 return TQString();
155 }
156}

libtdegames

Skip menu "libtdegames"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

libtdegames

Skip menu "libtdegames"
  • libtdegames
Generated for libtdegames by doxygen 1.9.4
This website is maintained by Timothy Pearson.