void DrawRoomObject(int i, int argument)
{
byte a;
var mask = (Game.Version <= 2) ? (int)ObjectStateV2.State8 : 0xF;
var od = _objs[i];
if ((i < 1) || (od.Number < 1) || od.State == 0)
{
return;
}
do
{
a = od.ParentState;
if (od.Parent == 0)
{
if (Game.Version <= 6 || od.FloatingObjectIndex == 0)
DrawObject(i, argument);
break;
}
od = _objs[od.Parent];
} while ((od.State & mask) == a);
}