From: Ian Jackson Date: Sun, 28 Feb 2021 13:32:15 +0000 (+0000) Subject: PieceRenderInstructions: Rename vpid and provide new_visible X-Git-Tag: otter-0.4.0~278 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=5541ceeea7c25eb281e6c4a5de7562d9f00c9118;p=otter.git PieceRenderInstructions: Rename vpid and provide new_visible Signed-off-by: Ian Jackson --- diff --git a/daemon/cmdlistener.rs b/daemon/cmdlistener.rs index 55009d03..439ab6cf 100644 --- a/daemon/cmdlistener.rs +++ b/daemon/cmdlistener.rs @@ -381,10 +381,10 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( if let Some(pinfo) = ig.ipieces.get(piece); let visible = if ! piece_at_all_occluded(&ig.gs.occults, piece) { // todo: something more sophisticated would be nice - let pri = PieceRenderInstructions { - id: VisiblePieceId(piece.data()), - occluded: PriOccluded::Visible, - }; + let pri = PieceRenderInstructions::new_visible( + // visible id is internal one here + VisiblePieceId(piece.data()) + ); let bbox = pinfo.bbox_approx()?; let desc_html = pri.describe(p, pinfo); Some(MgmtGamePieceVisibleInfo { @@ -564,10 +564,7 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( let gs = &mut ig.gs; let pc = gs.pieces.as_mut(modperm).remove(piece); let desc_html = if let Some(pc) = &pc { - let pri = PieceRenderInstructions { - id: default(), - occluded: PriOccluded::Visible, - }; + let pri = PieceRenderInstructions::new_visible(default()); pri.describe(pc, &p) } else { Html::lit("") diff --git a/daemon/session.rs b/daemon/session.rs index de75eed0..f4e00d73 100644 --- a/daemon/session.rs +++ b/daemon/session.rs @@ -115,7 +115,7 @@ fn session_inner(form: Json, let p = if let Some(p) = ig.ipieces.get(gpid) { p } else { continue /* was deleted */ }; let defs = pri.make_defs(pr, p)?; - alldefs.push((pri.id, defs)); + alldefs.push((pri.vpid, defs)); let desc = pri.describe(&pr, p); let vangle = pri.angle(pr).to_compass(); @@ -131,7 +131,7 @@ fn session_inner(form: Json, }; let for_piece = SessionPieceContext { - id: pri.id, + id: pri.vpid, pos: pr.pos, info: serde_json::to_string(&for_info) .map_err(|e| InternalError::JSONEncode(e))?, diff --git a/src/gamestate.rs b/src/gamestate.rs index 5d03737d..c173d79e 100644 --- a/src/gamestate.rs +++ b/src/gamestate.rs @@ -355,7 +355,7 @@ impl PieceXDataExt for PieceXDataState { #[derive(Debug,Clone)] pub struct PieceRenderInstructions { - pub id: VisiblePieceId, + pub vpid: VisiblePieceId, pub occluded: PriOccluded, } @@ -363,6 +363,10 @@ pub struct PieceRenderInstructions { pub enum PriOccluded { Visible /*, Occluded*/ } impl PieceRenderInstructions { + pub fn new_visible(vpid: VisiblePieceId) -> PieceRenderInstructions { + PieceRenderInstructions { vpid, occluded: PriOccluded::Visible } + } + #[throws(IE)] pub fn make_defs<'p,P>(&self, gpc: &GPiece, p: &P) -> Html where P:Borrow @@ -382,12 +386,12 @@ impl PieceRenderInstructions { let transform = gpc.angle.to_transform(); write!(&mut defs.0, r##""##, - pri.id, &transform.0, dragraise)?; - p.svg_piece(&mut defs, gpc, pri.id)?; + pri.vpid, &transform.0, dragraise)?; + p.svg_piece(&mut defs, gpc, pri.vpid)?; write!(&mut defs.0, r##""##)?; write!(&mut defs.0, r##""##, - pri.id, p.surround_path()?.0)?; + pri.vpid, p.surround_path()?.0)?; defs } inner(self, gpc, p.borrow())? diff --git a/src/hidden.rs b/src/hidden.rs index 0930c60c..c733edd3 100644 --- a/src/hidden.rs +++ b/src/hidden.rs @@ -180,12 +180,12 @@ pub fn piece_pri( piece: PieceId, pc: &GPiece, ) -> PieceRenderInstructions { - let vpiece = gpl.idmap.fwd_or_insert(piece); + let vpid = gpl.idmap.fwd_or_insert(piece); let angle = pc.angle; let occluded = PriOccluded::Visible; // xxx trace!("{} {:?} => {} angle={:?}", - player, piece, vpiece, angle); - PieceRenderInstructions { id: vpiece, occluded } + player, piece, vpid, angle); + PieceRenderInstructions { vpid, occluded } } pub fn piece_at_all_occluded( diff --git a/src/updates.rs b/src/updates.rs index c68ca80e..d6d6da28 100644 --- a/src/updates.rs +++ b/src/updates.rs @@ -508,7 +508,7 @@ impl<'r> PrepareUpdatesBuffer<'r> { )?; PreparedPieceUpdate { - piece: pri.id, + piece: pri.vpid, op, } }