From fa1e4c22147b2d9138f43a946559e9512d1e2a36 Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Mon, 31 Aug 2026 07:00:16 +0000 Subject: [PATCH] [RE] Raise the UI draw capture's vertex dump from 8 to 64 8 vertices is TWO QUADS. A batched UI draw carries more: on Project Sylpheed's EXTRAS screen one 24-index draw holds six sprites, and truncating at 8 reported the first two while ptframe4, pteff21, pteff22 and pteff23 looked like elements the game never draws at all. A cap that hides geometry is worse than a long line, because the missing rows do not announce themselves. --- src/xenia/gpu/command_processor.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/xenia/gpu/command_processor.cc b/src/xenia/gpu/command_processor.cc index d389e299c..20e75c6ae 100644 --- a/src/xenia/gpu/command_processor.cc +++ b/src/xenia/gpu/command_processor.cc @@ -374,9 +374,15 @@ void CommandProcessor::CaptureUiDrawForRE( return (uint32_t(q[0]) << 24) | (uint32_t(q[1]) << 16) | (uint32_t(q[2]) << 8) | uint32_t(q[3]); }; + // 🔴 This was 8, and 8 is TWO QUADS. A batched UI draw carries more: on + // `EXTRAS` one 24-index draw holds six sprites, and truncating at 8 + // reported the first two and silently dropped `ptframe4`, `pteff21`, + // `pteff22` and `pteff23` — which then looked like elements the game does + // not draw at all. A cap that hides geometry is worse than a long line, + // because the missing rows do not announce themselves. uint32_t nv = uint32_t(init.num_indices); - if (nv > 8) { - nv = 8; + if (nv > 64) { + nv = 64; } ui_out << fmt::format(" fmt0={} v:", pos_fmt); for (uint32_t v = 0; v < nv; ++v) {