anim->state = ANIM_STATE_INACTIVE;
- // if draw order is undefined, set to default value "0"
- if (anim->control_info.draw_order == ARG_UNDEFINED_VALUE)
- anim->control_info.draw_order = 0;
-
part_nr = 0;
for (p = 0; p < NUM_GLOBAL_ANIM_PARTS_ALL; p++)
anim->has_base = TRUE;
}
- // force pointer-style animations to pass-through clicks
- if (part->control_info.class == get_hash_from_key("pointer") &&
- part->control_info.style == STYLE_DEFAULT)
- part->control_info.style |= STYLE_PASSTHROUGH;
+ // apply special settings to pointer-style animations
+ if (part->control_info.class == get_hash_from_key("pointer"))
+ {
+ // force pointer-style animations to be checked for clicks first
+ part->control_info.draw_order = 1000000;
- // if draw order is undefined, inherit it from main animation
- if (part->control_info.draw_order == ARG_UNDEFINED_VALUE)
- part->control_info.draw_order = anim->control_info.draw_order;
+ // force pointer-style animations to pass-through clicks
+ part->control_info.style |= STYLE_PASSTHROUGH;
+ }
}
if (anim->num_parts > 0 || anim->has_base)
int mode_nr;
int i;
- if (!setup.toons)
+ if (!setup.global_animations)
return;
if (drawing_stage == DRAW_GLOBAL_ANIM_STAGE_1 &&
int frame;
int last_anim_random_frame = gfx.anim_random_frame;
+ if (!setup.toons &&
+ part->graphic >= IMG_TOON_1 &&
+ part->graphic <= IMG_TOON_20)
+ continue;
+
// when preparing source fading buffer, only draw animations to be stopped
if (drawing_target == DRAW_TO_FADE_SOURCE &&
game_mode_anim_action[part->mode_nr] != ANIM_STOP)