Date: Friday February 2, 2001 @ 3:17
Author: cameron
Update of /home/netrek/cvsroot/Vanilla/ntserv
In directory swashbuckler.fortress.real-time.com:/var/tmp/cvs-serv7504/ntserv
Modified Files:
enter.c interface.c main.c ntscmds.c orbit.c struct.h
Log Message:
* ntserv/orbit.c (dock): reworked handling of return status,
probably in a superfluous manner, but I've tested the various
conditions now.
* ntserv/struct.h, ntserv/ntscmds.c (do_nodock), ntserv/main.c
(main), ntserv/enter.c (enter): change candock to p_candock to
comply with convention.
* ntserv/interface.c (lock_player): only mention docking status on
a lock if the player is permitted to dock, otherwise treat it as a
normal lock on a ship.
****************************************
Index: Vanilla/ntserv/enter.c
diff -u Vanilla/ntserv/enter.c:1.9 Vanilla/ntserv/enter.c:1.10
--- Vanilla/ntserv/enter.c:1.9 Wed Jan 3 03:15:19 2001
+++ Vanilla/ntserv/enter.c Fri Feb 2 03:17:52 2001
@@ -135,7 +135,7 @@
{
me->p_flags |= PFDOCKOK; /* allow docking by default */
for(i = 0; i < MAXPLAYER; i++)
- players[i].candock = 1; /* give everybody permission to dock */
+ players[i].p_candock = 1; /* give everybody permission to dock */
}
me->p_dir = 0;
me->p_desdir = 0;
Index: Vanilla/ntserv/interface.c
diff -u Vanilla/ntserv/interface.c:1.8 Vanilla/ntserv/interface.c:1.9
--- Vanilla/ntserv/interface.c:1.8 Tue Aug 15 05:16:28 2000
+++ Vanilla/ntserv/interface.c Fri Feb 2 03:17:52 2001
@@ -228,7 +228,8 @@
/* notify player docking perm status of own SB when locking 7/19/92 TC */
if ((players[player].p_team == me->p_team) &&
- (players[player].p_ship.s_type == STARBASE))
+ (players[player].p_ship.s_type == STARBASE) &&
+ (me->p_candock))
{
if(send_short) {
swarning(SBLOCKMYTEAM,player,0);
Index: Vanilla/ntserv/main.c
diff -u Vanilla/ntserv/main.c:1.21 Vanilla/ntserv/main.c:1.22
--- Vanilla/ntserv/main.c:1.21 Wed Jan 3 03:15:19 2001
+++ Vanilla/ntserv/main.c Fri Feb 2 03:17:52 2001
@@ -404,7 +404,7 @@
for (i = 0, j = &players[i]; i < MAXPLAYER; i++, j++)
j->voting[me->p_no] = -1;
#endif
- me->candock = 1;
+ me->p_candock = 1;
/* Get input until the player quits or dies */
living++;
while (living) input();
Index: Vanilla/ntserv/ntscmds.c
diff -u Vanilla/ntserv/ntscmds.c:1.17 Vanilla/ntserv/ntscmds.c:1.18
--- Vanilla/ntserv/ntscmds.c:1.17 Wed Jan 3 16:51:38 2001
+++ Vanilla/ntserv/ntscmds.c Fri Feb 2 03:17:52 2001
@@ -1,4 +1,4 @@
-/* $Id: ntscmds.c,v 1.17 2001/01/03 22:51:38 unbelver Exp $
+/* $Id: ntscmds.c,v 1.18 2001/02/02 09:17:52 cameron Exp $
*/
/*
@@ -1148,12 +1148,12 @@
if( !strcmp("off", what) )
{
- victim->candock = 0;
+ victim->p_candock = 0;
pmessage(whofrom, MINDIV, addr, "Slot %c no longer allowed to dock to SB", *who);
}
else if ( !strcmp("on", what) )
{
- victim->candock = 1;
+ victim->p_candock = 1;
pmessage(whofrom, MINDIV, addr, "Slot %c is allowed to dock to SB", *who);
}
else pmessage(whofrom, MINDIV, addr, "dock usage: dock 0 on|off");
Index: Vanilla/ntserv/orbit.c
diff -u Vanilla/ntserv/orbit.c:1.6 Vanilla/ntserv/orbit.c:1.7
--- Vanilla/ntserv/orbit.c:1.6 Fri Feb 2 02:40:44 2001
+++ Vanilla/ntserv/orbit.c Fri Feb 2 03:17:53 2001
@@ -63,12 +63,12 @@
* Dock with a ship;
* assumes it is a base, is alive, and is friendly.
* (If one or more of these is not true, various nasty things happen.)
- * Returns TRUE if the docking worked, or FALSE if it failed.
- * Changed 3-Jan-2001. Villalpando Returns true if docking failed and
- * a warning was issued. De-locks you and keeps "no valid targets" warning
- * from clobbering starbase failure warnings.
*/
+#define DOCK_NO_BASE 0
+#define DOCK_FAILURE 1
+#define DOCK_SUCCESS 2
+
static int dock(struct player *base)
{
LONG dx, dy;
@@ -79,49 +79,49 @@
* See if I am close enough: */
dx = base->p_x - me->p_x;
if ((dx > DOCKDIST) || (dx < -DOCKDIST))
- return FALSE;
+ return DOCK_NO_BASE;
dy = base->p_y - me->p_y;
if ((dy > DOCKDIST) || (dy < -DOCKDIST))
- return FALSE;
+ return DOCK_NO_BASE;
if (dx*dx + dy*dy > DOCKDIST*DOCKDIST)
- return FALSE;
+ return DOCK_NO_BASE;
/*
* Can't dock on enemy bases: */
- if (! friendlyPlayer(base)) {
+ if (!friendlyPlayer(base)) {
new_warning(UNDEF, "Docking onto a hostile base is unwise, Captain!");
de_lock(me);
- return FALSE;
+ return DOCK_FAILURE;
}
/*
* Can't dock if you aren't allowed to */
- if ( me->candock == 0 ) {
- new_warning(UNDEF,
- "Starbase %s allows everybody else except us to dock, Captain.",
- base->p_name);
+ if (me->p_candock == 0) {
+ if (send_short)
+ swarning(SBDOCKREFUSE_TEXT, base->p_no, 0);
+ else
+ new_warning(UNDEF,
+ "Starbase %s refusing us docking permission, Captain.",
+ base->p_name);
de_lock(me);
- return FALSE;
+ return DOCK_FAILURE;
}
/* Disallow SB to SB docking */
if (me->p_ship.s_type == STARBASE) {
new_warning(UNDEF, "Starbases are too big to dock onto other starbases.");
de_lock(me);
- return FALSE;
+ return DOCK_FAILURE;
}
/*
* See if the base is allowing docking: */
if (! (base->p_flags & PFDOCKOK)) {
- if (send_short)
- swarning(SBDOCKREFUSE_TEXT, base->p_no, 0);
- else
- new_warning(UNDEF,
- "Starbase %s refusing us docking permission, captain.",
- base->p_name);
+ new_warning(UNDEF,
+ "Starbase %s refusing all docking requests, Captain.",
+ base->p_name);
de_lock(me);
- return FALSE;
+ return DOCK_FAILURE;
}
/*
@@ -132,7 +132,7 @@
else
new_warning(UNDEF, "Starbase %s: Permission to dock denied, all ports currently occupied.", base->p_name);
de_lock(me);
- return FALSE;
+ return DOCK_FAILURE;
}
/*
@@ -226,7 +226,7 @@
swarning(ONEARG_TEXT, 2, port_id);
else
new_warning(UNDEF,"Helmsman: Docking manuever completed Captain. All moorings secured at port %d.", port_id);
- return TRUE;
+ return DOCK_SUCCESS;
}
@@ -285,9 +285,14 @@
continue;
if (! isAlive(j))
continue;
- /* There is! Try to dock: */
- if (dock(j))
+ switch (dock(j)) {
+ case DOCK_NO_BASE:
+ break;
+ case DOCK_FAILURE:
return;
+ case DOCK_SUCCESS:
+ return;
+ }
}
}
Index: Vanilla/ntserv/struct.h
diff -u Vanilla/ntserv/struct.h:1.14 Vanilla/ntserv/struct.h:1.15
--- Vanilla/ntserv/struct.h:1.14 Wed Jan 3 03:15:19 2001
+++ Vanilla/ntserv/struct.h Fri Feb 2 03:17:53 2001
@@ -382,7 +382,7 @@
#ifdef VOTING
time_t voting[PV_TOTAL]; /* voting array */
#endif
- int candock; /* is this player allowed to dock onto SB */
+ int p_candock; /* is this player allowed to dock onto SB */
};
struct statentry {