diff --git a/applications/PoP/roomtest/pop_tile.c b/applications/PoP/roomtest/pop_tile.c index eaf636a..1f8622f 100644 --- a/applications/PoP/roomtest/pop_tile.c +++ b/applications/PoP/roomtest/pop_tile.c @@ -366,9 +366,16 @@ void pop_wall_b(uint8_t id, int x, int yb) { pop_blit_b(&pop_wall_at, id, x, yb) void pop_fore_b(uint8_t id, int x, int yb) { pop_blit_b(&pop_fore_at, id, x, yb); } void pop_pot_b(uint8_t id, int x, int yb) { pop_blit_b(&pop_pot_at, id, x, yb); } +/* Heal по КОМНАТНОЙ координате (её и знают точечные перерисовки: чомпер, + * пики, loose, ворота, полоса потолка). При перевороте прямоугольник + * обязан отразиться ровно так же, как сам тайл, — иначе heal чистит одно + * место, а рисует в другое: именно так «ломалась анимация чомперов» + * (найдено пользователем на первом же прогоне зеркального фона). */ void pop_heal_off(int x, int y, int w, int h) { - pop_heal_fast(x, y + POP_YOFF, w, h); + int top = y + POP_YOFF; + if (pop_upside) top = FLIP_TOP(top, h); + pop_heal_fast(x, top, w, h); } /* ---- Чтение тайла отрисованной комнаты ------------------------------ */