Skip to content

Reimplement host synchronization checks and periodic messages - #223

Open
Krarilotus wants to merge 1 commit into
sourcehold:mainfrom
Krarilotus:feat/native-sync-checking
Open

Krarilotus wants to merge 1 commit into
sourcehold:mainfrom
Krarilotus:feat/native-sync-checking

Conversation

@Krarilotus

@Krarilotus Krarilotus commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

TL;DR: Reconstruct host synchronization checks and periodic sync messages.

OpenSHC needs readable C++ counterparts for the native host comparison, periodic sender and unit-buffer hash helper.

Changes: Implement the three functions through existing resolvers, retaining original timing, peer filtering, receiver identity and acknowledgements.

Review / testing: DLL build and 9,380 differential cases were reported passing. Linked reccmp scores are 98.02%, 92.59% and 60.00%. Outstanding maintainer requests: update status, use explicit this->, remove matching validation files and the redundant validation README. The current diff still contains the validation directory and no status update. The native-bound byte match does not replace those requests.

@TheRedDaemon TheRedDaemon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

  • Please add the status file updates.
  • Also, we prefer explicit this-> accesses to member variables.
  • Should the files match, please remove the validation files.
  • The readme is also not fitting, the partial explanation of the emulation validation would be naturally part of the agent skill. The rest is directly bound to this function and redundant.

{
int referenceHash = 0;
int referenceTime = 0;
if (DAT_HashCountdown == 0) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

You might be able to increase the readablility by switching this to an early return (if it does not break the byte matching).

}
}

if (DAT_GameSynchronyState::instance.isHost && flag_0xbec == 0) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same here.

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