From: Ian Jackson Date: Sun, 14 Mar 2021 19:05:19 +0000 (+0000) Subject: Refactor: Move prep_piecestate to be a method on PieceRenderInstructions X-Git-Tag: otter-0.4.0~66 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=c93e6287dace7a48dd2759a3f0aa678a5b7421b1;p=otter.git Refactor: Move prep_piecestate to be a method on PieceRenderInstructions Signed-off-by: Ian Jackson --- diff --git a/src/pcrender.rs b/src/pcrender.rs index 860e8813..e1f8301d 100644 --- a/src/pcrender.rs +++ b/src/pcrender.rs @@ -34,27 +34,26 @@ impl VisiblePieceAngle { } } -impl GPiece { +impl PieceRenderInstructions { #[throws(IE)] pub fn prep_piecestate(&self, ioccults: &IOccults, - ipc: &IPiece, pri: &PieceRenderInstructions) + gpc: &GPiece, ipc: &IPiece) -> PreparedPieceState { - let (pos, zlevel) = pri.pos_zlevel(self); - dbgc!(pos, pri, self, ioccults, ipc); + let pri = self; + let (pos, zlevel) = pri.pos_zlevel(gpc); + dbgc!(pos, pri, gpc, ioccults, ipc); PreparedPieceState { pos : pos, - held : self.held, - svg : pri.make_defs(ioccults, self, ipc)?, + held : gpc.held, + svg : pri.make_defs(ioccults, gpc, ipc)?, z : zlevel.z, zg : zlevel.zg, - angle : pri.angle(self).to_compass(), - pinned : self.pinned, - uos : pri.ui_operations(self, ipc.p.borrow())?, + angle : pri.angle(gpc).to_compass(), + pinned : gpc.pinned, + uos : pri.ui_operations(gpc, ipc.p.borrow())?, } } -} -impl PieceRenderInstructions { pub fn new_visible(vpid: VisiblePieceId) -> PieceRenderInstructions { PieceRenderInstructions { vpid, occulted: PriOcculted::Visible } } diff --git a/src/updates.rs b/src/updates.rs index 511c9501..16233ce9 100644 --- a/src/updates.rs +++ b/src/updates.rs @@ -496,7 +496,7 @@ impl<'r> PrepareUpdatesBuffer<'r> { #[throws(InternalError)] fn piece_update_player(ioccults: &IOccults, max_z: &mut ZCoord, - pc: &mut GPiece, + gpc: &mut GPiece, ipc: &IPiece, op: PieceUpdateOp<(),()>, pri: &Option) @@ -504,15 +504,15 @@ impl<'r> PrepareUpdatesBuffer<'r> { { let pri = match pri { Some(pri) => pri, None => return None }; - max_z.update_max(&pc.zlevel.z); + max_z.update_max(&gpc.zlevel.z); let op = op.try_map( |()|{ - let ns = pc.prep_piecestate(ioccults, ipc, pri)?; + let ns = pri.prep_piecestate(ioccults, gpc, ipc)?; >::Ok(ns) }, |()|{ - Ok(pc.zlevel.clone()) + Ok(gpc.zlevel.clone()) } )?;