diff --git a/applications/PoP/roomtest/pop_room.c b/applications/PoP/roomtest/pop_room.c index 3cd5424..6e50927 100644 --- a/applications/PoP/roomtest/pop_room.c +++ b/applications/PoP/roomtest/pop_room.c @@ -618,7 +618,12 @@ void pop_loose_shake_draw(int row, int col) __banked * NB: печёный кадр-0 может слегка просвечивать по кромкам — чистое * решение (bake тайла как empty + рисовать loose всегда динамически) * отложено; wipe-в-чёрный делал плиту невидимой — не годится. */ - pop_heal_off(x, 63 * row + 46, 64, 24); + /* Ширина 58, а не 64 = «две клетки»: реальный след дрожащей плиты — + * свой тайл (верх/левая грань 32 px) плюс правая грань, которая уходит + * в соседнюю клетку на 26 px (25 во дворце). Габариты сняты из + * каталогов атласов: 41/69/70 = 32x13-14, 43/73/74 = 32x3, + * 42/71/72 = 26x15-16. Задача HEAL-WIDTH. */ + pop_heal_off(x, 63 * row + 46, 58, 24); gfx_set_bank(GFX_BANK_SPRITE); draw_tile(row, col); /* loose: лево+низ (анимир.) */ if (col + 1 < 10) @@ -699,7 +704,12 @@ void pop_spike_redraw(int row, int col) __banked void pop_chomp_redraw(int row, int col) __banked { int x = POP_COL_XH[col] * 8; - pop_heal_off(x, 63 * row + 2, 32, 64); + /* Высота 61, а не 64: след чомпера по вертикали — от 63*row+3 (верх + * самого высокого bot-кадра, 32x60 низом на dmy = 63*row+62) до + * 63*row+62. Верхняя челюсть выше не забирается: её подъём 0x32 = 50 + * при высоте 10 даёт 63*row+3. Габариты из каталога атласа + * (101/102 = 32x60, 111 = 27x23, 113 = 23x10). Задача HEAL-WIDTH. */ + pop_heal_off(x, 63 * row + 2, 32, 61); gfx_set_bank(GFX_BANK_SPRITE); draw_tile(row, col); gfx_set_bank(GFX_BANK_NORMAL);