Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!
> SDK для 4A Engine своими руками
Modera
сообщение 01.03.2019, 00:36
Сообщение #841


.
**********************

Репутация:   750  
Куратор темы
Сообщений: 7072
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Мне тут предложили создать отдельную тему по поводу редактора уровней который я показывал в теме "Вскрытие ресурсов Метро 2033", так что теперь все новости и прочее будет здесь.

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

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

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

Скриншоты

Уровни из 2033 и Last Light с погодой:




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





Уровни из исхода:




Чейнджлог

Версия от 28 февраля 2019:
  • Добавлена возможность открывать уровни арктики.1 и Метро Исход (сохранять их есстественно нельзя)
  • Новый пункт меню Render -> Set texture quality для установки качества текстур. По умолчанию 512.
  • Ускоренное перемещение камеры с зажатым Shift


Версия от 17 марта 2019:
  • Теперь параметры текстур читаются из textures.bin или texture_handle_storage.bin, а не угадываются
  • Добавлена поддержка детальных текстур
  • Добавлена возможность редактировать секцию startup из редактора (В меню Level -> Options)
  • Добавлен список объектов на уровне с возможностью выбора (в меню Level -> Select entity)
  • Улучшен редактор параметров, теперь параметры идут в таком же порядке как в level.bin, учитываются вложенные секции и можно редактировать векторы


Версия от 23 марта 2019:
  • Улучена работа функций перемещения и вращения. Всё ещё не так хорошо работает как хотелось бы, но реагирует на нажатия теперь нормально.
  • В меню пункт Save теперь сохраняет level.bin в ту папку из которой он был открыт. Для сохранения в другое место добавлен пункт Save as.
  • Список объектов теперь сортируется.
  • Во фрейм Entity добавлены кнопки Rename и Delete.
  • Параметры типа entity_link, uobject_link теперь показывают не id, а имя. При нажатии объект выбирается из списка. Надеюсь это удобнее.


Версия от 30 апреля 2019:
  • Экспорт сцены
  • Загрузка уровней последнего света
  • Начальная реализация редактора скриптов
  • Добавлен model_Editor, для более удобного назначения материалов на конвертированных моделях.
  • Добавлено окошко выбора модели с предпросмотром. Открывается даблкликом на параметре visual : ref_model или visual : choose.
  • Так же добавлено более понятное редактирование флагов объектов, открывается даблкликом на oflags : bool8
  • В редакторе параметров теперь показываются значения векторов
  • Улучшена поддержка уровней исхода, но до идеала ещё очень далеко
  • Коллизия моделей теперь загружается из файлов nxcform_pc (или nxcform_xbox для last light) в случае их присутствия, а не генерируется на лету. По идее ускоряет загрузку уровней, но иногда могут быть проблемы с выделением.


Версия от 18 августа 2019:
  • Версия игры при загрузке уровня теперь определяется автоматически
  • Новая система загрузки level.bin от LL/Redux/Arktika.1/Exodus на джаваскрипте
  • Почти полноценная поддержка ластлайта(длц уровни всё ещё полностью не загружаются)
  • Возможность вращать и перемещать несколько объектов сразу
  • Возможность создавать шаблоны(кнопка add) с несколькими объектами, parent_id и прочие ссылки переназначаются автоматически
  • Виртуальные папки в списке объектов, для указания папок использовать обратный слеш в имени при добавлении шаблона
  • Импорт моделей в model_editor
  • Зум колёсиком в редакторе скриптов
  • Копирование и вставка в LE
  • Минимальная поддержка уровней Redux
  • Исправлено отзеркаливание сцены по оси Z (только LE, в следующей версии будет и ME)


Версия от 25 августа 2019:
  • Доделана загрузка DLC уровней от Last Light
  • Кнопка Clear в редакторе скриптов
  • Уровни ласт лайта при сохранении через Save As теперь сохраняются без отладочной информации, как оригинальные. Хотя работало и так.


Версия от 20 января 2020:
  • альфа блендинг и дисторт
  • допилены манипуляторы, добавлен скейл
  • PhysX2 заменён на PhysX3, теперь объекты с масштабом выбираются корректно
  • Загрузка скелета и работа с прикреплёнными объектами (прикрепить на ctrl+shift)
  • Выбор партиклов/звуков/костей/бон партов/текстур/анимаций света
  • Редактирование Str_array
  • Редактирование матриц
  • работа с шейпами (удалить шейп 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, для настройки материалов


Версия от 28 июня 2021:
  • В окно выбора моделей добавлена возможность выбирать пресеты (по даблклику на модельку)
  • Использование лодов редактором уровней
  • Починена поддержка Windows XP (в прошлой версии было сломано)
  • Исправлено выворачивание бинормалей на импортированных моделях
  • Генератор ID теперь не забивает первые 256 объектов, в оригинальной игре так
  • Начальная реализация импорта анимаций, а так же их отображение в обоих редакторах (только 2033)
  • Пофикшена проблема с нормалями MU объектов на картах конвертированных из сталкера
  • Полная поддержка уровней из Redux версии игры
  • Возможность конвертировать карту из сталкера с лайтмапами. Карта может быть как ЧН/ЗП версии (ключ -lmap) так и ТЧ (ключ -lmap_soc)
  • Возможность конветировать карты в формат Last Light и Redux (ключи -ll и -redux соответственно)
  • Добавлены скрипты разбора параметров карты от Last Light и sounds.bin от Last Light и Redux, автор - Arkyt
  • Погода в редакторе уровней, с возможностю выбора во вкладке Weather
  • Добавлено отображение позиции камеры, рядом с количеством выделенных объектов
  • Undo, Redo и File->Reopen
  • Редактирование зон окружения
  • Переделан интерфейс, и теперь используются визуальные стили
  • Дерево вместо списка для блоков в Script Editor
  • Импорт OMF в Model Editor
  • Отображение анимации
  • Перемещание камеры при помощи мышки как в X-Ray SDK (на Alt)
  • Отображение путей
  • Автоматическая связка путей
  • Манипуляторы заменены на libgizmo
  • Настроена сборка x86 версии


Версия от 20 сентября 2021:
  • Исправлена ошибка с мерцающей позицией камеры в Level Editor
  • Улучшен рассчёт хеми на MU моделях на картах конвертированных из сталкера, теперь c_scale и c_bias учитываются
  • Новый редактор textures.bin - Image Library


Версия от 4 ноября 2021:
  • Параметры для консольных утилит model.exe и binunp.exe теперь можно задавать в любом порядке, как во всех человеческих программах
  • Исправлен баг с отображением softbody моделей при включенном режиме wireframe
  • Добавлена возможность вырезать выделенные объекты
  • Исправлена ошибка из за которой могли неправильно переназначатся ссылки и parent_id при создании или вставке групп объектов
  • Исправлена ошибка с тем что не сбрасывалось выделение при переоткрытии уровня
  • В виду появления возможности загружать моды из папки content добавлены пункты в меню Level для быстрого сохранения и запуска уровня (Save & Run, Run Options) и кнопка на тулбаре
  • Теперь model.exe конвертирует порталы из сталкеровских уровней в level.portals, если они там есть.


Версия от 18 ноября 2021:
  • Level Editor:
    • Исправлена возможность создавать одинаковые связи между блоками в Script Editor'е
    • Теперь для тестуры шрифта в Script Editor'е создаются мипмапы, текст на блоках при уменьшении мастаба стало легче разобрать
    • Полноценная загрузка уровней от Арктики.1, теперь можно сохранять
    • Галочка Uniform для инструмента Scale теперь снова работает
    • Добавлена возможность изменять размер Undo-буфера (пока только через редактирование файла editor_data\level_Editor.ini, секция history, параметр undo_limit)
  • Model Editor:
    • Добавлена вкладка со списком костей скелета + подсветка выбранной кости
    • Редактировение пресетов, для моделей от ласт лайта или последующих игр
  • Image Library:
    • Исправлено дописывание папки импорта к имени текстуры
    • Исправлен краш при импорте текстур в x86 версии
    • Исправлен сброс пути к папке ресурсов при закрытии окна настроек
    • Добавлена настройка качества сжатия crunch тектсур
  • binunp
    • Для ключей -d, -c, -s имя выходного файла теперь необязательно указывать. Если имя выходнго файла не указано, в случае декомпиляции оно будет равно имени входного файла с дописанным .txt (например из level.bin получится level.bin.txt), в случае компиляции будет убрана часть до последней точки, включая саму точку (например из level.terrain.txt получится level.terrain).


Версия от 6 февраля 2022:
  • Level Editor:
    • Переименован пункт меню Make Addon в Move selection to level.add.bin
    • Переименован пункт меню Make Global в Move selection to level.bin, а так же исправлена его работа (раньше не работало)
    • Добавлен пункт меню Select all entities from level.add.bin для выделения всех объектов которые сохраняются в level.add.bin
    • Ускорено заполнение списка свойств при выделении объектов
    • Добавлен опционально двухколоночный список свойств, включить можно в level_Editor.ini, секция properties, параметр two_column
    • Добавлена опция для скрытия объектов по удалению от камеры согласно параметру cull_distance (в меню Render -> Distance Culling)
    • Исправлена возможность редактировать уровень до того как он полностью загрузится, что приводило к ошибке
    • Переработана система Undo с целью сделать её быстрее, менее требовательной к памяти, и устранения многих странных моментов, например когда бекап делался после изменения а не до, как положено
  • binunp:
    • Добавлен подсчёт времени затраченного на загрузку и сохранение конфигов при декомпиляции и компиляции
  • Исправлена ошибка из за которой не грузился sounds.bin от ласт лайта
  • Исправлен жирный баг с неработающим перемещением в анимациях от оригинального 2033
  • Анимации от Last Light и Redux теперь загружаются
  • Полное чтение и сохранение level.bin'ов от Исхода последней версии (загрузка изменённых файлов игрой не тестировалась)
  • Оптимизирован отжор памяти распакованными конфигами
  • Оптимизирована отрисовка сцены за счёт снижения количества переключения текстур (не очень, можно и лучше)




Консольные утилиты

Полноценный распаковщик и запаковщик для 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 и некоторые другие) в человеко-читаемый формат и обратно. Именно на её основе строится редактор уровней.
Что умеет:
  1. Полная распаковка level.bin от Metro 2033
  2. Полная распаковка level.bin от Metro Last Light 2013 года
  3. Частичная распаковка level.bin от Redux/Arktika.1/Exodus
  4. Автоматическая распковка конфигов с отладочной инфой (ключ -d)
  5. Распаковка некоторых конфигов без отладочной инфы (ключ -s)
  6. Запаковка конфигов (ключ -с)


Распаковка 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, конвертер моделей.
Умеет следующее:
  1. Конвертирование из .model в .ogf (для тестирования, ключ -model2ogf)
  2. Конвертирование из .ogf в .model (ключ -ogf2model)
  3. Cоздание nxcform_pc на основе модели (ключ -model2nxcform_pc)
  4. Создание уровня на основе основе модели (ключ -model2level)
  5. Конвертирование уровня из формата сталкера в формат 4A Engine (ключ -level2level)

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

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






Сообщение отредактировал Modera - 06.02.2022, 08:21
Перейти в начало страницы
 
43 страниц V  « < 41 42 43  
Начать новую тему
Ответов
Modera
сообщение 09.12.2021, 22:08
Сообщение #842


.
**********************

Репутация:   750  
Куратор темы
Сообщений: 7072
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


JackieR, а ты с какого патча взял level.bin? У меня вот если открыть игру в MetroEX есть несколько папок content, content_00, content_01, content_02, content_03.
Нормально распаковывается только взятый из content_03.
02, 01 и 00 вылетают с can't open section 'ak sammy slot'
И только из папки content вылетает с size-pos < count, но время у меня меньше гораздо.
Перейти в начало страницы
 
JackieR
сообщение 10.12.2021, 00:02
Сообщение #843


Ветеран
*****

Репутация:   10  
Группа: Участник
Сообщений: 99
Регистрация: 28.11.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Modera @ 09.12.2021, 22:08) *
JackieR, а ты с какого патча взял level.bin? У меня вот если открыть игру в MetroEX есть несколько папок content, content_00, content_01, content_02, content_03.
Нормально распаковывается только взятый из content_03.
02, 01 и 00 вылетают с can't open section 'ak sammy slot'
И только из папки content вылетает с size-pos < count, но время у меня меньше гораздо.

Аа, понял. Брал из content.


--------------------
Перейти в начало страницы
 
Modera
сообщение 24.12.2021, 11:16
Сообщение #844


.
**********************

Репутация:   750  
Куратор темы
Сообщений: 7072
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Прикрутил к редатору инстансинг в надежде на увеличение производительности на уровнях исхода (снижение кол-ва вызовов отрисовки, всё такое)



Перейти в начало страницы
 
Modera
сообщение 28.12.2021, 16:08
Сообщение #845


.
**********************

Репутация:   750  
Куратор темы
Сообщений: 7072
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Короче по поводу добавления новых текстурок в редукс. Я чё-то это не доделал и не выложил этот хак, надо наверное всё-таки выложить. Прикрепленный файл  dinput8_redux.zip ( 55,79 килобайт ) Кол-во скачиваний: 73


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

CODE
LPVOID p4 = LPBYTE(hMetro2033) + 0x0063CC50; // str_container::do_dock
memcpy(&str_container_do_dock, &p4, sizeof(void*));

g_string_container = (void**)(LPBYTE(hMetro2033) + 0x00D00C10);


CODE
struct shared_string;
void **g_string_container;
shared_string * (*str_container_do_dock)(void *_arg1, const void *data, int length, int type);

shared_string * mk_shared_string(const char *str)
{
return str_container_do_dock(*g_string_container, str, strlen(str), 0);
}


Работают эти общие строчки вроде так же как и в сталкире, за исключением того что добавился ещё тип строки (последний параметр str_container_do_dock, который тут равен 0).

Дальше нужны ещё две функции из движка, первая, которая перебирает все опции текстур в content.vfs и загружает их, и вторая которая загружает один файл с опциями.
CODE
LPVOID p1 = LPBYTE(hMetro2033) + 0x000DE404; // texture_manager::load_all_handles

LPVOID p2 = SetHookEx(p1, LPVOID(override_texture_manager_load_all_handles), 15);
memcpy(&real_texture_manager_load_all_handles, &p2, sizeof(void*));

LPVOID p3 = LPBYTE(hMetro2033) + 0x000DE550; // texture_manager::load_handle
memcpy(&texture_manager_load_handle, &p3, sizeof(void*));

g_texture_manager = (void**)(LPBYTE(hMetro2033) + 0x00D00DE8);

CODE
void **g_texture_manager;
void (*real_texture_manager_load_all_handles)(void);
void (*texture_manager_load_handle)(void *_arg1, shared_string **name);

void process_dir(const char *dir)
{
WIN32_FIND_DATA fd;
HANDLE hFind;

char str[MAX_PATH];
char *ext;
shared_string *s;

// 1. Process subsequent directories
strcpy(str, "content\\textures\\");
if(dir[0] != '\0') {
strcat(str, dir);
strcat(str, "\\*");
} else {
strcat(str, "*");
}

hFind = FindFirstFile(str, &fd);
if(hFind != INVALID_HANDLE_VALUE) {
do {
if(strcmp(fd.cFileName, ".") == 0)
continue;
if(strcmp(fd.cFileName, "..") == 0)
continue;

if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
if(dir[0] != '\0') {
strcpy(str, dir);
strcat(str, "\\");
strcat(str, fd.cFileName);
} else {
strcpy(str, fd.cFileName);
}

process_dir(str);
}
} while(FindNextFile(hFind, &fd));

FindClose(hFind);
}

// 2. Process .bin files
strcpy(str, "content\\textures\\");
if(dir[0] != '\0') {
strcat(str, dir);
strcat(str, "\\*.bin");
} else {
strcat(str, "*.bin");
}

hFind = FindFirstFile(str, &fd);
if(hFind != INVALID_HANDLE_VALUE) {
do {
if(strcmp(fd.cFileName, ".") == 0)
continue;
if(strcmp(fd.cFileName, "..") == 0)
continue;

if((fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0) {
if(dir[0] != '\0') {
strcpy(str, dir);
strcat(str, "\\");
strcat(str, fd.cFileName);
} else {
strcpy(str, fd.cFileName);
}

// cut the extension
// string is always end with ".bin", so it's safe
ext = str + strlen(str) - 4;
*ext = '\0';

// make shared string and load texture options
s = mk_shared_string(str);
texture_manager_load_handle(*g_texture_manager, &s);
}
} while(FindNextFile(hFind, &fd));

FindClose(hFind);
}
}

void override_texture_manager_load_all_handles(void)
{
// 1. call original function (load all handles in archives)
real_texture_manager_load_all_handles();

// 2. add handles fom content folder
process_dir("");
}


Честно говоря я уже не помню как я нашел эти функции. Первую толи по коллстеку из функции загрузки опций одной текстуры, толи по тому что там используется строка "*.bin". Вторая функция в оригинальном движке (в PDBшке точнее) имеет какое-то аццкое имя чуть ли не тысячу символов длинной, потому что там очень интенсивно используются всякие шаблоны, и я даже не хочу ничего об этом вспоминать.

Короче первая функция нужна нам только для того чтобы на неё повесить хук, и сразу после перебора файлов в content.vfs вызвать перебор файлов в распакованной папке. Вторая нужна по прямому назначению, для загрузки опций. Перебор файлов делается стандартными виндовыми функциями, ничего удивительного в этом нет.

У меня в такому решению есть пара вопросов. Во первых возможно тут утекает общая строка с именем текстуры, т.к. в оригинальном движке этот класс с автоматическим счётчиком ссылок, чего я не сделал. А может и не утекает, я во всех этих хитросплетениях C++ плохо ориентируюсь. Во вторых тут получается так что если вы подменяете опции текстур которые уже есть в content.vfs то они будут загружены два раза (оба раза изменённый файл из папки content). Не знаю на сколько это плохо, но у меня вроде ничего не крашится, хотя я только с один файлом проверял.
С другой стороны для того чтобы избежать повторной загрузки нужно проверять есть ли файл с таким именем в архиве прежде чем загружать, а как это сделать аккуратно я не знаю, т.к. функции vfs::exist как в арктике в редаксе ещё вроде нет, ну или я её не нашел, а если проверять функцией открытия файла то потом непонятно как его закрыть, т.к. этот момент я не исследовал.
Перейти в начало страницы
 
Modera
сообщение 06.02.2022, 08:30
Сообщение #846


.
**********************

Репутация:   750  
Куратор темы
Сообщений: 7072
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Короче выпустил новую версию редактора и консольных утилит с накопившемися изменениями за зиму. Скорее эта версия будет последней.
Цитата(Modera @ 01.03.2019, 00:36) *
Версия от 6 февраля 2022:
  • Level Editor:
    • Переименован пункт меню Make Addon в Move selection to level.add.bin
    • Переименован пункт меню Make Global в Move selection to level.bin, а так же исправлена его работа (раньше не работало)
    • Добавлен пункт меню Select all entities from level.add.bin для выделения всех объектов которые сохраняются в level.add.bin
    • Ускорено заполнение списка свойств при выделении объектов
    • Добавлен опционально двухколоночный список свойств, включить можно в level_Editor.ini, секция properties, параметр two_column
    • Добавлена опция для скрытия объектов по удалению от камеры согласно параметру cull_distance (в меню Render -> Distance Culling)
    • Исправлена возможность редактировать уровень до того как он полностью загрузится, что приводило к ошибке
    • Переработана система Undo с целью сделать её быстрее, менее требовательной к памяти, и устранения многих странных моментов, например когда бекап делался после изменения а не до, как положено
  • binunp:
    • Добавлен подсчёт времени затраченного на загрузку и сохранение конфигов при декомпиляции и компиляции
  • Исправлена ошибка из за которой не грузился sounds.bin от ласт лайта
  • Исправлен жирный баг с неработающим перемещением в анимациях от оригинального 2033
  • Анимации от Last Light и Redux теперь загружаются
  • Полное чтение и сохранение level.bin'ов от Исхода последней версии (загрузка изменённых файлов игрой не тестировалась)
  • Оптимизирован отжор памяти распакованными конфигами
  • Оптимизирована отрисовка сцены за счёт снижения количества переключения текстур (не очень, можно и лучше)

Перейти в начало страницы
 
JackieR
сообщение 06.02.2022, 19:38
Сообщение #847


Ветеран
*****

Репутация:   10  
Группа: Участник
Сообщений: 99
Регистрация: 28.11.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Шикарно.

Сообщение отредактировал JackieR - 06.02.2022, 19:42


--------------------
Перейти в начало страницы
 
Rolan96
сообщение 08.02.2022, 20:44
Сообщение #848


Продвинутый геймер
********

Репутация:   48  
Группа: Участник
Сообщений: 275
Награды: 3
Регистрация: 30.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Modera, похоже уровни из редактора исход не воспринимает. Ни версия с ртх, ни обычная.
Мб получилось у кого-нибудь уровень отредактировать чтобы игра воспринимала? У меня вылетает на загрузке уровня.
Перейти в начало страницы
 
JackieR
сообщение 08.02.2022, 20:52
Сообщение #849


Ветеран
*****

Репутация:   10  
Группа: Участник
Сообщений: 99
Регистрация: 28.11.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Rolan96 @ 08.02.2022, 20:44) *
Modera, похоже уровни из редактора исход не воспринимает. Ни версия с ртх, ни обычная.
Мб получилось у кого-нибудь уровень отредактировать чтобы игра воспринимала? У меня вылетает на загрузке уровня.

Уровни Исхода из content_03 считываются, насколько я понял. На последнем патче. А текущая версия MetroEX может только в запаковку content.


--------------------
Перейти в начало страницы
 
Rolan96
сообщение 08.02.2022, 21:42
Сообщение #850


Продвинутый геймер
********

Репутация:   48  
Группа: Участник
Сообщений: 275
Награды: 3
Регистрация: 30.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


JackieR, как-то в таком случае не логично вылядит.
Если бы уровни считывались из content_03 вылета бы не было, разве не так?

чет я совсем не уверен, что уровни из контент03 читаются.
Запаковал уровень 000 без изменений в архив и подсунул игре. Все запустилось.
Внёс изменения, перепаковал архив и вылет после вступительного ролика.

Ну и есть небольшая разница в размере, если просто сохранить без изменений, мб чего-то не досохраняется?


справа оригинальный

Сообщение отредактировал Rolan96 - 08.02.2022, 21:49
Перейти в начало страницы
 
Rolan96
сообщение 09.02.2022, 20:55
Сообщение #851


Продвинутый геймер
********

Репутация:   48  
Группа: Участник
Сообщений: 275
Награды: 3
Регистрация: 30.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


JackieR, все же вы скорее всего правы по поводу content_03, то что вчера писал это проводил на версии с лучиками, там content_03 нет.
Но даже когда я запаковал изменённую локу в архив с content_03 для обычного метро, чуда не произошло. Я заметил, что в первых строках оригинальных *.vfx файлах после названия архива пишется имена уровней, которые должны быть в нем и видимо ещё где-то в файле упоминается имя уровня, поэтому уровни никак не читаются:(
MetroEx пишет очень простые vfx файлы.
Перейти в начало страницы
 
Rolan96
сообщение 09.02.2022, 22:02
Сообщение #852


Продвинутый геймер
********

Репутация:   48  
Группа: Участник
Сообщений: 275
Награды: 3
Регистрация: 30.11.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


и появилось подозрение, что дело, в версии rtx, не доходит до измененных файлов редактором уровней, потому что распаковал архив с заключительным уровнем vfs и запаковал обратно ничего не меняя, игра тоже вылетела.
Нужен новый запаковщик)
походу нет возможности проверить поддержку исхода(
Modera, а с редаксами как обстоят дела в последней версии?

Сообщение отредактировал Rolan96 - 09.02.2022, 22:07
Перейти в начало страницы
 
Modera
сообщение 09.02.2022, 22:15
Сообщение #853


.
**********************

Репутация:   750  
Куратор темы
Сообщений: 7072
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Rolan96 @ 09.02.2022, 22:02) *
а с редаксами как обстоят дела в последней версии?

редактор уровни открывает и сохраняет, для игры есть DLLка которая позволяет загружать изменённые level.bin прямо из папки content (без патч-архивов).

Есть трудности с добавлением полностью новых уровней и новых текстур в .512/.1024/.2048 формате.
Перейти в начало страницы
 

43 страниц V  « < 41 42 43
Ответить в данную темуНачать новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.03.2024, 05:35