Enable chat in SP and local MP.

Fixes #1111.

Quoting the issue:

> The implications would be, e.g., that you could chat (to yourself, i.e. "for the record", i.e. for the replay) in SP mode, thus making notes in the chatlog about the gameplay.
This commit is contained in:
josteph 2019-09-15 06:24:20 +00:00
parent 2eccbab970
commit 2543fc67a2
5 changed files with 12 additions and 7 deletions

View file

@ -162,6 +162,10 @@ void play_controller::hotkey_handler::cycle_back_units(){
mouse_handler_.cycle_back_units(browse());
}
void play_controller::hotkey_handler::speak(){
menu_handler_.speak();
}
void play_controller::hotkey_handler::show_chat_log(){
menu_handler_.show_chat_log();
}
@ -350,6 +354,9 @@ bool play_controller::hotkey_handler::can_execute_command(const hotkey::hotkey_c
case hotkey::HOTKEY_LOAD_GAME:
return !play_controller_.is_networked_mp(); // Can only load games if not in a network game
case hotkey::HOTKEY_SPEAK:
case hotkey::HOTKEY_SPEAK_ALLY:
case hotkey::HOTKEY_SPEAK_ALL:
case hotkey::HOTKEY_CHAT_LOG:
return true;

View file

@ -98,6 +98,7 @@ public:
virtual void save_map() override;
virtual void load_game() override;
virtual void preferences() override;
virtual void speak() override;
virtual void show_chat_log() override;
virtual void show_help() override;
virtual void cycle_units() override;

View file

@ -26,10 +26,6 @@ playmp_controller::hotkey_handler::hotkey_handler(playmp_controller & pc, saved_
playmp_controller::hotkey_handler::~hotkey_handler(){}
void playmp_controller::hotkey_handler::speak(){
menu_handler_.speak();
}
void playmp_controller::hotkey_handler::whisper(){
menu_handler_.whisper();
}
@ -65,7 +61,8 @@ bool playmp_controller::hotkey_handler::can_execute_command(const hotkey::hotkey
case hotkey::HOTKEY_SPEAK:
case hotkey::HOTKEY_SPEAK_ALLY:
case hotkey::HOTKEY_SPEAK_ALL:
res = playmp_controller_.is_networked_mp();
case hotkey::HOTKEY_CHAT_LOG:
res = true;
break;
case hotkey::HOTKEY_START_NETWORK:
res = is_observer() && playmp_controller_.network_processing_stopped_;

View file

@ -32,7 +32,6 @@ public:
hotkey_handler(playmp_controller &, saved_game &);
~hotkey_handler();
virtual void speak() override;
virtual void whisper() override;
virtual void shout() override;
virtual void start_network() override;

View file

@ -295,7 +295,8 @@ bool playsingle_controller::hotkey_handler::can_execute_command(const hotkey::ho
return playsingle_controller_.get_replay_controller() && playsingle_controller_.get_replay_controller()->can_execute_command(cmd, index);
case hotkey::HOTKEY_REPLAY_EXIT:
return playsingle_controller_.is_replay() && (!playsingle_controller_.is_networked_mp() || resources::recorder->at_end());
default: return play_controller::hotkey_handler::can_execute_command(cmd, index);
default:
return play_controller::hotkey_handler::can_execute_command(cmd, index);
}
return res;
}