From 6a07560f192617007d744d97d0accbd8ccc11534 Mon Sep 17 00:00:00 2001 From: Nick Date: Sun, 28 Aug 2022 18:50:11 -0400 Subject: [PATCH 1/9] Update fr.json --- QSB/Translations/fr.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/QSB/Translations/fr.json b/QSB/Translations/fr.json index f1fda671..efa92c3a 100644 --- a/QSB/Translations/fr.json +++ b/QSB/Translations/fr.json @@ -3,7 +3,7 @@ "MainMenuHost": "OUVRIR AU MULTIJOUEUR", "MainMenuConnect": "SE CONNECTER AU MULTIJOUEUR", "PauseMenuDisconnect": "DÉCONNECTER", - "PauseMenuStopHosting": "ARRÊTEZ L'HÉBERGEMENT", + "PauseMenuStopHosting": "ARRÊTER L'HÉBERGEMENT", "PublicIPAddress": "Adresse IP publique\n\n(CELA EFFACERA VOTRE PROGRESSION MULTIJOUEUR)", "ProductUserID": "ID utilisateur\n\n(CELA EFFACERA VOTRE PROGRESSION MULTIJOUEUR)", "Connect": "SE CONNECTER", @@ -28,7 +28,7 @@ "DLCMismatch": "Les états d'installation du DLC ne correspondent pas. (Client:{0}, Serveur:{1})", "GameProgressLimit": "Le jeu a trop progressé.", "AddonMismatch": "Non-concordance des addons. (Client:{0} addons, Serveur:{1} addons)", - "IncompatibleMod": "Utiliser un mod incompatible/non autorisé. Le premier mod trouvé était {0}", + "IncompatibleMod": "Tu utilises un mod incompatible/non autorisé. Le premier mod trouvé était {0}", "PlayerJoinedTheGame": "{0} a rejoint!", "PlayerWasKicked": "{0} a été expulsé.", "KickedFromServer": "Tu as été expulsé du serveur. Raison : {0}", @@ -39,6 +39,11 @@ "TimeSyncWaitForAllToReady": "Attendez le début de la boucle...", "TimeSyncWaitForAllToDie": "Attendez la fin de la boucle...", "GalaxyMapEveryoneNotPresent": "Ce n’est pas encore le moment. Tout le monde doit être ici pour continuer.", + "YouAreDead": "Tu es mort.", + "WaitingForRespawn": "Attendez que quelqu'un vouz ressuscité...", + "WaitingForAllToDie": "Attendez que {0} joueur(s) meurt/meurent...", + "AttachToShip": "S'attacher à la fusée", + "DetachFromShip": "Se détacher de la fusée", "DeathMessages": { "Default": [ "{0} est mort", From 0904d3d6a0906de46bc3fe2e97631533590a1cad Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 28 Aug 2022 20:21:07 -0700 Subject: [PATCH 2/9] make output path match name when downloading from mod manager --- QSB/QSB.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QSB/QSB.csproj b/QSB/QSB.csproj index a74b43e5..46efb0af 100644 --- a/QSB/QSB.csproj +++ b/QSB/QSB.csproj @@ -3,7 +3,7 @@ Quantum Space Buddies Quantum Space Buddies Multiplayer mod for Outer Wilds - $(OwmlDir)\Mods\QSB + $(OwmlDir)\Mods\Raicuparta.QuantumSpaceBuddies CS1998;CS0649 From eccff4a5383e053ac18a6ee0ae19fc886d4aee96 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 28 Aug 2022 20:29:25 -0700 Subject: [PATCH 3/9] make action match too --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4e7e04c6..535998df 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -13,5 +13,5 @@ jobs: - uses: actions/upload-artifact@v2 with: - name: QSB + name: Raicuparta.QuantumSpaceBuddies path: .\QSB\Bin\Debug \ No newline at end of file From 50840be94962667359da460eeca8fde4954d3ed4 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 28 Aug 2022 21:05:50 -0700 Subject: [PATCH 4/9] make it public for NHQSBCompat --- QSB/Menus/MenuManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QSB/Menus/MenuManager.cs b/QSB/Menus/MenuManager.cs index bd015c3d..aebbc829 100644 --- a/QSB/Menus/MenuManager.cs +++ b/QSB/Menus/MenuManager.cs @@ -15,7 +15,7 @@ using UnityEngine.UI; namespace QSB.Menus; -internal class MenuManager : MonoBehaviour, IAddComponentOnStart +public class MenuManager : MonoBehaviour, IAddComponentOnStart { public static MenuManager Instance; From 7951b6a435b64484c546c34e066c850689ff8065 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 28 Aug 2022 21:39:50 -0700 Subject: [PATCH 5/9] Revert "make it public for NHQSBCompat" This reverts commit 50840be94962667359da460eeca8fde4954d3ed4. --- QSB/Menus/MenuManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QSB/Menus/MenuManager.cs b/QSB/Menus/MenuManager.cs index aebbc829..bd015c3d 100644 --- a/QSB/Menus/MenuManager.cs +++ b/QSB/Menus/MenuManager.cs @@ -15,7 +15,7 @@ using UnityEngine.UI; namespace QSB.Menus; -public class MenuManager : MonoBehaviour, IAddComponentOnStart +internal class MenuManager : MonoBehaviour, IAddComponentOnStart { public static MenuManager Instance; From 77b9f8fb18ba9f3117bc228a8bca5ef37702f8c3 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 28 Aug 2022 22:14:19 -0700 Subject: [PATCH 6/9] remove remotecall --- QSB/Patches/QSBPatch.cs | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/QSB/Patches/QSBPatch.cs b/QSB/Patches/QSBPatch.cs index 42853c67..618ba1eb 100644 --- a/QSB/Patches/QSBPatch.cs +++ b/QSB/Patches/QSBPatch.cs @@ -1,6 +1,4 @@ using HarmonyLib; -using QSB.Utility; -using System; namespace QSB.Patches; @@ -12,30 +10,8 @@ public abstract class QSBPatch public void DoPatches(Harmony instance) => instance.PatchAll(GetType()); - #region remote calls - - protected static bool Remote { get; private set; } - protected static object RemoteData { get; private set; } - - public static void RemoteCall(Action call, object data = null) - { - Remote = true; - RemoteData = data; - nameof(QSBPatch).Try("doing remote call", call); - Remote = false; - RemoteData = null; - } - - public static T RemoteCall(Func call, object data = null) - { - Remote = true; - RemoteData = data; - var t = default(T); - nameof(QSBPatch).Try("doing remote call", () => t = call()); - Remote = false; - RemoteData = null; - return t; - } - - #endregion + /// + /// this is true when a message is received remotely (OnReceiveRemote) or a player leaves (OnRemovePlayer) + /// + public static bool Remote; } From e48027e683640a5649ed380a07ed52243d92085b Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 28 Aug 2022 22:21:20 -0700 Subject: [PATCH 7/9] remove usages for remotecall --- QSB/EchoesOfTheEye/DreamCandles/Messages/SetLitMessage.cs | 3 +-- .../DreamLantern/Messages/SetConcealedMessage.cs | 3 +-- .../DreamLantern/Messages/SetFocusMessage.cs | 3 +-- QSB/EchoesOfTheEye/DreamLantern/Messages/SetLitMessage.cs | 3 +-- .../DreamLantern/Messages/SetRangeMessage.cs | 3 +-- .../DreamObjectProjectors/Messages/ProjectorLitMessage.cs | 4 +--- .../DreamRafts/Messages/RespawnRaftMessage.cs | 3 +-- QSB/EchoesOfTheEye/RaftSync/WorldObjects/QSBRaftDock.cs | 4 +--- QSB/EchoesOfTheEye/Sarcophagus/Messages/OpenMessage.cs | 4 +--- .../SlideProjectors/Messages/NextSlideMessage.cs | 3 +-- .../SlideProjectors/Messages/PreviousSlideMessage.cs | 3 +-- QSB/ElevatorSync/WorldObjects/QSBElevator.cs | 2 +- QSB/ItemSync/WorldObjects/Items/QSBItem.cs | 7 +++---- QSB/ItemSync/WorldObjects/Sockets/QSBItemSocket.cs | 7 +++---- QSB/ModelShip/Messages/RespawnModelShipMessage.cs | 8 +++++--- QSB/ModelShip/Messages/UseFlightConsoleMessage.cs | 3 +-- QSB/ShipSync/Messages/LegDetachMessage.cs | 3 +-- QSB/ShipSync/Messages/ModuleDetachMessage.cs | 3 +-- QSB/ShipSync/Messages/ShipLightMessage.cs | 3 +-- QSB/TimeSync/Messages/SetSecondsRemainingMessage.cs | 3 +-- QSB/TimeSync/WakeUpSync.cs | 3 +-- QSB/Utility/Messages/DebugTriggerSupernovaMessage.cs | 3 +-- 22 files changed, 30 insertions(+), 51 deletions(-) diff --git a/QSB/EchoesOfTheEye/DreamCandles/Messages/SetLitMessage.cs b/QSB/EchoesOfTheEye/DreamCandles/Messages/SetLitMessage.cs index 175c51ed..2910c4b4 100644 --- a/QSB/EchoesOfTheEye/DreamCandles/Messages/SetLitMessage.cs +++ b/QSB/EchoesOfTheEye/DreamCandles/Messages/SetLitMessage.cs @@ -1,6 +1,5 @@ using QSB.EchoesOfTheEye.DreamCandles.WorldObjects; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.DreamCandles.Messages; @@ -11,5 +10,5 @@ public class SetLitMessage : QSBWorldObjectMessage - QSBPatch.RemoteCall(() => WorldObject.AttachedObject.SetLit(Data.Lit, Data.PlayAudio, Data.Instant)); + WorldObject.AttachedObject.SetLit(Data.Lit, Data.PlayAudio, Data.Instant); } diff --git a/QSB/EchoesOfTheEye/DreamLantern/Messages/SetConcealedMessage.cs b/QSB/EchoesOfTheEye/DreamLantern/Messages/SetConcealedMessage.cs index a06f1d59..8c194afc 100644 --- a/QSB/EchoesOfTheEye/DreamLantern/Messages/SetConcealedMessage.cs +++ b/QSB/EchoesOfTheEye/DreamLantern/Messages/SetConcealedMessage.cs @@ -1,6 +1,5 @@ using QSB.EchoesOfTheEye.DreamLantern.WorldObjects; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.DreamLantern.Messages; @@ -9,5 +8,5 @@ internal class SetConcealedMessage : QSBWorldObjectMessage QSBPatch.RemoteCall(() => WorldObject.AttachedObject.SetConcealed(Data)); + => WorldObject.AttachedObject.SetConcealed(Data); } diff --git a/QSB/EchoesOfTheEye/DreamLantern/Messages/SetFocusMessage.cs b/QSB/EchoesOfTheEye/DreamLantern/Messages/SetFocusMessage.cs index 1fa7c5e3..0384185d 100644 --- a/QSB/EchoesOfTheEye/DreamLantern/Messages/SetFocusMessage.cs +++ b/QSB/EchoesOfTheEye/DreamLantern/Messages/SetFocusMessage.cs @@ -1,6 +1,5 @@ using QSB.EchoesOfTheEye.DreamLantern.WorldObjects; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.DreamLantern.Messages; @@ -9,5 +8,5 @@ internal class SetFocusMessage : QSBWorldObjectMessage public SetFocusMessage(float focus) : base(focus) { } public override void OnReceiveRemote() - => QSBPatch.RemoteCall(() => WorldObject.AttachedObject.SetFocus(Data)); + => WorldObject.AttachedObject.SetFocus(Data); } diff --git a/QSB/EchoesOfTheEye/DreamLantern/Messages/SetLitMessage.cs b/QSB/EchoesOfTheEye/DreamLantern/Messages/SetLitMessage.cs index 48e4395a..77ee9363 100644 --- a/QSB/EchoesOfTheEye/DreamLantern/Messages/SetLitMessage.cs +++ b/QSB/EchoesOfTheEye/DreamLantern/Messages/SetLitMessage.cs @@ -1,6 +1,5 @@ using QSB.EchoesOfTheEye.DreamLantern.WorldObjects; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.DreamLantern.Messages; @@ -9,5 +8,5 @@ internal class SetLitMessage : QSBWorldObjectMessage public SetLitMessage(bool lit) : base(lit) { } public override void OnReceiveRemote() - => QSBPatch.RemoteCall(() => WorldObject.AttachedObject.SetLit(Data)); + => WorldObject.AttachedObject.SetLit(Data); } diff --git a/QSB/EchoesOfTheEye/DreamLantern/Messages/SetRangeMessage.cs b/QSB/EchoesOfTheEye/DreamLantern/Messages/SetRangeMessage.cs index 093fde83..62c0dffd 100644 --- a/QSB/EchoesOfTheEye/DreamLantern/Messages/SetRangeMessage.cs +++ b/QSB/EchoesOfTheEye/DreamLantern/Messages/SetRangeMessage.cs @@ -1,6 +1,5 @@ using QSB.EchoesOfTheEye.DreamLantern.WorldObjects; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.DreamLantern.Messages; @@ -9,5 +8,5 @@ internal class SetRangeMessage : QSBWorldObjectMessage QSBPatch.RemoteCall(() => WorldObject.AttachedObject.SetRange(Data.minRange, Data.maxRange)); + => WorldObject.AttachedObject.SetRange(Data.minRange, Data.maxRange); } diff --git a/QSB/EchoesOfTheEye/DreamObjectProjectors/Messages/ProjectorLitMessage.cs b/QSB/EchoesOfTheEye/DreamObjectProjectors/Messages/ProjectorLitMessage.cs index bad80e3f..3715abd1 100644 --- a/QSB/EchoesOfTheEye/DreamObjectProjectors/Messages/ProjectorLitMessage.cs +++ b/QSB/EchoesOfTheEye/DreamObjectProjectors/Messages/ProjectorLitMessage.cs @@ -1,6 +1,5 @@ using QSB.EchoesOfTheEye.DreamObjectProjectors.WorldObject; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.DreamObjectProjectors.Messages; @@ -8,6 +7,5 @@ internal class ProjectorLitMessage : QSBWorldObjectMessage QSBPatch.RemoteCall(() => WorldObject.AttachedObject.SetLit(Data)); + public override void OnReceiveRemote() => WorldObject.AttachedObject.SetLit(Data); } diff --git a/QSB/EchoesOfTheEye/DreamRafts/Messages/RespawnRaftMessage.cs b/QSB/EchoesOfTheEye/DreamRafts/Messages/RespawnRaftMessage.cs index 6dcf3105..ebf7a4c9 100644 --- a/QSB/EchoesOfTheEye/DreamRafts/Messages/RespawnRaftMessage.cs +++ b/QSB/EchoesOfTheEye/DreamRafts/Messages/RespawnRaftMessage.cs @@ -1,6 +1,5 @@ using QSB.EchoesOfTheEye.DreamObjectProjectors.WorldObject; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.DreamRafts.Messages; @@ -9,6 +8,6 @@ public class RespawnRaftMessage : QSBWorldObjectMessage public override void OnReceiveRemote() { var attachedObject = (DreamRaftProjector)WorldObject.AttachedObject; - QSBPatch.RemoteCall(attachedObject.RespawnRaft); + attachedObject.RespawnRaft(); } } diff --git a/QSB/EchoesOfTheEye/RaftSync/WorldObjects/QSBRaftDock.cs b/QSB/EchoesOfTheEye/RaftSync/WorldObjects/QSBRaftDock.cs index ef1dc465..7eccf6e3 100644 --- a/QSB/EchoesOfTheEye/RaftSync/WorldObjects/QSBRaftDock.cs +++ b/QSB/EchoesOfTheEye/RaftSync/WorldObjects/QSBRaftDock.cs @@ -1,5 +1,4 @@ using QSB.ItemSync.WorldObjects; -using QSB.Patches; using QSB.WorldSync; namespace QSB.EchoesOfTheEye.RaftSync.WorldObjects; @@ -8,6 +7,5 @@ public class QSBRaftDock : WorldObject, IQSBDropTarget { IItemDropTarget IQSBDropTarget.AttachedObject => AttachedObject; - public void OnPressInteract() => - QSBPatch.RemoteCall(AttachedObject.OnPressInteract); + public void OnPressInteract() => AttachedObject.OnPressInteract(); } diff --git a/QSB/EchoesOfTheEye/Sarcophagus/Messages/OpenMessage.cs b/QSB/EchoesOfTheEye/Sarcophagus/Messages/OpenMessage.cs index 1a13c105..7964383c 100644 --- a/QSB/EchoesOfTheEye/Sarcophagus/Messages/OpenMessage.cs +++ b/QSB/EchoesOfTheEye/Sarcophagus/Messages/OpenMessage.cs @@ -1,11 +1,9 @@ using QSB.EchoesOfTheEye.Sarcophagus.WorldObjects; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.Sarcophagus.Messages; public class OpenMessage : QSBWorldObjectMessage { - public override void OnReceiveRemote() => - QSBPatch.RemoteCall(WorldObject.AttachedObject.OnPressInteract); + public override void OnReceiveRemote() => WorldObject.AttachedObject.OnPressInteract(); } diff --git a/QSB/EchoesOfTheEye/SlideProjectors/Messages/NextSlideMessage.cs b/QSB/EchoesOfTheEye/SlideProjectors/Messages/NextSlideMessage.cs index 35374164..4da96ec1 100644 --- a/QSB/EchoesOfTheEye/SlideProjectors/Messages/NextSlideMessage.cs +++ b/QSB/EchoesOfTheEye/SlideProjectors/Messages/NextSlideMessage.cs @@ -1,10 +1,9 @@ using QSB.EchoesOfTheEye.SlideProjectors.WorldObjects; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.SlideProjectors.Messages; internal class NextSlideMessage : QSBWorldObjectMessage { - public override void OnReceiveRemote() => QSBPatch.RemoteCall(WorldObject.AttachedObject.NextSlide); + public override void OnReceiveRemote() => WorldObject.AttachedObject.NextSlide(); } diff --git a/QSB/EchoesOfTheEye/SlideProjectors/Messages/PreviousSlideMessage.cs b/QSB/EchoesOfTheEye/SlideProjectors/Messages/PreviousSlideMessage.cs index 7a258bb8..e581363c 100644 --- a/QSB/EchoesOfTheEye/SlideProjectors/Messages/PreviousSlideMessage.cs +++ b/QSB/EchoesOfTheEye/SlideProjectors/Messages/PreviousSlideMessage.cs @@ -1,10 +1,9 @@ using QSB.EchoesOfTheEye.SlideProjectors.WorldObjects; using QSB.Messaging; -using QSB.Patches; namespace QSB.EchoesOfTheEye.SlideProjectors.Messages; internal class PreviousSlideMessage : QSBWorldObjectMessage { - public override void OnReceiveRemote() => QSBPatch.RemoteCall(WorldObject.AttachedObject.PreviousSlide); + public override void OnReceiveRemote() => WorldObject.AttachedObject.PreviousSlide(); } diff --git a/QSB/ElevatorSync/WorldObjects/QSBElevator.cs b/QSB/ElevatorSync/WorldObjects/QSBElevator.cs index 65b891e5..d1413d92 100644 --- a/QSB/ElevatorSync/WorldObjects/QSBElevator.cs +++ b/QSB/ElevatorSync/WorldObjects/QSBElevator.cs @@ -43,7 +43,7 @@ public class QSBElevator : WorldObject } } - QSBPatch.RemoteCall(AttachedObject.StartLift); + AttachedObject.StartLift(); } private void SetDirection(bool isGoingUp) diff --git a/QSB/ItemSync/WorldObjects/Items/QSBItem.cs b/QSB/ItemSync/WorldObjects/Items/QSBItem.cs index 45503a03..d7e57e70 100644 --- a/QSB/ItemSync/WorldObjects/Items/QSBItem.cs +++ b/QSB/ItemSync/WorldObjects/Items/QSBItem.cs @@ -2,7 +2,6 @@ using QSB.ItemSync.Messages; using QSB.ItemSync.WorldObjects.Sockets; using QSB.Messaging; -using QSB.Patches; using QSB.Player; using QSB.SectorSync.WorldObjects; using QSB.WorldSync; @@ -71,7 +70,7 @@ public class QSBItem : WorldObject, IQSBItem if (_lastSocket != null) { - QSBPatch.RemoteCall(() => _lastSocket.PlaceIntoSocket(this)); + _lastSocket.PlaceIntoSocket(this); } else { @@ -116,10 +115,10 @@ public class QSBItem : WorldObject, IQSBItem public ItemType GetItemType() => AttachedObject.GetItemType(); public void PickUpItem(Transform holdTransform) => - QSBPatch.RemoteCall(() => AttachedObject.PickUpItem(holdTransform)); + AttachedObject.PickUpItem(holdTransform); public void DropItem(Vector3 worldPosition, Vector3 worldNormal, Transform parent, Sector sector, IItemDropTarget customDropTarget) => - QSBPatch.RemoteCall(() => AttachedObject.DropItem(worldPosition, worldNormal, parent, sector, customDropTarget)); + AttachedObject.DropItem(worldPosition, worldNormal, parent, sector, customDropTarget); public void OnCompleteUnsocket() => AttachedObject.OnCompleteUnsocket(); } diff --git a/QSB/ItemSync/WorldObjects/Sockets/QSBItemSocket.cs b/QSB/ItemSync/WorldObjects/Sockets/QSBItemSocket.cs index 5aff8bc8..7ac59cab 100644 --- a/QSB/ItemSync/WorldObjects/Sockets/QSBItemSocket.cs +++ b/QSB/ItemSync/WorldObjects/Sockets/QSBItemSocket.cs @@ -1,5 +1,4 @@ using QSB.ItemSync.WorldObjects.Items; -using QSB.Patches; using QSB.WorldSync; namespace QSB.ItemSync.WorldObjects.Sockets; @@ -14,8 +13,8 @@ internal class QSBItemSocket : WorldObject public bool IsSocketOccupied() => AttachedObject.IsSocketOccupied(); public void PlaceIntoSocket(IQSBItem item) - => QSBPatch.RemoteCall(() => AttachedObject.PlaceIntoSocket((OWItem)item.AttachedObject)); + => AttachedObject.PlaceIntoSocket((OWItem)item.AttachedObject); public void RemoveFromSocket() - => QSBPatch.RemoteCall(AttachedObject.RemoveFromSocket); -} \ No newline at end of file + => AttachedObject.RemoveFromSocket(); +} diff --git a/QSB/ModelShip/Messages/RespawnModelShipMessage.cs b/QSB/ModelShip/Messages/RespawnModelShipMessage.cs index 59d1d3bc..d3d34fbf 100644 --- a/QSB/ModelShip/Messages/RespawnModelShipMessage.cs +++ b/QSB/ModelShip/Messages/RespawnModelShipMessage.cs @@ -1,5 +1,4 @@ using QSB.Messaging; -using QSB.Patches; using QSB.WorldSync; namespace QSB.ModelShip.Messages; @@ -11,7 +10,10 @@ internal class RespawnModelShipMessage : QSBMessage public override void OnReceiveRemote() { var flightConsole = QSBWorldSync.GetUnityObject(); - QSBPatch.RemoteCall(() => flightConsole.RespawnModelShip(Data)); - if (Data) flightConsole._modelShipBody.GetComponent().PlayOneShot(AudioType.TH_RetrieveModelShip); + flightConsole.RespawnModelShip(Data); + if (Data) + { + flightConsole._modelShipBody.GetComponent().PlayOneShot(AudioType.TH_RetrieveModelShip); + } } } diff --git a/QSB/ModelShip/Messages/UseFlightConsoleMessage.cs b/QSB/ModelShip/Messages/UseFlightConsoleMessage.cs index ad78d06a..464e7f3b 100644 --- a/QSB/ModelShip/Messages/UseFlightConsoleMessage.cs +++ b/QSB/ModelShip/Messages/UseFlightConsoleMessage.cs @@ -1,7 +1,6 @@ using QSB.AuthoritySync; using QSB.Messaging; using QSB.ModelShip.TransformSync; -using QSB.Patches; using QSB.Player; using QSB.Player.TransformSync; using QSB.Utility; @@ -75,6 +74,6 @@ internal class UseFlightConsoleMessage : QSBMessage // Client messes up its position when they start flying it // We can just recall it immediately so its in the right place. var console = QSBWorldSync.GetUnityObject(); - QSBPatch.RemoteCall(() => console.RespawnModelShip(false)); + console.RespawnModelShip(false); } } diff --git a/QSB/ShipSync/Messages/LegDetachMessage.cs b/QSB/ShipSync/Messages/LegDetachMessage.cs index cc3a9608..f0d87dd0 100644 --- a/QSB/ShipSync/Messages/LegDetachMessage.cs +++ b/QSB/ShipSync/Messages/LegDetachMessage.cs @@ -1,5 +1,4 @@ using QSB.Messaging; -using QSB.Patches; using QSB.ShipSync.WorldObjects; namespace QSB.ShipSync.Messages; @@ -7,5 +6,5 @@ namespace QSB.ShipSync.Messages; internal class LegDetachMessage : QSBWorldObjectMessage { public override void OnReceiveRemote() => - QSBPatch.RemoteCall(WorldObject.AttachedObject.Detach); + WorldObject.AttachedObject.Detach(); } diff --git a/QSB/ShipSync/Messages/ModuleDetachMessage.cs b/QSB/ShipSync/Messages/ModuleDetachMessage.cs index e47c242c..b7ab2e81 100644 --- a/QSB/ShipSync/Messages/ModuleDetachMessage.cs +++ b/QSB/ShipSync/Messages/ModuleDetachMessage.cs @@ -1,5 +1,4 @@ using QSB.Messaging; -using QSB.Patches; using QSB.ShipSync.WorldObjects; namespace QSB.ShipSync.Messages; @@ -7,5 +6,5 @@ namespace QSB.ShipSync.Messages; internal class ModuleDetachMessage : QSBWorldObjectMessage { public override void OnReceiveRemote() => - QSBPatch.RemoteCall(WorldObject.AttachedObject.Detach); + WorldObject.AttachedObject.Detach(); } diff --git a/QSB/ShipSync/Messages/ShipLightMessage.cs b/QSB/ShipSync/Messages/ShipLightMessage.cs index 4e52bafb..e81fdec0 100644 --- a/QSB/ShipSync/Messages/ShipLightMessage.cs +++ b/QSB/ShipSync/Messages/ShipLightMessage.cs @@ -1,5 +1,4 @@ using QSB.Messaging; -using QSB.Patches; using QSB.ShipSync.WorldObjects; namespace QSB.ShipSync.Messages; @@ -9,5 +8,5 @@ internal class ShipLightMessage : QSBWorldObjectMessage public ShipLightMessage(bool on) : base(on) { } public override void OnReceiveRemote() => - QSBPatch.RemoteCall(() => WorldObject.AttachedObject.SetOn(Data)); + WorldObject.AttachedObject.SetOn(Data); } diff --git a/QSB/TimeSync/Messages/SetSecondsRemainingMessage.cs b/QSB/TimeSync/Messages/SetSecondsRemainingMessage.cs index c8fbe274..fd99e160 100644 --- a/QSB/TimeSync/Messages/SetSecondsRemainingMessage.cs +++ b/QSB/TimeSync/Messages/SetSecondsRemainingMessage.cs @@ -1,5 +1,4 @@ using QSB.Messaging; -using QSB.Patches; namespace QSB.TimeSync.Messages; @@ -9,5 +8,5 @@ namespace QSB.TimeSync.Messages; public class SetSecondsRemainingMessage : QSBMessage { public SetSecondsRemainingMessage(float secondsRemaining) : base(secondsRemaining) => To = 0; - public override void OnReceiveRemote() => QSBPatch.RemoteCall(() => TimeLoop.SetSecondsRemaining(Data)); + public override void OnReceiveRemote() => TimeLoop.SetSecondsRemaining(Data); } diff --git a/QSB/TimeSync/WakeUpSync.cs b/QSB/TimeSync/WakeUpSync.cs index d6e4ef26..86a325ee 100644 --- a/QSB/TimeSync/WakeUpSync.cs +++ b/QSB/TimeSync/WakeUpSync.cs @@ -5,7 +5,6 @@ using QSB.ClientServerStateSync.Messages; using QSB.DeathSync; using QSB.Inputs; using QSB.Messaging; -using QSB.Patches; using QSB.Player; using QSB.Player.Messages; using QSB.TimeSync.Messages; @@ -153,7 +152,7 @@ public class WakeUpSync : NetworkBehaviour // prevents accidental supernova at start of loop if (_serverLoopCount == PlayerData.LoadLoopCount()) { - QSBPatch.RemoteCall(() => TimeLoop.SetSecondsRemaining(secondsRemaining)); + TimeLoop.SetSecondsRemaining(secondsRemaining); } } diff --git a/QSB/Utility/Messages/DebugTriggerSupernovaMessage.cs b/QSB/Utility/Messages/DebugTriggerSupernovaMessage.cs index 1dbba547..614c0d10 100644 --- a/QSB/Utility/Messages/DebugTriggerSupernovaMessage.cs +++ b/QSB/Utility/Messages/DebugTriggerSupernovaMessage.cs @@ -1,5 +1,4 @@ using QSB.Messaging; -using QSB.Patches; namespace QSB.Utility.Messages; @@ -12,6 +11,6 @@ public class DebugTriggerSupernovaMessage : QSBMessage PlayerData.SaveLoopCount(2); TimeLoop.SetTimeLoopEnabled(true); TimeLoop._isTimeFlowing = true; - QSBPatch.RemoteCall(() => TimeLoop.SetSecondsRemaining(0)); + TimeLoop.SetSecondsRemaining(0); } } From 679657c8030e2897df85c449cbbd914554dcf8f3 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 28 Aug 2022 22:22:19 -0700 Subject: [PATCH 8/9] actually set Remote --- QSB/Messaging/QSBMessageManager.cs | 3 +++ QSB/Player/TransformSync/PlayerTransformSync.cs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/QSB/Messaging/QSBMessageManager.cs b/QSB/Messaging/QSBMessageManager.cs index b67976c1..2a96c406 100644 --- a/QSB/Messaging/QSBMessageManager.cs +++ b/QSB/Messaging/QSBMessageManager.cs @@ -2,6 +2,7 @@ using OWML.Common; using QSB.ClientServerStateSync; using QSB.ClientServerStateSync.Messages; +using QSB.Patches; using QSB.Player; using QSB.Player.Messages; using QSB.Player.TransformSync; @@ -86,7 +87,9 @@ public static class QSBMessageManager if (msg.From != QSBPlayerManager.LocalPlayerId) { + QSBPatch.Remote = true; msg.OnReceiveRemote(); + QSBPatch.Remote = false; } else { diff --git a/QSB/Player/TransformSync/PlayerTransformSync.cs b/QSB/Player/TransformSync/PlayerTransformSync.cs index 52fc4d7d..ee2bc73d 100644 --- a/QSB/Player/TransformSync/PlayerTransformSync.cs +++ b/QSB/Player/TransformSync/PlayerTransformSync.cs @@ -1,5 +1,6 @@ using OWML.Common; using QSB.Messaging; +using QSB.Patches; using QSB.Player.Messages; using QSB.PlayerBodySetup.Local; using QSB.PlayerBodySetup.Remote; @@ -48,7 +49,9 @@ public class PlayerTransformSync : SectoredTransformSync JoinLeaveSingularity.Create(Player, false); // TODO : Maybe move this to a leave event...? Would ensure everything could finish up before removing the player + QSBPatch.Remote = true; QSBPlayerManager.OnRemovePlayer?.Invoke(Player); + QSBPatch.Remote = false; base.OnStopClient(); Player.HudMarker?.Remove(); QSBPlayerManager.PlayerList.Remove(Player); From 6ae063e2af5fab6302c02b59f560a8df5237783e Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Mon, 29 Aug 2022 12:40:21 -0700 Subject: [PATCH 9/9] remove dream lantern model swap prevention since it breaks other visuals --- QSB/EchoesOfTheEye/DreamLantern/Patches/DreamLanternPatches.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/QSB/EchoesOfTheEye/DreamLantern/Patches/DreamLanternPatches.cs b/QSB/EchoesOfTheEye/DreamLantern/Patches/DreamLanternPatches.cs index 8eec0b1f..7bfe18a4 100644 --- a/QSB/EchoesOfTheEye/DreamLantern/Patches/DreamLanternPatches.cs +++ b/QSB/EchoesOfTheEye/DreamLantern/Patches/DreamLanternPatches.cs @@ -126,6 +126,8 @@ internal class DreamLanternPatches : QSBPatch } + // BUG: this breaks focus petals and concealer covers, since those act on the world model + /* [HarmonyPrefix] [HarmonyPatch(typeof(DreamLanternController), nameof(DreamLanternController.UpdateVisuals))] public static bool UpdateVisuals(DreamLanternController __instance) @@ -219,4 +221,5 @@ internal class DreamLanternPatches : QSBPatch __instance.ClearDirtyFlags(); return false; } + */ }