Files
Sprinter-SDCC/applications/PoP/docs/roomnav_skip.md
T
snark13 69081ae51e Таблица комнат для отладочного телепорта: что пропускать и почему
Посчитано скриптом по res20NN.bin для всех 15 уровней.  Три критерия:
нет входов (ни одна комната не ссылается связями), нет пола (стоять не на
чем) и пол только опасный (обычного пола код 1 нет — пики/расшатанные).

Плюс спецкомнаты, которые пропускать независимо от критериев: seamless
exit 12/23 (меняет уровень), falling exit 6/1, falling entry 7/17,
спуск-через-зацеп 7/14, тень с зельем 5/24 и 13/23+13/16, где вход роняет
гряду плит.  Уровень 15 (защита от копирования) — целиком.

Нужна для полного обхода комнат с первого уровня после порта слоёв.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 20:04:44 +03:00

6.5 KiB

Комнаты для отладочного телепорта (+ / -)

Считано скриптом прямо по ../SDLPoP/data/LEVELS/res20NN.bin, 2026-08-13. Задача: обход комнат читом должен идти последовательно, и в КАЖДОЙ комнате Киду должно найтись место для материализации без падения и смерти.

Критерии пропуска

причина как определяется
нет входов ни одна комната уровня не ссылается на неё связями left/right/up/down (кроме стартовой)
нет пола ни одного тайла, на котором можно стоять (tile_is_floor, seg004)
пол опасный стоять есть на чём, но обычного пола (код 1) нет — только пики, расшатанные плиты и прочее

Чит сейчас ищет место снизу вверх: сперва обычный пол (код 1), потом любой проходимый тайл (pop_dbg_roomnav, roomtest_cold.c). Поэтому «пол опасный» — это комнаты, где он свалится на fallback и Кид может погибнуть.

Таблица по уровням

ур. старт пропускать
1 1 24 (нет входов)
2 5 14 (пол опасный), 17 (пол опасный)
3 9 17 (пол опасный), 19 (пол опасный), 20 (нет пола), 21 (пол опасный), 23 (нет пола), 24 (нет пола)
4 1 19 (нет пола), 20 (нет пола)
5 7 5 (нет входов), 6 (нет входов), 19 (нет входов/нет пола), 21 (пол опасный), 22 (нет пола)
6 24 2 (пол опасный), 3 (нет пола), 7 (нет пола), 8 (нет пола), 11 (пол опасный), 19 (нет входов/нет пола), 21 (нет входов/пол опасный), 23 (нет пола)
7 17 3 (пол опасный), 17 (нет пола), 21 (пол опасный)
8 1 9 (нет пола), 10 (пол опасный), 11 (нет входов), 15 (нет входов), 17 (пол опасный), 19 (нет входов), 20 (пол опасный), 21 (нет пола)
9 11 8 (нет пола), 18 (пол опасный)
10 1 3 (нет пола), 4 (пол опасный), 6 (нет входов), 9 (нет пола), 11 (пол опасный), 13 (нет пола), 18 (нет пола), 20 (нет пола), 21 (нет входов), 22 (нет входов)
11 6 3 (нет пола), 5 (нет пола), 9 (нет пола), 10 (нет пола), 11 (нет пола), 12 (нет пола), 17 (нет пола), 18 (нет входов), 23 (нет пола)
12 3 5 (нет пола), 6 (пол опасный), 8 (пол опасный), 10 (нет пола), 11 (нет пола), 17 (нет пола), 18 (пол опасный), 19 (пол опасный), 22 (нет пола)
13 23 2 (нет пола), 4 (пол опасный), 5 (нет входов), 6 (пол опасный), 8 (пол опасный), 18 (пол опасный), 19 (пол опасный), 22 (нет пола)
14 4 7 (нет пола), 10 (нет входов), 14 (пол опасный), 17 (пол опасный)
15 6 1 (нет входов), 2 (нет входов), 7 (нет пола), 9 (нет входов/пол опасный), 10 (нет входов/пол опасный), 11 (нет входов/пол опасный), 12 (нет входов/пол опасный), 13 (нет входов/пол опасный), 14 (нет входов/пол опасный), 15 (нет входов/пол опасный), 16 (нет входов/пол опасный), 17 (нет входов/пол опасный), 18 (нет входов/пол опасный), 19 (нет входов/пол опасный), 20 (нет входов/пол опасный), 21 (нет входов/пол опасный), 22 (нет входов/пол опасный), 23 (нет входов/пол опасный), 24 (нет входов/пол опасный)

Спецкомнаты — пропускать независимо от таблицы

ур. комн. почему
12 23 seamless exit: попадание в неё МЕНЯЕТ УРОВЕНЬ на 13-й. Чит-телепорт триггер придерживает (pop_nav_hold), но в обходе комнате делать нечего
6 1 falling exit: Кид проваливается вниз и уходит на 7-й уровень
7 17 falling entry: экран сразу переводится на комнату НИЖЕ (в таблице уже помечена «нет пола»)
7 14 проходится СВЕРХУ ВНИЗ; чит для неё уже особый — ставит Кида в ряд 0
5 24 тень ждёт в колонке −1 ряда 0; посадка рядом начинает схватку, которой там быть не должно
13 23, 16 вход роняет гряду плит (check_fall_flo) — материализация под падающей плитой

Уровень 15

Это экран защиты от копирования, а не часть сюжета (см. levels_12_15_plan.md §4). Портировать не планируем — уровень пропускать целиком.

Как применять

Список — данные, а не логика: держать таблицей в отладочном коде рядом с pop_dbg_roomnav и пропускать помеченные комнаты при обходе, чтобы + всегда попадал в пригодную комнату. Пересчитывать скриптом, если поменяются данные уровней.