Разработки от TonaTor
|
|
|
|
|
|
Постепенно переношу часть функций MoW PLY Tweaker в новую версию сойки.
https://imgur.com/SrAKxZ0
Но мне всё сложней себя заставлять ей заниматься...
|
|
|
|
|
|
Очередная доработка рендера.
Целый год меня раздражали графические артефакты, вызываемые неправильной отбраковкой полигонов; Рябь, мельтешение, чёрные полигоны: https://imgur.com/abUOScy
https://imgur.com/bUmlc4g
Долго не мог понять в чём дело. Как оказалось - это я же рендер и сломал.
Отбраковка определённых плоскостей полигонов должна выполняться только при определённых FVF и FLAGS - параметрах. Пришлось возвращаться к анахронизмам: https://imgur.com/oPaPUeV
Опять же, расписываюсь в своём незнании OpenGL, но хотя бы сегодня мне удалось починить этот баг. https://imgur.com/6rIsBj7
|
|
|
|
Давеча провёл небольшой и показательный тест. В нём видно, что без "ручной" сортировки полигонов по дальности, мэши будут отрисовываться неверно.
Проблема в том, что вертексы полигонов имеют матричную систему координат, которую нельзя просто так взять и преобразовать в обычные X, Y, Z, на которые можно было бы смело ориентироваться при сортировке...
|
|
|
|
Пятница, сижу, скучаю. Чем-либо заниматься - лень. Превратил корпус танка в раскраску для детей:
https://imgur.com/wQ6mUe7
https://imgur.com/wUDEtOP
https://imgur.com/mzrQ7wt
Для подобной раскраски геометрии нужно: 1) Выбрать мэш; 2) Выбрать полигоны/вертексы; 3) Задать им цвет. Все установленные таким образом цвета "зашиваются" в геометрию, и не являются частью текстур/материалов.
https://imgur.com/1HNtNOg
*При задаче разных цветов разным вертексам одного полигона, их цвета на полигоне будут перетекая смешиваться.
Спасибо Man232 за подсказку.
|
|
|
|
Порипываю значит модельки из Steel Division 2 и тут: https://imgur.com/cdKdPZU
Как ?! Вот, просто, КАК ?!
Сквозь стекло просвечивает поверхность земли!!!
Даже этому чингачгуку ноги отрисовало, а корпус машины - нет! https://imgur.com/Q76yRoJ
Уже много week`ов я безрезультатно пытаюсь придумать правильный способ сортировки полигонов по дальности: https://imgur.com/GSRBEUW
https://imgur.com/LHOwtIu
Но реализовать мне получается только полумеры: https://imgur.com/8sdlClx
С меня, с полусамоучки, спрос то понятный. Но Steel Division 2 - это же не колхозный андеграундный софт, а весьма недешёвая игра, над которой работает целая команда! Просто феноменальный уровень по**изма, за некислый оверпрайс!
По хорошему, в игре, всё это должно было выглядеть примерно таким образом: https://imgur.com/zaJQmNS
|
|
|
|
Новая версия рендера способна отображать вывернутую наизнанку геометрию. Вместе с тем, в сойку был добавлен собственный упрощённый PLY твикер.
|
|
|
|
Подключив к разработке всех воображаемых друзей, удалось коллективно доделать новую версию SOEdit. Но качество кода вам бы лучше не видеть.https://i.imgur.com/DLPyXK1
И прежде всего, похвастаюсь добавлением целой пачки анимационных функций: https://i.imgur.com/SfKnUrY
1) Функция клонирования - позволяет применять одинаковую анимацию к множеству однотипных костей, использующих прокси-кости. Таким образом, допустим, можно анимировать несколько одинаковых лючков.
2) Функция экспорта - позволяет извлечь анимацию выбранной кости в отдельный anm-файл (версии 0.4.0.0).
3) Функция импорта - позволяет импортировать кости из безмэшевых файлов анимации версии (0.4.0.0) в уже открытую анимацию.
(Функции экспорта/импорта можно использовать для перекидывания отдельных костей анимации между моделями)
4) Функция переименования костей, очевидно, позволяет переименовывать имена костей внутри анимации. При переименовании допускается использовать только символы: 4.1) от 'a' до 'z' (английского алфавита); 4.2) от 'A' до 'Z' (английского алфавита); 4.3) от '0' до '9'; 4.4) нижнее подчёркивание '_'.
Так же, появилась возможность подключать/удалять кости для анимации прямо из контекстного меню костей в дереве компонентов. А заодно, наладил работу и пары кнопок в блоке управления анимацией. https://i.imgur.com/1tQyTeA
Однако, автоматическое создание анимаций в окне редактирования анимации всё ещё не работает в связи с пресловутой невозможностью простого конвертирования позиционно-ротационно-скалярно-инверсных матриц в простые X,Y,Z. У меня есть полурабочий инструмент для конвертирования, но в том-то и дело, что мне не удаётся добиться от него корректных результатов...
Второе, чем хочется похвастаться - это более-менее доделанный встроенный твикер PLY-файлов: https://i.imgur.com/EWCuCYS
По сути, это окно - это огрызок от полноценной программы. https://i.imgur.com/vqfCrFP
Однако, теперь, все основные параметры PLY-файлов можно просматривать и менять прямо в SOEdit.
Встроенный PLY-твикер можно вызвать из редактора костей: https://i.imgur.com/cqxYT7K
Ну и третье - это очередная доработка интерфейса и рендера. Касаемо доработки рендера, то всё описано постами выше.
Доработка же интерфейса заключается в нескольких деталях: 1) Добавлении отображения названия выбранного компонента с дополнительными метками в 3D-окне. Кости - жёлтым, волюмы - голубым цветом. Дополнительные метки: [H] - Компонент скрыт; [M] - Есть мэш; [NM] - Нет мэша; [A] - Есть анимация.
2) Перевороте модели на 180 градусов в 2D-окне при виде сверху, чтобы смотрела вверх.
3) Добавлении возможности открывать/закрывать ветви компонентов в дереве компонентов на среднюю кнопку мыши.
https://i.imgur.com/HrGnn6C
Так же, исправил небольшую пачку багов и недочётов.
И пускай польза от некоторых доработок является скорее концептуальной, но как говорится - на что хватает сил... Скоро опубликую.
|
| | |
|
|
|
Цитата TonaTor ( ) Просто феноменальный уровень по**изма, за некислый оверпрайс! О, сколько нам открытий чудных Готовят: просвещенья дух, И опыт, сын ошибок трудных, ... И случай, бог-изобретатель.
(с) А. С. Пушкин
Вжух!
|
|
|
|
Небольшой пример использования функций экспорта/импорта костей анимации.
|
|
|
|
Не перестаю удивляться мододелам. Очередной экземпляр мододела прописал в дефьюзе MTL`а имя другого файла материала, TEX`а...
Пришлось организовывать рекурсивный парсинг. Чтож. SOEdit теперь и этот адский колхоз поддерживает...
Было:
Стало:
Но придётся потратить дополнительное время на тестирование...
|
|
|
|
Ура. Большой прогресс. В программе удалось две кнопки местами поменять.
Программа получила очередное микро-обновление, которое снова нужно тестировать. Тестовая версия программы по результатам тестирования должна выйти на новый тест. #!^%&*@
https://imgur.com/aXuFMc8
Двойной клик теперь раскрывает дочерние компоненты, а средняя кнопка мыши открывает редакторы в дереве.
|
|
|
|
Эх. Чёт дизмораль...
Попытка улучшить юзабельность интерфейса SOйки привела к его ухудшению. Пришлось откатывать последние изменение с заменой местами двух кнопок. Не суть...
------------------------------------------------------------------------------------- Обновлять моды для Goh сейчас нет смысла. Свежей пиратки для модов ещё нет... В след за крупной обновой, ещё пачка мелких должна выйти.
------------------------------------------------------------------------------------- На выходных на неделю уеду. Вероятно, что моды обновлять будет совсем некому...
------------------------------------------------------------------------------------- Ещё и бандерлогов, срач устраивающих, чистить надо. Вероятно...
-------------------------------------------------------------------------------------
Сижу. Настроения нет. Голова как у Т-35 кружится.
Попробую на днях инфы хоть на пару постов/статеек насобирать...
|
|
|
|
SOEdit Version Next (v0.7m3)
Вот так и не успел сделать всё, что хотел... Редактор анимации сильно не доделан.
Поэтому не выкладываю новую версию SOEdit в основном каталоге. Но выкладываю его здесь.
Список изменений: Добавил возможность автоматического удаления волюмов, привязанных к удаляемым костям. Добавил возможность редактировать имена анимированных костей в редакторе анимации. Добавил графическую функцию "Рисовка цветной сетки поверх закрашенных мэшей". Добавил возможность открывать/закрывать ветви компонентов в дереве компонентов на среднюю кнопку мыши. Добавил возможность добавлять/удалять кость для открытой анимации из дерева компонентов. Добавил отображение названия выбранного компонента в 3D-окне. (Жёлтое - для костей; Голубое - для волюмов). (Дополнительные метки: [H] - Компонент скрыт; [M] - Есть мэш; [NM] - Нет мэша; [A] - Есть анимация). Добавил встроенный упрощённый PLY-твикер. Добавил возможность клонировать выбранную кость в редакторе анимации. Добавил возможность экспортировать в отдельный файл, кость, выбранную в редакторе анимации. Добавил возможность импортировать безмэшевые файлы анимации версии (0.4.0.0) в уже открытую анимацию в редакторе анимации. Добавил рекурсивный парсинг файлов материалов. Исправил перескок по памяти при вставке кадра после последнего кадра в редакторе анимации. Исправил начальные размеры окон рендера. Исправил баг, при котором после копипаста компонентов, галочки в дереве компонентов включались в независимости от статуса активности компонента. Доработан 3d рендер: 1) Устранено мерцание полигонов. 2) Отображение полигонов приближено к игровому (Если полигон просвечивает с одной стороны в игре, то и в программе он будет также просвечиваться). Изменил ориентирование вида сверху. Перевернул модель на 180 градусов, чтобы смотрела вверх.
Но сколь бы не бился с редактором анимации, сделать всё не получается.
|
| | |
|
|
|
Ну всё, уезжаю примерно на неделю в глухие места. За сайтом следить не смогу. Надеюсь на XemorDio, Man232 и модераторов.
Upd. Вернулся, постепенно буду обновлять моды.
|
|
|
|
Как же всё-таки хорошо иметь запасной ноутбук к основному компу. Уезжаешь хоть в глушь, но почти все программульки берёшь с собой.
Как и ожидал, несмотря на все тесты, SOEdit Version Next (v0.7m3) оказался настолько сырым, что аж из рук вырывался... И так как на тесты и кнопкодавство у меня время было, то запилил очередную версию проги.
В версии SOEdit Version Next (v0.7m4): Исправил: 1) Отображение названия выбранного компонента в 3D-окне на Windows-7; 2) Возможное зависание при рекурсивном парсинге файлов материалов.
Добавил: 1) Поддержку невидимости костей в кадре (при открытой анимации); (Невидимые кости всё-равно отображаются в режиме "отображения цветной сетки поверх мэшей").
2) Поддержку инверсного воспроизведения анимации. (С синхронизацией конечно пришлось помаяться)
3) Ники, поддержавших меня программистов.
https://imgur.com/QHgFeqd
Примечательно и то, что все они россияне и живут сравнительно недалеко от меня; И то, что также пишут/писали софт не для игроков, а для модмейкеров)))
|
| | |
|
|
|
#Offtop
https://imgur.com/xmuGc6D
Отче наш, Иже еси на небесех! Да святится во веки веков никнейм Твой, да возобновится Царствие Твое, да будут обновления модов Твое, яко на небеси и на mow-portal. Моды наши насущные даждь нам днесь; и остави нам косяки наша, и введи нас во искушение модами новыми, но избави нас от терминатора. Ибо Твое есть Царство и сила и слава во веки.
--------------- Вот как бы ни пытался обновлять моды, но сайт постепенно затухает без своего главного двигателя... Понимание, что мои старые предсказания сбываются - вводит в меланхолию.
Шёл третий месяц командировки Ghosteron`а У заменителя основателя уже красные глаза.
|
|
|
|
Но не только загрузками модов едины. Всё ещё продолжаю портировать модели по мере возможности.
После портирования из WoT, каждой модели требуется провести цвето-коррекцию текстур. Т.к. исходные текстуры выглядят довольно плохо: https://imgur.com/0hPpeMt
Понадобится программа "XnView".
BUMP`s
B-Normal`и (бампы) (ANM по WoT) можно оставить в покое. Плагин "GemExport" для 3D Max, сам конвертирует бамп-текстуры в нужный вид. Их нужно только переконвертировать в DDS с сохранением альфа-канала.
SPECULAR`s
Со спекулярами (GMM по WoT) всё интереснее: 1) Сначала конвертируем GMM в серый: https://imgur.com/0ai0UFG
2) Регулируем уровни (40 - 255): https://imgur.com/f07zFoH
3) Меняем яркость (57), контрастность (105), гамма-коррекцию (0.28): https://imgur.com/XjnHDXx
4) Ещё раз поднимаем яркость на 40 (для лёгкого свечения): https://imgur.com/KRospz1
И на этом этапе получаем такой результат: https://imgur.com/ZaMYcoI
Сколы краски начинают блестеть. Но начать блестеть может и не только то, что нужно. За этим нужно следить. (За каждой текстуркой).
DIFFUSE`s
С дефьюзами (AM по WoT) тоже нужно выполнить пару действий:
1) Отрегулировать уровни (30 - 220): https://imgur.com/1UnAgWG
2) Изменить цветовой баланс: Красный (-5), Зелёный (-10), Синий (+20). https://imgur.com/m0VtJ2G
После этой грубой цвето-коррекции, модель получается достаточно контрастной, бликующей и светящейся: https://imgur.com/1WHkLlb
Метод конечно не универсальный, некоторые текстуры требуют индивидуального подбора параметров. Но даже такая цвето-коррекция неплоха для новичка.
|
| | |
|
|
|
#Offtop #Красотища
Суббота проходит у кого-как. А я в этот раз съездил к родителям на дачу помочь по саду. И вот ведь год оказался богатым на ящериц, так ещё и на каких больших ))) Решил сфотографировать на память одну из них.
Ящерица бликовала на солнце, и камера всё время пыталась потерять фокусировку. Но мне всё же удалось сделать некоторое количество снимков:
https://imgur.com/XxZetMR
https://imgur.com/hFfv89e
https://imgur.com/ie9SYC8
https://imgur.com/XXvNVBs
https://imgur.com/lPeyR8h
https://imgur.com/jbzXIEw
https://imgur.com/dRX5IqR
https://imgur.com/wSDSiBs
Что жё касается SOйки. То тут сейчас разработка замедлилась. То одно, то другое, - Некогда сейчас...
Впрочем, доработка всё равно ведётся: https://imgur.com/HPRfNap
Это обновлённое окно настройки волюмов: - Будет возможность задавать толщины и погрешность сторон волюмов. - Будет возможность задавать плотность всего волюма. - Будет возможность задавать материал, к которому относится волюм, (деревянный кузов грузовика теперь можно будет настраивать как "сделанный из дерева". И эффекты у этого волюма будут соответствующие). - Будет возможность настраивать и изменять тэги и компоненты.
На этом пока что всё.
P.S. Это уже мой 1700 день после регистрации на сайте.
|
| | |
|
|
|
Небольшой анонс программы: "Img To DDS converter v1.0" Это конвертер файлов BMP, GIF, JPEG, PNG, TGA в DDS, На основе кодов DDSandTGA_Optimizer и Easy structure maker
Мне давно был нужен нормальный конвертер, вместо XnView. В моём конвертере свои настройки под GEM2. Но это пока только шкурка от проги. Ещё надо кодить.
|
|
|
|
Эх... Вот же-ж зрада то какая.
Моя старенькая среда разработки оконных приложений (RAD Studio XE3) не умеет в SSE инструкции.
https://imgur.com/Tmx9LI0
Прямое перетаскивание кода с Visual Studio приводит к порче данных. Компиляторы несовместимы. Библиотеки несовместимы. Ежа с ужом скрестить не получилось.
Возможно, придётся модифицировать DDSandTGA_Optimizer для работы с параметрами. Вызывать "DDSandTGA_Optimizer" из "Img To DDS converter".
Как можно не любить геморрой, но любить моддинг? - Очень просто. Но только если у вас биполярное расстройство личности...
|
|
|
|
И так. Обновил DDSandTGA_Optimizer до v1.1m8 Теперь оптимизатор умеет конвертировать BMP, TGA, PNG, JPG, JPEG, GIF, TIF, TIFF в DDS.
https://imgur.com/YvZWyWH
А "Img To DDS converter" отменён.
|
|
|
|
Небольшое уведомление. Вероятно, что моя активность в ближайший месяц сильно снизится.
|
|
|
|
|
|
|
|
|
|
Эх. Немного этому сайту жить осталось... Но я постараюсь сохранить побольше.
|
|
|
|
Эх. Захожу сюда - как на Титаник. Вроде и постить что-либо смысла нет. Вроде и места, куда уже много лет приходишь как домой - скоро и не будет.
Даже cf-team`у - символу бренности бывшего центра сообщества повезло чуть больше. Пусть и как склеп, от бесконечно истекающего срока регистрации домена, до вновь истёкшего срока регистрации домена - он продолжает жить не утратив своей структуры материалов и технических возможностей, (которые можно было хоть развить).
А здесь, на mow-portal.ru, итак структуризации было не о чём. Система рекомендации - крайне куцая. Паутина ссылок, теги, фильтры - всё это стало создаваться лишь в последние годы, по чуть-чуть... На новом mow-portal.com ещё и форума не будет.
Вместо того, чтобы сайт сам предлагал безынициативному пользователю материал - предлагаются лишь фильтры. Фильтры - это неплохая вещь сама по себе. Но пользователю поxер, он не будет на них кликать. Искать что-то самостоятельно - не царское дело в наши времена... В наши времена, на кнопку фильтров не нажмут даже потому, что она скучно выглядит...
Админ имеет несколько тысяч модов. Модов тяжелых, требующих обслуживать себя. Требующих свободного времени, которого так мало с годами остаётся, которое так ценишь и не хочешь тратить на "пустое". А народ всё ждёт и требует, все форумы, комменты, ЛС`ы чаты заcерая - Абнави, ты это Абнави, раз взялся - Абнави!!! И безынициативно, ждёт уставшего админа.
Играца Игорьку же`ш не во что - 3000+ материалов. И так по кругу.
Найти что-то самому, средь тысяч файлов - без вариантов. Перейти на то, что рядом с интересной ссылкой и по теме - нет такой структуры расположения материалов. Даже системы рекомендаций похожих материалов - почти нет. (Кто вообще обращает внимание на ссылки с текстом без изображений?)
А много ли сейчас энтузиастов? - Сейчас не нулевые. Всем лишь подай да принеси. И хочешь ты - не хочешь, а в одного тянуть довольно крупный сайт - не сможешь. Рук на всё не хватит. Обновить 100500 модов - чокнешься.
Я вижу выход только в том, что сайт сам должен обеспечивать как разгрузку админу, так и контент пользователям. Нет возможности обновить 100500 модов. - Пользователь будет вынужден ждать. Но чтоб это не вызывало негатива, надо стараться переводить внимание пользователя на другие материалы. 3000 - что-нибудь найдётся... Но как же. Нет ни структуры, обеспечивающей близкое расположение похожих материалов, ни толком то рекомендаций, по которым бы реально перейти... Слепые котята так и будут тыркаются по первым страницам сайта.
Ладно. Сей негативный опус я завершу на том, что за последние дни в SOEdit была добавлена возможность конвертировать PLY (Type E) файлы в OBJ-формат
Во многом - эта функция была взята из плагина от Man232 Спасибо Man232
Кстати, сам плагин от Man232 я немного доработал на совместимость с GEM1 и нестандартными вертексами и параметрами. А если будет поддержка мульти-материалов и MTL`ов, то у сообщества, возможно, будет шанс удивить удобную веб-версию конвертера.
Пожелаю Man232 удачи в дальнейшей разработке. В любом случае, увидеть подобную разработку и в текущем состоянии было весьма любопытно.
|
| | |
|
|
|
Похоже, что Ghosteron решил немного продлить жизнь этого сайта.
А это значит, что снова бросаемся в Бой!
Небольшая доработка кода MoW PLY Tweaker. Охапка дров и плов готов. Теперь есть возможность некоторого изменения размера геометрии PLY`шек. Но лишь при условии, что они не скинованы.
Как доделаю - выложу.
|
|
|
|
Ну дыкс от...
Tweaker то доделал.
https://imgur.com/kft2FIo
Но! Попытка скалировать карты привела к тому, что карта высот просто помёрла.
Вот как это должно было выглядеть: https://imgur.com/Xn00Cfg
(Лошадка на геометрии!)
Такая же должна была быть и карта высот. Но вот беда. Она осталась на старом уровне.
https://imgur.com/8dcYeol
А именно по ней перемещаются юниты...
Полез в папку карты. Там нашёл файл Net. В общем, он отвечает за высоты и типы местности.
Открыл его шестнадцатеричником: https://imgur.com/kqiXYu2
И наспех дешифровал. Получилось что-то типа этого:
Очевидные структуры:
struct "заголовок" [ 2 байта 0A02 (short) - 522 (des) (Версия?) 2 байта (short) - количество клеточек (в игре отображается на 2 меньше) (X?) 2 байта (short) - количество клеточек (в игре отображается на 2 меньше) (Y?) { Множество X*Y даёт N*4 байт после ключа "GRID". (4 - структура сетки). } 4 байта ? (float?) - Координата смещения от центра (X?) 4 байта ? (float?) - Координата смещения от центра (Y?) ]
struct "структура ланда" [ 1 байт (BYTE) - индекс поверхности 1 байт (BYTE) - длина имени типа ланда N байт (BYTE) - имя ланда ]
struct "структура сетки" [ 2 байта (short?) (высота?) 1 байт (BYTE) - тип поверхности для MAP0 ? 1 байт (BYTE) - тип поверхности для MAP1 ? ]
--------------------------------------------------------------------------- файл Net -->
::"заголовок" 4 байта - ключ MAP0 (первый ключ) 1 байт (BYTE) - количество ландов для MAP0 ::"структура ланда" * количество ландов для MAP0 4 байта - ключ MAP1 (второй ключ) 1 байт (BYTE) - количество ландов для MAP1 ::"структура ланда" * количество ландов для MAP1 4 байта - ключ GRID (третий ключ) ::"структура сетки" * (X*Y из заголовка)
Конец файла)))
Постараюсь сделать прогу на векторных типах для изменения этих файлов.
|
| | |
|
|
|
Версия - v1.0m1
Ещё один простой инструмент для опытных мододелов. (Особо не тестировал)
Программа для просмотра и настройки некоторых параметров NET-файлов карт. Эти файлы отвечают за высоты и типы местности карты, настраиваемые в режиме редактирования F2.
И так, что за что отвечает:
Header 1) X-cells и Y-cells - количество клеточек (в самой игре отображается на 2 меньше как для X, так и для Y). В программе их настраивать нельзя. Их количество должно настраиваться редактором автоматически.
2) X-offset и Y-offset - смешение сетки от центра карты. Их можно настраивать, но трогать без надобности - не советую.
3) Z-factor offset - это коэффициент, на который будут домножаться высоты клеточек при сохранении файла. Коэффициент 0.01 - это 1% от изначальной высоты: 10 - это тысяча процентов.
(Почему для X/Y - сдвига игра использует столь большие float-числа одинарной точности, а для Z-позиционирования использует short - в душе не знаю. Может хоть вы знаете. Хотя, кого я обманываю... Лучше процитирую Трудягу: "Просто исторически так сложилось").
Terrain PP Terrain FX - сделал их отображение просто чтобы было )))
В общем и целом, программу сделал в помощь MoW PLY Tweaker начиная с версии v1.3m4.
Как известно, игра может импортировать рельеф из (желательно) монохромных TGA-файлов. Но вот какая печаль - данные при этом интерпретируются как всего 8 бит. Рельеф получается либо совсем плоским, либо (при высокой контрастности) - как пики точёные. Поэтому изображения рельефа не должны быть сильно контрастными, и желательно не должны быть большого разрешения > ~500.
Рельефность можно повысить в MoW PLY Tweaker А с помощью MoW NET Tweaker - поправить карту высот.
На видео это более показательно:
Расшифровать данные NET-файлов оказалось достаточно просто. За один вечерок. Программа сделана за одни выходные. Её бюджет - несколько кружек чая да пачка печенья. Исходный код (для RAD Studio XE3 C++) - как всегда выкладываю вместе с программой.
UPD-1: 27.12.20221 Сделал версию, работающую и на Windows-7 и Windows-10
Порой, вот, обожаю моддинг. Просто что-то делать ради хорошего настроения)
Скачать: https://disk.yandex.ru/d/YjeP1iYXA1aX1g https://www.mediafire.com/file....ile
|
| | |
|
|
|
Теперь кое-что о map.grs - файлах:
https://i.imgur.com/GoMt0Sg.png
Решил я значит их немного поразбирать. Создал тестовую карту 5x5 метров на стандартных настройках.
https://imgur.com/AClt6oQ
Сохранил её. Открыл grs-файл в редакторе:
https://imgur.com/DadlFj3 https://imgur.com/X9sPIqq
Что видно сразу сходу: 1) Ключевое слово GRAS;
2) За ним идёт PMAP;
3) После - 32-битное слово 00000015. Прям аж видно как его вывернуло в обратную сторону. Это либо DWORD либо int. И в десятеричном виде оно значит 21 (количество строк).
4) Далее идёт структура строк, перед которыми находятся числа, обозначающие их длину. Короткие горизонтальные полосы - это длины, длинные жёлтые - это строки.
5, 6) Далее - по два больших и по два маленьких числа, явно намекающих на размерности. Обозначены они фиолетовыми и зелёными линиями соответственно.
7) Теперь идёт пока что непонятное число, обозначенное коричневым.
8) И в конце идёт пул цифр, подчёркнутый синим. Количество этих чисел равно 400, а т.к. они обозначают "ячейки" с травой, то вспоминаем, что движок использует двухмерные сетки для расположения этой травы. Вычисляем квадратный корень из размера 400 байт и получаем 20. Целое число, не дробное. А это значит, что по крайней мере размерность области посчитана правильно. Возможно, это количество ячеек по сетке. Но как-то многовато получается.
Ладно. На сегодня - всё... За один вечер, расшифровать этот формат не получилось(( Сейчас я отправляюсь спать. Но завтра продолжу расшифровку.
Эх. Завтра последний рабочий день в этом году))) С наступающими вас, товарищи !
|
| | |
|
|
|
Продолжаю свои изыскания по map.grs.
Теперь заполнил всю карту травой: https://imgur.com/t0r1lCK
Получилось 10 на 10 травяных клеточек. (Так. Тут путаница. Перепроверить!) Вспоминаем, что карта 10 на 10 метров. Она клеточка = 1 квадратный метр.
Теперь заглянем в map.grs через шестнадцатеричник: https://imgur.com/wTWQ3fm
И тут мы видим очевидную дискретность структуры данных после цифр, помеченных коричневым цветом. Структура состоит из двух Short`ов. 1) Красным цветом помечена полная структура; 2) Оранжевым и голубым помечены Short-колонки.
Теперь известно, что размер структуры этих данных составляет 4 байта. А это значит, что суммарный объём пула в 400 байт нужно делить на 4. Получается 100. И уже вычисление квадратного корня из 100 приводит к тем самым 10 квадратным метрам карты.
Кстати. Если фиолетовые числа представить как тип данных "int", то их значения интерпретируются как -5. Зелёные числа, вероятно, тоже являются "int"`ами. И их значения равны 5. Получается, что они обозначают диапазон от -5 до 5. Именно "до" 5. Поскольку программисты обычно пишут циклы For(int i = min; i < max; i++) Здесь min: -5, max: 5. Максимальная цифра 5 - в расчёт не входит, поскольку условие "i < max", а не "i <= max" Получаем диапазон: -5, -4, -3, -2, -1, 0, 1, 2, 3, 4 - ровно 10 чисел. То самое, заветное число 10, чьи уши торчат сразу из под нескольких вычислений в этом файле. Очевидно, что это неспроста.
Продолжение следует...
|
| | |
|
|
|
И так! Выкроил немного времени. Продолжаю изыскания!
Оставил я на карте всего один блок травы. Сохранил.
https://imgur.com/Bp1eRYj
Открыл map.grs в шестнадцатеричнике, нашёл блок с травинкой и начал произвольно менять его параметры:
https://imgur.com/9q2tnhs
Вот, что по итогу выяснялось: Во первых - это не два числа по два байта, а 4 по одному.
Во вторых, что за что отвечает: Синем цветом подчеркнул цифру, отвечающую за индекс материала из блока "PMAP". Т.е. по этому индексу находится строка с названием визуала кустика.
Побаловался. Поменял эту циферку - кустики поменяли вид.
https://imgur.com/LMsfJ8u
https://imgur.com/kkukPKy
Лиловая циферка - является флагом. Хаотичное её изменение приводит к вылету игры. Известные её значения - 0x00, 0x10, 0x20. Эффекта от них пока не заметил. Возможно мне понадобится более масштабное их тестирование в дальнейшем.
Оранжевая цифра - это угол, на который повёрнут травяной блок Вот пример с поворотом на 0 градусов: https://imgur.com/OhwvoAK
https://imgur.com/rMTpdOw
Пример с поворотом на 90 градусов: https://imgur.com/sHMGEMf
https://imgur.com/0haQBvS
И с этим есть один момент: Так-как угол поворота уконтропуплен в один байт, а максимальное значение одного байта = 255. То для поворота по всей оси (условные 360 градусов), игре приходится домножать число из файла на "1.411764705882353".
Зелёная цифра - это опять флаг. Единственное понятное значение которого - это его четвёртый бит: https://imgur.com/GNfUr6O
Если он включен, то травка будет: https://imgur.com/rMTpdOw
А если выключен, - то и травки нет... https://imgur.com/l6HP7BK
И ещё, забавы ради. В качестве кустика можно использовать, к примеру Т-34-85: https://imgur.com/b3NXpOS
Настраивается это в set/grass.set Какой только непотребщины нельзя творить с этим игровым движком...
На этом на сегодня всё. Пора баиньки!
|
| | |
|
|
|
|
|
Dgn прислал код, в котором была реализация генерации нормалей.
Подобный алгоритмик был-бы полезен для генерации нормалей для волюмов. Поэтому он сразу был вшит в SOEdit: https://imgur.com/ko3INjn
Но применить его для волюмов ещё не получилось. Однако, посмотреть на его качество удалось на примере геометрии модели. Оригинал: https://imgur.com/O3gZfRW
Полученный алгоритм: https://imgur.com/url59ie
А вот как выглядит модель без нормалей: https://imgur.com/o1DcKl7
Возможно, потребуется реконфигурировать построение face`сесов и полигонов как для загружаемых волюмов, так и для автогенерируемых волюмов. Жаль, что мой основной комп сейчас сломан. Снова убеждаюсь в незаменимости своего запасного ноутбука.
|
|
|
|
Ну так вот, значетс-с-с. Спустя гору матов - таки смог прикрутить этот алгоритм для волюмов. Алгоритм работает очень плохо, а это значит, что идейно он полностью подходит для SOEdit.
Изначально, в *.vol - файлах не содержится данных о нормалях, и приходилось ставить заглушки выглядящие вот так:
https://imgur.com/tPjoRaE
Соответственно, SOEdit Version Next (v0.7m4) так и рендерил...
Алгоритм очень плохой. Но я сделал математический компрессор значений, типа графических уровней. Подкрутил делители контрастов цвета на рендере. И теперь имеется это:
https://imgur.com/SMmDRJQ
Это будет в SOEdit Version Next (v0.7m5)
Меня всё ещё тошнит от качества. Но даже такое качество - это лучше чем было. Эх не хватает мне, однако, опыта...
|
|
|
|
Дата: 12.03.23
2018 год был уже пять лет назад.
Именно тогда я начал добавлять материалы на сайт: https://imgur.com/YbHItaP
За эти пять лет я безвозвратно и навсегда потерял примерно 7% от отведённого человеку времени жизни. Но даже не смотря на массу изменений в этой самой жизни - я даже и не заметил как пролетело столько времени...
Не могу ничего сказать по поводу эффективности растрат времени. Годами создавать модмейкерские программы для видео-игры, поднимая свой уровень программирования и заодно создавая себе хоть какое-то портфолио - оказалось верной и рабочей стратегией, чтобы устроиться на новую, более интересную работу. (Пока кто-то просто убивал время в видео-играх, я в игровой форме продолжал и продолжаю учиться)
За это время я успел прикипеть к этому месту, ставшему для меня "Виртуальным домом"; Успел обзавестись здесь друзьями и переговорить со множеством интересных личностей; Успел привыкнуть к аудитории (хоть и не начал её любить); Успел ознакомиться наверное со всем, что происходило в сообществе серии ВТВ за всё время (добавляя ссылки к Это история); Успел добавить на сайт гору контента; Да и в целом - неплохо проводил время.
Но вместе с тем - время то летит. И очень быстро... Жизненные обстоятельства меняются. Меняется обстановка как в реале и в виртуале. Меняются веяния. Обновляется аудитория, и прочие вводные данные. Лично у меня - сильно снизилось количество свободного времени.
Мои опасения (всего двухлетней давности) - подтверждаются. Всё меньше и меньше времени я могу уделять сообществу и сайту. Да и Ghosteron`а тоже съедает реальная жизнь. (Как уже съела "Ктулку").
И уже давно нет обновления материалов по целой странице раз в неделю. Да и uCoz (на котором базируется сайт) - недавно снова поднял расценки. Всё более и более убыточный сайт, которому некем заниматься; Чьё время жизни и так было сильно продлено - приближается к своему закрытию. - Печальная, но лирика. (Но команды о переезде на новый сайт - ещё не поступало).
Суть в том, что количество энтузиастов постепенно уменьшается. XemorDio - уже два года ничего на сайт не выкладывает; Ghosteron - уже год; А я - выкладываю с перебоями.
Народ, сам, - не особо стремится делать и/или выкладывать моды ни на этот сайт, ни на новый https://mow-portal.com/
В стиме - тоже нет прежнего обилия модов. Это не только о Men of War Assault Squad 2 - модов на который уже почти не выходит. (Хотя 2-3 года назад - самые разнообразные и не маленькие моды выходили и обновлялись пачками). И не о Call to Arms. За последний квартал - на него не вышло и одной страницы модов в стиме. А о Gates of Hell - модов на который вроде много. - Но в основном - это всякая мелочёвка. Т.к. после каждого обновления игры - совместимость со старыми модами часто теряется. И крупные моды попросту сложно обновлять и переделывать под новые версии игры. Крупные моды забрасываются, теряют поддержку и уходят в небытие. Соответственно, создание крупных модов на Gates of Hell попросту не актуально для мододелов. По этой же причине, в своё время, Cold War ушли с Call to Arms.
Разработчики Gates of Hell поклали болт на мододелов. Основная их цель - рубить бабло на DLC: https://mow-portal.ru/forum/6-129-23#7922
Итого: 1) Текущий наш админ. состав постепенно приходит в негодность из-за естественного течения жизни. 2) Безынициативное комьюнити потреблятелей (основная масса) - не способно ни на что, кроме кекакий и лолирований с шортсов и мемасиков. Лишь единицы ещё что-то делают. 3) Старые игры серии умирают. Онлайн Второго штурма - падает. Вот статистика стима: https://steamcharts.com/app/244450 А всякие: 3.1) Men of War Assault Squad 2 Cold War 3.2) Men Of War.Assault Squad (Первый штурм) 3.3) Битва империй 1914 - 1918 3.4) Call to Arms 3.5) В тылу врага 2 с аддонами - Уже мало интересны как мододелам, так и игорькам. (Мертвы)
4) Онлайн в Gates of Hell растёт очень вяло: https://steamcharts.com/app/400750
5) Разработчики игр - кладут болт на аудиторию: BestWay с их Men of War : Arena - (aнaльный донат + несправедливые механики + шифровка ресурсов от мододелов) DMS с их Men of War Assault Squad 2, Men of War Assault Squad 2 Cold War, Call to Arms - (разработка на отлюбись, поддержка - не их дело) Barbed-wire с их Gates of Hell (Тут всё не так плохо. Сингл пусть со сценарной проработкой на уровне амёбы - зато историчный (вроде). Динамический генератор компаний (без сюжетки). ЗБС Ведь побеждать бота не так сложно, а проигрывать не так обидно. Всё равно проигрыш никто не заметит))) + Танчики затрофеить можно. ЗБС! Безвкусица, но народу зашло. Мультиплеер, который будет лишь вынужденно ребаланситься после каждого ввода новых наций и юнитов. А то, что потёрли Modding SDK из планов - то народ же не заметил, а значит всё норм.)
6) Сама возможность создания модов постепенно сужается. 6.1)Простой, современной, стабильной платформы для моддинга, по сути - нет. Men of War Assault Squad 2 - устарела. На x32 битной платформе не разгуляться. Call to Arms - требует серьёзного опыта и массы ресурсов для переделки под сеттинг второй мировой. Gates of Hell - требует постоянного контроля совместимости и правок под новые версии.
6.2) Было утрачено целое море обучающего контента для мододелов. Погибли многие сайты и форумы с материалами для мододелов (Сайт и форум bestway, форум digitalmindsoft.eu, сайт и форум live.cnews.ru, и многие, кого можно найти только в разделе Это история) Из общего доступа исчезло много обучающих видео, пропало громадное количество файлов с обучающими примерами.
Потратив многие месяцы на сбор данных по моддингу - могу +- уверенно сказать, что Русское комьюнити потеряло больше половины обучающего контента не в формате видео-роликов (в них потери сильно меньше). Да Юра. Прости. Но мы почти всё просрaли.
У западного комьюнити потерь сильно меньше, т.к. они многое копировали на moddb.com
Но потери - потерями, а нового контента для мододелов почти не создаётся. И это при том, что уже вышли новые версии движков и игр на них. Разумеется, поднявшие планку требуемых знаний от мододела.
7) Количество и проработка контента будет постепенно падать, в силу выше оговоренных причин.
Что в текущих условиях можно делать: 1) Выполнить полный бекап материалов этого сайта и начать полноценный переезд на https://mow-portal.com/ (На бекап материалов потребуется ещё до месяца)
2) Выискивать хоть и старый, но интересный контент. И заливать его на актуальный сайт.
3) Продолжить путь самурая создание сайта - гига-мануала по моддингу (При текущем темпе - это займёт не меньше года. (В одного - работа неподъёмная, но надо пытаться) В последующем - потребуется его переделка и перезаливка на разные сайты Ghosteron`а и Ктулхи.)
4) Начать навязывать аудитории разработку модов. (Желательно).
5) Продолжить помогать Ghosteron`у по мере возможности.
...
Последний абзац будет для меня напоминалкой.
|
| | |
|
|
|
Процесс заполнения сайта гига-мануала по ВТВ-моддингу продолжается. А вместе с тем - обнаруживаются пробелы в структуре собранных материалов. Одним из таких пробелов стало отсутствие достаточно полной программы для создания структуры мода. Небольшая ведь в сущности проблема. Подумаешь пару папок создать вручную...
Да только папок в моде - несколько больше... Вот только начал структуру прописывать: https://imgur.com/qZDISMm
Конечно. На сайте уже есть софт и для создания структур папок и настройки mod.info https://mow-portal.ru/load/raznoe/sozdanie_mod_info/10-1-0-808 https://mow-portal.ru/load....1-0-287 https://mow-portal.ru/load....-0-3921
Но проги от Man232 - только для mod.info, а от программист-модмекер`а - не очень удобна.
Поэтому из кусков сойки быстро леплю свою версию: https://imgur.com/yv46Z44
Всё визуально понятно. Есть все необходимые функции. Есть поддержка пресетов для разных версий игр. Есть возможность дополнять структуры уже имеющихся модов. А благодаря местной ВТВ`шной системе SDL - можно будет делать кастомные наборы папок. Делаю люто наскоряк.
|
| | |
|
|
|
Вероятно, разработка первой версии - завершена. Это заняло больше времени, чем я предполагал.
В комплекте есть пресеты для: 1) В тылу врага 2: Лис пустыни 2) В тылу врага 2: Штурм 3) В тылу врага: Штурм 2 4) Call to Arms - Gates of Hell: Ostfront (Пресеты составлял на своё усмотрение)
Метки в пресетах: https://imgur.com/It09Tt1
(может быть только в корне): gamever - для mod.info нужно указывать версию. utf8 - пишет mod.info в utf8 кодировке
(может быть только в mod.info): modinfo - обозначает, что это mod.info Сам mod.info может быть только в корне
(в любом месте): on - галочка по умолчанию включена expand - узел по умолчанию развёрнут
--------------------------------- Активированные дочерние кости не будут создаваться если их кости-родители отключены. --------------------------------- Прогу отлаживал как мог, но делал наскоряк. Итак много времени заняла... --------------------------------- Версии в mod.info из трёх блоков цифр, разделенных точками формат: NNN.NNN.NNN (минимальная-максимальная): 3.262.0 3.265.0 --------------------------------- Требует выбор папки mods (Центральная кнопка) --------------------------------- tags и FileId в mod.info не поддерживает --------------------------------- Все исходники в комплекте.
Опубликую позже.
|
| | |
|
|
|
Небольшой отчёт за несколько месяцев
Хоть и не в плане погоды, но в плане деятельности - лето проходит жарко.
Основная моя деятельность сосредоточена на создании шаблона сайта гиго-мануала по моддингу "В Тылу Врага (GEM2)". Но и о разработке программ я не забываю.
В отдельной тестовой ветке "SOEdit (v0.7m5)" несколько раз переписывал алгоритм создания нормалей. Но к сожалению - нормальных результатов "с наскока" не добился:
https://imgur.com/O53rQaG
https://imgur.com/NLmUAfn
https://imgur.com/1B9n7Vl
https://imgur.com/FTg0e63
Потребуется больше времени на тесты. В прочем - не к спеху...
Зато сделал простенькую функцию копипаста кадров анимации по всему тайм-лайну. Это немного упростило создание циклических анимаций.
https://imgur.com/GoIg2i0
В прочем, программой заниматься всерьёз сейчас некогда...
--- Сделал новую версию пакетного обработчика текстур "DDSandTGA_Optimizer" (v1.1m9).
Теперь в нём есть возможность стандартизировать разрешение слишком больших текстур до 2048 пикселей на сторону.
https://imgur.com/Sboqrhw
- Это резко позволило избавиться от критических ошибок "Bitmap no origin is to big" на старых версиях игр.
Создал новую версию программы MoW NET Tweaker - v1.0m2
https://imgur.com/cflkHPv
- Теперь она поддерживает GoH.
По разработке гига-мануала по моддингу - могу сказать, что всё продвигается не очень быстро. На одну только статью о редакторе бридов уже было потрачено почти 30 часов!!!
Моим типичным методом создания статей является - максимальный сбор информации по каждому параметру с последующим подробным расписыванием оного. Информацию о работе каждого параметра приходится собирать сразу с нескольких редакторов, разных игр серии ВТВ; Не редко - ещё и с разных патчей одной игры. Плюсом к этому идёт поиск инфы из свободных источников. Хотя такой инфы крайне мало, либо совсем нет. Ярким примером является редактор эффектов, чья документированность и вовсе почти равна нулю.
Даже до разбора скриптов я начинаю доходить только-только из-за того, что недооценил количество того, сколько приходится расписывать. Мои познания в моддинге ограничиваются +- вторым штурмом, а доизучать и расписывать приходится GoH, который серьёзно ушёл вперёд по сравнению со вторым штурмом. И чесно-говоря - создание этих статей идёт как-то без удовольствия. Натурально - вторая работа, отжирающая почти всё моё свободное время. Даже более тогу скажу. - Часть текстов статей я пишу на работе (когда есть возможность)...
Надеюсь, что оно того стоит. - Сделать из нашего локального сообщества потребителей - сообщество создателей котента.
Но и сам не безгрешен; Потратил сразу два вечера во своё удовольствие))
Давно мечтал о "ханомаге-хелфтраке" за советов, но подходящих запчастей всё не было...
Один китаец недавно настроил ЗиС-43; Почти сразу эта машинка оказалась у меня в 3D Max и SOEdit.
https://imgur.com/26jjYfT
https://imgur.com/pCPaPdE
(Планирую скоро выложить)
Что-ж... Вполне аутентичный "ханомаг" по-советски.
Радует, что вернулся Глав. ад. и занялся долгим нудным обновлением модов. У меня на это просто нет ресурса.
|
| | |
|
|
|
Небольшая программа для общего форматирование текстовой структуры SDL-данных.
Программа помогает делать плохо-сформатированные SDL-тексты более читабельными для человека.
Она меняет стиль SDL-текстов на усреднённо-нормальный для всех SDL-файлов в целом.
Для её использования нужно: 1) Скопировать SDL-текст в её верхнее текстовое окно; 2) Нажать кнопку "Старт"; 3) Дождаться обработки и выдачи готового текста в нижнем текстовом окне.
Программа обладает некоторыми особенностями: 1) С помощью кнопок изменение базового уровня отступов - вы можете предварительно задавать высоту (в табуляциях), на которую будет поднят или утоплен текст. (От -15 до 15).
2) Её исходники для Visual Studio 2017 открыты для общего доступа и могут быть изменены под индивидуальные стилистические предпочтения.
3) Её текстовые поля не предназначены для редактирования текста вами.
4) Программа не проверяет тексты на наличие ошибок. Она только форматирует текст, согласно наиболее частым паттернам оформления и общепринятой стилистике его написания. Но в случае нахождения нетипично-расположения скобок - сообщит об этом.
5) Общее кол-во символов для разовой обработки ограничено 3 000 000.
6) Её нодальная и SDL подсистемы являются переделкой их предшественников из SOEdit.
7) Она чувствительна к синтаксису обрабатываемого текста и к кривизне лапок пользователя. При обработке повреждённых данных - она будет работать с тем, что есть. Выдавая, разумеется, искажённые результаты.
8) Это первая версия программы и несмотря на её удачное тестирование - я не могу гарантировать её стабильность. За её использование, как и за предварительное создание бэкапов текстов - ответственность несёте только вы.
Примечание: Пытался разработать подобную программу ещё в 2019 году. Но тогда меня скосила лень...
Сейчас (в начале 2024) я занимаюсь подготовкой к созданию нового хаба учебных статей, посвящённых файловому скриптингу эффектов интеракций. И т.к. это требует изучения большого кол-ва чужих скриптов, (которые иногда так плохо оформлены, что их невозможно читать), что решил снова попытаться сделать такую программу.
В целом, её разработка оказалась неожиданно сложнее, чем я предполагал изначально. Несколько раз её разработку приходилось начинать почти с нуля. Каждый раз, когда я составлял её алгоритмику - находились новые нюансы, ломающие её полностью.
Допустим, движок игры оказался удивительно невосприимчив к избыточному кол-ву закрывающихся скобок. Или, допустим, в самих по себе макросах - не требуется жёстко соблюдать синтаксис многоугольных скобок. Открывающаяся многоугольная скобка может быть в одном макросе, а закрывающаяся - в каком-нибудь другом.
В общем-то, я уже устал её переписывать. Поэтому оставлю её исходный код в некрасивом состоянии. Для её первого публичного релиза - сойдёт, т.к. могут понадобиться дальнейшие правки.
https://mow-portal.com/blogs/blog_tonator/837-mow-text-formatter.html
|
| | |
|