ENTER-ROOM-FAST + вынос порядка отрисовки в банк 8
Вход в комнату: одна отрисовка в скрытую страницу, показ флипом, вторая страница — gfx_copy_page(DIRECT) вместо повторной отрисовки. Процесс рисования тайлов больше не виден, обе страницы синхронны (два снимка подряд идентичны). Видимую страницу главный цикл теперь перечитывает у железа в начале кадра: её меняют и вход в комнату, и переворот — оба из банка. MEM-COLD2 п.2: guard_over_kid с хелперами (objtile_at_char/char_x_left_of/ tile_div_mod) — в банк 8. Куча 1005 -> 1574 Б, цена — один трамплин на кадр. tests-host 6/6, size-check OK, в MAME проверены старт уровня 9, переходы между комнатами и отрисовка стража. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -297,7 +297,20 @@ void gfx_copy_rect(uint8_t src_page, int sx, int sy,
|
||||
|
||||
---
|
||||
|
||||
# Часть III — побочная задача ENTER-ROOM-FAST
|
||||
# Часть III — ENTER-ROOM-FAST — СДЕЛАНО 2026-08-12
|
||||
|
||||
Комната теперь рисуется ОДИН раз — в скрытую страницу, — тут же
|
||||
показывается флипом, а вторая страница получает её `gfx_copy_page(DIRECT)`.
|
||||
Процесс рисования тайлов больше не виден: игрок получает готовый кадр.
|
||||
Проверено в MAME: старт уровня и чит-переход между комнатами, два
|
||||
последовательных снимка идентичны (обе страницы синхронны, мерцания нет).
|
||||
|
||||
Побочно понадобилось: видимую страницу главный цикл больше не ведёт сам, а
|
||||
перечитывает у железа в начале кадра (`front = gfx_get_visible_page()`) —
|
||||
её меняют и вход в комнату, и переворот, причём оба из банка, где локальные
|
||||
переменные `main` недоступны.
|
||||
|
||||
# Часть III (исходное описание)
|
||||
|
||||
Идея пользователя, самостоятельная ценность (сейчас при входе в комнату видно,
|
||||
как рисуются тайлы): рисовать комнату ОДИН раз в скрытую страницу, показать её
|
||||
|
||||
Reference in New Issue
Block a user