Skip to content

Family client: Family window, Family Tree, join card - #708

Merged
neeerp merged 2 commits into
masterfrom
v83/family-client
Oct 22, 2026
Merged

neeerp merged 2 commits into
masterfrom
v83/family-client

Conversation

@neeerp

@neeerp neeerp commented Oct 22, 2026

Copy link
Copy Markdown
Owner

The client side of families, on top of the server slice (#699).

Family window (UIWindow.img/Family, report b042)

  • Opened with F (new default binding, HC action FAMILY 27 = v83's 26), from your own Char Info, and with BtFamily. Opening it sends OPEN_FAMILY.
  • Shows the family name, the precepts marquee, juniors, Rep and today's Rep, and the entitlements one at a time with their tooltips.
  • Its buttons are Add Junior, Pedigree, the precepts prompt (leader only, sends CHANGE_FAMILY_MESSAGE) and Use This (USE_FAMILY).

Family Tree (b044)

  • Four generations around the character viewed, with who is online and the junior counts.
  • On your own tree, the senior's and juniors' boxes light up, an empty junior box asks for a name, and each member has a tooltip (Rep, time online, location, entitlements used).
  • Texts are centred the way v83 does it (0x808212 halves the leftover room as unsigned), so a text wider than its box is never drawn. In particular, "(You do not have family members.)" stays blank in empty boxes.
  • BtBye stays disabled until separation exists.

Asked to join

  • FAMILY_JOIN_REQUEST shows one invitation card, even when asked repeatedly.
  • O on the card gives v83's Yes/No; X or the card fading out declines.
  • It is auto-declined when the family-invite option is off.
  • The results, join and Rep-gain chat lines, the OK dialogs for refusals, and relatives' login notices are handled (recv 94-102).

Also

  • Char Info's Family button opens the window for yourself and someone else's tree for others.
  • The context menu's Add Junior sends ADD_FAMILY.
  • Esc closes either window when it is the topmost one (b045).
  • Server: the default keymap gains F → Family (the unit test now counts 40); the tree's chart repeats the leader as the viewed one.

Verification

  • build-dbg ctest: 152/152, including the new family parser/arrangement tests.
  • Unit tests: game lib 134 and net lib 853, all pass.
  • Harness: families and keymap_persistence pass.
  • GUI check against the lane stack with a scripted senior:
    • the card, Yes/No and joining;
    • the window with long precepts scrolling on one line;
    • the tree with tooltips (self, senior, total);
    • Esc closing tree then window.
  • Reviewed by a Sonnet agent (b046). Fixed from the review: the tree title's centring, the precepts wrapping, Esc on the window, and the empty-box text.

…p and entitlements, the Family Tree (b044) with member tooltips and v83's unsigned centring, the join card and its Yes/No, F key and Char Info/context menu openers, recv 94-102 and the window/tree sends; Esc closes either when topmost; review b046
@neeerp
neeerp merged commit 0289e91 into master Oct 22, 2026
1 check passed
@neeerp
neeerp deleted the v83/family-client branch October 22, 2026 06:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant