home · contact · privacy
Invert color for examiner cursor.
[plomrogue2-experiments] / new / example_client.py
index aa0a3076d4eacfa890683ffcfc03729cf150b71f..5fc3063da146b2a4be1a26e47bc7f61169de903d 100755 (executable)
@@ -412,6 +412,8 @@ class MapWidget(Widget):
                     chars_with_attrs += [(c, curses.color_pair(2))]
                 elif c in {'x', 'X', '#'}:
                     chars_with_attrs += [(c, curses.color_pair(3))]
+                elif c == '?':
+                    chars_with_attrs += [(c, curses.color_pair(5))]
                 else:
                     chars_with_attrs += [c]
             return chars_with_attrs
@@ -584,10 +586,14 @@ class TUI:
             curses.init_pair(2, curses.COLOR_BLACK, curses.COLOR_GREEN)
             curses.init_pair(3, curses.COLOR_BLACK, curses.COLOR_BLUE)
             curses.init_pair(4, curses.COLOR_BLACK, curses.COLOR_YELLOW)
+            curses.init_pair(5, curses.COLOR_BLACK, curses.COLOR_WHITE)
 
+        # Basic curses initialization work.
         setup_screen(stdscr)
         curses.curs_set(False)  # hide cursor
         init_colors()
+
+        # With screen initialized, set up widgets with their curses windows.
         edit_widget = TextLineWidget('SEND:', self, (0, 0), (1, 20))
         edit_line_widget = EditWidget(self, (0, 6), (1, 14), ['edit'])
         edit_widget.children += [edit_line_widget]
@@ -605,9 +611,12 @@ class TUI:
                        descriptor_widget, map_widget, inventory_widget,
                        pickable_items_widget]
         popup_widget = PopUpWidget(self, (0, 0), (1, 1), visible=False)
-        write_mode = False
+
+        # Ensure initial window state before loop starts.
         for w in top_widgets:
             w.ensure_freshness(True)
+        self.socket.send('GET_GAMESTATE')
+        write_mode = False
         while True:
 
             # Draw screen.