internal protected virtual void ProcessActors()
{
var actors = GetOrderedActors();
foreach (var actor in actors)
{
if (_game.Version == 0)
{
// 0x057B
var a0 = (Actor0)actor;
if ((a0.Speaking & 1) != 0)
a0.Speaking ^= 0xFE;
// 0x22B5
if (a0.MiscFlags.HasFlag(ActorV0MiscFlags.Hide))
continue;
// Sound
if (a0.Moving != MoveFlags.InLeg && CurrentRoom != 1 && CurrentRoom != 44)
{
if (a0.Cost.SoundPos == 0)
a0.Cost.SoundCounter++;
// Is this the correct location?
// 0x073C
if ((a0.Sound & 0x3F) != 0)
a0.Cost.SoundPos = (byte)((a0.Cost.SoundPos + 1) % 3);
}
}
if (actor.Costume != 0)
{
if (Game.Version == 0)
{
actor.AnimateCostume();
actor.DrawCostume();
}
else
{
actor.DrawCostume();
actor.AnimateCostume();
}
}
}
}