Доки: план меню (рендер, restart без подтверждения), QSAVE закрыт
menu_settings_plan.md: - §10 переписан: выбран Вариант A — текстовые строки + собственный растровый рендерер в новом банке; референс SDLPoP (hc_small_font / hc_font — один рендерер, два шрифта); шрифт как ассет из паковщика, прототип MS4 — системный CP866 ZG; двуязычность eng/rus через пару (таблица строк CP866, файл шрифта) - Restart Level / Restart Game выполняются сразу, без подтверждения (§3, §8, из §11 убраны диалоги RESTART *?) - §13 MS4: текстовый рендерер + два шрифта; §14: host-тест рендерера quicksave_plan.md: статус «РЕАЛИЗОВАНО и проверено в MAME» (v0.6-pop-quicksave), документ оставлен справочником по формату 'POPQ' TASKS_OPEN/TASKS_CLOSED: запись QSAVE переехала в закрытые с полным протоколом; docs/README.md аннотации обновлены
This commit is contained in:
@@ -1090,37 +1090,12 @@ SPIKE-BAKED, а до того — мерцание плиты, ради кото
|
||||
раскладки в `tests-host/README.md`).
|
||||
|
||||
|
||||
### <a id="qsave"></a>QSAVE. QuickSave / QuickLoad
|
||||
### <a id="qsave"></a>QSAVE. QuickSave / QuickLoad — ЗАКРЫТА 2026-08-22
|
||||
|
||||
> **План целиком — [`../docs/quicksave_plan.md`](../docs/quicksave_plan.md)**
|
||||
> (разбор SDLPoP, инвентаризация нашего состояния, формат снимка, порядок
|
||||
> восстановления, разбиение на шаги QS1…QS6, риски). Изучено 2026-08-17,
|
||||
> **код не начат.**
|
||||
|
||||
Оговорка, с которой начинается план: **в оригинале 1989 года этого нет
|
||||
вовсе**, QuickSave — enhancement SDLPoP (`seg000.c`, `USE_QUICKSAVE`,
|
||||
F6/F9). Значит повторяем не букву, а устройство.
|
||||
|
||||
Что взять у SDLPoP без изменений: снимок — плоский список полей, один обход
|
||||
на запись и на чтение (`#define process(x)`), совместимость держится
|
||||
строкой версии и ничем больше; клавиша только взводит флаг, работа идёт
|
||||
**между кадрами**; состояние ОТРИСОВКИ не сохраняется вовсе — комната
|
||||
перерисовывается с нуля.
|
||||
|
||||
Чем наш случай тяжелее: уровень лежит в EMM-странице, а не в ОЗУ;
|
||||
`room_modif`/`trobs` — `static` в банковом `pop_trob.c` (нужны
|
||||
сериализаторы); ГСЧ у нас **три** (`pop_t_seed`, `trob_seed`,
|
||||
`pop_fight_seed`), и пропуск любого даст «загрузилось, но играется иначе»;
|
||||
и главное — **дабл-буфер**: перерисовать после загрузки надо ОБЕ страницы,
|
||||
иначе старая картинка мигнёт через кадр.
|
||||
|
||||
Носитель — **файл** (`QUICKSAVE.SAV`, ≈1,9 КБ), EMM-страница отвергнута:
|
||||
она не переживает рестарт программы, а именно рестарт — тот случай, ради
|
||||
которого QuickSave и нужен (сцену каскада на 13/23 воспроизводит только
|
||||
`ESC` → запуск заново). Мгновенный EMM-слот остаётся необязательным QS6.
|
||||
|
||||
**Критерий приёмки:** сохранить, выйти по `ESC`, запустить roomtest заново,
|
||||
загрузить — и оказаться там же.
|
||||
**Закрыта** (F6/F9, POP.SAV + POP.BAK, коммит f4b4852, тэг v0.6-pop-quicksave).
|
||||
Протокол и устройство — [`TASKS_CLOSED.md`](TASKS_CLOSED.md#qsave);
|
||||
формат снимка и разбор SDLPoP —
|
||||
[`../docs/quicksave_plan.md`](../docs/quicksave_plan.md).
|
||||
|
||||
### <a id="l1-speed"></a>L1-SPEED. Игра идёт быстрее оригинала (найдено 2026-08-01) — ЗАКРЫТА 2026-08-19
|
||||
|
||||
|
||||
Reference in New Issue
Block a user