Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MP Force Resync button #10281

Merged
merged 1 commit into from Nov 18, 2023
Merged

Conversation

seroperson
Copy link
Collaborator

Still there are some things to do, but I will back for it a little bit later. Until merging I also want to:

  • somehow set some appropriate icon for the button. Maybe there are some suggestions which icon can I re-use for such button?
  • do some UI tweaks, such as disabling button if desync is already scheduled, some notification on click and so on.
  • re-check whether I set all the #if defined things. Am I used them properly at all? Do we need to completely cut all the definitions or cutting only bodies is enough? Do we need to use #if defined or plain if?
  • support DX9 binary (I'm unsure about Tablet, I think we can just skip it for now).

Confirmed working like a charm (at least during my brief test session).

@RecursiveVision RecursiveVision marked this pull request as draft September 30, 2023 19:58
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copied from UI_bc1

@seroperson
Copy link
Collaborator Author

seroperson commented Nov 18, 2023

Pushed new changes:

  • Appropriate icon
  • Dynamically hide/show, disable/enable button
  • Chat notification when desync was scheduled
  • Removed if defined things, replaced with plain if
  • Rebase on current master

Seems ready to merge, BUT ... looks like something changed internally since I implemented it and now resync completely breaks the game for non-host players. I'm unsure whether only my force resync is broken or the usual is broken too in v4+, but I assume the second case.

Here is how it looks like:
broken-resync

(maybe someone knows what's wrong here)

So, delaying the merge until this thing is resolved.

edit: Yea, seems like resync is totally broken in v4+ (#10439)

@seroperson seroperson changed the title WIP MP Force Resync button MP Force Resync button Nov 18, 2023
@seroperson seroperson marked this pull request as ready for review November 18, 2023 21:12
@seroperson
Copy link
Collaborator Author

seroperson commented Nov 18, 2023

@RecursiveVision Fixed broken resync by removing this gDLL->BeginSendBundle part because there is already such logic after setGameStarted in closeInactiveSlots(). Also I moved gDLL->sendPlayerInfo(eID) outside of slotStatus(eID) == SS_OPEN block to send all the info to be sure. Maybe it is redundant, but seems like it works and let it be so at least for now, we will back for it in case of any issues.
Tested resync and loading from savefile + resync, works ok.

Button appears just for EUI DX11 host. Any other configurations are unsupported for now.

@RecursiveVision RecursiveVision merged commit 91e6f0a into LoneGazebo:master Nov 18, 2023
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.

None yet

3 participants