for (i = 0; i < num_toons; i++)
{
struct GlobalAnimPartControlInfo *part = &anim->part[part_nr];
+ int sound = SND_UNDEFINED;
int graphic = IMG_TOON_1 + i;
int control = graphic;
part->nr = part_nr;
part->anim_nr = anim_nr;
part->mode_nr = mode_nr;
+ part->sound = sound;
part->graphic = graphic;
part->graphic_info = graphic_info[graphic];
part->control_info = graphic_info[control];
if (part->anim_delay_counter == 0 &&
part->post_delay_counter == 0)
{
+ StopGlobalAnimSound(part);
+
part->post_delay_counter =
(c->post_delay_fixed + GetSimpleRandom(c->post_delay_random));
if (part->post_delay_counter > 0)
return ANIM_STATE_RUNNING;
- StopGlobalAnimSound(part);
-
+ // drawing last frame not needed here -- animation not visible anymore
return ANIM_STATE_RESTART;
}
}
if (part->anim_delay_counter == 0)
{
+ StopGlobalAnimSound(part);
+
part->post_delay_counter =
(c->post_delay_fixed + GetSimpleRandom(c->post_delay_random));
if (part->post_delay_counter > 0)
return ANIM_STATE_RUNNING;
- StopGlobalAnimSound(part);
-
// additional state "RUNNING" required to not skip drawing last frame
return ANIM_STATE_RESTART | ANIM_STATE_RUNNING;
}
{
part->post_delay_counter--;
- if (part->post_delay_counter == 0)
- StopGlobalAnimSound(part);
-
if (part->post_delay_counter == 0)
return ANIM_STATE_RESTART;