From 022636d588ab4aa7cfb19a59853346f594cdd289 Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Mon, 21 Dec 2020 19:41:53 +0000 Subject: [PATCH] add patch file --- QSB/Patches/QSBPatchManager.cs | 4 +++- QSB/Patches/QSBPatchTypes.cs | 3 ++- QSB/QSB.csproj | 1 + QSB/QSBNetworkManager.cs | 7 ++----- QSB/QuantumSync/ServerQuantumPatches.cs | 27 +++++++++++++++++++++++++ 5 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 QSB/QuantumSync/ServerQuantumPatches.cs diff --git a/QSB/Patches/QSBPatchManager.cs b/QSB/Patches/QSBPatchManager.cs index 098b6c1e..da7b9330 100644 --- a/QSB/Patches/QSBPatchManager.cs +++ b/QSB/Patches/QSBPatchManager.cs @@ -4,6 +4,7 @@ using QSB.DeathSync; using QSB.ElevatorSync; using QSB.LogSync; using QSB.OrbSync; +using QSB.QuantumSync; using QSB.TimeSync; using QSB.Utility; using System; @@ -29,7 +30,8 @@ namespace QSB.Patches new ElevatorPatches(), new OrbPatches(), new WakeUpPatches(), - new LogPatches() + new LogPatches(), + new ServerQuantumPatches() }; DebugLog.DebugWrite("Patch Manager ready.", MessageType.Success); diff --git a/QSB/Patches/QSBPatchTypes.cs b/QSB/Patches/QSBPatchTypes.cs index b2c79493..deec5feb 100644 --- a/QSB/Patches/QSBPatchTypes.cs +++ b/QSB/Patches/QSBPatchTypes.cs @@ -4,6 +4,7 @@ { OnModStart = 0, OnClientConnect = 1, - OnNonServerClientConnect = 2 + OnNonServerClientConnect = 2, + OnServerClientConnect = 3 } } \ No newline at end of file diff --git a/QSB/QSB.csproj b/QSB/QSB.csproj index 195ada5b..8655f13c 100644 --- a/QSB/QSB.csproj +++ b/QSB/QSB.csproj @@ -197,6 +197,7 @@ + diff --git a/QSB/QSBNetworkManager.cs b/QSB/QSBNetworkManager.cs index 8906f4ac..8aed9de7 100644 --- a/QSB/QSBNetworkManager.cs +++ b/QSB/QSBNetworkManager.cs @@ -176,11 +176,8 @@ namespace QSB OrbManager.Instance.QueueBuildSlots(); } - if (!QSBNetworkServer.localClientActive) - { - QSBPatchManager.DoPatchType(QSBPatchTypes.OnNonServerClientConnect); - } - + var specificType = QSBNetworkServer.active ? QSBPatchTypes.OnServerClientConnect : QSBPatchTypes.OnNonServerClientConnect; + QSBPatchManager.DoPatchType(specificType); QSBPatchManager.DoPatchType(QSBPatchTypes.OnClientConnect); _lobby.CanEditName = false; diff --git a/QSB/QuantumSync/ServerQuantumPatches.cs b/QSB/QuantumSync/ServerQuantumPatches.cs new file mode 100644 index 00000000..3b7594c5 --- /dev/null +++ b/QSB/QuantumSync/ServerQuantumPatches.cs @@ -0,0 +1,27 @@ +using QSB.Patches; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace QSB.QuantumSync +{ + public class ServerQuantumPatches : QSBPatch + { + public override QSBPatchTypes Type => QSBPatchTypes.OnServerClientConnect; + + public override void DoPatches() + { + QSBCore.Helper.HarmonyHelper.AddPrefix("IsVisibleUsingCameraFrustum", typeof(ServerQuantumPatches), nameof(IsVisibleUsingCameraFrustrum)); + } + + // ShapeVisibilityTracker patches + + public bool IsVisibleUsingCameraFrustrum() + { + return false; + } + + + } +}