From: Ian Jackson Date: Thu, 11 Mar 2021 19:18:23 +0000 (+0000) Subject: hidden: pass &mut Generation into occutation implementation X-Git-Tag: otter-0.4.0~152 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=fce09b22a9c40a747c8c90e9d4333e06cbc6628b;p=otter.git hidden: pass &mut Generation into occutation implementation Signed-off-by: Ian Jackson --- diff --git a/src/hand.rs b/src/hand.rs index c3a26bc1..5df47c92 100644 --- a/src/hand.rs +++ b/src/hand.rs @@ -141,6 +141,7 @@ impl PieceTrait for Hand { opname: &str, wrc: WhatResponseToClientOp) -> UpdateFromOpComplex { let ApiPieceOpArgs { gs,player,piece,ipieces,.. } = a; + let gen = &mut gs.gen; let gplayers = &mut gs.players; let gpieces = &mut gs.pieces; @@ -194,7 +195,7 @@ impl PieceTrait for Hand { // actually do things: dbgc!("creating occ"); let xupdates = - create_occultation(gplayers, gpieces, goccults, ipieces, + create_occultation(gen, gplayers, gpieces, goccults, ipieces, region, piece, views)?; dbgc!("creating occ done", &new_owner, &xupdates); diff --git a/src/hidden.rs b/src/hidden.rs index 0cf6df1d..8eb6fd25 100644 --- a/src/hidden.rs +++ b/src/hidden.rs @@ -809,7 +809,8 @@ pub fn recalculate_occultation_piece( log } ), - to_recompute.implement(&mut gs.players, &mut gs.pieces, &mut gs.occults, + to_recompute.implement(&mut gs.gen, &mut gs.players, + &mut gs.pieces, &mut gs.occults, ipieces), ))? } @@ -853,6 +854,7 @@ mod recompute { } pub fn mark_dirty(&mut self, occid: OccId) { self.outdated.insert(occid); } pub fn implement(self, + _gen: &mut Generation, gplayers: &mut GPlayers, gpieces: &mut GPieces, goccults: &mut GameOccults, @@ -907,6 +909,7 @@ impl OccultationViewDef for OwnerOccultationView { #[throws(OnlineError)] pub fn create_occultation( + gen: &mut Generation, gplayers: &mut GPlayers, gpieces: &mut GPieces, goccults: &mut GameOccults, @@ -973,7 +976,7 @@ pub fn create_occultation( goccults.occults.remove(occid).expect("inserted this earlier"); e }), - to_recompute.implement(gplayers, gpieces, goccults, ipieces), + to_recompute.implement(gen, gplayers, gpieces, goccults, ipieces), ))?; dbgc!(&updates); @@ -982,6 +985,7 @@ pub fn create_occultation( #[throws(IE)] pub fn remove_occultation( + gen: &mut Generation, gplayers: &mut GPlayers, gpieces: &mut GPieces, goccults: &mut GameOccults, @@ -1046,7 +1050,7 @@ pub fn remove_occultation( aggerr.record(internal_logic_error("removing occultation of non-piece")); } }, - to_recompute.implement(gplayers, gpieces, goccults, ipieces), + to_recompute.implement(gen, gplayers, gpieces, goccults, ipieces), )); aggerr.ok()?;