X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=sst;h=cebcad1af65111eafa439357db791339bd1212a8;hb=8530f073f790a012b79facf6d02d943add67d933;hp=cb64fd5cd2d14e429b82ff122eafb560cc9764d0;hpb=ea1ec724c5d45d0a64c909e2925647537291a9a3;p=super-star-trek.git diff --git a/sst b/sst index cb64fd5..cebcad1 100755 --- a/sst +++ b/sst @@ -296,20 +296,20 @@ OPTION_ALL = 0xffffffff OPTION_TTY = 0x00000001 # old interface OPTION_CURSES = 0x00000002 # new interface OPTION_IOMODES = 0x00000003 # cover both interfaces -OPTION_PLANETS = 0x00000004 # planets and mining +OPTION_PLANETS = 0x00000004 # planets and mining (> 1974) OPTION_THOLIAN = 0x00000008 # Tholians and their webs (UT 1979 version) OPTION_PROBE = 0x00000020 # deep-space probes (DECUS version, 1980) -OPTION_SHOWME = 0x00000040 # bracket Enterprise in chart -OPTION_RAMMING = 0x00000080 # enemies may ram Enterprise (Almy) -OPTION_MVBADDY = 0x00000100 # more enemies can move (Almy) -OPTION_BLKHOLE = 0x00000200 # black hole may timewarp you (Stas, 2005) -OPTION_BASE = 0x00000400 # bases have good shields (Stas, 2005) -OPTION_WORLDS = 0x00000800 # logic for inhabited worlds (ESR, 2006) -OPTION_AUTOSCAN = 0x00001000 # automatic LRSCAN before CHART (ESR, 2006) -OPTION_CAPTURE = 0x00002000 # Enable BSD-Trek capture (Almy, 2013). -OPTION_CLOAK = 0x80004000 # Enable BSD-Trek capture (Almy, 2013). +OPTION_SHOWME = 0x00000040 # bracket Enterprise in chart (ESR, 2005) +OPTION_RAMMING = 0x00000080 # enemies may ram Enterprise (Almy, 1979) +OPTION_MVBADDY = 0x00000100 # more enemies can move (Almy, 1979?) +OPTION_AUTOPASS = 0x00000200 # Autogenerate password (Almy, 1997?) +OPTION_BLKHOLE = 0x00000400 # black hole may timewarp you (Stas, 2005) +OPTION_BASE = 0x00000800 # bases have good shields (Stas, 2005) +OPTION_WORLDS = 0x00001000 # logic for inhabited worlds (ESR, 2006) +OPTION_AUTOSCAN = 0x00002000 # automatic LRSCAN before CHART (ESR, 2006) +OPTION_CAPTURE = 0x00004000 # Enable BSD-Trek capture (Almy, 2013). +OPTION_CLOAK = 0x80008000 # Enable BSD-Trek capture (Almy, 2013). OPTION_PLAIN = 0x01000000 # user chose plain game -OPTION_ALMY = 0x02000000 # user chose Almy variant OPTION_COLOR = 0x04000000 # enable color display (ESR, 2010) OPTION_DOTFILL = 0x08000000 # fix dotfill glitch in chart (ESR, 2019) OPTION_ALPHAMERIC = 0x10000000 # Alpha Y coordinates (ESR, 2023) @@ -323,6 +323,7 @@ option_names = { "SHOWME": OPTION_SHOWME, "RAMMING": OPTION_RAMMING, "MVBADDY": OPTION_MVBADDY, + "AUTOPASS": OPTION_AUTOPASS, "BLKHOLE": OPTION_BLKHOLE, "BASE": OPTION_BASE, "WORLDS": OPTION_WORLDS, @@ -330,9 +331,9 @@ option_names = { "CAPTURE": OPTION_CAPTURE, "CLOAK": OPTION_CLOAK, "PLAIN": OPTION_PLAIN, - "ALMY": OPTION_ALMY, "COLOR": OPTION_COLOR, "DOTFILL": OPTION_DOTFILL, + "ALPHAMERIC": OPTION_ALPHAMERIC, } # Define devices @@ -6048,12 +6049,11 @@ def choose(): scanner.nexttok() if scanner.sees("plain"): # Approximates the UT FORTRAN version. - game.options &=~ (OPTION_THOLIAN | OPTION_PLANETS | OPTION_PROBE | OPTION_RAMMING | OPTION_MVBADDY | OPTION_BLKHOLE | OPTION_BASE | OPTION_WORLDS | OPTION_COLOR | OPTION_CAPTURE | OPTION_CLOAK | OPTION_DOTFILL | OPTION_ALPHAMERIC) + game.options &=~ (OPTION_THOLIAN | OPTION_PLANETS | OPTION_PROBE | OPTION_RAMMING | OPTION_MVBADDY | OPTION_BLKHOLE | OPTION_BASE | OPTION_WORLDS | OPTION_COLOR | OPTION_CAPTURE | OPTION_CLOAK | OPTION_AUTOPASS | OPTION_DOTFILL | OPTION_ALPHAMERIC) game.options |= OPTION_PLAIN elif scanner.sees("almy"): # Approximates Tom Almy's version. game.options &=~ (OPTION_BLKHOLE | OPTION_BASE | OPTION_WORLDS | OPTION_COLOR | OPTION_DOTFILL | OPTION_ALPHAMERIC) - game.options |= OPTION_ALMY elif scanner.sees("fancy") or scanner.sees("\n"): pass elif len(scanner.token): @@ -6228,7 +6228,12 @@ def newqad(): def setpassword(): "Set the self-destruct password." - if game.options & OPTION_PLAIN: + if game.options & OPTION_AUTOPASS: + game.passwd = "" + game.passwd += chr(ord('a')+rnd.integer(26)) + game.passwd += chr(ord('a')+rnd.integer(26)) + game.passwd += chr(ord('a')+rnd.integer(26)) + else: while True: scanner.chew() proutn(_("Please type in a secret password- ")) @@ -6237,11 +6242,6 @@ def setpassword(): #game.passwd = getpass.getpass("Please type in a secret password- ") if game.passwd is not None: break - else: - game.passwd = "" - game.passwd += chr(ord('a')+rnd.integer(26)) - game.passwd += chr(ord('a')+rnd.integer(26)) - game.passwd += chr(ord('a')+rnd.integer(26)) # Code from sst.c begins here @@ -6782,7 +6782,7 @@ if __name__ == '__main__': game = Gamestate() rnd = randomizer() logfp = None - game.options = OPTION_ALL &~ (OPTION_IOMODES | OPTION_PLAIN | OPTION_ALMY) + game.options = OPTION_ALL &~ (OPTION_IOMODES | OPTION_PLAIN) if os.getenv("TERM"): game.options |= OPTION_CURSES # pragma: no cover else: