Fade: 32 ступени яркости — на глаз неотличимо от оригинальных 64

Шестнадцать ступеней на 2,13 с давали различимую лесенку (0,13 с на шаг).
Тридцать две меняются каждые 66 мс — это уже слитное затухание. Запас на
них есть: ступень стоит 487 тысяч тактов, тридцать три съедают около сорока
кадров из ста шести, остальное цикл ждёт луча.

Длительность каждого fade остаётся оригинальной (128 тиков), поэтому сумма
«fade in + сцена + fade out» совпадает с SDLPoP без правки самих сцен.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-26 10:21:55 +03:00
parent 5ede8b9045
commit 06a1772011
3 changed files with 17 additions and 12 deletions
+3 -3
View File
@@ -192,10 +192,10 @@ void pop_ui_palette_dim(uint8_t dim_step, uint8_t keep_ui) __banked
uint8_t mul = (uint8_t)(POP_PAL_DIM_BLACK - dim_step);
uint16_t v = 0;
/* Без умножения вовсе: значение растёт на mul/16 с каждым шагом,
* дробная часть копится в младших четырёх битах аккумулятора. */
/* Без умножения вовсе: значение растёт на mul/32 с каждым шагом,
* дробная часть копится в младших пяти битах аккумулятора. */
for (i = 0; ; i++) {
lut[i] = (uint8_t)(v >> 4);
lut[i] = (uint8_t)(v >> 5);
v += mul;
if (i == 255) break;
}