SprPoP: KEYS-D, KEYS-R и KEYS-F12 — на доску отложенного

Три остатка плана keys_plan.md записаны в TASKS_OPEN.md с полным разбором,
чтобы не выводить его заново.

KEYS-D (осмотр соседних комнат) — главное, что стоит помнить: у SDLPoP это
три строки, потому что там drawn_room влияет ТОЛЬКО на отрисовку, а физика
ходит через get_tile(room, col, row) с явной комнатой.  У нас наоборот —
карта коллизий грузится для ОТРИСОВАННОЙ комнаты: room_fg, lcol_fg,
rcol_fg, above_fg, below_fg это ОДИН комплект на программу.  Уведи cur_room
к соседу, не трогая kid_room, и Кид считает столкновения по чужим тайлам.
Задел под расхождение уже стоит (kid_room отдельной переменной,
update_kid_render_dx со сдвигом ±140), но enter_room_side пишет обе разом —
это незакрытая часть S3 straddle.

Записаны оба пути с ценой: честный (правка ядра, дни) и смотровой режим с
остановкой игры (150-250 байт, часы) — плюс что главный риск не в
отрисовке, а в возврате.

KEYS-R (воскрешение) — четыре места, которые обязаны знать про окно
неуязвимости, со ссылками на seg-код.

KEYS-F12 (скриншот) — «возможно, когда-то», по пометке пользователя.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-27 15:38:22 +03:00
parent f8e96c0495
commit 659071838d
2 changed files with 55 additions and 0 deletions
+6
View File
@@ -1,5 +1,11 @@
# План: перевод управления на раскладку `keys.txt`
> **Состояние на 2026-08-27.** Фазы **A** и **B** сделаны (коммит 76f02e7),
> фаза **C** — три чита из четырёх (f8e96c0). Отложены и записаны на доску
> [`TASKS_OPEN.md`](TASKS_OPEN.md): `KEYS-R` (воскрешение), `KEYS-D` (осмотр
> соседних комнат), `KEYS-F12` (скриншот). Итоговая раскладка, включая наши
> сверхштатные клавиши, — в [`keys.txt`](keys.txt).
Целевая раскладка — [`keys.txt`](keys.txt), она же раскладка SDLPoP. Здесь
разобрано, что у нас уже есть, что стоит не на той клавише и каких функций
нет вовсе, плюс порядок работ. Кода этот документ не меняет.