8548aa9132
Симптом (пользователь, 2026-09-02, уровень 4 комната 18): Кид подтягивается на открывающую кнопку (0,4), и кромка, которая его прячет, нарисована кирпичом вместо кнопки. РАЗБОР ПО ЖИВОМУ КАДРУ (заморозка): Kid frame 139, x 123, col 4, row 1, room 18 — то есть персонаж действительно под кромкой кнопки (0,4). Отсюда путь: кадр подъёма -> climb_overlay_tile; тайл не floor-подобный (кнопка) -> other_overlay_tile; сосед слева (0,3) пуст -> overlay_mid_tile, полная перерисовка тайла ПОВЕРХ персонажа. ПРИЧИНА. draw_tile_base оригинала подменяет базу кнопки на «левую половину без пола слева» (id 148) по ТРЁМ условиям (seg008:628): тайл — opener, слева пусто И tbl_level_type[current_level] == 0, то есть только в ПОДЗЕМЕЛЬЕ. Третье условие у нас было потеряно ИМЕННО В ОВЕРЛЕЕ: статическая отрисовка (pop_room.c, draw_tile_base) его имеет и даже ссылается на ту же строку оригинала, а pop_bg.c — нет. Уровень 4 дворцовый, поэтому оверлей брал спрайт 148, а в дворцовом наборе это другая картинка. Этим же объясняется, почему баг не виден «просто так»: пока тайл рисует статика, кнопка правильная — кирпич появляется ровно в тот момент, когда персонаж встаёт под кромку и включается оверлей. Цена: +6 байт в банке 2 (8976 -> 8982, свободно 7402). Проверять стоит на любом ДВОРЦОВОМ уровне, где у открывающей кнопки слева пусто и персонаж лезет на неё снизу. Живая проверка в MAME пользователем: корректно. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018T2k4VZrSyERwk6H97Sfi1