fix(studio): Character window — level number uses large dat font (18px) for better retail match
Retail's m_pLevelText (0x1000023B) element is a plain UIElement_Text, not a sprite-digit widget — the "large gold" appearance comes from the dat font size on that specific element. Since 0x40000001 (18px) is the largest font confirmed in client_portal.dat and there is no per-element font override in our LayoutImporter, use rowDatFont (18px) for the level value so it fills more of the 65×50 element and approaches the retail appearance. Investigation: namedretail grep gmStatManagementUI + UpdateCharacterInfo (0x004f0770) confirmed Type-12 UIElement_Text + SetText(L"%d"). No NumberSprite or DigitSprite widget type exists in retail — the diff is purely font size. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
dfb4c81133
commit
8f222f7506
1 changed files with 5 additions and 1 deletions
|
|
@ -192,7 +192,11 @@ public static class CharacterStatController
|
|||
// Source: retail spec (2026-06-26-character-window-retail-reference.md §State 1).
|
||||
LabelTwoLine(layout, LevelCaptionId, datFont, Body, "Character", "Level");
|
||||
|
||||
Label(layout, LevelId, datFont, Gold, () => data().Level.ToString());
|
||||
// Level number: retail renders this as large gold centered text in the 65×50 element.
|
||||
// Use the larger dat font (18px) for the level value so it fills more of the vertical
|
||||
// space in the 50px element and approaches the retail "large gold digit" look.
|
||||
// Source: spec §Level area (65,50) + decomp gmStatManagementUI::UpdateCharacterInfo 0x004f0770.
|
||||
Label(layout, LevelId, rowDatFont, Gold, () => data().Level.ToString());
|
||||
|
||||
// 0x10000234 = "Total Experience (XP):" caption, left of the XP value.
|
||||
// Source: dump idx=22; spec §Header element map.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue