Fix FenUtil.setupPieces and Antiking variants
[xogo.git] / base_rules.js
index cdce2a1..7dc134d 100644 (file)
@@ -219,12 +219,15 @@ export default class ChessRules {
     const s = FenUtil.setupPieces(
       ['r', 'n', 'b', 'q', 'k', 'b', 'n', 'r'],
       {
+        randomness: this.options["randomness"],
         between: {p1: 'k', p2: 'r'},
-        diffCol: ['b']
+        diffCol: ['b'],
+        flags: ['r']
       }
     );
     return {
-      fen: s.b + "/pppppppp/8/8/8/8/PPPPPPPP/" + s.w,
+      fen: s.b.join("") + "/pppppppp/8/8/8/8/PPPPPPPP/" +
+           s.w.join("").toUpperCase(),
       o: {flags: s.flags}
     };
   }
@@ -356,9 +359,6 @@ export default class ChessRules {
       if (this.options[opt.variable] === undefined)
         this.options[opt.variable] = opt.defaut;
     });
-    if (o.genFenOnly)
-      // This object will be used only for initial FEN generation
-      return;
 
     // Some variables
     this.playerColor = o.color;
@@ -557,7 +557,7 @@ export default class ChessRules {
     chessboard.style.top = spaceTop + "px";
     // Give sizes instead of recomputing them,
     // because chessboard might not be drawn yet.
-    this.setupPieces({
+    this.setupVisualPieces({
       width: cbWidth,
       height: cbHeight,
       x: spaceLeft,
@@ -597,7 +597,7 @@ export default class ChessRules {
     return board;
   }
 
-  setupPieces(r) {
+  setupVisualPieces(r) {
     let chessboard =
       document.getElementById(this.containerId).querySelector(".chessboard");
     if (!r)
@@ -965,7 +965,7 @@ export default class ChessRules {
     // TODO: onpointerdown/move/up ? See reveal.js /controllers/touch.js
   }
 
-  // NOTE: not called if isDiagram, or genFenOnly
+  // NOTE: not called if isDiagram
   removeListeners() {
     let container = document.getElementById(this.containerId);
     this.windowResizeObs.unobserve(container);
@@ -2641,6 +2641,7 @@ export default class ChessRules {
     let container = document.getElementById(this.containerId);
     if (document.hidden) {
       document.onvisibilitychange = () => {
+        // TODO here: page reload ?! (some issues if tab changed...)
         document.onvisibilitychange = undefined;
         checkDisplayThenAnimate(700);
       };