| 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; |