Финальная тема won: кольцевой стриминг с диска
Последний неозвученный кусок игры. 115 секунд и 1,2 МБ в память не влезают никак, поэтому тема играется кольцом из шести страниц (96 КБ = 9 с): насос идёт по кругу, а pop_music_service дочитывает файл в те страницы, которые насос уже прошёл. Страница звучит 1,5 с и читается 33 мс — запас сорокакратный; дистанция считается без отдельных счётчиков, потому что страница это ровно 128 блоков насоса. Три вещи, всплывшие при живой проверке: - кольцо обязано сниматься при любом обычном запуске трека, иначе следующая тема играет по кругу первых шести страниц (поймано на титрах сразу после победы); - живые сцены комнаты принцессы теперь открывают CBL сами (cut_begin): pop_ending_show глушит звук первым действием, и «arrived to princess» не звучал вовсе; - тема дослушивается до конца с возможностью прервать клавишей — как seg001:637. У оригинала там стоит ввод имени в таблицу рекордов; когда он появится, ожидание переедет за него (задача HOF-ENTRY). Проверено в MAME на сборке LEVEL=14: после встречи с принцессой звучит тема победы (id 56, кольцо 6), курсор уходит далеко за размер кольца — подкачка успевает. Host-тесты: 15 наборов. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -78,7 +78,10 @@
|
||||
это максимум из встречавшихся; 12/22/24 — skill 2/3/3).
|
||||
|
||||
<a id="l9-invert"></a>
|
||||
### L9-INVERT. Зелье ПЕРЕВОРОТА (уровень 9, комнаты 7 и 10)
|
||||
### L9-INVERT. Зелье ПЕРЕВОРОТА — ЗАКРЫТА 2026-08-26
|
||||
|
||||
> Проверено пользователем в живой игре.
|
||||
|
||||
|
||||
> **Подробный план реализации — [`../docs/l9_invert_plan.md`](../docs/l9_invert_plan.md)**
|
||||
> (задачи libbgi, задачи приложения, порядок работ, риски, открытые вопросы).
|
||||
@@ -379,7 +382,10 @@ x = 106; разбор — [`../docs/perf_l11_room15.md`](../docs/perf_l11_room15
|
||||
(6 126 тактов фиксированной накладной на любой блит, независимо от размера).
|
||||
|
||||
|
||||
### <a id="l12-shadow"></a>L12-SHADOW. Уровень 12: встреча с тенью, бой, слияние
|
||||
### <a id="l12-shadow"></a>L12-SHADOW. Уровень 12: тень, бой, слияние — ЗАКРЫТА 2026-08-26
|
||||
|
||||
> Проверено пользователем в живой игре.
|
||||
|
||||
|
||||
> **Статус 2026-08-13: код написан, хост-тесты зелёные (45 проверок,
|
||||
> `tests-host/t_shadow.c`), ЖИВОЙ ПРОВЕРКИ В MAME ЕЩЁ НЕ БЫЛО.** Для неё
|
||||
@@ -497,7 +503,10 @@ POP_RD_LOOSE, 1)` — полную перерисовку тайла, десят
|
||||
берётся вместе с остальной шлифовкой переходов.
|
||||
|
||||
<a id="l13-jaffar"></a>
|
||||
### L13-JAFFAR. Уровень 13: Джафар, победа, выход, падающая гряда
|
||||
### L13-JAFFAR. Уровень 13: Джафар, победа, выход — ЗАКРЫТА 2026-08-26
|
||||
|
||||
> Проверено пользователем в живой игре.
|
||||
|
||||
|
||||
> **Статус 2026-08-13: код написан, хост-тесты зелёные (44 проверки,
|
||||
> `tests-host/t_jaffar.c`), ЖИВОЙ ПРОВЕРКИ В MAME ЕЩЁ НЕ БЫЛО.**
|
||||
@@ -550,7 +559,10 @@ POP_RD_LOOSE, 1)` — полную перерисовку тайла, десят
|
||||
6. комната 23 — уровень молча становится 13-м, HP НЕ сбрасывается.
|
||||
|
||||
|
||||
### <a id="l7-feather"></a>L7-FEATHER. Зелье МЕДЛЕННОГО ПАДЕНИЯ (уровень 7, комната 1)
|
||||
### <a id="l7-feather"></a>L7-FEATHER. Зелье МЕДЛЕННОГО ПАДЕНИЯ — ЗАКРЫТА 2026-08-26
|
||||
|
||||
> Проверено пользователем в живой игре.
|
||||
|
||||
|
||||
> **Статус 2026-08-12: код написан, ждёт живой проверки в MAME.** Сделаны все
|
||||
> шесть шагов ниже плюс синие пузырьки зелья «−HP» (тип 5) — они всплыли по
|
||||
@@ -1280,7 +1292,24 @@ N навык M» — отдельная надобность, если пона
|
||||
нужны в разное время: `kid.pal` — каждому уровню, заставочные — только
|
||||
заставке.
|
||||
|
||||
### <a id="mus-won"></a>MUS-WON. Финальная тема — кольцевой стриминг с диска
|
||||
### <a id="hof-entry"></a>HOF-ENTRY. Ввод имени в таблицу рекордов
|
||||
|
||||
У оригинала после титров победы игрок вписывает своё имя в Hall of Fame
|
||||
(`input_str` в `end_sequence`, seg001:614), и победная тема играет всё это
|
||||
время — она и рассчитана на то, что человек сидит и печатает.
|
||||
|
||||
У нас показ таблицы есть, ввода нет. Из-за этого тема сейчас
|
||||
дослушивается в конце `pop_ending_show`; когда ввод появится, ожидание
|
||||
надо перенести ЗА таблицу — как в оригинале.
|
||||
|
||||
### <a id="mus-won"></a>MUS-WON. Финальная тема — кольцевой стриминг — ЗАКРЫТА 2026-08-26
|
||||
|
||||
> **Сделано.** Кольцо из шести страниц (96 КБ = 9 с), насос заворачивается
|
||||
> по `pop_mus_ring`, подкачка в `pop_music_service` по дистанции
|
||||
> «проиграно / прочитано». Разбор и грабли — `../docs/sound_plan.md` §8.
|
||||
> Проверено в MAME на сборке `LEVEL=14`.
|
||||
|
||||
<details><summary>исходная постановка</summary>
|
||||
|
||||
Трек 56 (`won`, 115 с) — это 1,2 МБ, 78 страниц EMM. Ни в `POP_MUS_PAGES`
|
||||
(20), ни в разумный бюджет памяти он не влезает, поэтому единственный
|
||||
@@ -1296,6 +1325,8 @@ N навык M» — отдельная надобность, если пона
|
||||
**Заодно.** Тот же механизм снимает ограничение `POP_MUS_PAGES` со всех
|
||||
треков: сейчас каждый должен помещаться в память целиком.
|
||||
|
||||
</details>
|
||||
|
||||
### <a id="arc-atlases"></a>ARC-ATLASES. Атласы — в архивы PBA1 — ЗАКРЫТА 2026-08-26
|
||||
|
||||
> **Сделано.** Восемь архивов: kid (58 атласов), pv (78), shadow (32), bg
|
||||
|
||||
Reference in New Issue
Block a user