Skip to content

test - #2

Closed
mirelle7 wants to merge 7 commits into
mainfrom
fixthisplayer
Closed

test#2
mirelle7 wants to merge 7 commits into
mainfrom
fixthisplayer

Conversation

@mirelle7

Copy link
Copy Markdown
Owner

No description provided.

@github-actions

Copy link
Copy Markdown

⚠️ Title/Commit Validation Failed

Invalid PR title:

  • test

Invalid commit messages:

  • Replicated in Generals.
  • Changed 'thisPlayer' to 'msgPlayer'.
  • Removed two more instances of 'msg->getPlayerIndex'.
  • Changed 'msg->getPlayerIndex' to 'thisPlayer->getPlayerIndex'.
  • Removed redundant player pointer checks.
  • Added check on 'thisPlayer'.
    PR titles and commit messages must follow conventional commits format:
type: Description
type(scope): Description

Allowed types: bugfix, build, chore, ci, docs, fix, feat, perf, refactor, revert, style, test, tweak, unify

See CONTRIBUTING.md for details.

@mirelle7 mirelle7 closed this Mar 17, 2026
@mirelle7
mirelle7 deleted the fixthisplayer branch March 17, 2026 20:55
mirelle7 pushed a commit that referenced this pull request Aug 22, 2026
…es landed

Records what the pre-implementation verification sweep found, because the
refutations are worth more than the fixes and will be re-derived otherwise.

The headline: handoff3's 12 open findings had accurate file:line citations
and inaccurate reasoning about them. TheSuperHackers#8's prescribed fix is already in the
tree and its stated mechanism is architecturally impossible; #2/#3's would
have written only entry [0] of a MAX_SEATS array; TheSuperHackers#9's would have left a pad
seat unable to place anything at all; TheSuperHackers#10's and TheSuperHackers#13's named causes cannot
produce the reported symptoms; TheSuperHackers#11 is partly dead code behind a static that
is never assigned.

Also records the build recipe that actually works (VS-bundled cmake, not
whatever is on PATH), three SSH/PowerShell failure modes that exit 0 while
doing nothing, six new findings nobody had written down, and the probe TheSuperHackers#8
needs before it can be diagnosed at all - the existing input log is
structurally blind to click messages.
mirelle7 pushed a commit that referenced this pull request Aug 22, 2026
…sposition narrowed to two candidates

TheSuperHackers#4 VERIFIED in full: three seats showed three faction schemes, and on seat 0's defeat only seat 0's
bar went observer while seats 1 and 2 kept theirs. The empty-looking bar in the first screenshot was
simply nothing selected.

#2/#3 half passes. The trigger fires and there is no global input freeze - seats 1 and 2 played on,
which was the sharper claim. But the splash is centred on the whole display instead of the seat's
viewport, and the operator reports money and team overlays doing the same, so it is broader than
the finding.

Three hypotheses were tried and all three are refuted in the doc, with the two survivors named:
isSplitscreenEnabled() false at creation time, or info.windows empty so the transform loop iterates
nothing. Both fall out of one probe. Stopping there rather than guessing a fourth time.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
mirelle7 pushed a commit that referenced this pull request Aug 22, 2026
…again

The end-of-match splash is centred on the whole display instead of the seat's viewport. FIVE static
hypotheses have now been refuted, all by reading:

* seat 0 is not on a legacy path - ScriptActions.cpp:217/220/241/244/263 all call
  showOutcomeSplashForSeat(0, ...), the same entry seats 1..7 use.
* seat 0 has a view - InGameUI.cpp sets s0->m_view = TheTacticalView.
* the full-display size guard cannot bail - seat 0's viewport is 960x540 of 1920x1080.
* isSplitscreenEnabled() is true - CommandLine.cpp:797 sets m_splitscreenEnabled = TRUE in
  parseSplitscreenDev, and GameEngine.cpp:608 forwards it to the seat manager.
* info.windows is populated - winCreateFromScript ends with `if(info) *info = scriptInfo;` after
  pushing every parsed root.

Every gate that could skip the transform is open, and the transform itself looks correct. That is
the point to stop reasoning and measure, so this logs every gate, the view/display geometry, and
for each root the before, the values written, and a READ BACK of what the window manager actually
stored. If the readback matches what was set, the transform worked and something re-applies
authored geometry afterwards - which makes it an ordering problem, not a maths one, and points
somewhere entirely different.

Instrumentation only, default OFF, GX_SPLASHPROBE=1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

2 participants