62 |
|
|
63 |
|
|
64 |
|
typedef struct |
65 |
< |
{ |
66 |
< |
short PacketSignature;// = 0xDEAD; |
67 |
< |
short PacketId; |
65 |
> |
{ |
66 |
> |
short PacketSignature;// = 0xDEAD; |
67 |
> |
short PacketId; |
68 |
|
unsigned int PacketSize; |
69 |
|
} marius_header; |
70 |
|
|
71 |
|
typedef struct |
72 |
< |
{ |
73 |
< |
short Red; |
74 |
< |
short Green; |
75 |
< |
short Blue; |
72 |
> |
{ |
73 |
> |
short Red; |
74 |
> |
short Green; |
75 |
> |
short Blue; |
76 |
|
short Flags; |
77 |
|
} m_colour; |
78 |
|
|
79 |
< |
typedef struct |
80 |
< |
{ |
81 |
< |
char Icon; |
82 |
< |
char pad; |
83 |
< |
short Flags; // 0=active, 1=inactive, in a game, grayed out, can't see chat |
84 |
< |
m_colour Colors[2]; |
85 |
< |
short orderIndex; |
86 |
< |
short clientVersion; |
87 |
< |
char stupid_14byte_pad[14]; |
88 |
< |
char Name[112]; // 2 #0 terminated fields - Name, Team Name |
79 |
> |
typedef struct |
80 |
> |
{ |
81 |
> |
char Icon; |
82 |
> |
char pad; |
83 |
> |
short Flags; // 0=active, 1=inactive, in a game, grayed out, can't see chat |
84 |
> |
m_colour Colors[2]; |
85 |
> |
short orderIndex; |
86 |
> |
short clientVersion; |
87 |
> |
char stupid_14byte_pad[14]; |
88 |
> |
char Name[112]; // 2 #0 terminated fields - Name, Team Name |
89 |
|
} m_player_info; |
90 |
|
|
91 |
|
typedef struct |
92 |
|
{ |
93 |
< |
short Platform; //Windows - 1 |
94 |
< |
short MetaVersion; //0 |
95 |
< |
char pad[3]; |
96 |
< |
char UpdateAppearance; // save player settings on server, change to bits, bit 0=update, bit 1=demo |
97 |
< |
int PlayerId; //0 |
98 |
< |
short EncryptionType; //0 - kCRYPT_PLAINTEXT, screw encryption for now |
99 |
< |
short PlayerInfoSize; //40 + strlen(playername) + strlen(plaerteam( |
100 |
< |
char AppName[32]; //MARATHON...later ONI ;) |
101 |
< |
char BuildDate[32]; //_DATE_ |
102 |
< |
char BuildTime[32]; //_TIME_ |
103 |
< |
char LoginId[32]; //username |
93 |
> |
short Platform; //Windows - 1 |
94 |
> |
short MetaVersion; //0 |
95 |
> |
char pad[3]; |
96 |
> |
char UpdateAppearance; // save player settings on server, change to bits, bit 0=update, bit 1=demo |
97 |
> |
int PlayerId; //0 |
98 |
> |
short EncryptionType; //0 - kCRYPT_PLAINTEXT, screw encryption for now |
99 |
> |
short PlayerInfoSize; //40 + strlen(playername) + strlen(plaerteam( |
100 |
> |
char AppName[32]; //MARATHON...later ONI ;) |
101 |
> |
char BuildDate[32]; //_DATE_ |
102 |
> |
char BuildTime[32]; //_TIME_ |
103 |
> |
char LoginId[32]; //username |
104 |
|
m_player_info PlayerInfo; |
105 |
|
} m_player_login; |
106 |
|
|
164 |
|
char Message[512]; |
165 |
|
} m_motd; |
166 |
|
|
167 |
< |
typedef struct |
168 |
< |
{ |
169 |
< |
|
170 |
< |
ColorStuff : TColorInfo; |
171 |
< |
int SenderId; |
172 |
< |
int TargetId; |
173 |
< |
char Message[256]; |
174 |
< |
} |
167 |
> |
typedef struct |
168 |
> |
{ |
169 |
> |
m_colour PrimaryColor; |
170 |
> |
m_colour SecondaryColor; |
171 |
> |
int SenderId; |
172 |
> |
int TargetId; |
173 |
> |
char Message[256]; |
174 |
> |
} m_message; |
175 |
> |
|
176 |
> |
typedef struct |
177 |
> |
{ |
178 |
> |
short unknown16; |
179 |
> |
short type; |
180 |
> |
int options; |
181 |
> |
int timelimit; |
182 |
> |
int checksum; |
183 |
> |
short difficulty; |
184 |
> |
short maxplayers; |
185 |
> |
short teamrandomseed; |
186 |
> |
short maxteams; //-1 |
187 |
> |
int planningtime; |
188 |
> |
int unusedint; |
189 |
> |
int unusedint_2; |
190 |
> |
short unknown16_2; |
191 |
> |
short pluginflag; |
192 |
> |
char pluginlist[512]; |
193 |
> |
int clientversion;//0xc136e436 |
194 |
> |
int unknownint; |
195 |
> |
short status; |
196 |
> |
short numplayers; |
197 |
> |
char action; |
198 |
> |
char pad[3]; |
199 |
> |
char Buffer[128]; |
200 |
> |
} m_gamedescription; |
201 |
> |
|
202 |
> |
typedef struct |
203 |
> |
{ |
204 |
> |
short port; |
205 |
> |
short zero; |
206 |
> |
m_gamedescription g; |
207 |
> |
} m_announcegame; |
208 |
|
|
209 |
+ |
typedef struct |
210 |
+ |
{ |
211 |
+ |
unsigned int gameID; |
212 |
+ |
unsigned int ipAddress; |
213 |
+ |
unsigned short port; |
214 |
+ |
unsigned char verb; |
215 |
+ |
unsigned char gameEnable; |
216 |
+ |
unsigned int timeRemaining; |
217 |
+ |
unsigned int hostPlayerID; |
218 |
+ |
unsigned short len; |
219 |
+ |
int unused1; |
220 |
+ |
int unused2; |
221 |
+ |
short pad; |
222 |
+ |
m_gamedescription g; |
223 |
+ |
} m_gameinfo; |
224 |
|
|
225 |
|
typedef struct |
226 |
|
{ |
227 |
+ |
m_gameinfo Games[]; |
228 |
+ |
} m_gamelist; |
229 |
+ |
typedef struct |
230 |
+ |
{ |
231 |
|
marius_header header; |
232 |
|
union |
233 |
|
{ |
241 |
|
m_chatroom_join chatroom_join; |
242 |
|
m_player_info player_info; |
243 |
|
m_motd motd; |
244 |
+ |
m_message message; |
245 |
+ |
m_announcegame newgame; |
246 |
+ |
m_gamelist gamelist; |
247 |
|
}; |
248 |
|
} marius_packet; |