diff options
author | Pekka Lampila <pekka.lampila@iki.fi> | 2013-06-04 01:17:42 +0300 |
---|---|---|
committer | Neil Moore <neil@s-z.org> | 2013-06-04 02:24:23 -0400 |
commit | 06ee7f8badf1e19f333e918a572bafb5a23317f8 (patch) | |
tree | 5776e407dd2e356e679b84d9e3fb7cd044c989b4 /crawl-ref/source/tileweb.cc | |
parent | 1369a2a7444d933dfe2aac5118f24594a5564c24 (diff) | |
download | crawl-ref-06ee7f8badf1e19f333e918a572bafb5a23317f8.tar.gz crawl-ref-06ee7f8badf1e19f333e918a572bafb5a23317f8.zip |
Only send the game state to the joining spectator
Previously on WebTiles spectator join everyone would receive messages
for the current game state. Now these messages are only sent to the
joining spectator.
Diffstat (limited to 'crawl-ref/source/tileweb.cc')
-rw-r--r-- | crawl-ref/source/tileweb.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/crawl-ref/source/tileweb.cc b/crawl-ref/source/tileweb.cc index b5ed4b222d..11a50b9c9b 100644 --- a/crawl-ref/source/tileweb.cc +++ b/crawl-ref/source/tileweb.cc @@ -240,9 +240,12 @@ void TilesFramework::send_message(const char *format, ...) finish_message(); } -void TilesFramework::flush_messages() +void TilesFramework::flush_messages(bool joining_only) { - send_message("*{\"msg\":\"flush_messages\"}"); + if (joining_only) + send_message("*{\"msg\":\"flush_messages\",\"joining_only\":true}"); + else + send_message("*{\"msg\":\"flush_messages\"}"); } void TilesFramework::_await_connection() @@ -306,8 +309,9 @@ wint_t TilesFramework::_handle_control_message(sockaddr_un addr, string data) } else if (msgtype == "spectator_joined") { - _send_everything(); flush_messages(); + _send_everything(); + flush_messages(true); } else if (msgtype == "menu_scroll") { |