home · contact · privacy
Replace annotation polling with annotation push, cache info display.
[plomrogue2] / plomrogue / game.py
index ff761556e0da3f4299411ad0ae27051db7957a3f..c4951799002c3a2ec086bde6342cb07231c1c6f5 100755 (executable)
@@ -202,6 +202,7 @@ class Game(GameBase):
     def send_gamestate(self, connection_id=None):
         """Send out game state data relevant to clients."""
 
+        # TODO: limit to connection_id if provided
         self.io.send('TURN ' + str(self.turn))
         from plomrogue.mapping import FovMap
         import multiprocessing
@@ -247,7 +248,9 @@ class Game(GameBase):
                 for little_yx in [little_yx for little_yx in self.annotations[big_yx]
                                   if player.fov_test(big_yx, little_yx)]:
                     target_yx = player.fov_stencil.target_yx(big_yx, little_yx)
-                    self.io.send('ANNOTATION_HINT %s' % (target_yx,), c_id)
+                    annotation = self.annotations[big_yx][little_yx]
+                    self.io.send('ANNOTATION %s %s' % (target_yx,
+                                                       quote(annotation)), c_id)
         self.io.send('GAME_STATE_COMPLETE')
 
     def run_tick(self):