[Commits] [wesnoth/wesnoth] 62cea3: fix quit furing start

GitHub noreply at github.com
Tue Mar 3 20:50:12 UTC 2015


  Branch: refs/heads/master
  Home:   https://github.com/wesnoth/wesnoth
  Commit: 62cea304b3f4192f4e6a90ffe204ceb9a1a70108
      https://github.com/wesnoth/wesnoth/commit/62cea304b3f4192f4e6a90ffe204ceb9a1a70108
  Author: gfgtdf <f492343 at rmqkr.net>
  Date:   2015-03-03 (Tue, 03 Mar 2015)

  Changed paths:
    M src/game_end_exceptions.hpp
    M src/game_initialization/playcampaign.cpp
    M src/playsingle_controller.cpp
    M src/replay_controller.cpp

  Log Message:
  -----------
  fix quit furing start

by using differnt codepath for 'normal' game ends (victory/defeat) and
QUIT.
QUIT now throws an exception that is not handled by playcontroller,
similar to load_game_exception.


  Commit: fb68590637c766b7f19256d22559eb4849e2c71c
      https://github.com/wesnoth/wesnoth/commit/fb68590637c766b7f19256d22559eb4849e2c71c
  Author: gfgtdf <f492343 at rmqkr.net>
  Date:   2015-03-03 (Tue, 03 Mar 2015)

  Changed paths:
    M src/actions/attack.cpp
    M src/actions/move.cpp
    M src/ai/actions.cpp
    M src/ai/manager.cpp
    M src/dialogs.cpp
    M src/game_end_exceptions.hpp
    M src/game_events/menu_item.cpp
    M src/game_initialization/playcampaign.cpp
    M src/hotkey/command_executor.hpp
    M src/hotkey_handler_replay.hpp
    M src/menu_events.cpp
    M src/mouse_events.cpp
    M src/play_controller.cpp
    M src/play_controller.hpp
    M src/playmp_controller.cpp
    M src/playmp_controller.hpp
    M src/playsingle_controller.cpp
    M src/playsingle_controller.hpp
    M src/playturn.cpp
    M src/playturn.hpp
    M src/replay.cpp
    M src/replay.hpp
    M src/replay_controller.cpp
    M src/replay_controller.hpp
    M src/synced_context.cpp
    M src/synced_context.hpp
    M src/wesnoth.cpp
    M src/whiteboard/move.cpp
    M src/whiteboard/recall.cpp
    M src/whiteboard/side_actions.cpp

  Log Message:
  -----------
  more refactor of play_side and game_end_exception.hpp

Instead of having different exceptions (ai_end_turn_exception,
end_level_exception and restart_turn_exception) we now have one exception
(return_to_play_side_exception) that is used to escape from play_ai_turn
or play_slice and is catched in the play_side related functions.
The information why we returned to play_side is already stored in the
playsingle_controller object. That is also why we do not need the
possible_end_play_signal return value anymore.

play_controller::check_victory does not throw exceptions anymore
Also do_replay and thus turn_info::process_network_data don't throw
exceptions anymore when the scenario is finished by victory or defeat.
Instead it returns REPLAY_FOUND_END_LEVEL, this means
return_to_play_side_exception is not thrown during replay at all.

this also fixed up a previous commit 'refactor play_side' where
accidently play_idle_loop was called instead of play_human_turn in
play_side.


Compare: https://github.com/wesnoth/wesnoth/compare/f4cf1c6ea6b7...fb68590637c7


More information about the Commits mailing list