Эксперименты с подключением локаций к ЗП — S.T.A.L.K.E.R. Inside Wiki

Эксперименты с подключением локаций к ЗП

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск

30.10.09

«Решил я сам посмотреть что можно ли запустить сингл на Зп, а то вокруг этово скопилось много слухов, а реальных фактов мало. Как результат запустил тест-локу под Зп, и провёл ряд спавн-тестов. Итак, что имеем : можно делать сингловые локи на движке Зп, со спавном и тп. , единственная проблема есть подсоединение новых лок к уже имеющимся. Проблема скажем не новая, для её решения была функция в аивраппере, где правились граф-поинты на уже существующих локах Тч, без надобности исходников… Проекты состоящие из новых локаций могут и сейчас быть перенесенны на Зп, например мод Обреченный Город. С присоединением новых локаций к уже существующими нужно ещё эксперементировать, идея есть как обойти проблему, но не ставил тестов о реализации, так как мне это не надо, делаю просто из интереса.

В доказательство работоспособности сингла, сделал вчера вечером сборку из 3 тестовых локаций соединённых граф-поинтами, и переходами; также провёл тест монстров и сталкеров. Аномалии можно добавлять, некоторые нужно адаптировать, так как названия в Зп изменились. Сами тест карты интереса не представляют, так как целью теста был спавн. Последняя тест локация взята из билда 1469 (разкомпилил было её чтобы посмотреть что там лежало, так как карточка nvidia…)

Пысы убрали возможность диалога при переходе, где можно было отказаться от перехода. Если переход настроен как в Тч, то ничего не происходит, только поевляется курсор из главново меню. Работают только автоматические переходы (silent mode), где гг сразу переносят по назначению.»

14.12.09

«Итак, после первого эксперимента с локациями в Зп, публикую результаты второго.

Цель : поиск возможности подключения новых локаций к уже существующим.

Для подключения использовался свой метод, тулза от Xiani не применялась…

Метод : очистка оригинальных файлов level.spawn от всех секций кроме секций [graph point], затем воссоздание новово файла level.spawn из изолированных граф поинтов. Конверт локации в формат сдк (с заменой оригинальново level.spawn на новый). Затем делаем компиляцию локаций в сдк, для последующей компиляции с xrAi. На выходе получаем game.graph созданный на базе граф поинтов с локаций Зп + граф поинты добавленной локации; Используем аивраппер для upgrade элементов в формат Чн. Теперь нужно адаптировать спавн. acdc_cs -> acdc_zp, в обоих acdc меняем значения гейм вертексов, новые получаем с тулзой gg_tools.pl; Нужно совместить оригинальный спавн с новым. Примечание, в результате добавления новой локации, менются все значения гейм вертексов. Если лока была добавленна в самом начале, то происходит сдвиг. Смотрим на оригинальные значения гейм вертексов, и на новые, и вычисляем сдвиг. -> Нужно исправить гейм вертексы всем секциям из оригинальново спавна Зп.

Пришлось сделать две свои програмки, одна для очистки level.spawn, другая для изменения гейм вертексов, так как менять в ручную значения тысячам секций лень…

Как результат тест сборка, с подключенной локацией. Для ценителей того самово сталкира и билдоманов, использовалась локация Mu, она же и andy_test из билда 1469, с подправленными настройками шейдеров.

Известные проблемы : спавн совместился не полностью, на Затоне не появляются ключевые персы, например торговцы. Однако, другие спавн элементы на месте : костры, двери, респавн монстров/отрядов неписей. Если взять артефакт на земснаряде, то появляется Вобла с товарищами, и требует артефакт… Возможно прочина в том что торговцы и другие ключевые неписи спавнятся скриптами, а там нужно ещё менять значения гейм вертексов на новые… не проверял; Переход на новую локу под носом Складовска.»

Если метод интересует, то возможно выложу нужное для подключения этим методом.

Архив с исправленными level.spawn для каждой локации Зп, и тулзой для правки game_vertex у обьектов если произошол здвиг.

18.12.09

Исходный файл обеих программ. Теперь из метода main запускается очистка level.spawn по адресу вписанному в конструкторе Parser().

«Что делать? Итак, предпологается заменить новым файлом level.spawn оригинальный файл в папке с локацией Зп. Возможно будет нужно очистить файл level.ltx если не захочет работать конвертер. Конвертим с -mode le, помня что нам в принципе нужна будет только аи-сетка и спавн. Уровню нужно давать тоже самое имя что и в Зп. В сдк нужно будет произвести компиляцию уровня, для последующего компиля с Xrai. Смело удаляйте все лоды с локации(выбирайте их разом в списке), ну и используйте шейдеры из Зп, чтобы не перенастраивать террейн локации. Не забываем соединить граф поинты между новой и старой локациями, это описанно в туториалах по подключению локаций. Важно, не переименовывать, и не добавлять/удалять новых граф поинтов на оригинальных локациях из Зп. В спавн нужно добавить ещё и любой спавн элемент, например ствол или монстра, для компиляции глобальново спавна(если не добавить (то есть в спавне только граф поинты), то при компиле спавна компиляторы 2215 и 25хх вылетят, это дело способен пережить только 1.exe) Компиляция в сдк должна удатся. Дальше компилим аи элементы как для обычной локации тч. Для компиляции граф поинтов (комманда -g %level%) с уровней Затон и Юпитер понадобится больше 2 гигов оперативки на компе, с остальными уровнями этой проблемы не встречается. Компилим общий спавн. -> доводим до формата чн аивраппером. Разкомпилим полученное с acdc от ЧН. Дальше разкомпилим отдельно спавн от зп с acdc от Зп. Оба Ацдц должны содержать правильные значения гейм вертексов, об этом написал раньше… Файл all.ltx брать из Чн версии, не забываем переложить и новый гейм граф. О правке гейм вертексов разных секций спавна описано раньше. Все вей поинты можно взять и оз новово спавна.»

21.12.09

«Итак, после создания моей проги по очистке level.spawn, решил сделать прогу по конверту файла обьектов сдк Тч в формат понимаемый сдк Чн.

Цель : использование более улучшенного компилятора геометрии от Чн.

Что мы имеем : прогу по конверту файла scene_object.part сдк тч этот файл находится в папке level_editor/maps/%yourmap% Класть его надо в подпапку src в директории с прогой. На выходе получаем файл scene_object.part формата сдк Чн. Что делать дальше с полученным : создаём в сдк чн новую локацию с тем же именем что и лока в сдк тч (опционально). На локации можно ничего не ставить, важен сам факт создания. Открываем файл scene_object.part у этой локации, там копируем две строчки с gvid, которые находятся в начале файла, и заменяем ими эти же строчки у полученного после конверта файла scene_object.part. В противном случае сдк чн откажется есть уровень с новым файлом. Проводим замену на ново-полученный файл. Не забываем перенести и обьекты из сдк тч в сдк чн стоящие на нашей локации. Всё, можно загрузить уровень в сдк чн и наслаждатся результатом…

Некоторые данные при переносе ставятся дефолтом, так как я не понял где они записанны в формате сдк тч, но это не критично.»

Author: kalinin11

Другие места
LANGUAGE