summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tileweb.cc
diff options
context:
space:
mode:
authorPekka Lampila <pekka.lampila@iki.fi>2013-06-04 01:17:42 +0300
committerNeil Moore <neil@s-z.org>2013-06-04 02:24:23 -0400
commit06ee7f8badf1e19f333e918a572bafb5a23317f8 (patch)
tree5776e407dd2e356e679b84d9e3fb7cd044c989b4 /crawl-ref/source/tileweb.cc
parent1369a2a7444d933dfe2aac5118f24594a5564c24 (diff)
downloadcrawl-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.cc10
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")
{