- blit_bitmap(g->bitmap, dest, g->src_x, g->src_y, cell_size, cell_size, sx, sy);
+ /* special case: redraw player snapping a game element */
+ if (old_is_visible && old_is_player && !old_is_moving)
+ {
+ /* redraw game element on the cave field the element is moving from */
+ blit_bitmap(g_from->bitmap, dest, g_from->src_x, g_from->src_y, cell_size, cell_size,
+ sx + dx * cell_size, sy + dy * cell_size);
+ }
+ }
+ else
+ {
+ blit_bitmap(g->bitmap, dest, g->src_x, g->src_y, cell_size, cell_size, sx, sy);
+ }