chiark / gitweb /
script: Provide piece_z_cmp and pieceid_z_cmp
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 3 Jun 2021 00:06:34 +0000 (01:06 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 3 Jun 2021 00:06:34 +0000 (01:06 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
templates/script.ts

index 0d310d5cefbd5da1706a9e2455628bb76bf7eb3a..029cbc8fa070bd69a5f6faca0896b230f471c726 100644 (file)
@@ -1803,12 +1803,22 @@ function piece_note_moved(piece: PieceId, p: PieceInfo) {
   movements.push({ piece: piece, p: p, this_motion: now });
 }
 
+function piece_z_cmp(a: PieceInfo, b: PieceInfo) {
+  if (a.z  < b.z ) return -1;
+  if (a.z  > b.z ) return +1;
+  if (a.zg < b.zg) return -1;
+  if (a.zg > b.zg) return +1;
+  return 0;
+}
+
 function piece_z_before(a: PieceInfo, b: PieceInfo) {
-  if (a.z  < b.z ) return true;
-  if (a.z  > b.z ) return false;
-  if (a.zg < b.zg) return true;
-  if (a.zg > b.zg) return false;
-  return false;
+  return piece_z_cmp(a,
+                    b) < 0;
+}
+
+function pieceid_z_cmp(a: PieceId, b: PieceId) {
+  return piece_z_cmp(pieces[a]!,
+                    pieces[b]!);
 }
 
 pieceops.Move = <PieceHandler>function