}
else if (mode & ANIM_LEVEL_NR) // play frames by level number
{
- int level_pos = level_nr - leveldir_current->first_level;
+ int level_pos = level_nr - gfx.anim_first_level;
frame = level_pos % num_frames;
}
(struct GlobalAnimPartControlInfo *)obj2;
int compare_result;
- if (o1->control_info.draw_order != o2->control_info.draw_order)
- compare_result = o1->control_info.draw_order - o2->control_info.draw_order;
- else
- compare_result = o1->nr - o2->nr;
+ // do not sort animations parts by draw order (as it would be confusing)
+ compare_result = o1->nr - o2->nr;
return compare_result;
}