Из сурвариумных карт можно ещё много чего вытащить кроме непосредственно геометрии, например лайты которые используются для симуляции GI. Только с динамической погодой они не очень хорошо совместимы, оставлять их $static нельзя, будут светить всегда одинаково, а $hemi и $sun у нас не цветные. Нужно переносить в ещё более древний билд 1098 где ещё нет динамической погоды
hi_flyer
17.04.2020, 23:12
Цитата(Modera @ 18.04.2020, 04:30)
лайты
Вот это прикольно. Кстати да, под 1098 ещё вроде никто ничего не собирал
Билдоман
18.04.2020, 02:35
Цитата(Modera @ 17.04.2020, 22:30)
например лайты которые используются для симуляции GI.
Слуушай, с твоими познаниями в форматах левелов, объектов и геометрии можно компилить локи под 1098 или 1850 и переносить на ТЧ без потери лайтмапов, как в далёком 2006 году с 1154 на 2215))
Modera,
Цитата
Loading spatial-DB... Loading details... Loading sectors & portals... Loading lights... ***STOP*** file 'D:\Projects\XRAY\xr3DA\xrRender_R1\Light_DB.cpp', line 74. ***Reason***: *** Assertion failed *** Expression: L->spatial.sector И снова Кордон. И снова вылет.
Баг и в 1964 есть, что странно. Ну ничего, уже знаем-с, где править
Modera
18.04.2020, 02:59
Цитата(Билдоман @ 18.04.2020, 02:31)
Слуушай, с твоими познаниями в форматах левелов, объектов и геометрии можно компилить локи под 1098 или 1850 и переносить на ТЧ без потери лайтмапов, как в далёком 2006 году с 1154 на 2215))
Разумеется это возможно, но писать конвертер уровней сталкера из одной версии в другую весьма трудозатратно и нифига не интересно... Чёт не хочу на это свою жизнь тратить.
Билдоман
18.04.2020, 03:01
Цитата(Modera @ 18.04.2020, 02:55)
Чёт не хочу на это свою жизнь тратить.
1000 и 1 смена форматов за столько лет)
Цитата(Билдоман @ 18.04.2020, 02:31)
Баг и в 1964 есть, что странно.
В 1994 уже нет)
Билдоман
18.04.2020, 03:42
В 1994-2218 есть досадный баг, который убивает рендер. Раньше такого не было, либо на 10-ке всплывает, либо от видеокарты зависит. Разница между скриншотами - движение мыши. Покрывает эта кака все лайтмапы. Похоже на тесты блума под r1, ибо покрывает сие все лайтмапы, но в некоторых местах работает должным образом, без резких скачков.
Исправимо ли сие?
Цитата(Билдоман @ 18.04.2020, 03:36)
Покрывает эта кака все лайтмапы.
Смотришь в землю - вероятность бага меньше в разы.
Modera
18.04.2020, 04:03
Что-то не припомню такого бага у себя. Завтра посмотрю.
atanda
18.04.2020, 10:36
Modera, а разве сталкеровский редактор когда-то поддерживал затенение? По-моему там всегда рисовался только диффуз... Хотя нет, помню есть опция, включающая что-то похожее, но она у меня никогда не давала внятного результата, а тут всё очень даже неплохо.
Modera
18.04.2020, 15:38
atanda, нет, это я такой упоротый, расковырял в дизассемблере редактор от 1850 билда и добавил туда деферред шедйниг. Конечно он поддерживал освещение всегда, но оно далеко от идеала ибо это встроенный свет Direct3D. Он повершинный с интерполяцией по всему полигону, на больших треугольниках будет лажа + только восемь источников света могут использоваться одновременно. Тут просто повезло.
Modera
18.04.2020, 17:21
Цитата(hi_flyer @ 17.04.2020, 23:08)
Цитата(Modera @ 18.04.2020, 04:30)
лайты
Вот это прикольно. Кстати да, под 1098 ещё вроде никто ничего не собирал
Нет, под 1098 я ничего конвертировать не буду. Импортировать объекты пачками там нельзя, а по одному мне влом.
Цитата(Билдоман @ 18.04.2020, 03:38)
Разница между скриншотами - движение мыши. Покрывает эта кака все лайтмапы. Похоже на тесты блума под r1, ибо покрывает сие все лайтмапы, но в некоторых местах работает должным образом, без резких скачков.
Исправимо ли сие?
У меня в 1994 этого бага нет, в 2212/2217 появляется при попадании во фрустум аномалий или костров, лечится ключом -nodistort. Возможно с шейдером postprocess_d что-то не так.
atanda
19.04.2020, 00:45
Цитата(Modera @ 18.04.2020, 15:34)
это я такой упоротый
а ну ясн
Билдоман
19.04.2020, 13:48
Цитата(Modera @ 18.04.2020, 17:17)
лечится ключом -nodistort.
Надо сравнить с 2205 и более поздними, но вряд ли в нём косяк. Впрочем, я обратно на 1865 уехал
Билдоман
19.04.2020, 18:57
В каких из билдов наиболее красочно выглядит освещение на r1 в подземках? А-ля смесь синего и красного/оранжевого.
* New phase started: LIGHT: Waiting for MU-thread...
* New phase started: Converting MU-models to OGFs... | MU : Models... | MU : References...
* New phase started: Destroying ray-trace model...
* New phase started: Building sectors... | Determining sectors... | | 1 sectors accepted. | Spatializing geometry... | Building hierrarhy... | Assigning portals, occluders, glows, lights...
* New phase started: Saving... | Geometry buffers... ***STOP*** file 'd:\projects\xray\xrcore\FixedVector.h', line 29. ***Reason***: *** Assertion failed *** expression: id<count
Что ему не понравилось на этапе сохранения файла level за 2 секунды до конца компиляции?
Modera
21.04.2020, 18:45
Де-то переполнение массива случилось, трудно сказать где именно)
Билдоман
21.04.2020, 18:53
Цитата(Modera @ 21.04.2020, 18:41)
Де-то переполнение массива случилось, трудно сказать где именно)
Уменьшение качества поможет?
Modera
21.04.2020, 19:02
Точно не могу сказать, но по идее этот вылет связан с геометрией, а не качеством лайтмапов. Можно попробовать на драфте прогнать компилятор, если не вылетит то может быть и поможет.
macron
21.04.2020, 20:29
Цитата(Билдоман @ 21.04.2020, 18:37)
Что ему не понравилось на этапе сохранения файла level за 2 секунды до конца компиляции?
Попробуй с -noise.
Modera
22.04.2020, 20:12
Может быть стоит начать в шапке собирать все фиксы/инструменты для работы с билдами?
Lego
22.04.2020, 22:49
Подкину ещё свой вьювер, который я так и не дописал. Я как-то уже его упоминал, но так и не выложил. Смысл в том, что он просто кидается в папку с бинами игры (xrCore, xrSound) и использует их для работы с файловой системой так, как это делает сама игра. Несмотря на большое количество багов, заменяет мне все другие распаковщики ресурсов.
xrExplorer 0.1
Дисклеймер: Программа нестабильна, крэшится, я об этом знаю, данная ее ветка не развивается. Предназначена для релизных сборок GSC и билдов, в которых есть CLocatorAPI в xrCore (приблизительно билды 1400+). Это именно просмотрщик, т.е. упаковывать он не умеет.
Основные фичи:
Взаимодействие с файловой системой игры без распаковки ресурсов.
Распаковка конкретных файлов в gamedata (unpack) или в любую другую папку (extract).
Есть воспроизведение звука, просмотр изображений, текста и hex.
Вывод подробной информации о xrCore и xrSound (удобно обнаруживать фейки)
Возможность использования xrCoreB (больше багов)
Возможность открывать сторонние fs.ltx (нестабильно).
Есть всякие ненужные фичи вроде работы с несколькими xrCore, замена ',' на '|'б, автогененрация fs.ltx, если его нет.
(билды старые, не помню точно, какой более стабилен).
Билдоман
23.04.2020, 00:58
Modera,
Её бы кто закрепил, для начала. PS: Не напишешь подробный мануал по подключению лок в сингл 1850? PS№2: Саркофаг с освещением 22xx-25xx, собранный и скомпиленный под 1850, выглядит весьма интересно. Рендер старый, освещение новое, картинка очень живая)
Сборочка со всеми локами на стадии досборки (билдовские локации за 2004-2005 год.) Соберу, выложу здесь. Дальше буду править, искать более лучшие варианты и добавлять локи ЧН/ЗП/ТЧ/etc./
Modera
23.04.2020, 23:07
Цитата(Билдоман @ 23.04.2020, 00:54)
PS: Не напишешь подробный мануал по подключению лок в сингл 1850?
В принципе могу, но в чём у тебя проблема?
Саркофаг прикольный
hi_flyer
24.04.2020, 00:19
Цитата(Билдоман @ 23.04.2020, 06:54)
Саркофаг с освещением 22xx-25xx, собранный и скомпиленный под 1850
Жаль для 1850 нет дллки второго рендера, интересно было бы заценить. Хотя можно под 1865 собрать, там р2 нормально работает, даже фишки вроде детального бампа есть. Кажется как раз Modera и запускал р2 на 1865.
Но 1834 лучше, в 1865 тени от моделей со скиннингом сломаны насколько я помню.
hi_flyer
24.04.2020, 01:09
Modera, А не пробовал освещение от солнца фиксить в outdoor? Сейчас картина такая -
Бампы конечно жесть
Modera
24.04.2020, 01:24
Цитата(hi_flyer @ 24.04.2020, 01:05)
А не пробовал освещение от солнца фиксить в outdoor? Сейчас картина такая
Не, не пробовал. Есть подозрения что солнце нужно каким-то образом специально ставить на уровень чтобы оно заработало, однажды я прикрутил к 1472 билду Р2 и запустил уровень предназначенный для Р1, результат был таким же. А в 1469 как мы помним солнце есть. Но это стоит перепроверить, всё-таки 1469 и 1472 разные билды.
Либо солнце вообще нереально починить без вмешательства в движок.
Цитата(hi_flyer @ 24.04.2020, 01:05)
Бампы конечно жесть
Возможно тут autogen бамп.
macron
24.04.2020, 06:26
Цитата(hi_flyer @ 24.04.2020, 00:15)
Жаль для 1850 нет дллки второго рендера,
Подцепить - как два пальца. Заставить работать - другой вопрос. Наверно сделаю репак Рудни для более удобных экспериментов.
удалены элементы редактора удалены *.tga, *.thm заменен fs.ltx, работает без xr_cache исправлены батники для корректного чтения user_w.ltx правки экзешников на Large Memory Aware движки вынесены в отдельные каталоги добавлен движок из build 1838, совместим с 1850 в 1850 добавлен xrRender_R2.dll от 1838 rs_vb_size 4096 в user_w.ltx батники и шейдеры для тестов (пока нерабочего) r2 добавлены gamedata\textures\glow для совместимости с r2 добавлены gamedata\textures\lights для совместимости с r2
для справки: 'xrCore' build 1850, Jun 25 2004 'xrCore' build 1838, Jul 13 2004
Билдоман
25.04.2020, 13:26
Цитата(Modera @ 23.04.2020, 23:03)
В принципе могу, но в чём у тебя проблема?
Рукоjop.
Цитата(hi_flyer @ 24.04.2020, 00:15)
Хотя можно под 1865 собрать, там р2 нормально работает, даже фишки вроде детального бампа есть.
Собирал под 1865, протестирую.
Цитата(macron @ 24.04.2020, 10:01)
добавлен движок из build 1838, совместим с 1850
Лолчто? Скинь билд, этож мой фейк
Билдоман
25.04.2020, 13:58
Запустил Саркофаг. Это по рендеру среднее между метро 2033 build 375 и 22xx. Опять же, неожиданный результат. PS: user.ltx подкрутил, дабы ГЛАЗА! совсем не выжгло
macron
25.04.2020, 15:34
Цитата(Билдоман @ 25.04.2020, 13:22)
Лолчто? Скинь билд, этож мой фейк
Скачай репак и изучай длли. Хочешь сказать, что и заморочился поддержку r2 в длле замутить ради фейка?
Билдоман
25.04.2020, 15:51
Цитата(macron @ 25.04.2020, 15:30)
Хочешь сказать, что и заморочился поддержку r2 в длле замутить ради фейка?
Total Commander рулит, они идентичны, в конце hex-кода можно не только нули и единички натыкать, а просто брать куски кода из середины и никто не узнает, что бины фейковые. Смотрите 1842, либо 1850, Что-то из этого и есть 1838, я уже и не помню, что там смешивал
Цитата(~*PrIzRaK*~ @ 22.12.2013, 10:36)
Таки пруф авторства для неверующих, на дату регистрации просьба не смотреть, это всё для пущей натуральности и подогрева интереса было заделано
Далее нам понадобится фикс для запуска сингла в 1850, который для меня сделал Филимон аж в 2011 году. Скачать его можно по ссылке. Как устанавливать фикс должно быть понятно, берём и распаковываем все файлы из папки gamedata в геймдату билда с заменой.
Теперь у нас есть всё необходимое для создания сингл уровня без АИ-сетки, и можно переходить непосредственно к.
2. Создание уровня
Запускаем LevelEditor.exe, и как обычно добавляем в сцену какой-нибудь объект, какой-нибудь лайт и какой-нибудь глоу. Последнему за забываем указать в настройках текстуру (можно любую из папки glow) и шейдер (лучше использовать effects\glow, то есть glow из папки effects). Настройки доступны по клавише Enter по умолчанию, либо по кнопке Properties на тулбаре справа в свитке Tools, либо из контекстного меню, опять таки пункт Properties.
Должно получится что-то вроде такого:
Теперь добавляем в сцену то что отличает сингловые уровни от всех остальных: игрока. Переключаемся в режим редактирования 7. Spawn Element на тулбаре справа, выбираем снизу в списке Current Spawn элемент actor. Далее нужно активировать режим добавления объектов, на верхнем тулбаре нажимаем чайник(4 кнопка слева), либо просто нажимаем A латинскую на клавиатуре. И тыкаем в то место сцены где хотим чтобы появлялся игрок при запуске уровня. Если всё было сделано верно то должен появится сталкир: При желании можно аналогичным образом добавить оружие или что-нибудь другое, разница лишь в выбранном элементе в списке Current Spawn.
Далее сохраняем уровень под каким угодно именем, я назвал test_single.level, и переходим к компиляции.
3. Компиляция уровня
Прежде чем компилировать уровень его необходимо сбилдить. Для этого выбираем на тулбаре справа Compile -> Build. Должно открыться окно с настройками где можно поменять качество лайтмапов и некоторые другие параметры. Нас это пока не интересует, меяем только один параметр Level Path во вкладке Level Options и жмём Continue Build.
Внимание! В 1850 билде настройки качества солнца и хемисферы размещены во вкладке Common в Object Inspector'е в режиме редактирования Light. Хорошей идеей будет заглянуть туда в будущем.
Может так случится что вылезет окошко с предупреждением что на уровне не найдена модель HOM, в таком случае просто нажимаем Yes.
И если всё прошло хорошо редактор оповестит сообщением с текстом Building OK.
Теперь можно запускать компилятор, в командной строке или батнике вводим:
Код
xrLC.exe -f test_single
И дожидаемся окончания компиляции.
В том случае если и тут ничего не навернулось можно переходить к запуску уровня.
4. Запуск уровня
Ну тут совсем просто. В той же командной строке или батнике вводим команду.
Ооооу, билды неприхотливы. Просто заспавнить актора)) PS: Ну это для запуска в сингле, а подробно с AI-мапой, графами и переходом между уровнями?)
Я просто даже не рассматривал столь простой вариант))))
Modera
25.04.2020, 17:29
Билдоман, про АИ и графы напишу, а про переходы ещё вспоминать надо. В неприхотливых билдах ведь можно запускать уровень с АИ из level.spawn, а в финалках такую возможность угробили.
Билдоман
25.04.2020, 17:32
Цитата(Modera @ 25.04.2020, 17:25)
В неприхотливых билдах ведь можно запускать уровень с АИ из level.spaw
Тогда вопрос - а AI сетка от компилятора 1893 сильно отличается?
Modera
25.04.2020, 17:46
АИ сетка вообще не отличается. Отличается спавн больше всего, и геймграф.
Билдоман
25.04.2020, 17:56
Закоментированное --надо будет стереь. У меня рука не поднялась. this.play_sound_rnd(obj, delay, delay + 1, theme, sub_theme, phrase_set, sub_phrase) А я тут скрипты копал на предмет того, куда пропадают рандомные звуки на так подключенных локах?
Modera
25.04.2020, 18:10
Билдоман, это где такое? В старых билдах рандомные звуки записывались в level.ltx, если шо.
Билдоман
25.04.2020, 18:19
Цитата(Modera @ 25.04.2020, 18:06)
В старых билдах рандомные звуки записывались в level.ltx, если шо.
До какого билда? В 1935 уже в system.ltx И, выходит, 1865 рандомных звуков не имеет?
Помню, что в level.tx, а как прописывались - не помню)
Modera
25.04.2020, 18:31
Билдоман, точно не знаю до какого билда. Прописывались как-то так:
И я не обратил внимание, есть ли рандомные звуки в оригинале 1865)
Так, звуки появились. А что делать, дабы частота появления поменьше стала?
И как воткнуть амбиент?
Modera
25.04.2020, 18:52
Цитата(Билдоман @ 25.04.2020, 18:37)
А что делать, дабы частота появления поменьше стала?
Низнаю.. предусмотрена ли такая возможно вообще. Можно создать пустой звук и его добавить много раз, например.
Цитата(Билдоман @ 25.04.2020, 18:43)
И как воткнуть амбиент?
Через Sound source можно.
Билдоман
25.04.2020, 18:59
Цитата(Modera @ 25.04.2020, 18:48)
Низнаю.. предусмотрена ли такая возможно вообще.
Явно где-то задаётся, ибо в 15xx частота куда меньше, в 18xx звуков нет вообще (что-то сломали), а в 19xx и дальше уже другая реализация
Modera
26.04.2020, 03:07
Цитата(Билдоман @ 25.04.2020, 17:21)
Ну это для запуска в сингле, а подробно с AI-мапой, графами
...
5. Добавляем AI на уровень
5.1. Воскрешаем компилятор Прежде чем приступать с добавлению AI следует обзавестись компилятором xrAI. По независящим от нас причинам родной компилятор для 1850 заполучить не представляется возможным, поэтому я расскажу как адаптировать компилятор от более позднего билда. Какого именно - сказать затрудняюсь, поскольку придётся смешивать бины разных версий.
Для начала создадим отдельную папку для xrAI рядом с геймдатой, чтобы DLL от разных билдов с одинаковыми именами не конфликтовали между собой. Вот так, я назвал папку bin_xrai.
Далее нужно обратится в тему Складирование, конкретно нас интересует архив 2xr-old.7z, который находится на первом месте под спойлером Upload 2. Подходящий нам компилятор xrAI можно найти в папке ! backup\For_THQ_24_09\ внутри архива. Но не спешите распаковывать этот билд целиком, по неизвестным мне причинам данный xrAI несовместим с тем билдом в папке которого находится, так что нам пригодится только сам xrAI.exe и рантаймы от вижуал студии (msvcp70.dll, msvcp71.dll, msvcp71d.dll, msvcr70.dll, msvcr71.dll, msvcr71d.dll). Распаковываем эти файлы в созданную папку.
Далее залазим опять в архив 2xr-old.7z, но на сей раз в папку 15_09_2004-final\, и оттуда распаковываем все файлы с расширением .dll что видим. Должно получится вот так. На самом деле не все они необходимы для работы xrAI, но в данном туториале мы не рассматриваем иерархию зависимостей различных компонентов движка X-Ray.
Теперь проверяем работоспособность компилятора, запускаем его через командную строку или батник из той папки где находится fs.ltx, без параметров.
Код
bin_xrai\xrAI.exe
В том случае если всё было сделано правильно компилятор должен вывести справку по эксплуатации себя. Никаких ошибок быть не должно!
Если это так, можно переходить к следующему шагу.
5.2 Создаём AI-сетку и компилируем всё вместе Создание AI-сетки, как впрочем и компиляция ничем не отличается от таковой в ТЧ. Сначала в режиме редактирования 1. Object выделяем все объекты на которых хотим разместить AI-сетку (препятствия также стоит выделить), потом переходим в режим редактирования ^4. AI Map, добавляем одну ноду куда угодно, нажимаем Generate AI Map, подтверждаем действие, и должно получится что-то такое.
Потом переключаемся в режим редактирования 7. Spawn Element и добавляем в сцену несколько граф-поинтов (в списке Current Spawn выбирать graph point в папке ai). Насколько я помню нужно минимум два.
Теперь можно компилировать. Сначала выполняем Compile -> Make Game и Compile -> Make AI-Map, на возникающие вопросы типа "you are sure?" отвечаем Yes, потом переходим к компилятору.
Сперва стоит скомпилировать AI-сетку, для этого запускаем xrAI с ключом -f и именем нашего уровня.
Код
bin_xrai\xrAI.exe -f test_single
После чего дожидаемся завершения компиляции.
Далее нужно скомпилить граф для нашего уровня. Запускаем xrAI с ключом -g и именем уровня.
Код
bin_xrai\xrAI.exe -g test_single
Так же дожидаемся завершения компиляции.
Ну и финальным шагом нужно собрать великий и ужасный game.graph. Это чуть сложнее двух предыдущих действий, поскольку нам нужно будет добавить уровень в game.ltx. Для этого открываем файл в текстовом редакторе и добавляем свой уровень по образу и подобию того что там уже есть.
Сперва мотаем в конец секции [levels] и добавляем туда ещё одну запись. Потом добавляем непосредственно секцию на которую эта запись ссылается. У меня получилось вот так.
После чего запускаем xrAI с ключом -m, без всяких имён уровней.
Код
bin_xrai\xrAI.exe -m
Вновь дожидаемся окончания компиляции. ( Да сколько ж можно то ?! )
И если всё прошло хорошо уровень можно будет попытаться запустить. Однако я забыл добавить монстров или людей, так что чтобы определить работоспособность AI-сетки нужно добавить какой-то объект через редактор и сделать Make Game(никаких манипуляций с xrAI после этого производить не нужно).
Для теста я добавил несколько собак. Чтобы они были враждебными нужно указать им Team = 1.
Теперь запускаем игру и видим что всё действительно работает. Собаки бегают по двери и сталкивают друг-друг в пустоту.
Про спавн для переходов между уровнями я напишу как-нибудь потом.
Modera
26.04.2020, 04:03
Цитата(Билдоман @ 25.04.2020, 13:54)
ГЛАЗА!
Судя по названию нового ролика ОН нас читает.
Дилды, номер из 4 циферок, своими руками. Всё сходится.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.