X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fanim.c;h=2e6280ce3d1f3cb629f8ddceb6f065da58bab9cc;hb=HEAD;hp=cdc0fd0574363fc39f82a6dd9c19fd5f1060a77d;hpb=5d1f7afe4cac805e10a8f4e61c67497c55e22453;p=rocksndiamonds.git diff --git a/src/anim.c b/src/anim.c index cdc0fd05..1389dc4e 100644 --- a/src/anim.c +++ b/src/anim.c @@ -598,10 +598,15 @@ static void InitGlobalAnimControls(void) 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) + // 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; + + // force pointer-style animations to pass-through clicks part->control_info.style |= STYLE_PASSTHROUGH; + } } if (anim->num_parts > 0 || anim->has_base) @@ -780,7 +785,7 @@ static void DrawGlobalAnimationsExt(int drawing_target, int drawing_stage) int mode_nr; int i; - if (!setup.toons) + if (!setup.global_animations) return; if (drawing_stage == DRAW_GLOBAL_ANIM_STAGE_1 && @@ -890,6 +895,11 @@ static void DrawGlobalAnimationsExt(int drawing_target, int drawing_stage) 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)