Update of /cvsroot/netrek/client/netrekxp/include
In directory sc8-pr-cvs16:/tmp/cvs-serv25761/include

Modified Files:
	bitmaps.h data.h defs.h proto.h struct.h 
Log Message:
Paradise changes:
New folder in resources tree named paradise which contains all paradise
related bitmaps.
Added support for paradise shipyard graphics, stars, ships (mono and color),
and missiles,
Added several parallel defines to deal with the problem of overlapping defines
(ie PFOBSERV overlap with PFWARP).  Also things like planet graphics
having more bitmap frames due to shipyards.  It moves bronco and paradise
compatability further apart, but only by keeping them separate can I attempt
to get this to work, there's just too many conflicts to try to resolve.
Moved flagship (frigate?) to overlap with galaxy class in array of ship types,
seems best solution (overlap with AT was previous way).  GA and FL/FR
seem to be identical on the pserver.
Added new keys for engage warp (J), toggle warp (^j) and afterburners (.).
Apparently the bronco way of setting maxwarp (speed req to speed 99) is
the paradise way of requesting to engage warp, so that had to be switched
around a bit.
As for changes that effect bronco:
1) Added new dashboard message types for paradise, caused renumbering
of internal counter for impulse/stopped but this doesn't matter.
2) Found bug with plasma and torp fuses (mono) where the final frame was
not being drawn due to logic error regarding fuses.
3) Added check during receiving login packet, if the proper pad bits are
not set right, it will close client.  So running netrek.exe, you can't connect
to a paradise server.  Running paradise.exe, you can't connect to a 
bronco server.  Ideally would send user a popup box but ran into issue
with that, it was continually polling the password entry screen so that
popup box got sent behind the (now-frozen) netrek window.  Could use
some work, to close client properly AND send a popup box explaining
why.

Index: defs.h
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/include/defs.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- defs.h	17 May 2007 08:49:47 -0000	1.26
+++ defs.h	18 May 2007 19:54:36 -0000	1.27
@@ -21,15 +21,6 @@
 #define TERRAIN_STARTED 1
 #define TERRAIN_DONE    2
 
-/* defs for timer [BDyess] */
-#define T_NONE		0	/* no timer */
-#define T_DAY		1	/* time of day */
-#define T_SERVER	2	/* time on server */
-#define T_SHIP		3	/* time in ship */
-#define T_USER		4	/* user reset timer */
-#define T_TOTAL 	5	/* number of T_ defs */
-#define TIMESTRLEN	10	/* used in db_timer(), timeString() */
-
 /* defs for mapmode */
 #define GMAP_NEVER	0
 #define GMAP_FREQUENT 	1

Index: bitmaps.h
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/include/bitmaps.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- bitmaps.h	17 May 2007 08:49:47 -0000	1.19
+++ bitmaps.h	18 May 2007 19:54:36 -0000	1.20
@@ -150,8 +150,13 @@
 #define BMP_MPLANET_WIDTH 16
 #define BMP_MPLANET_HEIGHT 16
 
+#ifdef PARADISE
+#define PLANET_VIEWS 13
+#define MPLANET_VIEWS 13
+#else
 #define PLANET_VIEWS 9
 #define MPLANET_VIEWS 9
+#endif
 
 // Color planets
 
@@ -192,8 +197,21 @@
 #define CPLANET_VIEWS 16
 
 #ifdef PARADISE
+#define BMP_DRONE 9
+#define BMP_DRONEC 10
+#define BMP_MDRONEC 11
+#define BMP_DRONE_WIDTH 6
+#define BMP_DRONE_HEIGHT 6
+#define BMP_DRONECLOUD 12
+#define BMP_DRONECLOUDC 13
+#define BMP_DRONEDET_FRAMES 5
+#define BMP_DRONEDET_WIDTH 13
+#define BMP_DRONEDET_HEIGHT 13
 #define BMP_STAR 12
 #define BMP_MSTAR 13
+#define BMP_GEARBMP 14
+#define BMP_GEAR_WIDTH 10
+#define BMP_GEAR_HEIGHT 10
 #define BMP_STAR_WIDTH 30
 #define BMP_STAR_HEIGHT 30
 #define BMP_MSTAR_WIDTH 16

Index: data.h
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/include/data.h,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -d -r1.86 -r1.87
--- data.h	17 May 2007 08:49:47 -0000	1.86
+++ data.h	18 May 2007 19:54:36 -0000	1.87
@@ -39,6 +39,7 @@
 extern struct status *status;
 #ifdef PARADISE
 extern struct status2 *status2;
+extern struct thingy *thingies;
 #endif
 extern struct ship *myship;
 extern struct stats *mystats;
@@ -278,8 +279,6 @@
 extern double Sin[], Cos[];
 
 #ifdef PARADISE
-extern int paradise;		/* is the server a paradise server? */
-extern int noParadiseBitmaps;
 extern int gwidth;		/* galaxy width, adjusted for zoom [BDyess] */
 extern int offsetx;
 extern int offsety;		/* offsets when zooming [BDyess] */
@@ -346,11 +345,21 @@
 
 //Paradise bitmaps
 #ifdef PARADISE
+extern W_Icon drone_bitmap, dronec_bitmap, mdronec_bitmap;
+extern W_Icon base_drone_explosion_bitmap;
+extern W_Icon drone_explosion_bitmap[BMP_DRONEDET_FRAMES];
+extern W_Icon base_dronec_explosion_bitmap;
+extern W_Icon dronec_explosion_bitmap[BMP_DRONEDET_FRAMES];
+extern W_Icon gear_bitmap, mgear_bitmap;
 extern W_Icon base_star_bitmap;
 extern W_Icon star_bitmap[STAR_VIEWS];
 extern W_Icon star_mbitmap;
 extern W_Icon paradise_ship_bitmaps;
 extern W_Icon paradise_ships[NUM_PSHIP_TYPES][NUMTEAMS];
+extern W_Icon paradise_cship_self_bitmaps;
+extern W_Icon paradise_cships_self[NUM_PSHIP_TYPES][NUMTEAMS];
+extern W_Icon paradise_cship_bitmaps;
+extern W_Icon paradise_cships[NUM_PSHIP_TYPES][NUMTEAMS];
 #endif
 
 //Ships

Index: struct.h
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/include/struct.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- struct.h	17 May 2007 08:49:47 -0000	1.20
+++ struct.h	18 May 2007 19:54:36 -0000	1.21
@@ -45,6 +45,18 @@
 };
 
 #ifdef PARADISE
+struct thingy {
+    int     t_no;
+    int     t_shape;		/* State information */
+    int     t_owner;
+    int     t_x;
+    int     t_y;
+    unsigned char t_dir;	/* direction */
+    int     t_speed;		/* Moving speed */
+    int     t_fuse;		/* Life left in current state */
+    char    t_war;		/* enemies */
+};
+
 struct status2 {		/* paradise status struct */
     int     active;		/* for interfacing with people who */
     unsigned int wait, count;	/* want to get into the game */
@@ -195,9 +207,12 @@
 #define PFWPSUSPENDED     (1<<29)	/* warp prep suspended [BDyess] */
 #define PFSNAKE	          (1<<30)	/* it's a space snake */
 #define PFBIRD	          (1<<31)	/* it's a space bird */
-#endif
+#define PFOBSERV          (1<<31)       /* set to something unused */
+#define PFTWARP           (1<<31)       /* set to something unused */
+#else
 #define PFOBSERV	0x8000000       /* for observers */
 #define PFTWARP     0x40000000      /* transwarping to base */
+#endif
 
 #define KLOGIN      0x00    /* initial state */
 #define KQUIT		0x01    /* Player quit */
@@ -215,13 +230,14 @@
 #define KOVER		0x0d    /* game over  */
 #define TOURNSTART	0x0e    /* tournament game starting */
 #define KBADBIN		0x0f    /* bad binary */
-#define KTORP2      0x10    /* killed by detted torps */
-#define KSHIP2      0x11    /* chain-reaction explosions */
-#define KPLASMA2    0x12    /* killed by zapped plasma */
 #ifdef PARADISE
 #define KMISSILE      0x10    /* missile, note the overlap with KTORP2! */
 #define KASTEROID     0x11    /* asteroid, note the overlap with KSHIP2! */
+#else
+#define KTORP2      0x10    /* killed by detted torps */
+#define KSHIP2      0x11    /* chain-reaction explosions */
 #endif
+#define KPLASMA2    0x12    /* killed by zapped plasma */
 
 #ifdef PARADISE
 #define NUM_TYPES 15
@@ -234,9 +250,8 @@
 #define ASSAULT 4
 #define STARBASE 5
 #define ATT 6
-#define SGALAXY 6		/* galaxy ships now supported - they look
-				   extremely similar to flagships :) [BDyess] */
 #define JUMPSHIP 7
+#define SGALAXY 8	/* Not sure where to put this .. */
 #define FLAGSHIP 8
 #define WARBASE 9
 #define LIGHTCRUISER 10
@@ -400,6 +415,8 @@
     short p_whodead;            /* Tells you who killed you */
     struct stats p_stats;       /* player statistics */
 #ifdef PARADISE
+    short p_ndrone;		/* Number of drones .. why was this missing? */
+    short p_totmissiles;	/* number of total missiles [Bill Dyess] */
     struct stats2 p_stats2;     /* Paradise stats */
 #endif
     short p_genoplanets;        /* planets taken since last
@@ -742,6 +759,9 @@
     struct player players[MAXPLAYER];
     struct torp torps[MAXPLAYER * MAXTORP];
     struct plasmatorp plasmatorps[MAXPLAYER * MAXPLASMA];
+#ifdef PARADISE
+    struct thingy thingies[MAXPLAYER * 20]; // Arbitrary
+#endif
     struct status status[1];
     struct planet planets[MAXPLANETS];
     struct phaser phasers[MAXPLAYER];

Index: proto.h
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/include/proto.h,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- proto.h	17 May 2007 08:49:47 -0000	1.56
+++ proto.h	18 May 2007 19:54:36 -0000	1.57
@@ -400,6 +400,7 @@
   Key197 (W_Event * data),
   Key198 (W_Event * data),
   Key200 (W_Event * data),
+  Key202 (W_Event * data),
   Key206 (W_Event * data),
   Key207 (W_Event * data),
   Key204 (W_Event * data),