Files
Sprinter-SDCC/applications
snark13 89400ff1d4 Тайлсет дворца: палитра применялась до kid.pal и затиралась ею
Симптом (эталон SDLPoP против нашего кадра, уровень 4): дворцовая геометрия
рисовалась подземельными красками — сине-серые арки вместо песочных,
бирюзовая дверь уровня вместо кремовой, сланцевый пол вместо
коричнево-розового.  Бирюза и зелень — это dungeon-слоты 0x5E (0,117,76) и
0x5F (0,165,157).

Причина в порядке старта: атласы (и вместе с ними палитра тайлсета) грузятся
ДО initgraph, потому что тот снимает DSS-страницу W0.  А kid.pal — ЕДИНАЯ
игровая палитра, собранная из VDUNGEON (pop_pack_kid.py build_palette), —
читается ПОСЛЕ initgraph и затирает слоты 0x50..0x6F.

pop_bg_pal_apply() возвращает 32 записи текущего набора; зовётся сразу за
gfx_pal_sync().  На смене уровня палитра по-прежнему едет внутри
pop_bg_load — там initgraph давно позади.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 11:34:53 +03:00
..