Skip to content

menu: Locke's thief page in the field Skills menu (the 8th row) #68

Description

@mtklein

Locke's thief submenu shipped in v0.9 (#55) — Steal / Filch / Bestow, priced, in battle. The field Skills page for it did not, and it was the one acceptance criterion missed. The recon is worth keeping rather than redoing.

  • The skills page is a 7-row list, and zSkillsTextColor is 7 bytes wedged into direct page $79-$7f (menu_ram.inc:189), immediately followed by z80, z81… whose names are their addresses — so growing the array shifts all of them.
  • z80 is defined and never referenced anywhere in the tree. Renaming it into the scope gives the 8th row with zero address movement. That is the hard part already solved.
  • Remaining: _c34d78 and its cpx #$0007 bound, a SKILLS_LIST_THIEF entry, an 8th SkillsCursorPos (arithmetic is y = 8n − 4 for BG3A row n; row 19 → y 148), SkillsOptionsWindow2 grown from {7,10}, an 8th SkillsOptionTbl slot, and a DrawThiefMenu mirroring Ot6BlitzPageDraw.

One thing could not be settled statically and needs a measured screenshot first: SkillsOptionsWindow1 {1,1},{7,4} and Window2 {1,7},{7,10} on BG2A do not reconcile with the BG3A text rows 3/5/9/11/13/15/17 under any single row-grid model — Dance at row 17 lands outside Window2 on every reading. Take that screenshot before resizing anything. The row-7 gap (cursor y=52) is the seam between the two windows, not free space.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions