don't allow toggle shroud during enemies turn.

whether DSU (= delayed shroud updates) is enabled for a team is part of
the gamestate and toggeling it during a turn of a networked side will
cause OOS sooner or later. So we cannot toggle it then.

backports 2a395fb750
This commit is contained in:
gfgtdf 2015-01-10 02:01:43 +01:00
parent ff05e0038e
commit fd6ad6d464

View file

@ -1020,11 +1020,15 @@ bool playsingle_controller::can_execute_command(const hotkey::hotkey_command& cm
return (!browse_ || linger_) && !events::commands_disabled;
case hotkey::HOTKEY_DELAY_SHROUD:
return !linger_ && (teams_[gui_->viewing_team()].uses_fog() || teams_[gui_->viewing_team()].uses_shroud())
&& !events::commands_disabled;
return !linger_
&& (gui_->viewing_team() == gui_->playing_team())
&& teams_[gui_->viewing_team()].is_human()
&& (teams_[gui_->viewing_team()].uses_fog() || teams_[gui_->viewing_team()].uses_shroud())
&& !events::commands_disabled;
case hotkey::HOTKEY_UPDATE_SHROUD:
return !linger_
&& player_number_ == gui_->viewing_side()
&& teams_[gui_->viewing_team()].is_human()
&& !events::commands_disabled
&& teams_[gui_->viewing_team()].auto_shroud_updates() == false;