X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=rogue_chat_curses.py;fp=rogue_chat_curses.py;h=9db7b445b8040bd92166d554d4d3f02b32cbe8b7;hb=3c917821215f505322bef3720d6e1d3669a567a6;hp=1d327727c3fee4ede955321459c9e1d85b11656b;hpb=2a7e3040d58b1d7dcddf64378bfd1abd8d7ded7c;p=plomrogue2 diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py index 1d32772..9db7b44 100755 --- a/rogue_chat_curses.py +++ b/rogue_chat_curses.py @@ -1076,6 +1076,23 @@ class TUI: term_y += 1 map_y += 1 + def draw_names(): + players = [t for t in self.game.things if t.type_ == 'Player'] + players.sort(key=lambda t: len(t.name)) + players.reverse() + shrink_offset = max(0, (self.size.y - self.left_window_width // 2) // 2) + y = 0 + for t in players: + offset_y = y - shrink_offset + max_len = max(4, (self.left_window_width // 2) - (offset_y * 2) - 8) + name = t.name[:] + if len(name) > max_len: + name = name[:max_len] + '…' + safe_addstr(y, 0, '@%s:%s' % (t.thing_char, name)) + y += 1 + if y >= self.size.y: + break + def draw_face_popup(): t = self.game.get_thing(self.draw_face) if not t or not hasattr(t, 'face'): @@ -1148,8 +1165,10 @@ class TUI: draw_map() if self.show_help: draw_help() - if self.draw_face and self.mode.name in {'chat', 'play'}: - draw_face_popup() + if self.mode.name in {'chat', 'play'}: + draw_names() + if self.draw_face: + draw_face_popup() def pick_selectable(task_name): try: