]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - battlestar/room.c
Include <sys/endian.h>.
[bsdgames-darwin.git] / battlestar / room.c
index 751c40696b0b3f1b1d2fadfe81f2821ecbe8cf23..5cbaf85060dd2e8c70bb8723a538859aa1a786d2 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: room.c,v 1.4 1997/01/07 11:56:49 tls Exp $     */
+/*     $NetBSD: room.c,v 1.11 2003/08/07 09:37:03 agc Exp $    */
 
 /*
  * Copyright (c) 1983, 1993
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  *
  * SUCH DAMAGE.
  */
 
+#include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)room.c     8.2 (Berkeley) 4/28/95";
 #else
-static char rcsid[] = "$NetBSD: room.c,v 1.4 1997/01/07 11:56:49 tls Exp $";
+__RCSID("$NetBSD: room.c,v 1.11 2003/08/07 09:37:03 agc Exp $");
 #endif
-#endif /* not lint */
+#endif                         /* not lint */
 
 #include "extern.h"
 
+void
 writedes()
 {
-       int compass;
-       register char *p;
-       register c;
+       int     compass;
+       const char   *p;
+       int     c;
 
        printf("\n\t%s\n", location[position].name);
-       if (beenthere[position] < 3) {
+       if (beenthere[position] < ROOMDESC || verbose) {
                compass = NORTH;
-               for (p = location[position].desc; c = *p++;)
-                       if (c != '-' && c != '*' && c != '+')
-                               putchar(c);
-                       else {
+               for (p = location[position].desc; (c = *p++) != 0;)
+                       if (c != '-' && c != '*' && c != '+') {
+                               if (c == '=')
+                                       putchar('-');
+                               else
+                                       putchar(c);
+                       } else {
                                if (c != '*')
                                        printf(truedirec(compass, c));
                                compass++;
@@ -63,10 +64,11 @@ writedes()
        }
 }
 
+void
 printobjs()
 {
-       register unsigned int *p = location[position].objects;
-       register n;
+       unsigned int *p = location[position].objects;
+       int     n;
 
        printf("\n");
        for (n = 0; n < NUMOFOBJECTS; n++)
@@ -74,159 +76,165 @@ printobjs()
                        puts(objdes[n]);
 }
 
+void
 whichway(here)
-struct room here;
+       struct room here;
 {
-       switch(direction) {
-
-               case NORTH:
-                       left = here.west;
-                       right = here.east;
-                       ahead = here.north;
-                       back = here.south;
-                       break;
-               
-               case SOUTH:
-                       left = here.east;
-                       right = here.west;
-                       ahead = here.south;
-                       back = here.north;
-                       break;
-
-               case EAST:
-                       left = here.north;
-                       right = here.south;
-                       ahead = here.east;
-                       back = here.west;
-                       break;
-
-               case WEST:
-                       left = here.south;
-                       right = here.north;
-                       ahead = here.west;
-                       back = here.east;
-                       break;
+       switch (direction) {
+
+       case NORTH:
+               left = here.west;
+               right = here.east;
+               ahead = here.north;
+               back = here.south;
+               break;
+
+       case SOUTH:
+               left = here.east;
+               right = here.west;
+               ahead = here.south;
+               back = here.north;
+               break;
+
+       case EAST:
+               left = here.north;
+               right = here.south;
+               ahead = here.east;
+               back = here.west;
+               break;
+
+       case WEST:
+               left = here.south;
+               right = here.north;
+               ahead = here.west;
+               back = here.east;
+               break;
 
        }
 }
 
-char *
+const char   *
 truedirec(way, option)
-int way;
-char option;
+       int     way;
+       char    option;
 {
-       switch(way) {
+       switch (way) {
 
+       case NORTH:
+               switch (direction) {
                case NORTH:
-                       switch(direction) {
-                               case NORTH:
-                                       return("ahead");
-                               case SOUTH:
-                                       return(option == '+' ? "behind you" : "back");
-                               case EAST:
-                                       return("left");
-                               case WEST:
-                                       return("right");
-                       }
+                       return ("ahead");
+               case SOUTH:
+                       return (option == '+' ? "behind you" :
+                           "back");
+               case EAST:
+                       return ("left");
+               case WEST:
+                       return ("right");
+               }
 
+       case SOUTH:
+               switch (direction) {
+               case NORTH:
+                       return (option == '+' ? "behind you" :
+                           "back");
                case SOUTH:
-                       switch(direction) {
-                               case NORTH:
-                                       return(option == '+' ? "behind you" : "back");
-                               case SOUTH:
-                                       return("ahead");
-                               case EAST:
-                                       return("right");
-                               case WEST:
-                                       return("left");
-                       }
+                       return ("ahead");
+               case EAST:
+                       return ("right");
+               case WEST:
+                       return ("left");
+               }
 
+       case EAST:
+               switch (direction) {
+               case NORTH:
+                       return ("right");
+               case SOUTH:
+                       return ("left");
                case EAST:
-                       switch(direction) {
-                               case NORTH:
-                                       return("right");
-                               case SOUTH:
-                                       return("left");
-                               case EAST:
-                                       return("ahead");
-                               case WEST:      
-                                       return(option == '+' ? "behind you" : "back");
-                       }
+                       return ("ahead");
+               case WEST:
+                       return (option == '+' ? "behind you" :
+                           "back");
+               }
 
+       case WEST:
+               switch (direction) {
+               case NORTH:
+                       return ("left");
+               case SOUTH:
+                       return ("right");
+               case EAST:
+                       return (option == '+' ? "behind you" :
+                           "back");
                case WEST:
-                       switch(direction) {
-                               case NORTH:
-                                       return("left");
-                               case SOUTH:
-                                       return("right");
-                               case EAST:
-                                       return(option == '+' ? "behind you" : "back");
-                               case WEST:
-                                       return("ahead");
-                       }
+                       return ("ahead");
+               }
 
-               default:
-                       printf("Error: room %d.  More than four directions wanted.", position);
-                       return("!!");
-      }
+       default:
+               printf("Error: room %d.  More than four directions wanted.", position);
+               return ("!!");
+       }
 }
 
+void
 newway(thisway)
-int thisway;
+       int     thisway;
 {
-       switch(direction){
+       switch (direction) {
 
-               case NORTH:
-                       switch(thisway){
-                               case LEFT:
-                                       direction = WEST;
-                                       break;
-                               case RIGHT:
-                                       direction = EAST;
-                                       break;
-                               case BACK:
-                                       direction = SOUTH;
-                                       break;
-                       }
+       case NORTH:
+               switch (thisway) {
+               case LEFT:
+                       direction = WEST;
                        break;
-               case SOUTH:
-                       switch(thisway){
-                               case LEFT:
-                                       direction = EAST;
-                                       break;
-                               case RIGHT:
-                                       direction = WEST;
-                                       break;
-                               case BACK:
-                                       direction = NORTH;
-                                       break;
-                       }
+               case RIGHT:
+                       direction = EAST;
                        break;
-               case EAST:
-                       switch(thisway){
-                               case LEFT:
-                                       direction = NORTH;
-                                       break;
-                               case RIGHT:
-                                       direction = SOUTH;
-                                       break;
-                               case BACK:
-                                       direction = WEST;
-                                       break;
-                       }
+               case BACK:
+                       direction = SOUTH;
                        break;
-               case WEST:
-                       switch(thisway){
-                               case LEFT:
-                                       direction = SOUTH;
-                                       break;
-                               case RIGHT:
-                                       direction = NORTH;
-                                       break;
-                               case BACK:
-                                       direction = EAST;
-                                       break;
-                       }
+               }
+               break;
+       case SOUTH:
+               switch (thisway) {
+               case LEFT:
+                       direction = EAST;
+                       break;
+               case RIGHT:
+                       direction = WEST;
+                       break;
+               case BACK:
+                       direction = NORTH;
+                       break;
+               }
+               break;
+       case EAST:
+               switch (thisway) {
+               case LEFT:
+                       direction = NORTH;
+                       break;
+               case RIGHT:
+                       direction = SOUTH;
                        break;
-      }
+               case BACK:
+                       direction = WEST;
+                       break;
+               }
+               break;
+       case WEST:
+               switch (thisway) {
+               case LEFT:
+                       direction = SOUTH;
+                       break;
+               case RIGHT:
+                       direction = NORTH;
+                       break;
+               case BACK:
+                       direction = EAST;
+                       break;
+               }
+               break;
+       }
 }