Fix chart kossage in replay games.
[super-star-trek.git] / sst.py
diff --git a/sst.py b/sst.py
index a95066624084ac0d96abae9ee220530fd8ead732..409ba7aa0bac2375f04a4129c186902ebff14e1f 100755 (executable)
--- a/sst.py
+++ b/sst.py
@@ -3433,8 +3433,8 @@ def proutn(proutntline):
             pause_game()
             clrscr()
         # Uncomment this to debug curses problems
-        if logfp:
-            logfp.write("#curses: at %s proutn(%s)\n" % ((y, x), repr(proutntline)))
+        #if logfp:
+        #    logfp.write("#curses: at %s proutn(%s)\n" % ((y, x), repr(proutntline)))
         curwnd.addstr(proutntline)
         curwnd.refresh()
     else:
@@ -3506,7 +3506,7 @@ def setwnd(wnd):
                 legend = "prompt"
             else:
                 legend = "unknown"
-            logfp.write("#curses: setwnd(%s)\n" % legend)
+            #logfp.write("#curses: setwnd(%s)\n" % legend)
         curwnd = wnd
         # Some curses implementations get confused when you try this.
         try:
@@ -3710,8 +3710,6 @@ def imove(icourse=None, noattack=False):
         # check for edge of galaxy
         kinks = 0
         while True:
-
-
             kink = False
             if icourse.final.i < 0:
                 icourse.final.i = -icourse.final.i
@@ -5210,7 +5208,8 @@ def lrscan(silent):
                 if not silent and game.state.galaxy[x][y].supernova:
                     proutn(" ***")
                 elif not silent:
-                    proutn(" %3d" % (game.state.chart[x][y].klingons*100 + game.state.chart[x][y].starbase * 10 + game.state.chart[x][y].stars))
+                    cn = " %3d" % (game.state.chart[x][y].klingons*100 + game.state.chart[x][y].starbase * 10 + game.state.chart[x][y].stars)
+                    proutn(((3 - len(cn)) * '.') + cn)
         if not silent:
             prout(" ")
 
@@ -6102,6 +6101,9 @@ def newqad():
             game.quad[QUADSIZE-1][0] = '.'
         if game.quad[QUADSIZE-1][QUADSIZE-1]=='X':
             game.quad[QUADSIZE-1][QUADSIZE-1] = '.'
+    # This should guarantee that replay games don't lose info about the chart
+    if (game.options & OPTION_AUTOSCAN) or replayfp:
+        lrscan(silent=True)
 
 def setpassword():
     "Set the self-destruct password."