Do while loops appear to fail when working with object iterators.
See the simplified example below:
void main()
{
object oArea;
do
{
oArea = OBJECT_INVALID;
object oTarget = GetFirstPC();
while (oTarget != OBJECT_INVALID)
{
if (GetIsObjectValid(oTarget))
{
oArea = GetArea(oTarget);
}
oTarget = GetNextPC();
}
}
while (oArea != OBJECT_INVALID);
}
The error is INVALID OP CODE.
Tested on v89.8193.37-15