Consider all actors even if there is a gap

This commit is contained in:
Asgard 2023-11-21 10:43:42 -07:00
parent 380e682cb4
commit 8862601df0

View file

@ -54,22 +54,13 @@ public class ObjectManager : IReadOnlyDictionary<ActorIdentifier, ActorData>
_allWorldIdentifiers.Clear(); _allWorldIdentifiers.Clear();
_nonOwnedIdentifiers.Clear(); _nonOwnedIdentifiers.Clear();
for (var i = 0; i < (int)ScreenActor.CutsceneStart; ++i) for (var i = 0; i < (int)ScreenActor.CutsceneEnd; ++i)
{ {
Actor character = _objects.GetObjectAddress(i); Actor character = _objects.GetObjectAddress(i);
if (character.Identifier(_actors.AwaitedService, out var identifier)) if (character.Identifier(_actors.AwaitedService, out var identifier))
HandleIdentifier(identifier, character); HandleIdentifier(identifier, character);
} }
for (var i = (int)ScreenActor.CutsceneStart; i < (int)ScreenActor.CutsceneEnd; ++i)
{
Actor character = _objects.GetObjectAddress(i);
if (!character.Valid)
break;
HandleIdentifier(character.GetIdentifier(_actors.AwaitedService), character);
}
void AddSpecial(ScreenActor idx, string label) void AddSpecial(ScreenActor idx, string label)
{ {
Actor actor = _objects.GetObjectAddress((int)idx); Actor actor = _objects.GetObjectAddress((int)idx);