Катсцены: fade длиной как в оригинале, музыка дослушивается до уровня
ДЛИТЕЛЬНОСТЬ. fade_in_1/fade_out_1 у оригинала — 64 шага палитры по два тика, то есть 128 тиков = 2,13 с каждый; сцена перед уровнем 2 идёт с ними около семи секунд. Наши четыре кадра укладывались в восемь сотых секунды, и сцена выходила втрое короче. INTRO_FADE и TITLE_FADE теперь POP_T60(128). Ступеней яркости стало восемь вместо четырёх (7/8, 3/4, 5/8, 1/2, 3/8, 1/4, 1/8, 0 — каждая парой сдвигов, умножения на Z80 не нужно): растянуть четыре ступени на две секунды значило бы получить четыре скачка яркости. МУЗЫКА. Прошлый коммит отдавал трек доигрывать уже в игре — так делает оригинал. На слух вышло хуже: музыка спотыкается, потому что загрузка уровня не даёт насосу долить блок вовремя (у DOS-версии такой проблемы нет). Дослушиваем под чёрным экраном, до отрисовки уровня — тем более что следующий load_intro у оригинала всё равно начинается с ожидания тишины (seg001:681). Пропуск сцены обрывает и музыку. Заодно: WAIT перед PV пересчитан (584 вместо 707 — наш fade больше не короче), а тема титров пускается ПОСЛЕ fade_in, как в show_title. Host-тесты: 15 наборов. Проверено в MAME: плавное появление титров. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -883,6 +883,26 @@ EMM: `pop_music_load*` всегда пишет в НЕ играющий, `pop_mu
|
||||
для этого портит переменную двери (`leveldoor_open = 0x4D`) — у нас на это
|
||||
есть свои два байта.
|
||||
|
||||
**ГДЕ КОНЧАЕТСЯ МУЗЫКА СЦЕНЫ** (уточнено 2026-08-26). Сначала мы отдали
|
||||
трек «доигрывать в игре»: у оригинала load_intro после сцены просто гасит
|
||||
экран и возвращает управление. На слух оказалось хуже, чем в оригинале —
|
||||
музыка спотыкается: загрузка уровня (ESTEX плюс сборка комнаты) не даёт
|
||||
насосу долить блок вовремя. У DOS-версии этой проблемы нет, там звук
|
||||
живёт своей жизнью на аппаратуре.
|
||||
|
||||
Поэтому дослушиваем ПОД ЧЁРНЫМ ЭКРАНОМ, до отрисовки уровня: следующий
|
||||
load_intro у оригинала и так начинается с ожидания тишины (seg001:681), то
|
||||
есть к новому уровню трек в любом случае смолкает. Пропуск сцены обрывает
|
||||
и музыку — игрок нажал клавишу, чтобы идти дальше.
|
||||
|
||||
**ДЛИТЕЛЬНОСТЬ FADE.** fade_in_1/fade_out_1 — это 64 шага палитры по два
|
||||
тика, 128 тиков = 2,13 с; сцена перед уровнем 2 занимает с ними около семи
|
||||
секунд. Наши четыре ступени укладывались в восемь сотых секунды, и сцена
|
||||
выходила втрое короче. Теперь `INTRO_FADE = POP_T60(128)`, а ступеней в
|
||||
`pop_ui_palette_dim` восемь вместо четырёх (7/8, 3/4, 5/8, 1/2, 3/8, 1/4,
|
||||
1/8, 0 — каждая парой сдвигов, без умножения): на четырёх растянутых
|
||||
ступенях затемнение выглядело бы скачками.
|
||||
|
||||
**Чего пока нет.** Финальный `won` (56): 115 с, 1,2 МБ, 78 страниц EMM —
|
||||
в `POP_MUS_PAGES` (20) он не помещается даже теоретически. Ему нужен
|
||||
КОЛЬЦЕВОЙ стриминг: держать в памяти несколько страниц и дочитывать в те,
|
||||
|
||||
Reference in New Issue
Block a user