Make inhabited worlds display as '@'. Document this.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 15 Sep 2006 22:47:09 +0000 (22:47 +0000)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 15 Sep 2006 22:47:09 +0000 (22:47 +0000)
Turn off generation of inhabited worlds in plain and almy versions.

ChangeLog
doc/sst-doc.xml
src/setup.c
src/sst.h

index 1f4ebf015a47fd40507dbd6ba29170307738d69c..7f13076a70a4aab65d0ff5dcb6a7450cefcb7971 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2006-09-15  Eric S. Raymond  <esr@snark.thyrsus.com>
+
+       * TODO: Fixed these bug items from the TO-DO list:
+       
+       * Bring the online help in sync with our commands changes
+       
+       * Find out why the online help contains the escape sequences like
+       ~@~T (Eric?)
+       
+       The first was due to bugs in some macro definitions in sst.c, now
+       fixed.  The second was from escape sequences generated into
+       sst.doc by xmlto for left-and right-quotes, dashes, and no-break
+       spaces; that is fixed by an additional translation step in
+       makehelp.py.
+       
+       xmlto still generates line-drawing characters for the tables in
+       the LRSCAN and REPORT help items, but those look OK on an xterm in
+       text mode and their help items are suppressed (along with their
+       commands) in curses mode.
+       
+       This is not a completely satisfactory solution, but it will do
+       until a design change makes those help items visible again.
+
 2006-09-12  gettextize  <bug-gnu-gettext@gnu.org>
 
        * Makefile.am (SUBDIRS): Add po.
index 268d8c18eb24242a19ef7d64b429cc18d580cab1..a57278d05eb9fb5ca5c35b124c64b3f4bf458a02 100644 (file)
@@ -253,13 +253,14 @@ The Emeritus game is strictly for masochists.</para>
 
 <para>The fourth question, new in SST2K, sets your game options.  A
 blank answer or 'fancy' enables all SST2K features.  The option
-'plain' disables a number of features (Tholians, planets &amp;
-dilithium, Thingies shooting back, deep-space-probes, Klingon ramming
-and movement, time-warping through black holes, death-ray upgrade),
-approximating the original CDC 6600 FORTRAN game from UT Austin.  The
-option 'almy' approximates Tom Almy's C translation from 1979,
-disabling Thingies shooting back, base shields, and time-warping
-through black holes.</para>
+'plain' approximated the original CDC 6600 FORTRAN game from UT Austin
+and disables a number of features: Tholians, planets &amp; dilithium,
+Thingies shooting back, deep-space-probes, Klingon ramming and
+movement, time-warping through black holes, death-ray
+upgrade. inhabited worlds.  The option 'almy' approximates Tom Almy's
+C translation from 1979, disabling Thingies shooting back, base
+shields, time-warping through black holes, and inhabited
+worlds.</para>
 
 </chapter>
 <chapter><title>How To Issue Commands</title>
@@ -387,7 +388,8 @@ described by an example.</para>
 There are ordinary Klingons (K) at sectors 5 - 8 and 6 - 2, and a
 Klingon Commander (C) at 9 - 9.  The (GULP)
 <quote>Super-commander</quote> (S) is occupies sector 4 - 4, and a
-Romulan (R) is at 1 - 6.  A planet (P) is at sector 7 - 6.  There are
+Romulan (R) is at 1 - 6.  An uninhabited planet (P) is at sector 7 - 6
+(if it were inhabited, it would display as a '@').  There are
 also a large number of stars (*). The periods (.) are just empty
 space&mdash;they are printed to help you get your bearings.  Sector 6
 - 4 contains a black hole ( ).</para>
index ed97fd8a962765d20210a49e74ee43555f280d9f..b93859ca788a2161579e3ed1fc7c5a674c349693 100644 (file)
@@ -479,12 +479,12 @@ int choose(int needprompt)
     }
     if (isit("plain")) {
        // Approximates the UT FORTRAN version.
-       game.options &=~ (OPTION_THOLIAN | OPTION_PLANETS | OPTION_THINGY | OPTION_PROBE | OPTION_RAMMING | OPTION_MVBADDY | OPTION_BLKHOLE | OPTION_BASE);
+       game.options &=~ (OPTION_THOLIAN | OPTION_PLANETS | OPTION_THINGY | OPTION_PROBE | OPTION_RAMMING | OPTION_MVBADDY | OPTION_BLKHOLE | OPTION_BASE | OPTION_WORLDS);
        game.options |= OPTION_PLAIN;
     } 
     else if (isit("almy")) {
        // Approximates Tom Almy's version.
-       game.options &=~ (OPTION_THINGY | OPTION_BLKHOLE | OPTION_BASE);
+       game.options &=~ (OPTION_THINGY | OPTION_BLKHOLE | OPTION_BASE | OPTION_WORLDS);
        game.options |= OPTION_ALMY;
     }
     else if (isit("fancy"))
@@ -623,7 +623,10 @@ void newqad(int shutup)
     planhere = game.state.galaxy[game.quadx][game.quady].planet;
     if (planhere) {
        game.iplnet = planhere - game.state.plnets;
-       dropin(IHP, &game.plnetx, &game.plnety);
+       if (planhere->inhabited == UNINHABITED)
+           dropin(IHP, &game.plnetx, &game.plnety);
+       else
+           dropin(IHW, &game.plnetx, &game.plnety);
     }
     // Check for game.condition
     newcnd();
index 321d802b2021131d466d9efa2efa02cf15281c42..06832359e2406fe3aa6042b8f9766043e08466ce 100644 (file)
--- a/src/sst.h
+++ b/src/sst.h
@@ -285,6 +285,7 @@ enum loctype {neither, quadrant, sector};
 #define IHS 'S'
 #define IHSTAR '*'
 #define IHP 'P'
+#define IHW '@'
 #define IHB 'B'
 #define IHBLANK ' '
 #define IHDOT '.'