Перейти к содержанию
WolfHeart

Неофициальный инструментарий для Метро

Рекомендуемые сообщения

 
WolfHeart

Инструментарий для Метро.


4-A-Games-Logo-2015-svg.png


Инструментарий предоставляется только для личного пользования и в ознакомительных целях!

Не автор этой публикации, не авторы данного инструментария, не несут ответственности за его использование.

Все права на данную серию игр, принадлежат компании 4А Gemes

Все на вашей совести!


SDK для 4A Engine своими руками

Автор: Modera
Скачать актуальную версию можно тут:
Папка на гугл диск. Исходники там же.

Скачать последнюю тестовую версию можно тут:
Тестовая версия.

Репозиторий на Bitbucket
 

Спойлер

Уровни из Арктики:

8c2014b9b69b1de.jpg

4abdeb76ac78a35.jpg

4c74375e8fa7b72.jpg

9e6d8c32bdde63d.jpg

423344eb7d9c3b2.jpg

2ea19c5d5a5acbd.jpg

c7faf0f016a4d01.jpg

5a3170eb172e0b5.jpg

720b5455f69cfe3.jpg

b95f41f7f4d1415.jpg

5f822b5e17b3df3.jpg

Уровни из Метро:

92526b1f60481ea.jpg

9dee10a51971e09.jpg

005dccd3d062581.jpg

d968829c0ffd4a3.jpg

ab2a1d7821be7e8.jpg

Спойлер

Версия от 28 февраля:

Добавлена возможность открывать уровни арктики.1 и Метро Исход (сохранять их есстественно нельзя)

Новый пункт меню Render -> Set texture quality для установки качества текстур. По умолчанию 512.

Ускоренное перемещение камеры с зажатым Shift

Версия от 17 марта:

Теперь параметры текстур читаются из textures.bin или texture_handle_storage.bin, а не угадываются

Добавлена поддержка детальных текстур

Добавлена возможность редактировать секцию startup из редактора (В меню Level -> Options)

Добавлен список объектов на уровне с возможностью выбора (в меню Level -> Select entity)

Улучшен редактор параметров, теперь параметры идут в таком же порядке как в level.bin, учитываются вложенные секции и можно редактировать векторы

Версия от 23 марта:

Улучена работа функций перемещения и вращения. Всё ещё не так хорошо работает как хотелось бы, но реагирует на нажатия теперь нормально.

В меню пункт Save теперь сохраняет level.bin в ту папку из которой он был открыт. Для сохранения в другое место добавлен пункт Save as.

Список объектов теперь сортируется.

Во фрейм Entity добавлены кнопки Rename и Delete.

Параметры типа entity_link, uobject_link теперь показывают не id, а имя. При нажатии объект выбирается из списка. Надеюсь это удобнее.

Версия от 30 апреля:

Экспорт сцены

Загрузка уровней последнего света

Начальная реализация редактора скриптов

Добавлен model_Editor, для более удобного назначения материалов на конвертированных моделях.

Добавлено окошко выбора модели с предпросмотром. Открывается даблкликом на параметре visual : ref_model или visual : choose.

4fdd95f179a6394.png

Так же добавлено более понятное редактирование флагов объектов, открывается даблкликом на oflags : bool8

7b6cb97962f1fde.jpg

В редакторе параметров теперь показываются значения векторов

Улучшена поддержка уровней исхода, но до идеала ещё очень далеко

Коллизия моделей теперь загружается из файлов nxcform_pc (или nxcform_xbox для last light) в случае их присутствия, а не генерируется на лету. По идее ускоряет загрузку уровней, но иногда могут быть проблемы с выделением.

Версия от 18 августа:

Версия игры при загрузке уровня теперь определяется автоматически

Новая система загрузки level.bin от LL/Redux/Arktika.1/Exodus на джаваскрипте

Почти полноценная поддержка ластлайта(длц уровни всё ещё полностью не загружаются)

Возможность вращать и перемещать несколько объектов сразу

Возможность создавать шаблоны(кнопка add) с несколькими объектами, parent_id и прочие ссылки переназначаются автоматически

Виртуальные папки в списке объектов, для указания папок использовать обратные слеш в имени при добавлении шаблона

Импорт моделей в model_editor

Зум колёсиком в редакторе скриптов

Копирование и вставка в LE

Минимальная поддержка уровней Redux

Исправлено отзеркаливание сцены по оси Z (только LE, в следующей версии будет и ME)

Версия от 25 августа:

Доделана загрузка DLC уровней от Last Light

Кнопка Clear в редакторе скриптов

Уровни ласт лайта при сохранении через Save As теперь сохраняются без отладочной информации, как оригинальные. Хотя работало и так.

Версия от 20 января 2020:

альфа блендинг и дисторт

допилены манипуляторы, добавлен скейл

PhysX2 заменён на PhysX3, теперь объекты с масштабом выбираются корректно

Загрузка скелета и работа с прикреплёнными объектами (прикрепить на ctrl+shift)

Выбор партиклов/звуков/костей/бон партов/текстур/анимаций света

Редактирование Str_array

Редактирование матриц

165c64a93a24629.jpg

работа с шейпами (удалить шейп ctrl+X, прицепить шейп ctrl+Z)

Поддержка последней версии Метро 2033 с патчами

Сохранение nxcform из model_editor

Выбор шейдеров и материалов в model_editor

Работа с LODами в model_editor

Загрузка и сохранение level.add.bin, в меню Level: Make addon помечает выбранные объекты для сохранения в level.add.bin, Make Global возвращает обратно в основной level.bin

Версия от 30 марта 2020:

Z = -Normal

Галочка Select для выделения свежедобавленных объектов

Возможность скрывать объекты

добавлена возможность указывать объект который используется как pivot при создании группы

по просьбам людей с поломанной виндой на которую не ставится PhysX библиотека PhysXLoader.dll теперь delayload

Исправлена загрузка суперстатики исхода (раньше загружалась не полностью)

Отображение декалей и egeoms

Отображение softbody моделей

Отображение Environment зон (редактирование недопилено)

Кое какая оптимизация за счёт сокращения числа переключений вершинных шейдеров, +20 фпс на уровне l24_alley

Экспорт моделей из model editor'а (в т.ч. со скелетом)

Теперь при импорте моделей AO берётся из цвета вершин (если есть), встроенный рассчёт AO убран

Начальная реализация импорта динамических моделей

Отображение двусторонних поверхностей на моделях исхода

Режим отображения Ambient Occlusion (выпадающий список рядом с Render Mode)

Возможность открывать отдельные .mesh файлы в Model Editor, для настройки материалов

Спойлер

Полноценный распаковщик и запаковщик для Last Light, readme в архиве:

Скачать


Программы для работы с конфигами и конвертер моделей:

Скачать

Исходники можно найти в исходниках level_editor'а.

В архиве содержится три программы: split.exe, binunp.exe и model.exe.

Первая split.exe, предназначена для разбития scripts.bin на отдельные файлы и сборки обратно.
Для разбития поместить файл scripts.bin в рабочей папке и запустить без параметров или с одним параметром -d(без разницы).


split.exe

Если всё прошло хорошо должна появится папка scripts с большим количеством .bin файлов в ней.

Для обратной сборки запустить с ключом -c:


split.exe -c

Скрипты при сборке опять таки берутся из папки scripts в рабочей папке.

Вторая binunp.exe, предназначена для конвертирования .bin конфигов (файлы добытые из scripts.bin, level.bin и некоторые другие) в человеко-читаемый формат и обратно. Именно на её основе строится редактор уровней.


Что умеет:

Полная распаковка level.bin от Metro 2033

Полная распаковка level.bin от Metro Last Light 2013 года

Частичная распаковка level.bin от Redux/Arktika.1/Exodus

Автоматическая распковка конфигов с отладочной инфой (ключ -d)

Распаковка некоторых конфигов без отладочной инфы (ключ -s)

Запаковка конфигов (ключ -с)

Распаковка level.bin осуществляется следующим образом:


binunp.exe -l -d level.bin level.txt

Где level.bin - имя файла для распаковки.
Где level.txt - имя распакованного текстового файла.

Запаковка level.bin:


binunp.exe -l [-k N] -c level.txt level.bin

Где level.txt - имя текстового файла для запаковки.
Где level.bin - имя нового двоичного файла.
Параметр -k необязательный, на месте N указывается тип .bin файла, по умолчанию 5. В 2033 используется 5, в last light 4, в следующих играх 36.

Распаковка конфигов с отладочной инфой:


binunp.exe -l -d file.bin file.txt

Где file.bin - имя файла для распаковки.
Где file.txt - имя распакованного текстового файла.

При попытке распаковать таким образом конфиг без отладочной информации будет выведено сообщение об ошибке следующего вида:


Exception: Cannot decompile config with kind=4

Распаковка конфигов без отладочной инфы(при помощи скрипта):


binunp [-v] -s js\script.js file.bin file.txt

Где js\script.js - имя скрипта в папке js используемого для разбора конфига.
Где file.bin - имя файла для распаковки.
Где file.txt - имя распакованного текстового файла.
Параметр -v необязательный, если указать то будет выводиться предупреждение в том случае если данные были прочитаны не до конца.

Есть специальный случай, если имя файла для распаковки textures.bin, то скрипт не используется, вместо него нужно указать пустую строчку.


binunp -s "" textures.bin textures.txt

Запаковка конфигов:


binunp.exe [-k N] -c file.txt file.bin

Где file.txt - имя текстового файла для запаковки.
Где file.bin - имя нового двоичного файла.
Параметр -k необязательный, на месте N указывается тип .bin файла, по умолчанию 5. Желательно указывать такой же какой был показан при распаковке.

Последняя model.exe, конвертер моделей.
Умеет следующее:

Конвертирование из .model в .ogf (для тестирования, ключ -model2ogf)

Конвертирование из .ogf в .model (ключ -ogf2model)

Cоздание nxcform_pc на основе модели (ключ -model2nxcform_pc)

Создание уровня на основе основе модели (ключ -model2level)

Конвертирование уровня из формата сталкера в формат 4A Engine (ключ -level2level)
Краткая справка доступна при запуске без параметров.

Эта инструкция будет дописываться.


MetroEX

Комплексная программа для работы с ресурсами игр серии Metro (+ Arktika.1)

Автор: не указываю, так как он просил не ассоцеировать его с данной программой и с самим Метро.

Программа предназначена только для личного пользования в ознакомительных целях!
Распространение извлеченных файлов и их содержимого за пределы вашего личного ПК - нарушение лицензионного соглашения.
Автор программы не несет ответственности за прямой или косвенный ущерб причиненный в результате неправомерного использования программы.


Спойлер

1) Исправлен зум моделей колесиком мышки на Windows 7/8 (автор - abramcumner)
2) Добавлена фильтрация дерева файлов (автор - slik)
3) Известные типы файлов теперь отображаются со своими иконками (автор - Shoker)
4) config.bin теперь можно раскрыть и просматривать / извлекать файлы находящиеся в нем (автор - Shoker)
5) Добавлена инфо-панель для текстур и моделей, которая показывает полезную информацию о выбранном файле
6) Экспорт модели вместе с ее анимациями в FBX! *
7) Возможность просмотра анимаций прямо в программе (данный функционал не до конца доработан, учтите)

* При единичном экспорте в FBX модель всегда экспортируется с анимациями. При пакетном извлечении можно отключить экспорт анимаций.
Экспорт с анимациями может занять некоторое время. Я постараюсь оптимизировать это, но похоже что проблема в FBX SDK.

Так выглядит проигрывание анимации в программе:

А так выглядит результат экспорта открытый в 3Ds Max:

 

Спойлер

были добавлены доп. опции экспорта в FBX:
* Export animations - определяет нужно ли вообще экспортировать анимации. Полезно если вам просто нужна модель в FBX, без анимаций
* Animations to separate files - имеет смысл только в паре с предыдущей опцией, и при включении будет экспортировать анимационные треки в отдельные FBX файлы. Т.е. на выходе будет FBX файл с моделью и скелетом, и рядом с ним FBX файлы, по одному на анимацию. Попытка экспорта моделей с 11,000 анимаций все равно займет прилично времени, но при этом памяти будет потребляться не много, и даже при сбое - у вас останутся те файлы, что успели записаться.

[1] Был доработан немного 3D просмотрщик моделей - теперь реализована "правильная" Arcball камера, так что вращать и рассматривать модели стало удобнее.
Так же был добавлен режим отображения сетки полигонов поверх модели.

[2] Добавлено окно отображения свойств модели. Там отображена вся информация о модели. Есть даже информация о том, кто и на каком компьютере создал эту модель, и имя оригинального файла.

[3] Добавлено окно отображения свойств текстур, находящихся в текстурной базе. Полезно тем, что вы можете найти там дополнительные текстуры, которые на данный момент не экспортирует программа (бамп, детали...)

[4] Добавлено окно настроек программы, настройки сохраняются в файл рядом в папку с программой. Пока там только настройки экспорта, но в будущем туда будут добавляться / выноситься больше настроек.

[5] Реализована заргузка, отображение, и экспорт локализационных файлов. Экспорт производится в формат Excel 2003.

[6] Добавлено меню инструментов, содержащее следующие тулзы:
- [7] Конвертер текстур в формат Metro Exodus. Умеет конвертировать как одиночный файл, так и папку (с подпапками).
- Конвертер локализационных файлов из формата Excel 2003 назад в формат Metro Exodus.
- [8] Злополучная утилита для создания патч-архивов. Указываете где лежит папка content, куда сохранять результирующий архив, и жмете кнопку. Остально за вас сделает программа.

Так же было переписано много кода, решались организационные вопросы, велись работы по функционалу, который войдет в v0.5, но об этом будет позже.

Дальше прикладываю скриншоты к отмеченным изменениям:

[1] Wireframe mode

e222a53b581bb36.png

[2] Model properties

cc7520f9bbeec0b.png

[3] Textures database viewer

2ad4cd84f1d618c.png

[4] Settings window

617dcc134f21c18.png

[5] Localization files support

edabd247d0601d8.png

[6] Tools menu

2222d7704266bbc.png

[7] Textures converter

57f3d612c78092f.png

[8] Archives tool

e505a148f02bb6f.png

Спойлер

В версии MetroEX v0.41 добавлены опции экспорта моделей

1c995d6916d1cbd.png

Так же добавлена кнопка на панели для включения / выключения показа колизии (если таковая есть).

Примеры:

Включено

00021eddee13f88.jpg

Выключено

f442e23a7e5eb59.jpg

Ну и злополучные деревья.

Включено

052abc73297e4e4.jpg

Выключено

14e7e8868eabf9e.jpg

Ну и по традиции - небольшой бонус - теперь зажав правую кнопку мышки можно перемещать модель.
Так же на панели инструментов появилась кнопка сброса камеры, для удобства.

Спойлер

* Исправлен экспорт единичной модели в FBX (не всегда правильно реагировала на настройки)
+ Добавлена поддержка текстур и моделей Redux версий Метро (просмотр + экспорт)

Спойлер

+ Добавлена возможность модификации игровых архивов
+ Добавлено чтение шрифтовой базы
* Исправлена конвертация игровых локализаций назад в формат игры

Спойлер

+ Переписана файловая система, теперь можно указать папку с игрой, и будут загружены абсолютно все игровые паки, включая патчи и ДЛЦ. Новые файлы будут заменять собой старые, так же как это делает игра.
+ Добавлен функционал экспорта набора текстур описывающих "поверхность" (альбедо, "бамп", карта нормалей, карта деталей)
+ Добавлена опция экспорта моделей для экспорта всех текстур "поверхности"

a91c489ad64e0b1.png

8b29aa0ba30fc96.jpg

22769ae5a05703c.png

Спойлер

+ Добавлена возможность сохранить отдельную анимацию (by SkyLoader)
+ Добавлено отображение и экспортирование лодов у модели (если таковые имеются) (by SkyLoader)
+ Инструмент "Textures converter" был доработан и теперь может создавать текстуры для предыдущих версий Metro (обычные и Redux)
+ Сильно переработана подсистема чтения/записи игровых ресурсов (больше задел на будущее, но уже дает свои плоды)
+ Доработана файловая система (ФС). Теперь ФС правильно обрабатывает дубликаты файлов, а так же поддерживает архивы вплоть до последнего DLC.
+ Написан код позволяющий заменять файлы в файле config.bin, и сохранять измененный config.bin.
+ Добавлен инструмент для редактирования/замены/проверки шрифтов.

72c3881efd4e615.png

c43a3f8dea9394b.png

5b8d7a215660c3d.png

Спойлер

* Исправлена загрузка всех архивов из папки игры (было поломано для старых версий игры)
* Улучшено качество отрисовки шрифтов в Font Preview.

Спойлер

+ Добавлена поддержка всех версий игр Metro и Arktika.1
* Исправлен просмотр анимаций
* Исправлен экспорт в OBJ (была неправильная настройка материалов)
* Улучшения стабильности

Спойлер

Дополнительный/алтернативный софт:

Программа для конвертирования текстур любых версий Метро

сылка: MetroTC

Спойлер

Встречайте MetroTC - комбайн-конвертер любых текстур всех версий Метро в одном флаконе.
Ваша задача - указать где лежат текстуры (или одна текстура) и дать команду "Convert!", и программа сама найдет в указанном месте все текстуры Метро, обработает, и выдаст DDS читаемый любыми редакторами и утилитами.

Отличительные особенности:
1) Поддержка всех версий игр серии Метро
2) Текстуры 512/1024/2048 (если присутствуют) собираются в один DDS со всем мипмапами и правильными свойствами
3) Программа умеет определять что текстура уже была сконвертированна, и потому ее можно "натравливать" на папки с частично конвертированными текстурами
4) Эксклюзив для Gameru.net
5) Программа залита на сайт gameru.net, а потому ссылка не умрет.

e15d5150d10d5eb.png

Github репозиторий - MetroTC


Распаковщик архивов Metro Exodus от abramcumner

unpackerMetro_09


Конвертер для текстур эксодуса в .dds от Prodnik

ConverterMetroExodus


Игровой плагин

MetroDeveloper

Форк от Modera:

moderamodera/MetroDeveloper


Перезалив официального ExodusSDK

Ссылка: Metro Exodus SDK (папка)

Содержание: Сам ExodusSDK + обновление Exodus SDK (01_03_23)


 Metro 2033 Redux, Last Light Redux

Полноценный запаковщик ресурсов для Metro: 2033 Redux, Last Light Redux и Exodus.

Авторы: iOrange, Аркадий Баганин, Владимир Гончаренко, Александр Шубин

Спойлер

1. заходим в папку с игрой и делаем резервную копию файла content.vfx
2. запускаем скачанный запаковщик
3. вводим путь до файла content.vfx, например (D:\Games\Metro 2033 Redux\content.vfx)
4. вводим цифру 1
5. вводим путь до папки, в которой находится папка content для запаковки, например (D:\Games\Metro 2033 Redux\mymod). Важно, что-бы в папке была только папка content с ресурсами для запаковки
6. вводим название патча, например (mymod.vfs0)
7. вводим "да" (если хотим, что-бы в будущем не нужно было всё вводить заново), или "нет"
8. после окончания процесса запаковки, рядом с запаковщиком появятся два файла - пропатченный content.vfx и файл с ресурсами mymod.vfs0, их нужно кинуть в папку с игрой, подтвердив замену файла content.vfx

Спойлер

drive.google.com_64.png disk.yandex.ua_64.png


Дополнительные скрипты для распаковки конфигов redux от TSNest

Ещё парочка binunp скриптов от TSNest, для работы с текстурами redux.


Самописный инструментарий для создания/редактирования локализации (субтитров, текстов в меню) для движка 4A Engine (Metro LL, Metro Redux, Metro Exodus)

4A-Subtitles.jpg

Спойлер

Инструкция:

Import Localization - находите .lng файл в папке content\localization и он подгружается в программу
Export Localization - сохраняет данные программы в формат .lng

Возможности:

Add Subtitle - добавление своего значения для локализации
Кнопка 'Delete' (Del) - позволяет удалить значение, если оно выделено в списке

Предназначение:

Добавление субтитров для своей/чужой модификации под 4A Engine [Metro Redux, Metro Exodus, Exodus SDK]
Редактирование текущей локализации, добавление своей локализации в игру на своем языке

Особенности:

Моментальный импорт/экспорт БЕЗ промежуточных форматов, БЕЗ лагов

Отличия от оригинальной версии:

Вырезан вредоносный код и исправлено пару критических ошибок

Требования:

.NET Framework 4.8
Ссылка на скачивание:

https://github.com/tsnest/4A-Subtitles/releases/download/1.0/4A-Subtitles.zip

Декомпилированный и правленный код:

https://github.com/tsnest/4A-Subtitles

VirusTotal:

https://www.virustotal.com/gui/file/80d2ac686d8738c2bf0b59ea42c966818940d57844b723481d10c4c80dfdfb66/detection


Информация о том как из метрошных бампов вытащить карту высот и сделать из неё нормаль


 

Изменено пользователем WolfHeart
  • Лайк 5
  • Мастер! 3
  • Спасибо 2

Ea-RLNb6.gif
AMD Ryzen 7 9800X3D ; Palit RTX5070Ti GamingPro OC 16GB.
RAM 64Gb; Windows -11 PRO (х64)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
WolfHeart
6 часов назад, TSNest сказал:

@WolfHeart добавь в шапку.

Добавил в шапку ссылку на твой пост:

Спойлер

4.png

 

Изменено пользователем WolfHeart
  • Мастер! 1

Ea-RLNb6.gif
AMD Ryzen 7 9800X3D ; Palit RTX5070Ti GamingPro OC 16GB.
RAM 64Gb; Windows -11 PRO (х64)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
TSNest

Готово очередное обновление MetroDeveloper.

Добавлены быстрые сохранения на F5.
Добавлен режим полёта/телепорта на F7.

Для тех кто не знает что это такое, это движковый мод для Metro 2033 (2010), Metro LL, Metro Redux.

Восстанавливает консоль разработчика на клавишу Ё.
Восстанавливает вырезанные консольные команды (g_god, g_unlimitedammo, g_unlimitedfilters, g_notarget и т.д.)
Отключает интро ролики при запуске игры.
И прочие полезные фичи для разработчиков модов.

Подробнее можно посмотреть в конфиг файле мода.

Скачать последнюю актуальную версию можно тут:
https://github.com/tsnest/MetroDeveloper/releases

Выбираем папку для нужной версии игры, перекидываем содержимое в папку с игрой и настраиваем MetroDeveloper.ini по своему желанию.
К каждому параметру присутствует описание на Русском языке.

Изменено пользователем TSNest
  • Лайк 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Sikorskyi

TSNest а есть возможность устанавливать моды (например "Проводник") в отдельную папку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
TSNest
11 часов назад, Sikorskyi сказал:

TSNest а есть возможность устанавливать моды (например "Проводник") в отдельную папку?

Такой возможности нет, но я подумаю над тем как это реализовать. Спасибо за идею.

  • Лайк 1
  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR
В 23.05.2023 в 16:38, TSNest сказал:

В config.bin в папке static_data.

71871a27_71871a27_685a059b.bin - weapon_ak_74
93cfe433_93cfe433_ba99c07b.bin - weapon_2012
1ba971fa_1ba971fa_02e3e309.bin - weapon_vsv
a691b02a_a691b02a_3047382b.bin - weapon_ubludok
a2812f11_a2812f11_d95e7de3.bin - weapon_duplet
1029375d_1029375d_8b3205b4.bin - weapon_uboynicheg
83c583e4_83c583e4_8a41e3f8.bin - weapon_revolver
bd40ada9_bd40ada9_323af09f.bin - weapon_abzac (желательно проверить, т.к. он как-то странно распаковывается)
b5b0650c_b5b0650c_1ff32d7b.bin - weapon_gatling (из Д6)
8083cc79_8083cc79_b2affb55.bin - weapon_helsing
b75365b6_b75365b6_38293880.bin - weapon_tihar
945fd87c_945fd87c_9170e997.bin - weapon_hellbreath
e74bf56a_e74bf56a_d567c246.bin - weapon_padonag
1f193ba1_1f193ba1_eb42f4ad.bin - weapon_dagger
1c36400d_1c36400d_2e1a7721.bin - weapon_macheta
2c1992e1_2c1992e1_4c834911.bin - weapon_dynamite
8b576ec2_8b576ec2_a707b243.bin - weapon_sticky_dynamite
7a245948_7a245948_73a03954.bin - weapon_claymore

Дополню инфу про конфиги стволов. Эти пока не распаковываются, но на будущее.

91551e3d_91551e3d_650ed131.bin - weapon_ventil (Вентиль)

e32722e3_e32722e3_177cedef.bin - weapon_preved (Превед)

41403263_41403263_b51bfd6f.bin - weapon_vyhlop (Выхлоп)

13e11d26_13e11d26_9c9b4010.bin - weapon_saiga (Сайга)

57174204_57174204_d86d1f32.bin - weapon_ashot (Ашот)

548be63c_548be63c_4dc174cf.bin - weapon_rpk (РПК)

36fc912e_36fc912e_293f58d2.bin - weapon_aksu (АКСУ)

36131f51_36131f51_c248d05d.bin - weapon_medved (Медвед)

 

Изменено пользователем JackieR
  • Мастер! 1

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
TSNest
3 часа назад, JackieR сказал:

Дополню инфу про конфиги стволов. Эти пока не распаковываются, но на будущее.

91551e3d_91551e3d_650ed131.bin - weapon_ventil (Вентиль)

e32722e3_e32722e3_177cedef.bin - weapon_preved (Превед)

41403263_41403263_b51bfd6f.bin - weapon_vyhlop (Выхлоп)

13e11d26_13e11d26_9c9b4010.bin - weapon_saiga (Сайга)

57174204_57174204_d86d1f32.bin - weapon_ashot (Ашот)

548be63c_548be63c_4dc174cf.bin - weapon_rpk (РПК)

36fc912e_36fc912e_293f58d2.bin - weapon_aksu (АКСУ)

36131f51_36131f51_c248d05d.bin - weapon_medved (Медвед)

 

Окей, как будет время, посмотрю. Спасибо за наводку.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR

Кстати, мне тут пришла идея насчет добавления в игру стволов без замены оригинальных.

С измененными параметрами, чтобы у торговцев нельзя было устанавливать на них обвесы.

Но возникла проблема.

Пример - через Level Editor на уровень помещаю Калаш, у него в свойствах есть следующие параметры:

class : stringz = WEAPON_AK74
static_data_key : stringz = _G.config.entity.wpn_ak_74

Я заменяю их на:

class : stringz = WEAPON_AK74M
static_data_key : stringz = _G.config.entity.wpn_ak_74m

Через калькулятор CRC-32 считаю WEAPON_AK74M (35b71ae4), _G.config.entity.wpn_ak_74m (86b4e2a1) и заменяю название конфига 71871a27_71871a27_685a059b соответственно на:

35b71ae4_35b71ae4_86b4e2a1

Все сохраняю, компилирую config.bin, запаковываю. Загружаю уровень с этим "новым стволом" и игра вылетает на загрузке.

Где я ошибся?

Изменено пользователем JackieR

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Modera

JackieR class нельзя менять, они определены внутри движка. А вот отдельную статик_дату должно быть можно завести.

Попробуй оставить оригинальный класс (WEAPON_AK_74), новый static_data_key (_G.config.entity.wpn_ak_74m), а файл сохрани как 71871a27_71871a27_86b4e2a1.bin

Кстати почему у тебя класс WEAPON_AK74?

71871a27 это crc от WEAPON_AK_74

Оба названия на самом деле есть, хз чем отличаются.

  • Мастер! 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR
21 минуту назад, Modera сказал:

JackieR class нельзя менять, они определены внутри движка. А вот отдельную статик_дату должно быть можно завести.

Попробуй оставить оригинальный класс (WEAPON_AK_74), новый static_data_key (_G.config.entity.wpn_ak_74m), а файл сохрани как 71871a27_71871a27_86b4e2a1.bin

Помогло, спасибо!


spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR
В 19.11.2023 в 20:27, TSNest сказал:

Окей, как будет время, посмотрю. Спасибо за наводку.

Нашел ещё.

ebc6700d_ebc6700d_4f7286df.bin (магазин АК на 45 патронов)

ebc6700d_ebc6700d_76e6b55a.bin (магазин АК на 30 патронов)

ebc6700d_ebc6700d_a3786564.bin (магазин для Сайги)

ebc6700d_ebc6700d_f0a7eb0a.bin (большой магазин для Сайги)

ebc6700d_ebc6700d_3dda1af5.bin (Оптический прицел 4х)

ebc6700d_ebc6700d_665b2889.bin (Оптический прицел 2х)

7f6adca7_7f6adca7_5af35372.bin (Подствольный гранатомет)

186d3d2d_186d3d2d_ee3048bf.bin (Подствольный дробовик)

ebc6700d_ebc6700d_01b49735.bin (Глушитель)

ebc6700d_ebc6700d_c19fdfe4.bin (Глушитель для дробовика)

ebc6700d_ebc6700d_9725d7fa.bin (Глушитель ВСВ)

ebc6700d_ebc6700d_edbaa894.bin (Удлиненный ствол для дробовика)

ebc6700d_ebc6700d_32598731.bin (Базовый магазин Вентиля)

ebc6700d_ebc6700d_37008456.bin (Прицел ПНВ)

ebc6700d_ebc6700d_86a5a38e.bin (Колиматорный прицел)

ebc6700d_ebc6700d_49bf8626.bin (Планка для прицела под ВСВ)

ebc6700d_ebc6700d_cf440776.bin (Планка для прицела под АК)

 

Изменено пользователем JackieR
  • Мастер! 1

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Modera

Названия этих файлов переведённые на человеческий язык есть в исходнике программы split, к слову.

https://bitbucket.org/cat-modera/4a-sdk-diy/src/56b83072329e20ce4a68341de2ac56a2583760d7/source/main/split.pas#lines-602

 

files.jpg

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR

@Modera @TSNest Столкнулся с таким вот звуковым багом у импортированных мною реплик персонажей.

Случается он после того как я взаимодействую с торговцем из оригинальной игры, расположенном на том же уровне.

В чем может быть причина? 

 


spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Modera

JackieR это звучит.. реалистично. :D Просто в игре все реплики персонажей сделаны более громкими и чёткими, чтобы их труднее было упустить.

Возможно за это отвечает параметр type_preset : u32. Расшифровка его значений:

0 = Default 
1 = Ambient Very Loud 
2 = Ambient Loud 
3 = Ambient Medium 
4 = Ambient Quiet 
5 = Ambient Very Quiet 
6 = Hit Huge 
7 = Hit Large 
8 = Hit Medium 
9 = Hit Small 
10 = Gunshot Large 
11 = Gunshot Medium 
12 = Gunshot Small 
13 = Gunshot Silent 
14 = Weapon Reload 
15 = Explosion Large 
16 = Explosion Medium 
17 = Explosion Small 
18 = Footsteps Human Run 
19 = Footsteps Human Walk 
20 = Footsteps Human Crouch 
21 = Footsteps Monster Large 
22 = Footsteps Monster Small 
23 = Voice Human Shout 
24 = Voice Human Loud 
25 = Voice Human Medium 
26 = Voice Human Whisper 
27 = Voice Monster Loud 
28 = Voice Monster Medium 
29 = Voice Monster Quiet 
30 = Footsteps Monster Medium 
31 = Explosion Huge 
32 = Hit Bullet 
33 = Voice Human Scenario 
34 = Voice Human Multiplayer 
35 = Gunshot Huge 
36 = Gunshot Close 
37 = Motion Quiet 
38 = Motion Medium 
39 = Motion Loud 
40 = Voice Human Louder 
41 = Voice Human Group 
42 = Voice Human Battle 


Дополнено 25 минуты спустя

А, там вообще все звуки тихие, не только голос... Не обратил внимания сразу.

Очень напоминает проблему с файлом level.portals

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR
13 часов назад, Modera сказал:

JackieR это звучит.. реалистично. :D Просто в игре все реплики персонажей сделаны более громкими и чёткими, чтобы их труднее было упустить.

Возможно за это отвечает параметр type_preset : u32. Расшифровка его значений:

 

  Показать контент

 



0 = Default 
1 = Ambient Very Loud 
2 = Ambient Loud 
3 = Ambient Medium 
4 = Ambient Quiet 
5 = Ambient Very Quiet 
6 = Hit Huge 
7 = Hit Large 
8 = Hit Medium 
9 = Hit Small 
10 = Gunshot Large 
11 = Gunshot Medium 
12 = Gunshot Small 
13 = Gunshot Silent 
14 = Weapon Reload 
15 = Explosion Large 
16 = Explosion Medium 
17 = Explosion Small 
18 = Footsteps Human Run 
19 = Footsteps Human Walk 
20 = Footsteps Human Crouch 
21 = Footsteps Monster Large 
22 = Footsteps Monster Small 
23 = Voice Human Shout 
24 = Voice Human Loud 
25 = Voice Human Medium 
26 = Voice Human Whisper 
27 = Voice Monster Loud 
28 = Voice Monster Medium 
29 = Voice Monster Quiet 
30 = Footsteps Monster Medium 
31 = Explosion Huge 
32 = Hit Bullet 
33 = Voice Human Scenario 
34 = Voice Human Multiplayer 
35 = Gunshot Huge 
36 = Gunshot Close 
37 = Motion Quiet 
38 = Motion Medium 
39 = Motion Loud 
40 = Voice Human Louder 
41 = Voice Human Group 
42 = Voice Human Battle 

 

 


Дополнено 25 минуты спустя

А, там вообще все звуки тихие, не только голос... Не обратил внимания сразу.

Очень напоминает проблему с файлом level.portals

level.portals использую твой, что ты мне скидывал в последний раз.

Когда у меня звук стрельбы и перезарядки отсутствовал.


spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Modera

JackieR а ты sounds.bin редактировал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR
12 часов назад, Modera сказал:

JackieR а ты sounds.bin редактировал?

конечно.


spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Modera

JackieR Наверно где-то там ошибка. Проверь ещё раз то что ты редактировал, откатись до предыдущей версии или выложи сюда накрайняк, я посмотрю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR

Сделал дружественного непися на основе пресета npc_test_serch_0002.

Что изменил в свойствах:
 

static_data_key: stringz = _G.config.entity.npc_enemy_fx

Заменен на: _G.config.entity.npc_friend_fx


Это делает непися дружественным игроку.
 

health : fp32 = 1

Заменен на: 1000


Это делает непися бессмертным.

Интересная находка в одном из параметров:
 

base_npc_flags: u8 = 0 - NPC реагирует на противников

base_npc_flags: u8 = 10 - NPC игнорирует противников

 

Изменено пользователем JackieR
  • Мастер! 2
  • Хабар 1

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR

 

  • Мастер! 1

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR

Допер вчера как высчитывается bytes_total для всех звуков в игре.

Применимо для Last Light (2013) и 2033 Redux/Last Light Redux (2014).

Ваш звук должен быть в mono, частота - 44100, формат - ogg.

Чтобы посчитать bytes_total для sounds.bin НУЖНО:

1) Узнать количество сэмплов у вашего звукового файла (Для этого лично я использую программу Foobar2000)
2) 44100 поделить на количество сэмплов вашего звукового файла
3) 1000 разделить на (полученный в пункте 2) результат
4) Запятую в результате (полученном в пункте 3) переставить в соответствии с продолжительностью вашего звука в секундах. 
Если звук длится 4 секунды то запятая должна стоять после первой цифры (4 соответственно).
5) Результат умножить на 44100 и на 2 
6) Полученное число (БЕЗ ВСЕГО ЧТО ИДЕТ ПОСЛЕ ЗАПЯТОЙ) и есть нужный нам bytes_total.

 

Изменено пользователем JackieR
  • Мастер! 1
  • Смущение 1

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR

Нашел критический баг в последней версии редактора от 2023-01-16.

Суть - в скриптовом окне, ссылка к dummy объекту (dummy_01) в entity_ref приводит к вылету.

При этом в версии от 2022-02-16 ссылку к dummy в entity_ref сделать можно спокойно.

Спойлер

1189328858_DesktopScreenshot2023_12.20-16_27_51_30.thumb.png.d15b9a9734a5d215c23b384858714532.png

 

Изменено пользователем JackieR

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Modera

JackieR в этой версии ещё вылет при редактировании параметров env-зоны есть smile.gif

Поидее исправлено этим коммитом, но релиз мне делать лень https://bitbucket.org/cat-modera/4a-sdk-diy/commits/56b83072329e20ce4a68341de2ac56a2583760d7


Дополнено 7 минуты спустя

Ладно, я фсётаки сделаю релиз этой исправленной версии:

Редакторы х64 - https://bitbucket.org/cat-modera/4a-sdk-diy/downloads/level_editor_2023-12-20_x64.7z

Редакторы х86 - https://bitbucket.org/cat-modera/4a-sdk-diy/downloads/level_editor_2023-12-20_x86.7z

Утилиты х64 - https://bitbucket.org/cat-modera/4a-sdk-diy/downloads/utilities_2023-12-20_x64.7z

Утилиты х86 - https://bitbucket.org/cat-modera/4a-sdk-diy/downloads/utilities_2023-12-20_x86.7z

 

В папке со скриптами было всего одно незакоммиченое изменение для правильного отображения trade trigger'а для редакса, и такое же точно в плане кода изменение в скрипте для 2033, потому что помоему я изначально ошибся и начал писать код не в том скрипте... короче изменение для 2033 я откатил, а для редакса оставил. Надеюсь оно работает.

Честно говоря страшно всю эту хрень выпускать, т.к. вы прекрасно видите какие результаты получаются в виду моей околонулевой заинтересованности и нежелании даже проверять что я там наделал дальше того что оно просто запустилось и не вылетело.

  • Хабар 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR

Еще немножко экспериментов.

 

  • Мастер! 1
  • Аплодисменты 1

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
JackieR

 

  • Лайк 1

spacer.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
TSNest

Тест порта раскачки оружия из движка lost alpha в движок metro 2033.

Мне никогда не нравилась анимационная раскачка в оригинале, поэтому мне в голову пришла идея, попытаться портировать движковую раскачку из лост альфы, в движок метро.

Совместными усилиями с @Modera нам это удалось.

Функция ещё требует доработки под особенности движка метро, но как только всё будет готово, она будет добавлена в ближайшем обновлении MetroDeveloper.
 

 

  • Лайк 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования