Skip to content

feat: Windows64 local multiplayer support#13

Merged
smartcmd merged 2 commits intoMCLCE:mainfrom
deadman96385:main
Mar 1, 2026
Merged

feat: Windows64 local multiplayer support#13
smartcmd merged 2 commits intoMCLCE:mainfrom
deadman96385:main

Conversation

@deadman96385
Copy link
Copy Markdown
Contributor

  • Skip QuadrantSignin (profile selector) on Windows64 in both LoadMenu and CreateWorldMenu, proceeding directly to local play since Xbox Live stubs always return true for IsSignedInLive()
  • Fix IsLocalMultiplayerAvailable() to not require IsHiDef() on Windows64
  • Allow pad-connected players to join without a profile sign-in check
  • Fix ghost RemotePlayer creation by scanning all local player slots and matching on server-assigned player index rather than controller slot, fixing P3/P4 ghost entities when joining out of controller order
  • Give each player a unique name (Player 1-4) based on controller index instead of a single shared stub name
  • Use raw XInput (XInputGetState) for secondary controller join detection, bypassing the 4J toggle system which consumes all button presses before game logic runs; uses a 120-frame latch for a reliable detection window
  • Add .gitignore for Visual Studio build artifacts and output directories

- Skip QuadrantSignin (profile selector) on Windows64 in both LoadMenu
  and CreateWorldMenu, proceeding directly to local play since Xbox Live
  stubs always return true for IsSignedInLive()
- Fix IsLocalMultiplayerAvailable() to not require IsHiDef() on Windows64
- Allow pad-connected players to join without a profile sign-in check
- Fix ghost RemotePlayer creation by scanning all local player slots and
  matching on server-assigned player index rather than controller slot,
  fixing P3/P4 ghost entities when joining out of controller order
- Give each player a unique name (Player 1-4) based on controller index
  instead of a single shared stub name
- Use raw XInput (XInputGetState) for secondary controller join detection,
  bypassing the 4J toggle system which consumes all button presses before
  game logic runs; uses a 120-frame latch for a reliable detection window
- Add .gitignore for Visual Studio build artifacts and output directories
@NEVARLeVrai
Copy link
Copy Markdown
Contributor

@smartcmd
Copy link
Copy Markdown
Contributor

smartcmd commented Mar 1, 2026

LGTM!

@hax0r31337
Copy link
Copy Markdown

@codex review

smartcmd pushed a commit that referenced this pull request Mar 1, 2026
* Add gitignore

* Use some of the stuff from #13
@smartcmd
Copy link
Copy Markdown
Contributor

smartcmd commented Mar 1, 2026

@deadman96385 need to resolve the conflicts

@void2012
Copy link
Copy Markdown

void2012 commented Mar 1, 2026

@deadman96385 there is branch conflict now as @rtm516 already added .gitignore

@smartcmd smartcmd merged commit b511123 into MCLCE:main Mar 1, 2026
ArchieDxncan pushed a commit to ArchieDxncan/LegacyDxncan that referenced this pull request Apr 1, 2026
* Add gitignore

* Use some of the stuff from MCLCE#13
ArchieDxncan pushed a commit to ArchieDxncan/LegacyDxncan that referenced this pull request Apr 1, 2026
- Skip QuadrantSignin (profile selector) on Windows64 in both LoadMenu
  and CreateWorldMenu, proceeding directly to local play since Xbox Live
  stubs always return true for IsSignedInLive()
- Fix IsLocalMultiplayerAvailable() to not require IsHiDef() on Windows64
- Allow pad-connected players to join without a profile sign-in check
- Fix ghost RemotePlayer creation by scanning all local player slots and
  matching on server-assigned player index rather than controller slot,
  fixing P3/P4 ghost entities when joining out of controller order
- Give each player a unique name (Player 1-4) based on controller index
  instead of a single shared stub name
- Use raw XInput (XInputGetState) for secondary controller join detection,
  bypassing the 4J toggle system which consumes all button presses before
  game logic runs; uses a 120-frame latch for a reliable detection window
- Add .gitignore for Visual Studio build artifacts and output directories
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.

5 participants