chiark / gitweb /
ilk mixing: piece_pri: Hoist pri_occulted call
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 17 Apr 2022 10:36:43 +0000 (11:36 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 17 Apr 2022 18:00:24 +0000 (19:00 +0100)
We are going to want to add a new branch to these conditionals, and
the new branch doesn't want this functionality.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/hidden.rs

index cacef9a1365458323fcbe121ee720e17af88c9c0..993c98e3401ec5f23416afa48695a1ce82cc1aa8 100644 (file)
@@ -285,12 +285,13 @@ pub fn piece_pri(
   piece: PieceId, gpc: &GPiece, _ipc: &IPiece,
 ) -> Option<PieceRenderInstructions>
 {
-  let occk = if_chain! {
+  let mut occk_dbg = None;
+  let occulted = if_chain! {
     if let Some(Passive { occid, notch }) = gpc.occult.passive;
     if let Some(occ) = occults.occults.get(occid);
     if let Some(zg) = occ.notch_zg(notch);
     then {
-      occ.views.get_kind(player)
+      let occk = occ.views.get_kind(player)
         .map_displaced(|(displace, z)| {
           let notch: NotchNumber = notch.into();
           let pos = displace.place(occ.ppiece_use_size, notch);
@@ -301,19 +302,19 @@ pub fn piece_pri(
               z.clone()
             });
           (pos, ZLevel { z, zg })
-        })
+        });
+
+      occk_dbg = Some(occk.clone());
+      match occk.pri_occulted() {
+        Some(o) => o,
+        None => {
+          trace_dbg!("piece_pri", player, piece, occk_dbg, gpc);
+          return None;
+        }
+      }
     }
     else {
-      OccKG::Visible
-    }
-  };
-
-  let occk_dbg = occk.clone();
-  let occulted = match occk.pri_occulted() {
-    Some(o) => o,
-    None => {
-      trace_dbg!("piece_pri", player, piece, occk_dbg, gpc);
-      return None;
+      PriOG::Visible(ShowUnocculted(()))
     }
   };