/* * sprite_move_stop — остановить tween-перемещение: at_target = 0 — * замереть в текущих координатах (SPR_MOVE_DONE НЕ взводится — спрайт * цели не достиг); 1 — прыгнуть в цель и взвести SPR_MOVE_DONE. * Ничего не делает, если перемещение не шло. */ #include "../_bgi.h" #include void sprite_move_stop(sprite_t *s, uint8_t at_target) { if (!(s->an_flags & SPR_MOVE_ON)) return; s->an_flags &= (uint8_t)~SPR_MOVE_ON; if (at_target) { sprite_move(s, s->mv_tx, s->mv_ty); s->an_flags |= SPR_MOVE_DONE; } }