Mafia-Game Forum

Mafia-Game Forum (https://mafia-game.ru/forum/index.php)
-   Модификации (https://mafia-game.ru/forum/forumdisplay.php?f=9)
-   -   FireModelka (https://mafia-game.ru/forum/showthread.php?t=1727)

Firefox3860 02.04.2024 20:25

FireModelka
 
Вложений: 2
Моя новая программа для Мафии, которую я делал с большими перерывами уже 2 года — редактор 4ds-моделей, о котором я уже когда-то раньше здесь писал. Это пока самая начальная версия, я сделал в ней ещё далеко не всё, что хотел изначально, но что-то полезное уже есть, поэтому хочу выложить пока хотя бы такую версию. В том числе, в ней наконец есть нормальный конвертер кватернионов в градусы, который даже работает правильно и без ошибок :aee:
FireModelka v1.0
FireModelka — программа для редактирования файлов 4ds-моделей. Программа открывает списки материалов и объектов, находящихся в файле, и позволяет просматривать и изменять свойства материалов и объектов, а также самого файла.
Возможности программы
Доступно редактирование свойств материалов: имён текстур, управляющих флагов материала (в том числе дополнительных флагов), цветовых настроек текстур, плотностей всего материала и текстуры отражений, параметров анимирования.
Редактирование свойств объектов: имени объекта, расширения имени, родительского объекта, флагов отображения, дополнительных флагов, а также координат, ротаций и размеров объекта.

Действует отображение всех значений свойств для структур объектов всех типов. Редактирование на данный момент доступно только для типовых свойств объектов авторотации (Autorotate object).

Редактирование списка материалов:
  • добавление новых материалов;
  • удаление существующих материалов;
  • дублирование (копирование материала);
  • перемещение (изменение порядкового номера материала в списке);
  • вывод списка ссылок объектов на материал (информация о том, какие объекты и какие их структуры используют данный материал).
Функции редактирования списка объектов на данный момент не реализованы.

Инструменты и функции программы

Конвертер ротаций — инструмент позволяет перевести значения углов поворота объекта из формата кватерниона (quat), в котором они хранятся в файле (4 значения от -1,0 до 1,0), в формат углов Эйлера (3 значения углов поворота в градусах вокруг осей координат) и обратно. Это позволяет получить совместимость с программами, отображающими поворот объектов в формате углов Эйлера (MWE, DCED и т.д.). Предусмотрена возможность передать значения кватерниона из основного окна программы в окно конвертера и обратно с помощью соответствующих кнопок, находящихся рядом с полями отображения значений поворота объекта.

Сведения о файле — информационное окно, отображающее сведения об общем количестве материалов и объектов, а также — о количествах материалов, имеющих некоторые определённые свойства, и о количествах объектов каждого типа, содержащихся в файле. Также оно отображает записанную в файле дату создания данной модели.

Удаление неиспользуемых материалов — функция позволяет вывести список материалов, которые не используются ни одним объектом модели, или сразу удалить такие материалы из файла. Даёт возможность очистить список материалов от ненужных материалов, что позволяет уменьшить размер файла. Ссылки объектов (порядковые номера используемых материалов) при этом пересчитываются в соответствии с новыми позициями оставшихся материалов в списке.

Объединение дубликатов материалов — функция находит в списке материалов те, которые дублируют друг друга, то есть имеют полностью одинаковые наборы текстур, параметров и флагов, и разбивает их на группы, в каждой из которых все материалы являются дубликатами друг друга. Предоставляет возможность вывести список этих групп или сразу удалить все дублирующие материалы, оставив только по одному материалу из каждой группы. При этом ссылки объектов, использующих удаляемые материалы, то есть их порядковые номера, переназначаются на оставшиеся уникальные материалы в соответствии с их новыми позициями в списке. Функция позволяет устранить повторы в списке материалов, сделав все материалы уникальными, и уменьшить тем самым размер файла.

Предусмотрена возможность изменить способ отображения дробных чисел в полях ввода и вывода. Так как в разных программах разделителем десятичных дробей выступает либо точка, либо запятая, для лучшей совместимости со всеми программами на правой панели свойств можно выбрать формат дробных чисел: европейский с разделителем-запятой, либо американский с разделителем-точкой. Вводить числа также следует в том формате, который выбран в данный момент. В дополнительных окнах формат чисел остаётся тем же, что был выбран в основном окне на момент их открытия.

Поиск объектов и материалов по спискам пока сделан просто чтобы был, на начальном этапе. Позже эта функция будета доработана.

Функции импорта и экспорта объектов и материалов на данный момент не реализованы.
[свернуть]

Работоспособность программы подтверждается на версиях ОС Windows 7 и более новых. Для работы требуется .NET Framework v4.5.2.
Скачать: [↓] v1.0 //02.04.2024 :lookhere:

Исходный код: [→]

admpos 08.04.2024 14:16

Агонь :bomb:
виндовс дефендер распознает его как вирус - Trojan:Script/Wacatac.B!ml

когда будет версия с рабочим редактированием лодов? а то показывает, править дает, но не сохраняет (а я винду переустановил, и у меня сломался 010 едитор)

а что ты делаешь при удалении используемого материала?
проверил, сбрасываешь. я решил, что так нельзя, и надо заменять на другой (а сегодня еще и выяснил, что забыл сделать текст лейбл об этом :D)

пожелания можно?

Развернуть для просмотра


а то их есть у меня:
0. открытие файла через prog.exe %1 - чтобы работало "открыть с помощью"
1. сортировка материалов: как минимум по анимации (заноза их не понимает, надо предварительно удалять)
2. сортировка объектов: как минимум по типу
3. массовая правка - например, заполнение комментов (которые Расширение) у думми (наверное, нужен мультиселект)
потом, наверное, еще что то придумаю :)
[свернуть]

Firefox3860 08.04.2024 19:08

admpos, Спасибо :)

Цитата:

Сообщение от admpos (Сообщение 21062)
когда будет версия с рабочим редактированием лодов?

Вообще, не знаю, но если нужно это, то могу доделать скорее, чем остальное. Я бы хотел вообще сразу сделать применение изменений для всех объектов, но неожиданно оказалось, что для работоспособности всего интерфейса редактирования нужно намного больше кода, чем даже для обработки самого файла... Пока только вывод всех значений организовал, уже офигел и не встал немного) Если бы сначала знал, что так получится, то наверное, сделал бы интерфейс как-то по-другому.

Цитата:

Сообщение от admpos (Сообщение 21062)
а что ты делаешь при удалении используемого материала?
проверил, сбрасываешь. я решил, что так нельзя, и надо заменять на другой

Ну да, сбрасываю. А заменить это как - подставить на его место какой-то пустой или переназначить объект на один из оставшихся? Пока кажется, что сбрасывать правильнее.

Цитата:

Сообщение от admpos (Сообщение 21062)
пожелания можно?

0. было бы неплохо, но пока вообще не знаю, как это делается)
1. сортировка только для отображения списка? А зачем, чтобы находить материалы с нужными свойствами? Ну можно, но, кажется, это сложно, так что не уверен. Вообще, если ты заметил, то у материалов с анимацией в списке появляется приписка - DiffAnim (или AlphAnim), и некоторые другие флаги я тоже так вынес.
2. то же, сложно, особенно из-за того, что надо иерархию соблюдать. Но типы тоже прямо в спискок вынесены.
3. можно :D Уже планировал сделать хотя бы массовое переименование, и редактирование расширений тоже можно. С мультивыбором уже сложнее, надо будет подумать.

Цитата:

Сообщение от admpos (Сообщение 21062)
виндовс дефендер распознает его как вирус - Trojan:Script/Wacatac.B!ml

Блин, вообще не знаю, почему так. Странно, что ехе-файл, только что собранный заново в Visual Studio, при проверке антивирусом уже выдаёт угрозу. Мой антивирус её так обозначает - "MachineLearning/Anomalous.94%". Даже в голову не приходило, что так может быть.


Текущее время: 03:03. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot