From cb974d123f0ef8bacb2e8e6e74830a615993d1b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= <159546+serprex@users.noreply.github.com> Date: Sun, 19 Jul 2026 21:09:17 +0000 Subject: [PATCH] Fix Sail network hooks (#6944) isConnected is constant, unnecessary. IsSaveLoaded is inappropriate for OnLoadGame/OnExitGame --- soh/soh/Network/Sail/Sail.cpp | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/soh/soh/Network/Sail/Sail.cpp b/soh/soh/Network/Sail/Sail.cpp index c5ed5f841f..8cc5e7001a 100644 --- a/soh/soh/Network/Sail/Sail.cpp +++ b/soh/soh/Network/Sail/Sail.cpp @@ -337,7 +337,7 @@ std::unique_ptr Sail::EffectFromJson(nlohmann::json p void Sail::RegisterHooks() { COND_HOOK(OnTransitionEnd, isConnected, [&](int32_t sceneNum) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) + if (!GameInteractor::IsSaveLoaded()) return; nlohmann::json payload; @@ -350,9 +350,6 @@ void Sail::RegisterHooks() { }); COND_HOOK(OnLoadGame, isConnected, [&](int32_t fileNum) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) - return; - nlohmann::json payload; payload["id"] = ShipUtils::Random(0, UINT32_MAX); payload["type"] = "hook"; @@ -363,9 +360,6 @@ void Sail::RegisterHooks() { }); COND_HOOK(OnExitGame, isConnected, [&](int32_t fileNum) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) - return; - nlohmann::json payload; payload["id"] = ShipUtils::Random(0, UINT32_MAX); payload["type"] = "hook"; @@ -376,7 +370,7 @@ void Sail::RegisterHooks() { }); COND_HOOK(OnItemReceive, isConnected, [&](GetItemEntry itemEntry) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) + if (!GameInteractor::IsSaveLoaded()) return; nlohmann::json payload; payload["id"] = ShipUtils::Random(0, UINT32_MAX); @@ -389,7 +383,7 @@ void Sail::RegisterHooks() { }); COND_HOOK(OnEnemyDefeat, isConnected, [&](void* refActor) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) + if (!GameInteractor::IsSaveLoaded()) return; Actor* actor = (Actor*)refActor; @@ -404,7 +398,7 @@ void Sail::RegisterHooks() { }); COND_HOOK(OnActorInit, isConnected, [&](void* refActor) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) + if (!GameInteractor::IsSaveLoaded()) return; Actor* actor = (Actor*)refActor; @@ -419,7 +413,7 @@ void Sail::RegisterHooks() { }); COND_HOOK(OnFlagSet, isConnected, [&](int16_t flagType, int16_t flag) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) + if (!GameInteractor::IsSaveLoaded()) return; nlohmann::json payload; payload["id"] = ShipUtils::Random(0, UINT32_MAX); @@ -432,7 +426,7 @@ void Sail::RegisterHooks() { }); COND_HOOK(OnFlagUnset, isConnected, [&](int16_t flagType, int16_t flag) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) + if (!GameInteractor::IsSaveLoaded()) return; nlohmann::json payload; payload["id"] = ShipUtils::Random(0, UINT32_MAX); @@ -445,7 +439,7 @@ void Sail::RegisterHooks() { }); COND_HOOK(OnSceneFlagSet, isConnected, [&](int16_t sceneNum, int16_t flagType, int16_t flag) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) + if (!GameInteractor::IsSaveLoaded()) return; nlohmann::json payload; payload["id"] = ShipUtils::Random(0, UINT32_MAX); @@ -459,7 +453,7 @@ void Sail::RegisterHooks() { }); COND_HOOK(OnSceneFlagUnset, isConnected, [&](int16_t sceneNum, int16_t flagType, int16_t flag) { - if (!isConnected || !GameInteractor::IsSaveLoaded()) + if (!GameInteractor::IsSaveLoaded()) return; nlohmann::json payload; payload["id"] = ShipUtils::Random(0, UINT32_MAX);