protected void PutClass(int obj, int cls, bool set)
{
var cls2 = (ObjectClass)(cls & 0x7F);
ScummHelper.AssertRange(1, (int)cls2, 32, "class");
if (_game.Version < 5)
{
// Translate the new (V5) object classes to the old classes
// (for those which differ).
switch (cls2)
{
case ObjectClass.Untouchable:
cls2 = (ObjectClass)24;
break;
case ObjectClass.Player:
cls2 = (ObjectClass)23;
break;
case ObjectClass.XFlip:
cls2 = (ObjectClass)19;
break;
case ObjectClass.YFlip:
cls2 = (ObjectClass)18;
break;
}
}
if (set)
ClassData[obj] |= (uint)(1 << ((int)cls2 - 1));
else
ClassData[obj] &= (uint)~(1 << ((int)cls2 - 1));
if (_game.Version < 5 && obj >= 1 && obj < Actors.Length)
{
Actors[obj].ClassChanged(cls2, set);
}
}