From b8634f1d8b3708f6db16d28148fd328f3debb14a Mon Sep 17 00:00:00 2001 From: Christopher Leggett Date: Sat, 21 Mar 2026 18:32:43 +0000 Subject: [PATCH] Fix `numLoaded` leak for Anchor (#6384) --- soh/soh/Network/Anchor/DummyPlayer.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/soh/soh/Network/Anchor/DummyPlayer.cpp b/soh/soh/Network/Anchor/DummyPlayer.cpp index 9192c3c02..4351e27f0 100644 --- a/soh/soh/Network/Anchor/DummyPlayer.cpp +++ b/soh/soh/Network/Anchor/DummyPlayer.cpp @@ -243,4 +243,10 @@ void DummyPlayer_Draw(Actor* actor, PlayState* play) { } void DummyPlayer_Destroy(Actor* actor, PlayState* play) { + // DummyPlayer Actors are initially spawned as ACTOR_PLAYER, but change their + // ID shortly afterwards to ACTOR_EN_OE2. This would cause ACTOR_PLAYER's + // ActorDB Entry's `numLoaded` to leak, which is mostly harmless but hits debug + // asserts. Set the id back to ACTOR_PLAYER so that `numLoaded` will be decremented + // correctly. + actor->id = ACTOR_PLAYER; }