Разработки от 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

(Планирую скоро выложить)
Что-ж... Вполне аутентичный "ханомаг" по-советски.
Радует, что вернулся Глав. ад. и занялся долгим нудным обновлением модов. У меня на это просто нет ресурса.
|
| |  |
|