if (!part->class_playfield_or_door)
return FALSE;
- // only pause animations when engine is paused or request dialog is open(ing)
- if (!tape.pausing && !game.request_active_or_moving)
+ // only pause animations when engine is paused or request dialog is active
+ if (!tape.pausing && !game.request_active)
return FALSE;
return TRUE;
{
struct GlobalAnimPartControlInfo *part = &anim->part[part_nr];
+ // if request dialog is active, only handle pointer-style animations
+ if (game.request_active &&
+ part->control_info.class != get_hash_from_key("pointer"))
+ continue;
+
if (clicked_event == ANIM_CLICKED_RESET)
{
part->clicked = FALSE;