opname: &str, wrc: WhatResponseToClientOp,
_: ShowUnocculted)
-> UpdateFromOpComplex {
- let ApiPieceOpArgs { gs,player,piece,ipieces,to_permute,.. } = a;
+ let ApiPieceOpArgs { gs,player,piece,ipieces,ioccults,to_permute,.. } = a;
let gen = &mut gs.gen;
let gplayers = &mut gs.players;
let gpieces = &mut gs.pieces;
dbgc!("creating occ");
let xupdates =
create_occultation(&mut gen.unique_gen(),
- gplayers, gpieces, goccults, ipieces,
+ gplayers, gpieces, goccults, ipieces, ioccults,
to_permute,
region, piece, views)?;
("deactivate", true) => {
let xupdates =
remove_occultation(&mut gen.unique_gen(),
- gplayers, gpieces, goccults, ipieces,
+ gplayers, gpieces, goccults, ipieces, ioccults,
to_permute, piece)
.map_err(|ie| ApiPieceOpError::ReportViaResponse(ie.into()))?;
gpieces: &mut GPieces,
goccults: &mut GameOccults,
ipieces: &IPieces,
+ _ioccults: &IOccults,
to_permute: &mut ToPermute,
piece: PieceId,
// if no change, we return ret_vanilla(log_visible)
gs: &mut GameState,
who_by: Html,
ipieces: &IPieces,
+ ioccults: &IOccults,
to_permute: &mut ToPermute,
piece: PieceId,
(vanilla_wrc, vanilla_op, vanilla_log): PUFOS,
{
recalculate_occultation_general(
&mut gs.gen.unique_gen(),
- &gs.players, &mut gs.pieces, &mut gs.occults, ipieces, to_permute,
+ &gs.players, &mut gs.pieces, &mut gs.occults, ipieces, ioccults,
+ to_permute,
piece, vanilla_log,
|log| (vanilla_wrc, vanilla_op, log).into(),
|old, new, show| vec![ LogEntry { html: Html(format!(
gpieces: &mut GPieces,
goccults: &mut GameOccults,
ipieces: &IPieces,
+ ioccults: &IOccults,
to_permute: &mut ToPermute,
ppiece: PieceId,
updates: &mut Vec<(PieceId, PieceUpdateOps)>,
){
recalculate_occultation_general(
- gen, gplayers, gpieces, goccults, ipieces, to_permute,
+ gen, gplayers, gpieces, goccults, ipieces, ioccults, to_permute,
ppiece,
(), |_|(),
|_,_,_|(), |puo_pp, ()|{
gpieces: &mut GPieces,
goccults: &mut GameOccults,
ipieces: &IPieces,
+ ioccults: &IOccults,
to_permute: &mut ToPermute,
region: Area,
occulter: PieceId,
for &ppiece in &recalc {
recalculate_occultation_ofmany(gen,
- gplayers, gpieces, goccults, ipieces,
+ gplayers, gpieces, goccults,
+ ipieces, ioccults,
to_permute,
ppiece, &mut updates)?;
}
gpieces: &mut GPieces,
goccults: &mut GameOccults,
ipieces: &IPieces,
+ ioccults: &IOccults,
to_permute: &mut ToPermute,
occulter: PieceId,
) -> Vec<(PieceId, PieceUpdateOps)> {
let pieces: Vec<_> = occ.notches.iter().collect();
for &ppiece in pieces.iter() {
recalculate_occultation_ofmany(gen,
- gplayers, gpieces, goccults, ipieces,
+ gplayers, gpieces, goccults,
+ ipieces, ioccults,
to_permute,
ppiece, &mut updates)
.unwrap_or_else(|e| {