Replay facility now captures command-line options.
[super-star-trek.git] / src / sst.py
index aa025c8814d12d0dbbab311df96888e2ee963513..d30cab27310b4eaf34a80e03da5617544232c3d5 100644 (file)
@@ -575,12 +575,12 @@ import traceback
 
 def withprob(p):
     v = random.random()
-    logfp.write("# withprob(%s) -> %f (%s) at %s\n" % (p, v, v<p, traceback.extract_stack()[-2][1:]))
+    #logfp.write("# withprob(%s) -> %f (%s) at %s\n" % (p, v, v<p, traceback.extract_stack()[-2][1:]))
     return v < p
 
 def randrange(*args):
     v = random.randrange(*args)
-    logfp.write("# randrange%s -> %s at %s\n" % (args, v, traceback.extract_stack()[-2][1:]))
+    #logfp.write("# randrange%s -> %s at %s\n" % (args, v, traceback.extract_stack()[-2][1:]))
     return v
 
 def randreal(*args):
@@ -589,7 +589,7 @@ def randreal(*args):
         v *= args[0]           # returns from [0, a1)
     elif len(args) == 2:
         v = args[0] + v*args[1]        # returns from [a1, a2)
-    logfp.write("# randreal%s -> %s at %s\n" % (args, v, traceback.extract_stack()[-2][1:]))
+    #logfp.write("# randreal%s -> %s at %s\n" % (args, v, traceback.extract_stack()[-2][1:]))
     return v
 
 # Code from ai.c begins here
@@ -6842,7 +6842,7 @@ if __name__ == '__main__':
     #  game.options |= OPTION_CURSES | OPTION_SHOWME
     #    else:
     game.options |= OPTION_TTY
-    seed = time.time()
+    seed = int(time.time())
     (options, arguments) = getopt.getopt(sys.argv[1:], "r:tx")
     for (switch, val) in options:
         if switch == '-r':
@@ -6851,11 +6851,13 @@ if __name__ == '__main__':
             except IOError:
                sys.stderr.write("sst: can't open replay file %s\n" % val)
                raise SystemExit, 1
-            line = replayfp.readline().strip()
             try:
+                line = replayfp.readline().strip()
                 (leader, key, seed) = line.split()
                 seed = eval(seed)
                 sys.stderr.write("sst2k: seed set to %s\n" % seed)
+                line = replayfp.readline().strip()
+                arguments += line.split()[2:]
             except ValueError:
                sys.stderr.write("sst: replay file %s is ill-formed\n"% val)
                os.exit(1)
@@ -6876,6 +6878,7 @@ if __name__ == '__main__':
         sys.stderr.write("sst: warning, can't open logfile\n")
     if logfp:
        logfp.write("# seed %s\n" % seed)
+       logfp.write("# options %s\n" % " ".join(arguments))
     random.seed(seed)
     iostart()
     if arguments: