52a36caa75
Пользователь заметил: Кид перерисовывается, хотя с пламенем не пересекается; на пиксель левее — перестаёт. Разбор: спрайт Кида занимает x 213..224, колонка считается как x >> 5, и 224 — ровно первый пиксель колонки 7, где лежит метка от пламени (y 33..50). По вертикали пересечение настоящее, по горизонтали его нет: пламя в той же колонке занимает x 232..247, зазор восемь пикселей. То есть P15 исправил огрубление по Y и оставил его по X. Отложено по решению пользователя с его же аргументами: x не влезает в байт (0..319), значит нужны 16-битные сравнения в горячем пути, а они у SDCC z80 дороги настолько, что могут съесть выигрыш; огрубление вдвое — лишний сдвиг при записи и проверке плюс потеря точности. Записана непроверенная идея: хранить границы как смещение ВНУТРИ колонки (0..31, пять бит) — байта хватит и сравнение 8-битное, но запись усложняется для прямоугольников через несколько колонок. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>