Доски приведены в соответствие с кодом; bug_list/bug_closed → BUGS_OPEN/BUGS_CLOSED
Доска отставала от кода на три задачи — планировать по ней было нельзя. Сверка проведена грепом по исходникам, а не по записям: - L4-MIRROR ЗАКРЫТА: шаги 1-5 сделаны и проверены пользователем в MAME (зеркало в атласе, постановка тайла, отражение, прыжок сквозь зеркало с рождением тени, левый клип тени). Протокол с разбором решений — в архиве; - L3-CHOMP и L3-SKEL закрыты ещё 2026-08-08/07 (коммитыdc0bd47,4d4323f,db4106a,1461ed5), на доске значились как предстоящие; - тайлсет palace (шаг 2 levels_plan) в коде есть целиком — pop_bg_load(type), pal_*.atl, дворцовый wall_pattern, решётки 25-29 и в tile_table, и в коллизии (tile_is_floor совпадает с seg006:0628); - в GUARD-PHYS остаток пересобран по факту: check_chomped_guard сделан, скелет в check_guard_fallout сделан, ветки ТЕНИ нет — она уехала в L5-SHADOW. Приёмки: по решению пользователя уровни 1-4 приняты SMOKE-тестами, полные обходы всех комнат делаются по готовности ВСЕХ уровней — L3-PASS/L4-PASS как отдельные задачи отменены, вместо них политика приёмок в архиве. Новая цель — уровень 5. Инвентарь res2005.bin: НИ ОДНОГО нового тайла, всё портировано на уровнях 1-4. Единственная новая механика — спецсобытие «тень крадёт зелье» (комната 24): заведена задача L5-SHADOW с портом по SDLPoP (check_shadow / do_init_shad / do_auto_moves + shad_drink_move / autocontrol_shadow_level5 + ветка тени в check_guard_fallout), включая готовые константы и то, что у нас уже есть под это. Заведён MIRROR-FG-STALE (низкий): place_mirror пишет тайл в данные уровня, но не в снимок room_fg, по которому работает коллизия — если зеркало поставлено, пока игрок В комнате 4, оно невидимо для коллизии (тень не родится). В обычном прохождении недостижимо: дверь выхода в другой комнате. Записан точный сценарий воспроизведения читом ROOMNAV и фикс на несколько строк. Правило «в _OPEN только незакрытое» теперь выполняется буквально: - bug_list.md → BUGS_OPEN.md, bug_closed.md → BUGS_CLOSED.md (ссылки обновлены во всех документах и в комментарии pop_trob.c); - из TASKS_OPEN убраны блоки закрытых задач (L3-CHOMP, L3-SKEL, L3-PASS, L4-MIRROR, DRAW-CHAR), справка по связности комнат уехала в архив; - из BUGS_OPEN убраны 8 строк таблицы закрытых багов, закрытый T-2 (уехал в BUGS_CLOSED) и раздел «уровень 3 — неначатые задачи» (обе записи закрыты); сводная таблица пересобрана по реально открытым записям. Все внутренние ссылки проверены скриптом: битых якорей 0. make size-check OK (65 программ), tests-host 5/5. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -44,8 +44,8 @@ up_pressed/go_up_leveldoor`, `seg006.c: play_seq → SEQ_END_LEVEL`,
|
||||
| 1 | dungeon | обычный | — (текущая база) |
|
||||
| **2** | **dungeon** | **обычный** | **ничего нового: тот же набор объектов минус меч** |
|
||||
| 3 | dungeon | СКЕЛЕТ | чомперы |
|
||||
| 4 | palace | обычный | **тайлсет palace**, зеркало (спецсобытие `mirror_level`) |
|
||||
| 5 | palace | обычный | — |
|
||||
| 4 | palace | обычный | **тайлсет palace**, зеркало (спецсобытие `mirror_level`) — **СДЕЛАНО** |
|
||||
| 5 | palace | обычный | новых ТАЙЛОВ нет; спецсобытие **тень крадёт зелье** (комната 24) — [L5-SHADOW](../roomtest/TASKS_OPEN.md#l5-shadow) |
|
||||
| 6 | palace | ТОЛСТЫЙ | падение на входе (спецсобытие) |
|
||||
| 7 | dungeon | обычный | — |
|
||||
| 8, 9 | dungeon | обычный | — |
|
||||
@@ -111,7 +111,19 @@ pop_current_level) → load_level(pop_next_level)`. Порядок сноса/
|
||||
|
||||
---
|
||||
|
||||
## 3. Шаг 2 — второй тайлсет (palace, уровни 4+)
|
||||
## 3. Шаг 2 — второй тайлсет (palace, уровни 4+) — **СДЕЛАН**
|
||||
|
||||
> **Закрыт (ревизия 2026-08-11 по коду).** В дереве есть всё, что
|
||||
> проектировалось ниже: `pop_pack_bg.py` печёт ДВА набора атласов
|
||||
> (`pop_*` из VDUNGEON, `pal_*` из VPALACE, каскад с обменом приоритетов),
|
||||
> `pop_bg_load` принимает тип набора и ставит флаг `pop_palace`, по которому
|
||||
> `pop_room.c` выбирает дворцовую ветку (`wall_pattern` дворца — сплошная
|
||||
> заливка + пять mono-полос, `PALACE_WALL_MONO_IDS`), решётчатые тайлы
|
||||
> 25-29 есть и в `tile_table` (`pop_tile.c`), и в коллизии — `tile_is_floor`
|
||||
> совпадает с `seg006:0628` тайл в тайл. Уровень 4 проходится smoke-тестом.
|
||||
>
|
||||
> Текст ниже оставлен как справочник по раскрою палитры и по тому, почему
|
||||
> смена тайлсета — это перезапись 32 записей, а не переиндексация спрайтов.
|
||||
|
||||
**Ассеты.** `toolchain/pop_pack_bg.py` уже читает PNG каскадом
|
||||
VDUNGEON→VPALACE (та же логика, что в игре), но печёт ОДИН набор атласов
|
||||
|
||||
Reference in New Issue
Block a user