SDK для 4A Engine своими руками |
Здравствуйте, гость ( Авторизация | Регистрация )
SDK для 4A Engine своими руками |
01.03.2019, 00:36
Сообщение
#61
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Мне тут предложили создать отдельную тему по поводу редактора уровней который я показывал в теме "Вскрытие ресурсов Метро 2033", так что теперь все новости и прочее будет здесь.
Скачать актуальную версию можно тут: Скачать последнюю тестовую версию можно тут: Чейнджлог Версия от 28 февраля 2019:
Версия от 17 марта 2019:
Версия от 23 марта 2019:
Версия от 30 апреля 2019:
Версия от 18 августа 2019:
Версия от 25 августа 2019:
Версия от 20 января 2020:
Версия от 30 марта 2020:
Версия от 28 июня 2021:
Версия от 20 сентября 2021:
Версия от 4 ноября 2021:
Версия от 18 ноября 2021:
Версия от 6 февраля 2022:
Консольные утилиты Полноценный распаковщик и запаковщик для 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 осуществляется следующим образом: Код 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, конвертер моделей. Умеет следующее:
Краткая справка доступна при запуске без параметров. Эта инструкция будет дописываться. Сторонние утилиты Сообщение отредактировал Modera - 06.02.2022, 08:21 |
 
|
|
|
|
27.03.2019, 17:43
Сообщение
#62
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
|
 
|
|
27.03.2019, 17:46
Сообщение
#63
|
|
разраб одиночка Репутация: 2132 Группа: Модератор Сообщений: 3413 Награды: 13 Регистрация: 06.05.2004 |
в fbx тогда уж, obj так себе формат.
-------------------- |
 
|
|
27.03.2019, 17:47
Сообщение
#64
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
|
 
|
|
27.03.2019, 18:02
Сообщение
#65
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Что насчёт сразу формата сталкерского сдк?
|
 
|
|
27.03.2019, 18:07
Сообщение
#66
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
|
 
|
|
27.03.2019, 18:17
Сообщение
#67
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Thekello, значит не подходит.
Делать экспорт FBX я не буду, т.к. fbxsdk гвоздями прибит к C++, а у меня проект на делфи. OBJ можно попробовать, но я не уверен что макс с ним справится. Объектов на уровнях много, а повторно использовать геометрию в OBJ нельзя. Ещё варианты? |
 
|
|
27.03.2019, 18:22
Сообщение
#68
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
Thekello, значит не подходит. Делать экспорт FBX я не буду, т.к. fbxsdk гвоздями прибит к C++, а у меня проект на делфи. OBJ можно попробовать, но я не уверен что макс с ним справится. Объектов на уровнях много, а повторно использовать геометрию в OBJ нельзя. Ещё варианты? Попробуйте пожалуйста в OBJ. |
 
|
|
27.03.2019, 18:27
Сообщение
#69
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Thekello, Хорошо.
|
 
|
|
27.03.2019, 18:58
Сообщение
#70
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Награды: 4 Регистрация: 05.05.2012 |
Делать экспорт FBX я не буду, т.к. fbxsdk гвоздями прибит к C++ Это не совсем так. Вернее совсем не так. Экспорт писать можно и на питоне, так даже проще и понятнее, соответствующее -------------------- nop
|
 
|
|
27.03.2019, 19:15
Сообщение
#71
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
autistic, а питон я вообще не знаю.
|
 
|
|
27.03.2019, 20:50
Сообщение
#72
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
|
 
|
|
28.03.2019, 02:38
Сообщение
#73
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Tron, да, передали. К сожалению ни 5.25, ни даже 5.19 не пишут в совместимом формате. Пришлось использовать нужную версию прямо из Exe-шника игры. Только вот не знаю как бы это в виде готового инструмента оформить. Сейчас это делается через подмену dll-ки, потом игра запускается как обычно но при этом в отдельном потоке создаваемом в подменённой DLL генерируется nav_map.pe. Чё-то дичь какая-то. В общем ничего лучше я так и не придумал, выложу как есть. Для того чтобы использовать это понадобится Дальше. Как с помощью этого получить nav_map.pe. nav_map.pe получается из специального .raw формата моделей. Получить модель в этом формате можно с помощью конвертера уровней ( Код model.exe -model2raw nav_map.model nav_map.raw Когда модель сконвертирована в .raw можно попытаться сконвертировать её уже в nav_map.pe. Для этого кладём dinput8.dll и developer.ini в папку с игрой, в которой должен быть exe-шник обозначенный выше, туда же кладём .raw файл, сверяемся с настройками в developer.ini Код [log] enabled = yes -- включить лог (yes / no) filename = uengine.log -- имя файла с логом [nav_map] enabled = no -- включить генерацию nav_map.pe (yes / no) format = raw -- формат исходного файла, не трогаем filename = nav_map.raw -- имя исходного файла result = nav_map.pe -- имя файла в который запишется результат exitwhendone = yes -- прибить процесс игры по завершению (yes / no) И пробуем запустить игру как обычно. Если всё прошло хорошо то должен появится файл с именем указанным в параметре result, который можно подсунуть в свой уровень и спаунить там монстров. Остальные файлы (nav_map.connections.pc, nav_map.human_combat_covers.pc, nav_map.obstacles.pc) лучше взять от уровня 000. В качестве доказательства что оно вообще работает - тестовый уровень. Как инструмент для создания навмеша это конечно едва юзабельно, но хотябы даёт возможность посмотреть лог движка. |
 
|
|
28.03.2019, 04:56
Сообщение
#74
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Группа: Припаркованный аккаунт Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
К сожалению ни 5.25, ни даже 5.19 не пишут в совместимом формате Есть dll-ка версии 5.16, если надо. Если у тебя есть заголовочные файлы чтоб было описание IPathEngine интерфейса - то должно сработать -------------------- Hello worlds!
|
 
|
|
28.03.2019, 18:12
Сообщение
#75
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
|
 
|
|
28.03.2019, 18:16
Сообщение
#76
|
|
BFG9000 owner
Половина землекопа Репутация: 247 Группа: Припаркованный аккаунт Сообщений: 1813 Награды: 3 Регистрация: 30.03.2010 |
Не помешала бы. Хедеры у меня есть, вызов pathengine из exe-шника с помощью них и работает. Отлично, сейчас скину в личку. Кстати - по поводу FBX - я использую FBX SDK, но у меня C++. Вам может подойти -------------------- Hello worlds!
|
 
|
|
03.04.2019, 01:49
Сообщение
#77
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Кстати - по поводу FBX - я использую FBX SDK, но у меня C++. Вам может подойти Попробовал этой либой экспортировать FBX, пока только уровень меню получилось экспортировать, и блендер его открывает. Более тяжёлые уровни пока не получилось экспортировать. Ещё попробовал экспортировать OBJ этой либой, при экспорте сожрало около 12 гб оперативы, и я процесс убил |
 
|
|
03.04.2019, 14:48
Сообщение
#78
|
|
Новичок Репутация: 0 Группа: Участник Сообщений: 11 Регистрация: 26.02.2019 |
Modera, Хотелось бы частями, или по одному объекту, экспортировать, с сохранением координат. Такое можно сделать?
|
 
|
|
03.04.2019, 16:17
Сообщение
#79
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
Кстати - по поводу FBX - я использую FBX SDK, но у меня C++. Вам может подойти Попробовал этой либой экспортировать FBX, пока только уровень меню получилось экспортировать, и блендер его открывает. Более тяжёлые уровни пока не получилось экспортировать. Ещё попробовал экспортировать OBJ этой либой, при экспорте сожрало около 12 гб оперативы, и я процесс убил Круто! Сразу настроение поднялось |
 
|
|
04.04.2019, 03:02
Сообщение
#80
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Разобрался почему не экспортировались уровни кроме меню. Как выяснилось в некоторых моделях исхода попадаются пустые меши, и это не нравится экспортёру
Тестовая версия: level_editor_test.zip ( 3,68 мегабайт ) Кол-во скачиваний: 18 Что тут есть:
|
 
|
|
04.04.2019, 13:26
Сообщение
#81
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 100 Регистрация: 02.03.2019 |
Разобрался почему не экспортировались уровни кроме меню. Как выяснилось в некоторых моделях исхода попадаются пустые меши, и это не нравится экспортёру Тестовая версия: level_editor_test.zip ( 3,68 мегабайт ) Кол-во скачиваний: 18 Что тут есть:
Супер !Но у меня проблема когда загружаю уровень (такое со всеми уровнями) и после этого получается такое, вместо моделей флажки Когда выбираю Экспорт FBX или OBJ, появляется сохранить, выбираю папку, нажимаю (сохранить) но файл не сохраняет закрывает окно и всё. Может я что-то не так делаю? Всё разобрался)))), тупанул немножко)) Сообщение отредактировал Thekello - 04.04.2019, 13:50 |
 
|
|
Текстовая версия | Сейчас: 28.03.2024, 20:15 |