Merge branch 'master' of ssh://git.berlios.de/gitroot/sst
[super-star-trek.git] / sst.py
diff --git a/sst.py b/sst.py
index 3a777e1c5ba0f5cbc0a7acba8a6087353b9cecd4..bf13aa9d436cfc54a46e97c2a891facee1b7eb2c 100755 (executable)
--- a/sst.py
+++ b/sst.py
@@ -13,7 +13,7 @@ on how to modify (and how not to modify!) this code.
 """
 import os, sys, math, curses, time, readline, cPickle, random, copy, gettext, getpass
 
-version="2.0"
+version="2.1"
 
 docpath        = (".", "../doc", "/usr/share/doc/sst")
 
@@ -5335,10 +5335,21 @@ def setup():
     game.nkinks = game.nhelp = game.casual = game.abandoned = 0
     game.iscate = game.resting = game.imine = game.icrystl = game.icraft = False
     game.isatb = game.state.nplankl = 0
-    game.state.starkl = game.state.basekl = 0
+    game.state.starkl = game.state.basekl = game.state.nworldkl = 0
     game.iscraft = "onship"
     game.landed = False
     game.alive = True
+
+    # the galaxy
+    game.state.galaxy = fill2d(GALSIZE, lambda i_unused, j_unused: Quadrant())
+    # the starchart
+    game.state.chart = fill2d(GALSIZE, lambda i_unused, j_unused: Page())
+
+    game.state.planets = []      # Planet information
+    game.state.baseq = []      # Base quadrant coordinates
+    game.state.kcmdr = []      # Commander quadrant coordinates
+    game.statekscmdr = Coord() # Supercommander quadrant coordinates
+
     # Starchart is functional but we've never seen it
     game.lastchart = FOREVER
     # Put stars in the galaxy
@@ -5898,8 +5909,13 @@ def makemoves():
            clrscr()
            setwnd(message_window)
            clrscr()
+           abandon_passed = False
            for (cmd, opt) in commands:
-               if cmd.startswith(scanner.token.upper()):
+               # commands after ABANDON cannot be abbreviated
+               if cmd == "ABANDON":
+                   abandon_passed = True
+               if cmd == scanner.token.upper() or (not abandon_passed \
+                       and cmd.startswith(scanner.token.upper())):
                    break;
            if cmd == "":
                 listCommands()
@@ -6353,3 +6369,5 @@ if __name__ == '__main__':
         if logfp:
             logfp.close()
         print ""
+
+# End.