From 55b2713f24b3eda38ffb3e49107f17c92cc249a6 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 25 Aug 2026 18:37:10 +0700 Subject: [PATCH] the Combat Log tab exists, and black portraits get their faces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - the chat dock's second tab, Combat Log, exists — 44 combat chat types had been routed into a window with no tab, no rect and no border art; both tab labels resolve from the install's GlobalStrings, the docked window keeps its anchors out of UIParent's managed-position pass, and the reveal fade reads whichever window is selected - the Fire Roc and Dredge Crusher portraits show a face instead of black: a skinned booth part was frustum-tested against its bind-pose box while the camera is aimed at its Stand — a flat-authored bird posed itself six units above the box every frame; eleven creature models (harpies, wind serpents, the battle standards) had the same empty bake, and `WOW_BOOTH_LOG` now says where the posed skeleton is, not only the camera - you cannot sit down while swimming: the client's one stand-state setter reads the live movement flags against `0x20000f` (the four direction bits plus SWIMMING) and returns before the packet is built; standing up never reads it, so the water stays escapable Co-Authored-By: Claude Fable 5 --- crates/benilla-app/assets/ui/ChatFrame.xml | 138 ++++++++++++- crates/benilla-app/assets/ui/UIParent.xml | 10 +- crates/benilla-app/src/player.rs | 21 ++ crates/benilla-app/src/player/move_trace.rs | 36 ++++ crates/benilla-app/src/player/state.rs | 120 ++++++++++++ crates/benilla-app/src/portrait/booth.rs | 131 +++++++++++++ crates/benilla-app/src/portrait/mod.rs | 53 ++++- crates/benilla-app/src/ui_chat/tests.rs | 205 ++++++++++++++++++++ 8 files changed, 710 insertions(+), 4 deletions(-) diff --git a/crates/benilla-app/assets/ui/ChatFrame.xml b/crates/benilla-app/assets/ui/ChatFrame.xml index 260cf386..ab032e35 100644 --- a/crates/benilla-app/assets/ui/ChatFrame.xml +++ b/crates/benilla-app/assets/ui/ChatFrame.xml @@ -355,7 +355,12 @@ -- (FCF_OnUpdate: MouseIsOver(chatFrame, 45, -10, -5, 5) — 45 up into the tab zone, -- 10 down past the edit box seam, 5 out each side). local function overDock(x, y) - local f = ChatFrame1 + -- **The SELECTED frame, not ChatFrame1.** The two dock windows are mutually exclusive + -- — selecting one hides the other — so reading a fixed frame here meant that the + -- instant the Combat Log was selected the hover test measured a hidden window, went + -- false, and drove the reveal fade to 0: the tabs and the chat background disappeared + -- together (director-reported). The dock's rect is whichever window is up. + local f = getglobal("ChatFrame" .. BenillaFCF.selected) or ChatFrame1 local left, right = f:GetLeft(), f:GetRight() local top, bottom = f:GetTop(), f:GetBottom() if not left then return false end @@ -885,6 +890,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1061,7 +1120,7 @@ BenillaFCF_TabClick(1) - + @@ -1082,6 +1141,81 @@ + + +