можно.
unreal.ini смотри там
Вид для печати
Так смотрел уже, если брать стандартные - это не RGB
Mars=00,80,C0,E0,FF,C8:100,00,00;40,C0,00;00,40,C0
А если дополнительные, то вроде какие-то значения на RGB похожие, но у меня просто черный экран на этих стандартных пресетах
atari.fl_shark_red_palette=06:EE666600
atari.test=70:00132177,0F:001199FF,34:33119944
Ставь pulsar и не парься. Это максимально близкая к оригиналу палитра.
Вот так орочий пеон сконвертился твоей нарезалкой-спрайтовалкой:
https://b.radikal.ru/b19/2105/32/d69388723dd2.png
- - - Добавлено - - -
Выяснил причину. хз почему, но конвертер хочет проинвертированную графику.
https://c.radikal.ru/c29/2105/53/761dfffc66c4.png
1 вариант не сосёт. 2 вариант тру стайл на изичах.
Переконвертил с инверсией исходника:
https://c.radikal.ru/c43/2105/16/ad9a6a8562bc.png
Аьфа версия рефрэшера фона под статическими юнитами написана:
https://b.radikal.ru/b24/2105/ce/9204d7545e8a.png
Причём, это делается не так: "выводим юнита, давайте выведем под него подложку".
А так:
- обходим всех юнитов,
- пишем в таблицу тайлового рефрешера экрана, размером с видимое окно карты - единицу, если нужен рефреш, и ноль, если не нужен,
- пробегаем двойной цикл, отрисовываем рефрешный фон по подготовленной таблице,
- выводим юнитов, если в видимой области.
Зачем? Чтобы не было повторных выводов и затираний соседей, когда юниты трутся близко друг от друга, ибо они могут ходить по диагонали и требовать на рефреш более 2х тайлов.
Всё, дописал аниматор, запустил наконец с шевелящимися юнитами, посмотрел скорость, которую удалось достичь.
Три юнита выводятся в один фрэйм чисто, т.е. с частотой 50fps. Скорость шевеления ручками ножками при 8 фазной анимации можете себе представить.
Запустил шестерых за 2 фрэйма - красотища. Всё работает.
:v2_dizzy_punk:
Понятно, далее будут расширяться процедуры в сторону универсальности при добавлении новых юнитов и новых размеров спрайтов. То есть затормаживаться. Но пока запас времянки, вроде, есть. Ощущение, что написано на бейсике пока не появляется :biggrin:
Для тех, кто не понял, как посчитать. Есть скорость вывода. Та самая, на которой юнит должен идти без тормозов. Отрисовка:
- 3 юнитов опережает эту скорость в 6 раз (50fps),
- 6 юнитов опережает в 3 раза (25fps),
- 9 юнитов опережает в 1,5 раза (16,6fps),
- 12 юнитов идут с нормальной скоростью без тормозов, как и должны (12,5fps).
Это всё касается плавности вывода и перемещения спрайтов. Но сама анимация визуально гораздо быстрее от этих значений. По оценочным тестам примерно около 70 юнитов одновременно на экране будут визуально двигаться с анимациями нормальной скорости.
Чтобы натягивать одно значение на другое и будет пункт "нормалайз анимэйшн" в меню, вводя искусственную задержку в анимацию юнитов.
Процедура бэкРефрэшера значительно оптимизирована. Когда я говорю ЗНАЧИТЕЛЬНО, это означает, что было 3 юнита за прерывание. Сейчас на Скорпионе 4 юнита, на всех остальных типах компов 5 юнитов за прерывание. :eek_std:
25 юнитов одновременно с 10fps - нехило
:v2_dizzy_punk:
Фреймовый вывод:
https://a.radikal.ru/a00/2105/c6/0898265b02a5.png
Голубой - вывод мышки с подложкой
Жёлтый - кое какие просчёты в прерывании
Чёрный - формирование таблицы для рефрешера фона
Зелёный - тайловый рефрешер фона
Красный - вывод спрайтов с точностью до пикселя
Времянки показаны от компа Profi (практически идентичны фирменному 128k).
Дописал 2 версию рефрэшера фона, который теперь интеллектуально сечёт юнитов в движении и обновляет фон по более сложным ветвлениям. Цвета на бордюре и растактовка от PROFI сохранены, как в прошлом посте.
https://c.radikal.ru/c39/2105/ac/b9bce8296aad.png
Кстати да, в вороне нет волнового алгоритма. Прям загадочно. Есть обход "по левой" или "по правой руке".
- - - Добавлено - - -
Юниты успешно побежали по карте!
До второй демки - рукой подать.
:v2_dizzy_punk:
https://a.radikal.ru/a07/2105/5a/b425cf946195.png
P.S.:Всё-таки можно печатать юнитов выше верхнего края экрана. Это круто. Проблема визуального выбега за верхний край окна снята.
А его, насколько я помню, и в первом варкрафте не было. Поэтому посылать юнитов через всю карту не стоило, они постоянно застревали во всяких лесных углах.
В Dune II они вообще ехали по прямой к заданной точке и всё. Именно поэтому там и пустыня.
Ну, если вспомнить, сколько памяти и процессора жрёт волна, то ничего странного. Кроме того, её надо уметь писать, там есть неочевидные грабли с выбором отптимального маршрута.
Поздравляю! Где-то 2% работы сделано.
PS: Про два процента -- я серьёзно.