SprPoP: сняты остальные глушения насоса — появление/закрытие меню, настройки, quicksave
Продолжение предыдущего коммита: заплатка стояла не в одном месте. * открытие меню (snapshot палитры + затемнение фона + первая полная перерисовка) и закрытие (menu_erase — те же две полностраничные копии) — DI у копира бандами по 16 строк (~1,6 мс против дедлайна 11,7 мс), а палитровое затемнение идёт и в титрах с катсценами, где музыку не рвёт; * сохранение POP.CFG и проба quickload — это десятки байт и open/close; прежняя осторожность «ESTEX уходит в диск надолго» относилась к загрузке НАБОРА страниц. Подтверждение с поля: HOF пишется под звучащий «won»; * quicksave/quickload (pop_qsave.c) — единственное снятое место, где по диску реально едут 16 КБ (~три периода насоса). Помечено в комментарии: если на F6/F9 появится скрежет, вернуть pop_sfx_pause/start точечно сюда. Дисковых глушений в живом звуке больше не осталось; те, что стоят на загрузке уровня и наборов страниц, не трогали — там они по делу. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -234,14 +234,16 @@ int8_t pop_qsave_process(void) __banked
|
||||
if (!blk) return -1;
|
||||
page=mem_get_page(blk,0);
|
||||
gfx_w0_page_prepare(page);
|
||||
pop_sfx_pause();
|
||||
/* Звук не глушим (2026-08-28). Единственное место из снятых, где по
|
||||
* диску реально едут 16 КБ (~33 мс, три периода насоса): если на F6/F9
|
||||
* появится скрежет — вернуть сюда pop_sfx_pause/pop_sfx_start, это
|
||||
* лечится точечно и только здесь. */
|
||||
if (request == QS_SAVE) rc = qs_save(page);
|
||||
else if (request == QS_LOAD_BACKUP) rc = qs_load_one("POP.BAK", page);
|
||||
else {
|
||||
rc = qs_load_one("POP.SAV",page);
|
||||
if (rc < 0) rc = qs_load_one("POP.BAK",page);
|
||||
}
|
||||
pop_sfx_start();
|
||||
mem_free_block(blk);
|
||||
/* Успех ничего не меняет: нужная строка висит с начала операции.
|
||||
* Отказ переписывает её на NO QUICKSAVE/NO QUICKLOAD — обычной
|
||||
|
||||
Reference in New Issue
Block a user