SDK для 4A Engine своими руками |
Здравствуйте, гость ( Авторизация | Регистрация )
SDK для 4A Engine своими руками |
01.03.2019, 00:36
Сообщение
#561
|
|
. Репутация: 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 |
 
|
|
|
|
14.04.2020, 01:35
Сообщение
#562
|
|
Геймер Репутация: 7 Группа: Участник Сообщений: 110 Регистрация: 08.08.2019 |
Значит пришло время переустанавливать шиндовс шиндовс сам не переустановится
|
 
|
|
14.04.2020, 18:27
Сообщение
#563
|
|
Продвинутый геймер Репутация: 17 Группа: Участник Сообщений: 277 Регистрация: 18.08.2017 |
Значит пришло время переустанавливать шиндовс Ну вот только не надо все валить на Виндовс. Я винду устанавливаю только один раз, при смене железа (мать, проц, системный диск), а в промежутках между обновами железа, я за ней "нежно ухаживаю". И поверь мне, этого вполне достаточно, что бы она работала без каких либо проблем и не возникало необходимости переустанавливать ее каждую неделю. Сообщение отредактировал WolfHeart - 14.04.2020, 19:20 |
 
|
|
30.04.2020, 01:52
Сообщение
#564
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Кое какие новости по проекту, что произошло за месяц:
1) Больше оптимизона. Теперь при выключенной галочке Bump тангенты и бинормали не посылаются в шейдеры и не распаковываются. При выключенных текстурах не посылаются даже текстурные координаты. 2) Редактор уровней теперь использует лоды, как для статических так и для динамических моделей. 3) Появилась поддержка свежего билда ласт лайта за 3 декабря 2012. Если кто-нибудь его когда-нибудь запустит можно будет поредачить карты. 4) Было допилено окошко выбора моделей, теперь там можно выбирать пресеты, по даблклику на модельку. Актуально для ластлайта и более поздних версий. |
 
|
|
30.04.2020, 20:01
Сообщение
#565
|
|
Заслуженный Мастер Игры Репутация: 267 Группа: Участник Сообщений: 1524 Награды: 4 Регистрация: 10.11.2013 |
Там у 4A недавно видео вышло про то, как они делают скриншоты (видео прикреплю, но будьте осторожны - людям со светочувствительностью и страдающим эпилепсией смотреть не советую, т.к. у меня уже от первых десяти секунд заболеть голова умудрилась).
Что меня тут заинтересовало, так это описание ролика, а именно - третий тип скриншотов. Перевод описания ролика: "Третий тип построен на использовании внутри-игровых функций, элементов и симуляции полного запуска игры в нашем редакторе, со 100% соответствием визуальных эффектов геймплею. Но расставленные больше таким образом, чтобы подчеркнуть художественную сторону игрового опыта. Если угодно, это улучшенный фоторежим — в нем мы можем размещать персонажей там, где мы хотим, придавать нужную позу и запускать такую же симуляцию геймплея в реальном времени из этой композиции." Ну, на видео (если поставить скорость воспроизведения 0,25 - что я НАСТОЯТЕЛЬНО советую сделать) можно увидеть как раз, как делаются скриншоты этого типа. Типа, берётся моделька персонажа или другой игровой сущности, ставится на уровень - ей настраивают позу + размещают хорошее положение для камеры, а потом создаётся скрин, который снят-то, по сути, в редакторе, но он рендерится с использованием погодных условий, партиклов, всяких сглаживаний... Короче, когда разработка основных функций редактора будет доведена до ума, такая свисто-перделка будет добавлена? -------------------- |
 
|
|
30.04.2020, 20:24
Сообщение
#566
|
|
Почти Игроман Репутация: 60 Группа: Участник Сообщений: 527 Награды: 3 Регистрация: 13.04.2015 |
|
 
|
|
30.04.2020, 20:27
Сообщение
#567
|
|
Заслуженный Мастер Игры Репутация: 267 Группа: Участник Сообщений: 1524 Награды: 4 Регистрация: 10.11.2013 |
Анатомия несуществующих сцен в игре. Это, кстати, объясняет некоторые скриншоты из Metro LL. Вроде Хана, который защищал детей от стражей или тяжело вооружённый отряд на болотах. Блин, вот Slavar мне в ЛС правильно заметил, что 4A гораздо трепетнее относится к скриншотам, чем ПЫСы. Сообщение отредактировал Cartoteka - 30.04.2020, 20:30 -------------------- |
 
|
|
30.04.2020, 20:44
Сообщение
#568
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Это весь движок придётся повторить, особенно для того чтобы "запускать такую же симуляцию геймплея в реальном времени из этой композиции", я такое точно не потяну.
|
 
|
|
30.04.2020, 21:25
Сообщение
#569
|
|
Pro gamer
Почти Игроман Репутация: 72 Группа: Участник Сообщений: 622 Регистрация: 05.11.2017 |
|
 
|
|
01.05.2020, 02:19
Сообщение
#570
|
|
Кандидат Игровых Наук Репутация: 2153 Группа: Участник Сообщений: 3488 Награды: 4 Регистрация: 27.07.2009 |
Cartoteka,
> который снят-то, по сути, в редакторе Технически он снят с обычной игры, к которой подключён их внешний СДК . > 4A гораздо трепетнее относится к скриншотам, чем ПЫСы Когда ПЫС делали скриншоты в 2003 - 2005 году, у них из инструментов максимум что было для скриншотов так это остановка времени в игре, ну ещё погоду в реальном времени покрутить в ЧН\ЗП )) Сообщение отредактировал Shoкer - 01.05.2020, 02:19 -------------------- Мне просто нравятся синие буквы под сообщением.
|
 
|
|
01.05.2020, 03:20
Сообщение
#571
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Что-то часто стала витать в воздухе мысль о импорте динамических моделей в ласт лайт, так что держите новую тестовую версию с такой фишкой:
У меня кое-что да получилось. С текстурами правда сложно, мало того что их необходимо сконвертировать в .512c, .1024c, .2048, их так же необходимо записать в textures.bin. Делать это мне конечно было лень, поэтому на скрине текстур нет. А так, сконвертировать можно либо crunch'ем, как это сделать я писал в соседней теме "Модификации Metro Redux", либо с помощью MetroEX. Раздолбать textures.bin для редактирования и собрать обратно можно с помощью binunp: Код binunp -s "" textures.bin textures.txt
binunp -k 4 -c textures.txt textures.bin |
 
|
|
01.05.2020, 03:25
Сообщение
#572
|
|
Заслуженный Мастер Игры Репутация: 267 Группа: Участник Сообщений: 1524 Награды: 4 Регистрация: 10.11.2013 |
Когда ПЫС делали скриншоты в 2003 - 2005 году, у них из инструментов максимум что было для скриншотов так это остановка времени в игре, ну ещё погоду в реальном времени покрутить в ЧН\ЗП )) Я имел в виду нынешний состав ПЫСов с их единственным скрином С2. -------------------- |
 
|
|
01.05.2020, 19:10
Сообщение
#573
|
|
Ветеран Репутация: 10 Группа: Участник Сообщений: 99 Регистрация: 28.11.2018 |
Что-то часто стала витать в воздухе мысль о импорте динамических моделей в ласт лайт, так что держите новую тестовую версию с такой фишкой: У меня кое-что да получилось. С текстурами правда сложно, мало того что их необходимо сконвертировать в .512c, .1024c, .2048, их так же необходимо записать в textures.bin. Делать это мне конечно было лень, поэтому на скрине текстур нет. А так, сконвертировать можно либо crunch'ем, как это сделать я писал в соседней теме "Модификации Metro Redux", либо с помощью MetroEX. Раздолбать textures.bin для редактирования и собрать обратно можно с помощью binunp: Код binunp -s "" textures.bin textures.txt binunp -k 4 -c textures.txt textures.bin Спасибо за подгон! Вчера как раз думал о том чтобы в ЛЛ динамику какую потаскать. -------------------- |
 
|
|
02.05.2020, 01:20
Сообщение
#574
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Цитата @Dmitry разбери лучше конфиги оружия пажэ чем с iOrange'м сраться Конфиги оружия от 2033 разбираются же, я ещё в 2018 году декомпилятор написал Они в scripts.bin, в папке static_data. Вот например конфиг калаша: Правда утиль split.exe для разбития scripts.bin не все имена файлов знает, многие конфиги всё ещё лежат в большой куче файлов с именами вида #6E84BE71.bin. Но узнать какое имя файла должно быть для определённого объекта всё-таки можно, имя файла у нас получается, выражаясь языком JavaScript, вот так: Код ("content\\scripts\\static_data\\" + class + "_" + static_data_key + ".bin").toLowerCase() Например для объекта с class = WEAPON_2012 и static_data_key = _G.config.entity.wpn_2012_scope имя файла будет content\scripts\static_data\weapon_2012__g.config.entity.wpn_2012_scope.bin. Дальше идём вот |
 
|
|
03.05.2020, 02:25
Сообщение
#575
|
|
Геймер Репутация: 7 Группа: Участник Сообщений: 110 Регистрация: 08.08.2019 |
Цитата @Dmitry разбери лучше конфиги оружия пажэ чем с iOrange'м сраться Конфиги оружия от 2033 разбираются же, я ещё в 2018 году декомпилятор написал Они в scripts.bin, в папке static_data. Вот например конфиг калаша: Правда утиль split.exe для разбития scripts.bin не все имена файлов знает, многие конфиги всё ещё лежат в большой куче файлов с именами вида #6E84BE71.bin. Но узнать какое имя файла должно быть для определённого объекта всё-таки можно, имя файла у нас получается, выражаясь языком JavaScript, вот так: Код ("content\\scripts\\static_data\\" + class + "_" + static_data_key + ".bin").toLowerCase() Например для объекта с class = WEAPON_2012 и static_data_key = _G.config.entity.wpn_2012_scope имя файла будет content\scripts\static_data\weapon_2012__g.config.entity.wpn_2012_scope.bin. Дальше идём вот Оуу крута а мы и не знали только как я понял это только для версии без длс да?Я сейчас пробовал в версии с длс а там конфиги сжаты по другому видимоо Сообщение отредактировал Vladimiov - 03.05.2020, 02:26 |
 
|
|
03.05.2020, 02:50
Сообщение
#576
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Vladimiov, да, там без отладочной инфы. Но я думаю всё будет работать если взять конфиг оружия от версии без длс и положить в версию с длс.
|
 
|
|
03.05.2020, 02:59
Сообщение
#577
|
|
Геймер Репутация: 7 Группа: Участник Сообщений: 110 Регистрация: 08.08.2019 |
|
 
|
|
03.05.2020, 03:20
Сообщение
#578
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Vladimiov, а какой конкретно конфиг ты заменял? Я может потом гляну что там не так.
|
 
|
|
03.05.2020, 03:24
Сообщение
#579
|
|
Геймер Репутация: 7 Группа: Участник Сообщений: 110 Регистрация: 08.08.2019 |
Vladimiov, а какой конкретно конфиг ты заменял? Я может потом гляну что там не так. Ну любой конфиг оружия я пробовал разные ну например weapon_ak_74__g.config.entity.wpn_ak_74 в версии без длс он весит 8кб а с длс 3кб пытался подсунуть его 8кб к версии с длц но вылетело=( Сообщение отредактировал Vladimiov - 03.05.2020, 03:25 |
 
|
|
03.05.2020, 18:04
Сообщение
#580
|
|
. Репутация: 750 Куратор темы Сообщений: 7072 Регистрация: 30.07.2010 |
Ага, ну всё ясно, в патчах добавили дополнительные параметры для лазера.
Код laser_available : bool = False; spot : bool = True; spot_far : bool = True; laser_light_radius : fp32 = 20; laser_light_brightness : fp32 = 3; laser_light_angle : fp32 = 0.004999999888; laser_light_scurve : u8 = 32; laser_light_color : 'color, vec4f' = [5, 0, 0, 1]; laser_light_shadow : bool = False; laser_light_offset : vec3f = [-0.1000000015, 0.07500000298, -0.150000006]; laser_light_aim_offset : vec3f = [0.03500000015, 0.07500000298, -0.150000006]; proj_map : stringz = ''; laser_light_far_radius : fp32 = 75; laser_light_far_brightness : fp32 = 3; laser_light_far_angle : fp32 = 0.002000000095; laser_light_far_size : vec2f = [0.02500000037, 0.02500000037]; Можешь попробовать в конфиг после параметра reload_camera_track : stringz их добавить, вот так: Правда я не тестил, но думаю прохавает. |
 
|
|
04.05.2020, 17:35
Сообщение
#581
|
|
Геймер Репутация: 7 Группа: Участник Сообщений: 110 Регистрация: 08.08.2019 |
Ага, ну всё ясно, в патчах добавили дополнительные параметры для лазера. Код laser_available : bool = False; spot : bool = True; spot_far : bool = True; laser_light_radius : fp32 = 20; laser_light_brightness : fp32 = 3; laser_light_angle : fp32 = 0.004999999888; laser_light_scurve : u8 = 32; laser_light_color : 'color, vec4f' = [5, 0, 0, 1]; laser_light_shadow : bool = False; laser_light_offset : vec3f = [-0.1000000015, 0.07500000298, -0.150000006]; laser_light_aim_offset : vec3f = [0.03500000015, 0.07500000298, -0.150000006]; proj_map : stringz = ''; laser_light_far_radius : fp32 = 75; laser_light_far_brightness : fp32 = 3; laser_light_far_angle : fp32 = 0.002000000095; laser_light_far_size : vec2f = [0.02500000037, 0.02500000037]; Можешь попробовать в конфиг после параметра reload_camera_track : stringz их добавить, вот так: Правда я не тестил, но думаю прохавает. неа опять полёт |
 
|
|
Текстовая версия | Сейчас: 26.04.2024, 10:49 |