X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=rogue_chat_curses.py;h=d2cc704173f33243e52ee37ab08cbc371021e30a;hb=97b606810ee702789497f9e842718441585ad545;hp=1d327727c3fee4ede955321459c9e1d85b11656b;hpb=699621898072da0b0b93748e2b6a49badfdec391;p=plomrogue2 diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py index 1d32772..d2cc704 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(5, (self.left_window_width // 2) - (offset_y * 2) - 8) + name = t.name[:] + if len(name) > max_len: + name = name[:max_len - 1] + '…' + 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'): @@ -1095,8 +1112,8 @@ class TUI: draw_body_part(t.hat, self.size.y - 6) safe_addstr(self.size.y - 2, start_x, '----------') name = t.name[:] - if len(name) > 6: - name = name[:6] + '…' + if len(name) > 7: + name = name[:6 - 1] + '…' safe_addstr(self.size.y - 1, start_x, '@%s:%s' % (t.thing_char, name)) @@ -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: