MIRROR-FG-STALE закрыт как НЕ БАГ (проверено пользователем)

Прогон читом ROOMNAV: телепорт в комнату 4 сразу после нажатия кнопки —
зеркала нет вовсе (тайл ставится в момент, когда дверь ДОРИСОВАЛА открытие,
43 тика анимации, телепорт успевает раньше); обычный вход в комнату —
зеркало на месте и непроходимо, кроме правильного прыжка, то есть коллизия
его видит.  Сценария «постановка при игроке в комнате» в реальном
прохождении нет: дверь выхода стоит не в комнате зеркала, а при входе
комната и снимок room_fg берутся из данных уровня разом.

Решение пользователя: телепорт по комнатам — отладочный режим, чинить нечего.
Запись целиком уехала в BUGS_CLOSED.md вместе с протоколом и с указанием, чем
лечить, если симптом всё же всплывёт на моде/уровне, где кнопка и зеркало в
одной комнате.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 16:22:04 +03:00
parent 5348feb5f4
commit 096517d8aa
4 changed files with 39 additions and 43 deletions
+34
View File
@@ -2274,3 +2274,37 @@ draw_tile_anim(); <- СВОЯ графика тайла: челюсти
Связь с T-1 сработала как и предсказано: пока Кида не перерисовываем, heal'а
нет, стирать пики нечем. Но T-1 остаётся открытым — трогать пики
безусловно мы всё ещё продолжаем, когда Кид рядом ДВИЖЕТСЯ.
---
<a id="mirror-fg-stale"></a>
## MIRROR-FG-STALE. Зеркало и снимок комнаты — **НЕ БАГ, закрыт 2026-08-11**
Заводился как краевой случай от [L4-MIRROR](TASKS_CLOSED.md#l4-mirror):
`place_mirror` (`pop_trob.c`) пишет тайл зеркала в ДАННЫЕ УРОВНЯ
(`pop_level_set_tile`), а коллизия работает со СНИМКОМ комнаты `room_fg`,
который `pop_room_load` делает при входе в комнату. Опасение: если тайл
поставлен, пока игрок УЖЕ в комнате 4, снимок останется старым и зеркало
будет невидимо для коллизии — Кид пробежит сквозь него, тень не родится.
**Проверка пользователем (2026-08-11), чит ROOMNAV:** нажал кнопку открытия
двери, телепортировался в комнату 4 — **зеркала не было вовсе**; вышел из
комнаты и вошёл обычным путём — зеркало появилось и **непроходимо, кроме
правильного прыжка**, то есть коллизия видит его корректно.
**Вывод: сценария нет.** Тайл ставится в момент, когда дверь ДОРИСОВАЛА
открытие (`animate_leveldoor`, переход `pop_leveldoor_open` 0/2 → 1, 43
тика анимации) — телепорт успевает раньше, поэтому «постановки при игроке в
комнате» в этом прогоне не случилось вообще. А при обычном входе комната
рисуется целиком из данных уровня и `room_fg` снимается заново — графика и
коллизия согласованы по построению.
**Решение пользователя:** телепорт по комнатам — ОТЛАДОЧНЫЙ режим; в реальном
прохождении дверь выхода стоит не в комнате зеркала, игрок физически не может
быть там в момент постановки, и зеркало с тенью появляются всегда штатно.
Чинить нечего.
**Если симптом всё же всплывёт** (например, появится мод/уровень, где кнопка
и зеркало в одной комнате): лечение — обновлять в `place_mirror` не только
данные уровня, но и живую карту (в `pop_map.c` уже есть внутренние точки
записи `g_fg[tilepos]`, нужна публичная «поставить тайл в текущей комнате»).