1
Программирование / Программирование редакторов для внесения каких-то изменений в ром.
« : 08 Ноябрь 2025, 05:21:43 »
ссаные нейросети... как всегда застрял на половине
PB то упаковка в лёт. а вот распаковка на стороне приставки - не хотит, скатина...
***
кароче тупик. в какой-то момент родила нейросеть код, который распаковывает запакованное... но не туда - в оперативу, а не в видео память. а вот в видеопамять она нешмогла. плюнул кароче на это дело.
***
Итак. Теория выкидывания повторяющихся тайлов. Сейчас пишет тайлы прям друг за другом, как оно идет на изображении. Алгоритм будет такой:
1. создаем сложный массив, как ранее мы делали для палитры. там одна ячейка будет состоять из 4 ячеек-образов в памяти по 32 байта.
2. при создании тайлового сета следует изменить немного логику:
2а. самый первый байт в любом случае пишем в наш сложный массив, в первую из четырех ячеек, как есть.
2б. запускаем процедуру переворота тайлов и пишем готовые результаты в 2-3-4 ячейки этого-же элемента массива. то есть с зеркалами по Х, У, и оба зеркала.
2в. начиная со второго тайла прогонять через сравнение памяти весь этот массив, добавляя если совпадений не было. недобавляя, но отмечая галку зеркал в тайловой карте - если какой-то из тайлов в массиве совпался с текущим.
Получается образ в памяти тайловой карты и тайловый сет надо будет делать одновременно.
Схемы переворотов тайлов были выше (картинку прикладывал). В теории тут все понятно, а вот с точки зрения циферок надо будет мудрить. Так как в 1 байте там по 2 пикселя, то есть каждый байт надо будет переворачивать. Где-то в старых проектах я это уже делал. Как найду где - скопирую оттуда и приложу к проекту. Таким образом у нас будет выкидывание повторяющихся тайлов. Хотя наверное в начале надо было сделать просто повторяющихся, а в следующей итерации кода - повторяющиеся и зеркальные, чтобы было проще в тему вникнуть. Сразу с обоими - как есть и зеркальными - код будет сложнее.
PB то упаковка в лёт. а вот распаковка на стороне приставки - не хотит, скатина...***
кароче тупик. в какой-то момент родила нейросеть код, который распаковывает запакованное... но не туда - в оперативу, а не в видео память. а вот в видеопамять она нешмогла. плюнул кароче на это дело.
***
Итак. Теория выкидывания повторяющихся тайлов. Сейчас пишет тайлы прям друг за другом, как оно идет на изображении. Алгоритм будет такой:
1. создаем сложный массив, как ранее мы делали для палитры. там одна ячейка будет состоять из 4 ячеек-образов в памяти по 32 байта.
2. при создании тайлового сета следует изменить немного логику:
2а. самый первый байт в любом случае пишем в наш сложный массив, в первую из четырех ячеек, как есть.
2б. запускаем процедуру переворота тайлов и пишем готовые результаты в 2-3-4 ячейки этого-же элемента массива. то есть с зеркалами по Х, У, и оба зеркала.
2в. начиная со второго тайла прогонять через сравнение памяти весь этот массив, добавляя если совпадений не было. недобавляя, но отмечая галку зеркал в тайловой карте - если какой-то из тайлов в массиве совпался с текущим.
Получается образ в памяти тайловой карты и тайловый сет надо будет делать одновременно.
Схемы переворотов тайлов были выше (картинку прикладывал). В теории тут все понятно, а вот с точки зрения циферок надо будет мудрить. Так как в 1 байте там по 2 пикселя, то есть каждый байт надо будет переворачивать. Где-то в старых проектах я это уже делал. Как найду где - скопирую оттуда и приложу к проекту. Таким образом у нас будет выкидывание повторяющихся тайлов. Хотя наверное в начале надо было сделать просто повторяющихся, а в следующей итерации кода - повторяющиеся и зеркальные, чтобы было проще в тему вникнуть. Сразу с обоими - как есть и зеркальными - код будет сложнее.
