X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=rogue_chat_curses.py;h=15f4cd2db0b8773ff1ab68dd05abdc971f9227db;hb=43591a0ee2c85a98730aac730aded8c0a8cdba57;hp=2dfbdd1b6b76772877ac47b9db7c04b4e199e919;hpb=ee3263e4b0bbc9146040c58bb3ed9bb1653102c1;p=plomrogue2
diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py
index 2dfbdd1..15f4cd2 100755
--- a/rogue_chat_curses.py
+++ b/rogue_chat_curses.py
@@ -139,7 +139,7 @@ cmd_PORTAL.argtypes = 'yx_tuple:nonneg string'
def cmd_PLAY_ERROR(game, msg):
game.tui.log_msg('? ' + msg)
- game.tui.flash()
+ game.tui.flash = True
game.tui.do_refresh = True
cmd_PLAY_ERROR.argtypes = 'string'
@@ -155,6 +155,7 @@ cmd_ARGUMENT_ERROR.argtypes = 'string'
def cmd_ANNOTATION(game, position, msg):
game.info_db[position] = msg
+ game.tui.restore_input_values()
if game.tui.mode.shows_info:
game.tui.do_refresh = True
cmd_ANNOTATION.argtypes = 'yx_tuple:nonneg string'
@@ -291,11 +292,9 @@ class TUI:
self.force_instant_connect = True
self.input_lines = []
self.fov = ''
+ self.flash = False
curses.wrapper(self.loop)
- def flash(self):
- curses.flash()
-
def connect(self):
def handle_recv(msg):
@@ -368,6 +367,7 @@ class TUI:
if self.mode.shows_info:
player = self.game.get_thing(self.game.player_id)
self.explorer = YX(player.position.y, player.position.x)
+ self.query_info()
if self.mode.name == 'waiting_for_server':
self.log_msg('@ waiting for server â¦')
if self.mode.name == 'edit':
@@ -426,12 +426,12 @@ class TUI:
self.window_width)
def move_explorer(direction):
- target = self.game.map_geometry.move(self.explorer, direction)
+ target = self.game.map_geometry.move_yx(self.explorer, direction)
if target:
self.explorer = target
self.query_info()
else:
- self.flash()
+ self.flash = True
def draw_history():
lines = []
@@ -636,6 +636,9 @@ class TUI:
else:
self.send('PING')
last_ping = now
+ if self.flash:
+ curses.flash()
+ self.flash = False
if self.do_refresh:
draw_screen()
self.do_refresh = False
@@ -748,7 +751,7 @@ class TUI:
self.host = self.game.portals[player.position]
self.reconnect()
else:
- self.flash()
+ self.flash = True
self.log_msg('? not standing on portal')
elif key in self.movement_keys and 'MOVE' in self.game.tasks:
self.send('TASK:MOVE ' + self.movement_keys[key])