diff --git a/applications/PoP/roomtest/TASKS.md b/applications/PoP/roomtest/TASKS.md index 0ddd2d2..75f83df 100644 --- a/applications/PoP/roomtest/TASKS.md +++ b/applications/PoP/roomtest/TASKS.md @@ -31,23 +31,79 @@ ур. 4 lattice_pillar(25)…lattice_right(29) + тайлсет palace ← отложено ``` -Порядок работ — ниже: **L3-CHOMP → L3-SKEL → L3-CHKP** (уровень 3 в -принципе не проходится без них), параллельно **L1-SPEED** (общий для всех -уровней) и приёмочные прогоны **L1-PASS / L2-PASS**. +**Порядок (решение пользователя 2026-08-04): СНАЧАЛА приёмка уровня 2, +потом уровень 3.** Причина техническая, а не вкусовая: чомперы лягут в +тот же банк 2, где живёт отрисовка, и чинить баги фона поверх свежей +механики дороже, чем до неё. -| Задача | Что | Блокирует | -|--------|-----|-----------| -| [L3-CHOMP](#l3-chomp) | чомперы (5 шт) | прохождение ур. 3 | -| [L3-SKEL](#l3-skel) | скелет (единственный противник ур. 3) | прохождение ур. 3 | -| [L3-CHKP](#l3-chkp) | чекпойнт ур. 3 | корректный респавн ур. 3 | -| [L1-SPEED](#l1-speed) | игра на ~39 % быстрее оригинала | ощущение от ВСЕХ уровней | -| [L1-PASS](#l1-pass) / L2-PASS | сквозные прогоны + таблица 24 комнат | приёмка | -| [DBG-CHEATS](#dbg-cheats) | `[`/`]` — подгонка Кида по X | отладка (BUG-GATE-PASS-1) | +| # | Задача | Что | Блокирует | +|---|--------|-----|-----------| +| 1 | [L2-PASS](#l2-pass) | приёмка уровня 2 + баги отрисовки | ← **сейчас** | +| 2 | [L3-CHOMP](#l3-chomp) | чомперы (5 шт) | прохождение ур. 3 | +| 3 | [L3-SKEL](#l3-skel) | скелет (единственный противник ур. 3) | прохождение ур. 3 | +| 4 | [L3-CHKP](#l3-chkp) | чекпойнт ур. 3 | корректный респавн ур. 3 | +| — | [L1-SPEED](#l1-speed) | игра на ~39 % быстрее оригинала | ощущение от ВСЕХ уровней; берётся в любой момент | +| — | [L1-PASS](#l1-pass) | сквозной прогон ур. 1 + таблица 24 комнат | приёмка ур. 1 | +| — | [DBG-CHEATS](#dbg-cheats) | `[`/`]` — подгонка Кида по X | отладка (BUG-GATE-PASS-1) | --- ## P0 — делаем сейчас +### L2-PASS. Приёмка уровня 2 + +Баги отрисовки уровня 2 пользователь подаёт списком отдельно — они идут в +[`bug_list.md`](bug_list.md), раздел «Уровень 2». Ниже — **карта +содержимого уровня, снятая прямо с `res2002.bin`**, чтобы приёмка шла по +списку, а не «на глаз»: если механика в таблице есть, а в игре не +сработала — это баг, а не «так задумано». + +**Стражи — 5, в комнатах 4, 7, 11, 15, 24** (skill 1/2/1/1/3, цвета +1/3/1/1/6 — цвет мы пока игнорируем, атлас один). Заметить: страж +комнаты 24 со skill 3 — первый по-настоящему опасный. + +**Кнопки и что они открывают** (декодировано из LINKLOC/LINKMAP): + +| Кнопка | Тип | Цель | +|--------|-----|------| +| к.9 @ряд1,кол1 | RAISE | **дверь уровня** к.23 @1,3 — то есть выход | +| к.11 @1,1 | RAISE | ворота к.18 @0,9 | +| к.18 @0,7 | RAISE | ворота к.7 @0,9 **и** к.18 @0,9 (две сразу) | +| к.18 @0,2 | DROP | закрывает ворота к.7 @0,9 | +| к.13 @1,4 | DROP | закрывает ворота к.13 @1,5 | + +**Ловушки и предметы по комнатам:** + +``` +к. 3 loose@2,2 зелье@2,5 (здоровье) +к. 4 loose@1,7 loose@1,8 + СТРАЖ +к. 5 дверь уровня @1,2-3 — ВХОД (захлопывается за спиной) +к. 6 пики@1,3 loose@1,5 зелье@2,7 (здоровье) +к. 7 ворота@0,9 пики@2,7 + СТРАЖ +к. 8 зелье@2,2 (здоровье) +к. 9 кнопка RAISE@1,1 loose@2,6 +к.10 пики@2,2 +к.11 кнопка RAISE@1,1 + СТРАЖ +к.12 зелье@2,6 (здоровье) loose@2,8 +к.13 зелье@1,3 (ВРЕДНОЕ, −1 HP) кнопка DROP@1,4 ворота@1,5 зелье@1,8 +к.15 + СТРАЖ +к.18 кнопка DROP@0,2 loose@0,4 кнопка RAISE@0,7 ворота@0,9 зелье@2,6 +к.19 пики@1,4 +к.20 ЗЕЛЬЕ@1,2 — БОЛЬШАЯ СКЛЯНКА (+1 к потолку HP) пики@2,6 пики@2,7 +к.23 дверь уровня @1,3-4 — ВЫХОД +к.24 + СТРАЖ (skill 3) +``` + +**Отдельно проверить то, что сделано именно сегодня и на уровне 1 не +проверялось:** +- **большая склянка** (к.20) — потолок HP становится 4, индикатор рисует + четыре деления, и это HP **переносится на уровень 3**; +- **меч уже в руках** с самого старта (`have_sword = level >= 2`) — на + уровне 1 его надо было подбирать; +- **выход через дверь к.23** вживую (кнопка в к.9) — путь тот же, что + закрыт на уровне 1 (L1-EXIT), но на этом уровне не прогонялся; +- **смерть/респавн** возвращают на уровень 2, а не на 1. + ### L3-CHOMP. Чомперы — механика уровня 3 **Где:** 5 штук, комнаты 5(тайл 4), 16(23,24,25), 22(26). Дальше они почти diff --git a/applications/PoP/roomtest/bug_list.md b/applications/PoP/roomtest/bug_list.md index b0d6605..c41a416 100644 --- a/applications/PoP/roomtest/bug_list.md +++ b/applications/PoP/roomtest/bug_list.md @@ -27,6 +27,7 @@ BUG-GATE-PASS-1 — однократное наблюдение прохода | ID | что | тип | статус | |----|-----|-----|--------| +| [Уровень 2](#уровень-2) | баги отрисовки с приёмки | — | **ждут списка от пользователя** | | [BUG-GATE-PASS-1](#bug-gate-pass-1) | проход сквозь закрывшуюся решётку (0,9) комнаты 5 | Major | **ждёт сценария воспроизведения** | | [T-1](#t-1) | пики перерисовываются безусловно | оптимизация | открыт | | [T-2](#t-2) | Кид перерисовывается в покое | оптимизация | открыт | @@ -34,6 +35,29 @@ BUG-GATE-PASS-1 — однократное наблюдение прохода --- + +# Уровень 2 — баги с приёмки (заведено 2026-08-04) + +Уровень 2 заиграл 2026-08-04 (см. [`TASKS.md`](TASKS.md) запись **L2**). +Пользователь при первом прогоне увидел **несколько багов отрисовки** и +подаст их списком отдельно — раздел заведён под них заранее, чтобы +наблюдения не растеклись по переписке. + +Карта содержимого уровня (что где стоит по данным `res2002.bin`, какие +кнопки какие ворота открывают) — в [`TASKS.md`](TASKS.md#l2-pass), +запись **L2-PASS**: по ней видно, «механика не сработала» это или +«так и задумано». + +Перед заведением записи — грепнуть [`bug_closed.md`](bug_closed.md) по +симптому: почти вся косметика окклюзии уровня 1 уже разбиралась +(BUG-CEIL-1/2/3, BUG-OCCL-1, BUG-DOOR-CLIP, BUG-DRAWORDER-1), и уровень 2 +вводит ровно три новых фоновых тайла — **большая колонна (низ 8 / верх 9) +и верх двери (12)**; если артефакт рядом с ними, это первый подозреваемый. + +*(записей пока нет)* + +--- + # Ручная перепроверка фиксов (2026-08-03)