Add a game state log dumping facility that produces a (load)able sexpr-log.
[eow] / empire.lisp
index 7ac17d498cb742fa7857f912341bc389cb9d882b..f4fb8b2a7619525dd1337fd97ce5c662251d3fa7 100644 (file)
                        (if (and (<= dump-index (fill-pointer dump-queue))
                                 (not (null (aref dump-queue dump-index))))
                            (send-message connection (format nil "xdump meta ~a" (xdump-data:name (aref dump-queue dump-index))))))
-                (set-new-mode (connection-mode connection) 'play-mode))))))))
+                (progn
+                  (xdump:checkpoint)
+                  (set-new-mode (connection-mode connection) 'play-mode)))))))))
 
 (defmethod special-xup ((c connection))
-  (setf (xdump c) (xdump:make-parser))
-  (send-message c "xdump meta meta" :next-mode 'xdump-mode))
+  (let ((user-log (empire-log:open-user-log (user c))))
+    (setf (xdump c) (xdump:make-parser :user-log user-log))
+    (send-message c "xdump meta meta" :next-mode 'xdump-mode)))
 
 (defmethod special-command ((c connection) line)
   (cond ((string= line "xup") (special-xup c))