Update of /cvsroot/netrek/client/netrekxp/include
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv26979/include
Modified Files:
data.h packets.h struct.h
Log Message:
First pass at generic 32 version b support.
Known issues: doesn't pass version b to server via value field yet.
Index: data.h
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/include/data.h,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- data.h 19 Apr 2008 20:03:00 -0000 1.100
+++ data.h 12 Jul 2008 03:49:45 -0000 1.101
@@ -833,4 +833,6 @@
extern int mapscaleFactor; /* allows for scaling of galactic window, unused */
extern int fullBitmapRotation; /* draw old bitmap sets to all angles */
extern int hideConsole; /* show console window or not */
+
+extern struct context *context;
#endif /* _h_data */
Index: packets.h
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/include/packets.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- packets.h 8 Jul 2008 02:00:46 -0000 1.13
+++ packets.h 12 Jul 2008 03:49:45 -0000 1.14
@@ -903,21 +903,44 @@
unsigned short s_bitmap;
};
+#define GENERIC_32_LENGTH 32
struct generic_32_spacket
{
- char type; /* SP_GENERIC_32 */
- char version; /* alphabetic */
- short repair_time; /* server estimate of repair time in seconds */
- short pl_orbit; /* what planet player orbiting, -1 if none */
- char pad1[26];
+ char type;
+ char version; /* alphabetic, 0x60 + version */
+ u_short repair_time; /* server estimate of repair time, seconds */
+ char pl_orbit; /* what planet player orbiting, -1 if none */
+ u_short gameup; /* server status flags */
+ u_char tournament_teams; /* what teams are involved */
+ u_char tournament_age; /* duration of t-mode so far */
+ char tournament_age_units; /* units for above, see s2du */
+ u_char tournament_remain; /* remaining INL game time */
+ char tournament_remain_units; /* units for above, see s2du */
+ u_char starbase_remain; /* starbase reconstruction, mins */
+ u_char team_remain; /* team surrender time, seconds */
+ char pad1[18];
};
-#define GENERIC_32_VERSION 'a'
-#define GENERIC_32_LENGTH 32
+#define GENERIC_32_VERSION_B 2
+#define GENERIC_32_VERSION GENERIC_32_VERSION_B /* default */
-/* versioning instructions: we start with version 'a', and each time a
- field is added increment the version and reduce the pad size,
- keeping the packet the same size ... client is entitled to trust
- fields in struct that were defined at a particular version.
+/* SP_GENERIC_32 versioning instructions:
+
+ we start with version 'a', and each time a structure is changed
+ increment the version and reduce the pad size, keeping the packet
+ the same size ...
+
+ client is entitled to trust fields in struct that were defined at a
+ particular version ...
+
+ client is to send CP_FEATURE with SP_GENERIC_32 value 1 for version
+ 'a', value 2 for version 'b', etc ...
+
+ server is to reply with SP_FEATURE with SP_GENERIC_32 value set to
+ the maximum version it supports (not the version requested by the
+ client), ...
+
+ server is to send SP_GENERIC_32 packets of the highest version it
+ knows about, but no higher than the version the client asks for.
*/
struct flags_all_spacket
Index: struct.h
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/include/struct.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- struct.h 19 Apr 2008 16:22:56 -0000 1.28
+++ struct.h 12 Jul 2008 03:49:45 -0000 1.29
@@ -939,4 +939,17 @@
struct cons_buffer * next;
};
-#endif /* _h_struct */
+// Game context variables, sent in generic_32 packet
+struct context
+{
+ u_short gameup; /* server status flags */
+ u_char tournament_teams; /* what teams are involved */
+ u_char tournament_age; /* duration of t-mode so far */
+ char tournament_age_units; /* units for above, see s2du */
+ u_char tournament_remain; /* remaining INL game time */
+ char tournament_remain_units; /* units for above, see s2du */
+ u_char starbase_remain; /* starbase reconstruction, mins */
+ u_char team_remain; /* team surrender time, seconds */
+};
+
+#endif /* _h_struct */
\ No newline at end of file