[Commits] [wesnoth/wesnoth] 8e5572: make server level_ reflect true start of game posi...

GitHub noreply at github.com
Thu Apr 3 21:19:41 UTC 2014


  Branch: refs/heads/master
  Home:   https://github.com/wesnoth/wesnoth
  Commit: 8e5572a239eb0b24e37135cc7825d7462599295c
      https://github.com/wesnoth/wesnoth/commit/8e5572a239eb0b24e37135cc7825d7462599295c
  Author: Chris Beck <render787 at gmail.com>
  Date:   2014-04-03 (Thu, 03 Apr 2014)

  Changed paths:
    M src/replay.cpp
    M src/server/game.cpp
    M src/server/server.cpp

  Log Message:
  -----------
  make server level_ reflect true start of game position

Previousy, the [side]'s in level_ were updated with controller changes,
so that observers who join would be up to date, since controller changes
were not stored in history. We now change this, so that controller changes
are stored in history.

These are stored as "[record_change_controller]" tags rather than
"[change_controller]" because during a replay we should not
restart the turn and reinit in the event of such a change.

This is in preparation to move all controller tweaks to server-side.


  Commit: fb726e0610af42fa815cf340fa68c570b8bef0d3
      https://github.com/wesnoth/wesnoth/commit/fb726e0610af42fa815cf340fa68c570b8bef0d3
  Author: Chris Beck <render787 at gmail.com>
  Date:   2014-04-03 (Thu, 03 Apr 2014)

  Changed paths:
    M src/multiplayer.cpp
    M src/multiplayer_wait.cpp
    M src/playcampaign.cpp
    M src/playcampaign.hpp
    M src/server/game.cpp
    M src/server/game.hpp
    M src/server/server.cpp

  Log Message:
  -----------
  move controller tweaks to server

(fixup of 736ceaa6c7e81882c9c5b2e932307b1f1ecb3bfd)

Following discussion with Soliton, we move all "controller tweaks"
i.e. assignments of networked side to human on the matching client
at start of game, to be server decisions, performed concurrent with
start of game.

In fact the controller tweaks are performed using
game::change_controller, which is modified so that it doesn't try to
make server messages before the game has started.

When the server receives [start_game] from the host, the server will
call game::change_controller for every side, sending corresponding
messages to all players and observers, updating them as appropriate.
The server will also rewrite level_ so that human sides are "network"
and ai sides are "network_ai", making the level_ correct for any
observer who subsequently joins.

We remove the obsoleted client-side code in playcampaign.cpp,
multiplayer.cpp.

We also add to multiplayer_wait.cpp the necessary support code to
interpret [change_controller] messages recieved before game start.


  Commit: 1c4ba02a309729cb35ae646323f860baf510fff3
      https://github.com/wesnoth/wesnoth/commit/1c4ba02a309729cb35ae646323f860baf510fff3
  Author: Chris Beck <beck.ct at gmail.com>
  Date:   2014-04-03 (Thu, 03 Apr 2014)

  Changed paths:
    M src/multiplayer.cpp
    M src/multiplayer_wait.cpp
    M src/playcampaign.cpp
    M src/playcampaign.hpp
    M src/replay.cpp
    M src/server/game.cpp
    M src/server/game.hpp
    M src/server/server.cpp

  Log Message:
  -----------
  Merge pull request #123 from cbeck88/server_controller_tweaks

Server controller tweaks


Compare: https://github.com/wesnoth/wesnoth/compare/c0ea446999f7...1c4ba02a3097


More information about the Commits mailing list