Fix another OOS
Previously it could happen that moves of the previous turn were not sended yet to other players during 'side X turn' and similar events. This caused OOS because "change_controller_wml" could be sended before the the moves of the previous turn. I also removed a virtual froma function that didn't need to be virtual.
This commit is contained in:
parent
99d88e0910
commit
c2071fca13
4 changed files with 2 additions and 6 deletions
|
@ -226,7 +226,7 @@ protected:
|
|||
void fire_start();
|
||||
void start_game();
|
||||
virtual void init_gui();
|
||||
virtual void finish_side_turn();
|
||||
void finish_side_turn();
|
||||
void finish_turn(); //this should not throw an end turn or end level exception
|
||||
bool enemies_visible() const;
|
||||
|
||||
|
|
|
@ -333,10 +333,6 @@ void playmp_controller::after_human_turn(){
|
|||
|
||||
}
|
||||
|
||||
void playmp_controller::finish_side_turn(){
|
||||
play_controller::finish_side_turn();
|
||||
}
|
||||
|
||||
void playmp_controller::play_network_turn(){
|
||||
LOG_NG << "is networked...\n";
|
||||
|
||||
|
|
|
@ -50,7 +50,6 @@ protected:
|
|||
virtual void play_human_turn();
|
||||
virtual void play_linger_turn();
|
||||
virtual void after_human_turn();
|
||||
virtual void finish_side_turn();
|
||||
virtual void play_network_turn();
|
||||
virtual void do_idle_notification();
|
||||
virtual void play_idle_loop();
|
||||
|
|
|
@ -400,6 +400,7 @@ void playsingle_controller::play_turn()
|
|||
return;
|
||||
}
|
||||
finish_side_turn();
|
||||
turn_data_.send_data();
|
||||
if(is_regular_game_end()) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue