Vanilla Development Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS update: Vanilla/ntserv



Date:	Thursday January 6, 19100 @ 14:45
Author:	unbelver

Update of /home/netrek/cvsroot/Vanilla/ntserv
In directory swashbuckler.fortress.real-time.com:/var/tmp/cvs-serv2941/ntserv

Modified Files:
	enter.c interface.c defs.h queue.c struct.h 
Log Message:

2 Things:

God Observer queue now exists.  God Observer comes in as player z
(i.e. MAXPLAYER-1).  God Observer is indi.

Indi behavior changed.  Indi forced to be peaceful to all.  Indi can
see all players and planets as well.  COW on the other hand, and maybe
other clients, refuses to show planet info.  The client gets the
planet info packets, but shows all planets as UNKNOWN.

--Carlos V.




****************************************

Index: Vanilla/ntserv/enter.c
diff -u Vanilla/ntserv/enter.c:1.5 Vanilla/ntserv/enter.c:1.6
--- Vanilla/ntserv/enter.c:1.5	Mon Dec 13 15:18:13 1999
+++ Vanilla/ntserv/enter.c	Thu Jan  6 14:45:25 2000
@@ -136,7 +136,9 @@
     me->p_speed = 0;
     me->p_desspeed = 0;
     me->p_subspeed = 0;
-    if ((tno == 4) || (tno == 5)) { /* change 5/10/91 TC new case, indep */
+    if ((tno == 4) || (tno == 5) || (me->w_queue == QU_GOD_OBS) ) { 
+      /* change 5/10/91 TC new case, indep */
+      /* change 1/05/00 CYV new case, god obs */
 	me->p_team = 0;
 	placeIndependent();	/* place away from others 1/23/92 TC */
     }
@@ -174,9 +176,15 @@
     me->p_port[2] = VACANT;
     me->p_port[3] = VACANT;
 /*    if (!keeppeace) me->p_hostile = (FED|ROM|KLI|ORI);*/
-    if (!keeppeace) auto_peace();
-    me->p_hostile &= ~me->p_team;
-    me->p_war = me->p_hostile;
+    if( !(me->p_flags & PFROBOT) && (me->p_team == NOBODY) ) {
+      me->p_hostile = NOBODY;
+      me->p_war = NOBODY;
+      me->p_swar = NOBODY;
+    } else {
+      if (!keeppeace) auto_peace();
+      me->p_hostile &= ~me->p_team;
+      me->p_war = me->p_hostile;
+    }
 
     /* join message stuff */
     sprintf(me->p_mapchars,"%c%c",teamlet[me->p_team], shipnos[me->p_no]);
Index: Vanilla/ntserv/interface.c
diff -u Vanilla/ntserv/interface.c:1.5 Vanilla/ntserv/interface.c:1.6
--- Vanilla/ntserv/interface.c:1.5	Mon Dec 13 15:18:13 1999
+++ Vanilla/ntserv/interface.c	Thu Jan  6 14:45:25 2000
@@ -343,6 +343,15 @@
     int changes;
     int i;
 
+    /* indi are forced to be at peace with everyone */
+
+    if( !(me->p_flags & PFROBOT) && (me->p_team == NOBODY) ) {
+      me->p_war = NOBODY;
+      me->p_hostile = NOBODY;
+      me->p_swar = NOBODY;
+      return;
+    }
+
     mask &= ALLTEAM;
     mask &= ~me->p_team;
     mask |= me->p_swar;
Index: Vanilla/ntserv/defs.h
diff -u Vanilla/ntserv/defs.h:1.12 Vanilla/ntserv/defs.h:1.13
--- Vanilla/ntserv/defs.h:1.12	Thu Jan  6 03:15:34 2000
+++ Vanilla/ntserv/defs.h	Thu Jan  6 14:45:25 2000
@@ -1,4 +1,4 @@
-/* $Id: defs.h,v 1.12 2000/01/06 09:15:34 unbelver Exp $
+/* $Id: defs.h,v 1.13 2000/01/06 20:45:25 unbelver Exp $
  */
 
 #ifndef _h_defs
@@ -66,7 +66,7 @@
 
 
 #define TESTERS 4	/* Priveledged slots for robots and game 'testers' */
-#define MAXQUEUE 8	/* Number of different  waitqueues */
+#define MAXQUEUE 9	/* Number of different  waitqueues */
 #define MAXWAITING 32   /* Number of total people waiting */
 #define QNAMESIZE  20   /* Max length of wait queue name */
 #define MAXPLANETS 40
Index: Vanilla/ntserv/queue.c
diff -u Vanilla/ntserv/queue.c:1.3 Vanilla/ntserv/queue.c:1.4
--- Vanilla/ntserv/queue.c:1.3	Sun Jul 11 22:25:31 1999
+++ Vanilla/ntserv/queue.c	Thu Jan  6 14:45:25 2000
@@ -127,6 +127,15 @@
     queues[QU_GOD].high_slot  = MAXPLAYER;
     queues[QU_GOD].q_flags    = QU_OPEN;
     queue_setname(QU_GOD,"god");
+
+    queues[QU_GOD_OBS].free_slots = MAXPLAYER;
+    queues[QU_GOD_OBS].max_slots  = MAXPLAYER;
+    queues[QU_GOD_OBS].tournmask  = ALLTEAM;
+    queues[QU_GOD_OBS].low_slot   = (MAXPLAYER-1);
+    queues[QU_GOD_OBS].high_slot  = MAXPLAYER;
+    queues[QU_GOD_OBS].q_flags    = QU_OPEN|QU_OBSERVER;
+    queue_setname(QU_GOD_OBS,"god observer");
+
     return 1;
 }
 
Index: Vanilla/ntserv/struct.h
diff -u Vanilla/ntserv/struct.h:1.7 Vanilla/ntserv/struct.h:1.8
--- Vanilla/ntserv/struct.h:1.7	Sun Jul 11 22:25:32 1999
+++ Vanilla/ntserv/struct.h	Thu Jan  6 14:45:25 2000
@@ -36,6 +36,7 @@
 #define  QU_AWAY_OBS   5    /* INL Away observer queue */
 #define  QU_PICKUP_OBS 6    /* Pickup observer queue */
 #define  QU_GOD        7    /* Queue for God    */
+#define  QU_GOD_OBS    8    /* Queue for God as Voyeur */
 
 /*
  * Queue flag definitions.