Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
JohnCorby committed Feb 14, 2024
2 parents 68ff365 + 62e4bf1 commit 9df2b13
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 32 deletions.
28 changes: 14 additions & 14 deletions QSB/WorldSync/Messages/RequestInitialStatesMessage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ namespace QSB.WorldSync.Messages;
/// </summary>
public class RequestInitialStatesMessage : QSBMessage
{
public RequestInitialStatesMessage() => To = 0;
public RequestInitialStatesMessage() => To = 0;

public override void OnReceiveRemote() =>
Delay.RunWhen(() => QSBWorldSync.AllObjectsReady,
() => SendInitialStates(From));
public override void OnReceiveRemote() =>
Delay.RunWhen(() => QSBWorldSync.AllObjectsReady,
() => SendInitialStates(From));

private static void SendInitialStates(uint to)
{
SendInitialState?.SafeInvoke(to);
DebugLog.DebugWrite($"sent initial states to {to}");
}
private static void SendInitialStates(uint to)
{
SendInitialState?.SafeInvoke(to);
DebugLog.DebugWrite($"sent initial states to {to}");
}

/// <summary>
/// called on the host.
/// use this to send initial states to whoever is asking for it.
/// </summary>
public static event Action<uint> SendInitialState;
/// <summary>
/// called on the host.
/// use this to send initial states to whoever is asking for it.
/// </summary>
public static event Action<uint> SendInitialState;
}
36 changes: 18 additions & 18 deletions QSB/WorldSync/Messages/WorldObjectsHashMessage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,26 @@ namespace QSB.WorldSync.Messages;
/// </summary>
public class WorldObjectsHashMessage : QSBMessage<(string managerName, string hash, int count)>
{
public WorldObjectsHashMessage(string managerName, string hash, int count) : base((managerName, hash, count)) => To = 0;
public WorldObjectsHashMessage(string managerName, string hash, int count) : base((managerName, hash, count)) => To = 0;

public override void OnReceiveRemote()
{
Delay.RunWhen(() => QSBWorldSync.AllObjectsAdded, () =>
{
var (hash, count) = QSBWorldSync.ManagerHashes[Data.managerName];
public override void OnReceiveRemote()
{
Delay.RunWhen(() => QSBWorldSync.AllObjectsAdded, () =>
{
var (hash, count) = QSBWorldSync.ManagerHashes[Data.managerName];
if (hash != Data.hash)
{
// oh fuck oh no oh god
/*DebugLog.ToConsole($"Kicking {From} because their WorldObjects hash for {Data.managerName} is wrong. (Server:{hash} count:{count}, Client:{Data.hash} count:{Data.count})", MessageType.Error);
new PlayerKickMessage(From, $"WorldObject hash error for {Data.managerName}. (Server:{hash} count:{count}, Client:{Data.hash}, count:{Data.count})").Send();*/
if (hash != Data.hash)
{
// oh fuck oh no oh god
/*DebugLog.ToConsole($"Kicking {From} because their WorldObjects hash for {Data.managerName} is wrong. (Server:{hash} count:{count}, Client:{Data.hash} count:{Data.count})", MessageType.Error);
new PlayerKickMessage(From, $"WorldObject hash error for {Data.managerName}. (Server:{hash} count:{count}, Client:{Data.hash}, count:{Data.count})").Send();*/
DebugLog.ToConsole($"{From} has an incorrect hash for {Data.managerName}. (S:{hash}:{count}, C:{Data.hash}-{Data.count}) Requesting data for analysis...", MessageType.Error);
DebugLog.ToConsole($"{From} has an incorrect hash for {Data.managerName}. (S:{hash}:{count}, C:{Data.hash}-{Data.count}) Requesting data for analysis...", MessageType.Error);
HashErrorAnalysis.Instances.Add(Data.managerName, new HashErrorAnalysis(Data.managerName));
new RequestHashBreakdownMessage(Data.managerName) {To = From}.Send();
}
});
}
HashErrorAnalysis.Instances.Add(Data.managerName, new HashErrorAnalysis(Data.managerName));
new RequestHashBreakdownMessage(Data.managerName) {To = From}.Send();
}
});
}
}

0 comments on commit 9df2b13

Please sign in to comment.