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;
+ }
+
+
+ }
+}