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

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

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> Редактирование движка
RayTwitty
сообщение 22.01.2016, 17:18
Сообщение #4741


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




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



Редактирование собранного движка
Проект X-Ray extensions и его вики
Lua-перехватчик от alpet
xrLuaFix от RvP
xrLuaFix в редакции от Artos
xrLuaFix в редакции от svarog2741
LuaXML библиотека парсинга xml-файлов из скриптов (подключается при помощи функции require, которая есть в xrLuaFix)
NoProtect 1.0006 исполнительные файлы из Steam-версии без защиты
Документация к X-Ray (11.10.2004)
Файл заголовков от отладочного 6 патча
Cut X-Ray
Цель проекта - создание отдельных изменений движка игры с их последующей комбинацией с другими правками.
Авторы: SkyLoader, _призрак_
Для платформ: ТЧ 1.0004 и 1.0006, ЧН 1.5.10, ЗП 1.6.02
Адрес проекта на Google Code: https://code.google.com/p/cut-x-ray-project/
Страница на Moddb: http://www.moddb.com/mods/cut-x-ray-project-soc-cs-cop
Пак 1
1. Исправление вылета "can't find rank" для оружий.

2. Смерть от первого лица.
Видео: https://www.youtube.com/watch?v=c-4dNyvizxY

3. Collide
Возвращена коллизия мертвых тел с неписями и актором, как она сделана в старой физике билдов.
Видео: https://www.youtube.com/watch?v=1xNn04f3djc

4. Круглый прицел.
Возвращен круглый прицел вместо перекрестья, как билдах.

5. Исправление вида от 3-го лица.
Изменено положение камеры от 3-го лица (1). Стрельба идет по перекрестью, а не по направлению актора. Если включить вид от 3-го лица (1) и удерживать Shift, то ГГ будет автоматически целиться в ближайшего непися или монстра.
Проблемы: Стрельба по перекрестью идет также при виде от 3-го лица (2). Если при автоматическом нацеливании непись/монстр удалится или перейдет в оффлайн, будет движковый безлоговый вылет. Я думал вырезать это нацеливание, но решил оставить.
Пак 2
1. Luminosity progress (только ТЧ)
Возвращение шкалы освещения вместо шкалы "заметности" ГГ, как в билдах.

2. Запрет на доставание оружия в машине (только ТЧ и ЧН) и на лестнице (ТЧ, ЧН, ЗП).

3. Руки на руле в машине. (только ТЧ и ЧН)
Видео: https://www.youtube.com/watch?v=nYrnrfGkO7Y

4. Отсутствие распознавания неписей перекрестием:
При наведении на непися перекрестье имеет дефолтный цвет. Также не показывает информацию о неписе, если смотреть на него.

5. Bind_object:
Возможность использовать скрипты в мультиплеере.

6. Из оружия на классе бинокля можно стрелять (только ТЧ)
Пак 3
1. Включение некоторых команд без использования ярлыка. Можно патчить по отдельности. Команды: -smap_4096 (максимально улучшенные карты теней), -mblur (включение блюра).

2. Измененная анимация безоружного гг.

3. Увеличение дистанции диалога с неписями (для создания сценок на расстоянии)

4. Исправление вылета при использовании предметов из трупов неписей.
В отличии от версии Kolmogor'а, здесь отключено само меню использования.

5. Возможность поднимать болты как обычные инвентарные предметы (комбинировать с модом Charsi "Заканчивающиеся болты")
Скачать все паки
Правки от RayTwitty aka Shadows
Geometry LOD fix (CS 1.5.10) – расширение диапазона консольной команды r__geometry_lod
Camblu crosshair for build 1865 – замена перекрестия прицела на кружок в билде 1865
Vertex buffer fix for NC Project – исправление вылета по переполнению буфера в NC Project
NO 100 sovetov fix (COP 1.6.02) – убирает надписи "100 советов" с экрана загрузки
Demo Record fix (SOC 1.0006) – убирает красные надписи в режиме demo_record
Weapon Bobbing Beta (SOC 1.0006) – раскачка оружия при ходьбе (бета-версия)
Build Loadscreen (SOC 1.0006) – билдовский экран загрузки со статичным изображением
Detail Density fix (SOC 1.0006) – расширение диапазона консольной команды r__detail_density
Mipbias fix (SOC 1.0006) – расширение диапазона консольных команд r1_tf_mipbias и r2_tf_mipbias
No Quick Use fix (SOC 1.0006) – запрет на использование аптечек и бинтов по быстрым клавишам
Sun Near fix (SOC 1.0006) – расширение диапазона консольной команды r2_sun_near
Target Font (SOC 1.0006) – замена шрифта под перекрестием прицела на шрифт DI
Unload Magazine fix (SOC 1.0006) – фикс скриптовой функции unload_magazine - теперь патроны разряжаются в инвентарь
PNG Screenshots (SOC 1.0006) – игра теперь делает качественные скриншоты в формате png

Скачать все правки
Правки от K.D.
xrPatch v0.8 – патчер для увеличения радиуса прорисовки травы
detail radius+density fix [SOC 1.0006] – добавляет регулировку радиуса отрисовки травы через консольную команду и расширяет диапазон регулировки плотности травы до 0.02
Правки от macron
Исправленный экзешник для SoC 1.0006
Доработанный и исправленный экзешник для ТЧ 1.0006 (на основе Steam-версии без защиты)
Включает в себя исправления вылетов, а также очистку лога игры от засоряющих сообщений. Более подробное описание внутри архива.

Ссылка: https://yadi.sk/d/At9Tw0ueSaDyS
X-Ray extensions portable
Портативная версия расширений движка "X-Ray extensions"
Платформы: ТЧ 1.0006, ЧН 1.5.10, ЗП 1.6.02
Эта версия имеет все нужные библиотеки и патчеры, а также настроенные bat-файлы для успешной компиляции. Более подробное описание внутри архива.

Ссылка: https://yadi.sk/d/OLYPbDXWjyEkH
Правки от Kolmogor
Правленный xrGame для SoC 1.0004
Изменения:
1. Добавлена консольная команда fov [5.0, 180.0] - изменяет глобальный FOV камеры.
2. Добавлена консольная команда k_ammo_on_belt [on\off] - включает\выключает использование патронов с пояса.
3. Артефакты работают из рюкзака, а пояс служит контейнером.

Ссылка: http://rusfolder.com/42636653
Правки от Kontro-zzz
Изменение значения hud_fov
Правки фиксированных значений параметра hud_fov - 0.37 либо 0.53, для CS 1.5.10 и для билда 3120.
Должно работать на GOG версии и no DVD.
Редактирование исходников
Скачать все исходники отсюда или с оригинальных постов SoC 1.0007rc1 SoC и CS CoP X-Ray 2
Репозитории

[SoC]
() Alpet & KD / оригинальное репо [Архивная ценность]
() xrDev [Архивная ценность]
() CleanXR [Архивная ценность]
() KRoddin [Архивная ценность][/b]
() Lost Alpha old [Архивная ценность]
() Репозиторий OGSE | Самый актуальный форк (KRoddin) | Версия от Abramcumner с небольшими исправлениями
() 1exx [Архивная ценность]
() Shkiper2012 [Архивная ценность]
() Morrey (dx10) [Архивная ценность]
() OP Engine (Winsor)
() Kondr48 [Архивная ценность]

[CS]
() RedPython [Архивная ценность]
() xrDev [Архивная ценность]
() OpenXRay [Архивная ценность]
() Charsi82 [Архивная ценность]
() Abramcumner | drksnc (MP) [Архивная ценность]
() RainbowZerg [Архивная ценность]

[CoP]
() Forser
() OpenXRay
() CoC | Demosfen | Last Day
() Abramcumner
() Im-Dex [Архивная ценность]
() xrDev [Архивная ценность]
() Tron [Архивная ценность]
() mrmnwar [Архивная ценность]
() Avo [Архивная ценность]
() vincent-t [Архивная ценность] | Старый репозиторий
() Shoкer
() Morrey CS-COP [Архивная ценность]
() Morrey [Архивная ценность]

[2.0]
() Saas
() xrOxy
Компиляторы x64: SoC CS CoP
NDA GSC
Оригинальные версии движков
Могут понадобиться для восстановления оригинальных библиотек.
SoC SoC ENG CS CoP
GOG version [1.0006, 1.5.10, 1.6.02]
Multi-patch version [1.0006, 1.5.10, 1.6.02]
Официальный мультиплеерный (невышедший) патч для SoC 1.0007rc1.
Уроки
Изменение плотности травы и создание патча через IDA Pro
Автор: _призрак_
edited by: RayTwitty aka Shadows

Для редактирования нам понадобится программа IDA Pro.

1. Запускаем IDA Pro.
2. Загружаем бинарник рендера xrRender_R1.dll или xrRender_R2.dll.
3. Теперь необходимо найти, где регистрируется консольная команда. Жмем Ctrl+T и вводим r__detail_density.
4. Находим функцию и тщательно ее разбираем (я ее полностью разбирать не буду, только укажу, где задаются параметры:
Код регистрации консольной команды
Код
fld ds:flt_10064400 -- нижнее ограничение равное 0.6
or dword_1007CACC, 8
sub esp, 8
fstp [esp+30h+var_2C]
mov ecx, offset unk_1007CA9C
fld ds:flt_10064380 -- верхнее ограничение равное 0.2
fstp [esp+30h+var_30]
push offset aSs; "ЪЩЩ>"
push offset aR__detail_dens; "r__detail_density"
call ds:??0CCC_Float@@QAE@PBDPAMMM@Z; CCC_Float::CCC_Float(char const *,float *,float,float)
push offset sub_1005E080; void (__cdecl *)()
call _atexit
add esp, 4
Если вы заметили, чтобы трава стала плотней нужно уменьшить параметр, а чтобы травы стало меньше, нужно параметр увеличить
5. Нам нужно увеличить плотность травы: следовательно нужно изменить верхнее ограничение. Как это сделать? Есть три варианта:

Первый и самый логичный вариант: изменить переменную. Но тут есть небольшой подвох на котором я попался - этой переменной может пользоваться не одна функция, а несколько. И не ясно, что вы можете сломать, поменяв одну циферку на другую.

Второй: взять другую, уже существующую переменную с подходящим значением. Хороший вариант которым я и воспользовался. Но и тут есть недостаток - переменных в бинарнике не так уж и много и можно просто не найти нужную.

Третий: создать переменную. Отличный вариант. Единственный минус - я не знаю как это сделать smile.gif

Я пошел по второму пути. Два раза щелкнув на ds:flt_10064380, IDA отправила меня в дебри под названием .rdata. Там я нашел переменную, которая называлась - flt_1006452C и которая имела значение 0.0720999.
Насколько я понял, flt_1006452C - не является названием переменной, это сборка из двух показателей - (тип числа)_(смещение). В нашем случае это число типа float, которое находится по адресу 1006452C. Ну что же, приступим к редактированию!
6. Отправляемся в самое начало файла. Как? Сверху есть что-то типа статус-бара - строка состоящая из синего, серого, черного цвета. Нажимаем там в любом месте мышкой и ведем влево до конца.
7. Опять ищем r__detail_density. Находим в этой функции строку fld ds:flt_10064338. Дальше самое интересное - жмем на вкладку Hex View и там у нас выделяются какие-то цифры. Это наша переменная 10064338, только написано наоборот. Сравните:
Код
38 43 06 10
10 06 43 38
Похоже, не правда ли? smile.gif
8. Начинаем редактировать. Нам нужно поменять 4338 на 452C (т.е. заменить ссылку с одной переменной на другую). Жмем правой кнопкой мыши на этих цифрах и выбираем пункт Edit. Меняем 38 43 на 2С 45. Дальше жмем где-нибудь в коде (это нужно сделать обязательно!).
9. После этого жмем правой кнопкой мыши и выбираем commit changes. Таким образом, мы поменяли ссылку на переменную и теперь верхнее ограничение будет равно значению из другой переменной.
Но IDA не меняет исходный файл. В нашем случае мы можем только создать файл изменений. Делается это так: File -> Produce file -> Create DIF file. Назовем его test. Этот файл можно открыть при помощи блокнота и посмотреть, что получилось.
10. Теперь необходимо внести изменения из этого файла в движок. Это можно сделать при помощи патчера bpatch. Качаем, смотрим и запускаем bpatch.cmd. Я думаю, что батник вы сможете изменить самостоятельно (настроить пути файлов и т.п.) - там все элементарно.
11. Все! Изменения внесены в движок, можно тестировать smile.gif

Огромное спасибо Kolmogor'у и malandrinus'у. Если бы не они, я бы ничего не сделал. Спасибо вам еще раз.
Спасибо и Rolan'у, с которым я очень много беседовал и тоже узнал много чего smile.gif




Сообщение отредактировал RayTwitty - 27.08.2021, 00:15
Перейти в начало страницы
 
242 страниц V  « < 236 237 238 239 240 > »   
Начать новую тему
Ответов
Xottab_DUTY
сообщение 22.05.2021, 00:36
Сообщение #4742


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

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




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


xrModder, а где в xrSound используется _vorbis_window?


--------------------
OpenXRay – Ориентир на новое, с памятью о старом. © Collector
Перейти в начало страницы
 
xrModder
сообщение 22.05.2021, 18:52
Сообщение #4743


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




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


Цитата(Xottab_DUTY @ 22.05.2021, 03:36) *
xrModder, а где в xrSound используется _vorbis_window?

Хз, исходники движка без изменении.
Перейти в начало страницы
 
Xottab_DUTY
сообщение 22.05.2021, 20:18
Сообщение #4744


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

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




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


Цитата(xrModder @ 22.05.2021, 20:52) *
Цитата(Xottab_DUTY @ 22.05.2021, 03:36) *
xrModder, а где в xrSound используется _vorbis_window?

Хз, исходники движка без изменении.

Дак причём тут без изменений))
Посмотри, пожалуйста, что там в них biggrin.gif А то я в оригинальных исходниках не смог найти нигде использование _vorbis_window... (может, у меня нужных исходников просто нет..)


--------------------
OpenXRay – Ориентир на новое, с памятью о старом. © Collector
Перейти в начало страницы
 
xrModder
сообщение 23.05.2021, 00:54
Сообщение #4745


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




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


Xottab_DUTY, несколько раз пересобрал проект Xiph из исходников, результат один и тот же z_crazy.gif
Log
Код
Warning 1 warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library           E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\LINK xrSound
Error 2   error   LNK2001: unresolved external symbol _vorbis_info_init             E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 3   error   LNK2001: unresolved external symbol _vorbis_info_clear            E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 4   error   LNK2001: unresolved external symbol _vorbis_info_blocksize        E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 5   error   LNK2001: unresolved external symbol _vorbis_comment_init          E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 6   error   LNK2001: unresolved external symbol _vorbis_comment_clear         E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 7   error   LNK2001: unresolved external symbol _vorbis_block_init            E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 8   error   LNK2001: unresolved external symbol _vorbis_block_clear           E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 9   error   LNK2001: unresolved external symbol _vorbis_dsp_clear             E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 10  error   LNK2001: unresolved external symbol _vorbis_synthesis_idheader    E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 11  error   LNK2001: unresolved external symbol _vorbis_synthesis_headerin    E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 12  error   LNK2001: unresolved external symbol _vorbis_synthesis_init        E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 13  error   LNK2001: unresolved external symbol _vorbis_synthesis_restart     E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 14  error   LNK2001: unresolved external symbol _vorbis_synthesis             E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 15  error   LNK2001: unresolved external symbol _vorbis_synthesis_trackonly   E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 16  error   LNK2001: unresolved external symbol _vorbis_synthesis_blockin     E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 17  error   LNK2001: unresolved external symbol _vorbis_synthesis_pcmout      E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 18  error   LNK2001: unresolved external symbol _vorbis_synthesis_lapout      E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 19  error   LNK2001: unresolved external symbol _vorbis_synthesis_read        E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 20  error   LNK2001: unresolved external symbol _vorbis_packet_blocksize      E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 21  error   LNK2001: unresolved external symbol _vorbis_synthesis_halfrate    E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 22  error   LNK2001: unresolved external symbol _vorbis_synthesis_halfrate_p  E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 23  error   LNK2001: unresolved external symbol _vorbis_window                E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 24  error   LNK1120: 22 unresolved externals                                  E:\GitHub\Projects\ModifiedXRay\Output\Binaries\xrSound.dll                           xrSound


Готовый проект из исходников: https://drive.google.com/file/d/192zOk9FigH...iew?usp=sharing

Сообщение отредактировал xrModder - 23.05.2021, 00:58
Перейти в начало страницы
 
Xottab_DUTY
сообщение 23.05.2021, 01:08
Сообщение #4746


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

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




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


Цитата(xrModder @ 23.05.2021, 02:54) *
Xottab_DUTY, несколько раз пересобрал проект Xiph из исходников, результат один и тот же z_crazy.gif
Log
Код
Warning 1 warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library           E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\LINK xrSound
Error 2   error   LNK2001: unresolved external symbol _vorbis_info_init             E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 3   error   LNK2001: unresolved external symbol _vorbis_info_clear            E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 4   error   LNK2001: unresolved external symbol _vorbis_info_blocksize        E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 5   error   LNK2001: unresolved external symbol _vorbis_comment_init          E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 6   error   LNK2001: unresolved external symbol _vorbis_comment_clear         E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 7   error   LNK2001: unresolved external symbol _vorbis_block_init            E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 8   error   LNK2001: unresolved external symbol _vorbis_block_clear           E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 9   error   LNK2001: unresolved external symbol _vorbis_dsp_clear             E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 10  error   LNK2001: unresolved external symbol _vorbis_synthesis_idheader    E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 11  error   LNK2001: unresolved external symbol _vorbis_synthesis_headerin    E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 12  error   LNK2001: unresolved external symbol _vorbis_synthesis_init        E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 13  error   LNK2001: unresolved external symbol _vorbis_synthesis_restart     E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 14  error   LNK2001: unresolved external symbol _vorbis_synthesis             E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 15  error   LNK2001: unresolved external symbol _vorbis_synthesis_trackonly   E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 16  error   LNK2001: unresolved external symbol _vorbis_synthesis_blockin     E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 17  error   LNK2001: unresolved external symbol _vorbis_synthesis_pcmout      E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 18  error   LNK2001: unresolved external symbol _vorbis_synthesis_lapout      E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 19  error   LNK2001: unresolved external symbol _vorbis_synthesis_read        E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 20  error   LNK2001: unresolved external symbol _vorbis_packet_blocksize      E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 21  error   LNK2001: unresolved external symbol _vorbis_synthesis_halfrate    E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 22  error   LNK2001: unresolved external symbol _vorbis_synthesis_halfrate_p  E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 23  error   LNK2001: unresolved external symbol _vorbis_window                E:\GitHub\Projects\ModifiedXRay\Sources\xrSound\vorbisfile_static.lib(vorbisfile.obj) xrSound
Error 24  error   LNK1120: 22 unresolved externals                                  E:\GitHub\Projects\ModifiedXRay\Output\Binaries\xrSound.dll                           xrSound


Готовый проект из исходников: https://drive.google.com/file/d/192zOk9FigH...iew?usp=sharing

Линковка настроена неправильно. К vorbisfile_static нужно прилинковывать vorbis_static.


--------------------
OpenXRay – Ориентир на новое, с памятью о старом. © Collector
Перейти в начало страницы
 
RayTwitty
сообщение 16.06.2021, 04:34
Сообщение #4747


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




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


Скрипто-движковый вопрос, связанный с экшонами монстров.

Код
-- obj - клиентский объект монстра, в данном случае кровососа

xr_logic.mob_capture(obj, false) -- беру монстра под контроль
-- добавляю экшоны в очередь
action(obj, look(look.direction, db.actor:bone_position("bip01_head"):sub(obj:position())), cond(cond.time_end, 300)) -- разворачиваю его на актора
action(obj, anim("stand_check_corpse_0"), cond(cond.anim_end)) -- играю анимку


далее через время возвращаю его движку
Код
xr_logic.mob_release(obj)


Проблема заключается в том, что после того, как я установил скриптовый контроль над монстром и проиграл ему свою анимку, после выхода из под скриптового контроля анимка не обновляется. Судя по звукам, движок взял под контроль монстра и он даже пытается атаковать актора, но анимация зависла на последнем кадре. То есть она где-то внутри движка не обновилась походу. Как это можно порешать? Есть костыль с переводом онлайн-оффлайн, но иногда после этого виснет биндер.


--------------------
Перейти в начало страницы
 
Yara
сообщение 16.06.2021, 14:09
Сообщение #4748


Опытный Геймер
*******

Репутация:   50  
Группа: Участник
Сообщений: 157
Награды: 2
Регистрация: 20.03.2014




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


Цитата(RayTwitty @ 16.06.2021, 07:34) *
xr_logic.mob_capture(obj, false) -- беру монстра под контроль

Посмотреть в mob_kicker.script, там тоже через mob_capture монстр бегает и пинает трупы:
Код
; простой пример для теста
[logic]
active = mob_walker@wait

[mob_walker@wait]
path_walk = arena_mob_wait_walk
path_look = arena_mob_wait_look
friendly = true
on_info = {=actor_in_zone(arena_sr_mob_go)} mob_kicker@go

[mob_kicker@go]
friendly = true
braindead = true
on_game_timer = 120 | mob_walker@wait; по таймеру - возврат на исходную

Сперва плоть с трупами развлекалась, потом поменял на кровососа, и тот зависал (бежал на одном месте) при переходе в схему, починилось установкой флажка stop at end для анимации кровососа: stand_run_0. Какие-то недоделки, у половины монстров в данных анимациях есть флаги, у другой нет - скорее всего из-за этого, иногда в идле под mob_home встречаются бегущие на одном месте мобы.
Перейти в начало страницы
 
RayTwitty
сообщение 18.06.2021, 03:41
Сообщение #4749


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




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


Yara,
Код
xr_logic.mob_capture(obj, false) -- берем под контроль
action(obj, look(look.direction, db.actor:bone_position("bip01_head"):sub(obj:position())), cond(cond.time_end, 300)) -- разворачиваем его на актора
action(obj, anim("stand_check_corpse_0"), cond(cond.anim_end)) -- отыгрываем анимацию
action(obj, move(move.run_fwd, pos, 0.5), cond(cond.move_end)) -- убегаем на точку в пределах АИ сетки

Так вот, только в 2 из 10 случаев move отработал z_crazy.gif Может дело конкретно в кровососе и его анимациях? Хотя они дефолтные.

Цитата(Yara @ 16.06.2021, 14:09) *
и тот зависал (бежал на одном месте) при переходе в схему

Не, это другой косяк. В моем случае анимация зависает на последнем кадре, кровосос недвижим.

Сообщение отредактировал RayTwitty - 18.06.2021, 03:42


--------------------
Перейти в начало страницы
 
Yara
сообщение 09.07.2021, 08:15
Сообщение #4750


Опытный Геймер
*******

Репутация:   50  
Группа: Участник
Сообщений: 157
Награды: 2
Регистрация: 20.03.2014




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


При компиляции карты, на фазе Optimizing удаляются мелкие полигоны и прочее.

А так, если эту фазу пропустить:


Немного статы
Карта с пропсами из сталкера2 без оптимизации:

* New phase started: Optimizing...
| Processing...
| | *** 4402 junctions and 67 long edges found.

с ней:

* New phase started: Optimizing...
| Processing...
| Processing... (0 verts removed)
| Processing... (14172 verts removed)
| Removing degenerated/duplicated faces... // повторная проверка, которую надо делать в 3д редакторе перед экспортом меша
| Adjacency check...
| Cleanup...
| | 17712 vertices removed. (114865 left)
| | 24886 faces removed. (206508 left)
| Processing...
| | *** 1201 junctions and 63 long edges found.

с ней для сравнения: зп-припять (деревья + ориг.пропсы)

Увидел на каком-то репо как сделано:
CODE
\xrLC\Build.cpp,

//****************************************** Optimizing + checking for T-junctions
FPU::m64r ();
Phase ("Optimizing...");
mem_Compact ();
if(strstr(Core.Params,"-skip_optimize") == 0) // ключ для xrLC
PreOptimize ();
CorrectTJunctions ();

Сам PreOptimize()
xrPreOptimize.cpp

CODE
#include "stdafx.h"

#include "build.h"
#include "../xrLC_Light/xrLC_GlobalData.h"
#include "../xrLC_Light/xrface.h"

const int HDIM_X = 56;
const int HDIM_Y = 24;
const int HDIM_Z = 56;


//extern volatile u32 dwInvalidFaces;

IC bool FaceEqual(Face& F1, Face& F2)
{
// Test for 6 variations
if ((F1.v[0]==F2.v[0]) && (F1.v[1]==F2.v[1]) && (F1.v[2]==F2.v[2])) return true;
if ((F1.v[0]==F2.v[0]) && (F1.v[2]==F2.v[1]) && (F1.v[1]==F2.v[2])) return true;
if ((F1.v[2]==F2.v[0]) && (F1.v[0]==F2.v[1]) && (F1.v[1]==F2.v[2])) return true;
if ((F1.v[2]==F2.v[0]) && (F1.v[1]==F2.v[1]) && (F1.v[0]==F2.v[2])) return true;
if ((F1.v[1]==F2.v[0]) && (F1.v[0]==F2.v[1]) && (F1.v[2]==F2.v[2])) return true;
if ((F1.v[1]==F2.v[0]) && (F1.v[2]==F2.v[1]) && (F1.v[0]==F2.v[2])) return true;
return false;
}

void CBuild::PreOptimize()
{
// We use overlapping hash table to avoid boundary conflicts
vecVertex* HASH [HDIM_X+1][HDIM_Y+1][HDIM_Z+1];
Fvector VMmin, VMscale, VMeps, scale;

// Calculate offset,scale,epsilon
Fbox bb = scene_bb;
VMscale.set (bb.max.x-bb.min.x, bb.max.y-bb.min.y, bb.max.z-bb.min.z);
VMmin.set (bb.min);
VMeps.set (VMscale.x/HDIM_X/2,VMscale.y/HDIM_Y/2,VMscale.z/HDIM_Z/2);
VMeps.x = (VMeps.x<EPS_L)?VMeps.x:EPS_L;
VMeps.y = (VMeps.y<EPS_L)?VMeps.y:EPS_L;
VMeps.z = (VMeps.z<EPS_L)?VMeps.z:EPS_L;
scale.set (float(HDIM_X),float(HDIM_Y),float(HDIM_Z));
scale.div (VMscale);

u32 Vcount = lc_global_data()->g_vertices().size(), Vremoved=0;
u32 Fcount = lc_global_data()->g_faces().size(), Fremoved=0;

// Pre-alloc memory
int _size = (HDIM_X+1)*(HDIM_Y+1)*(HDIM_Z+1);
int _average= (Vcount/_size)/2; if (_average<2) _average = 2;
{
for (int ix=0; ix<HDIM_X+1; ix++)
for (int iy=0; iy<HDIM_Y+1; iy++)
for (int iz=0; iz<HDIM_Z+1; iz++)
{
HASH[ix][iy][iz] = xr_new<vecVertex> ();
HASH[ix][iy][iz]->reserve (_average);
}
}

//
Status("Processing...");
g_bUnregister = false;
for (int it = 0; it<(int)lc_global_data()->g_vertices().size(); it++)
{
if (0==(it%100000)) {
Progress(_sqrt(float(it)/float(lc_global_data()->g_vertices().size())));
Status ("Processing... (%d verts removed)",Vremoved);
}

if (it>=(int)lc_global_data()->g_vertices().size()) break;

Vertex *pTest = lc_global_data()->g_vertices()[it];
Fvector &V = pTest->P;

// Hash
u32 ix,iy,iz;
ix = iFloor ((V.x-VMmin.x)*scale.x);
iy = iFloor ((V.y-VMmin.y)*scale.y);
iz = iFloor ((V.z-VMmin.z)*scale.z);
R_ASSERT (ix<=HDIM_X && iy<=HDIM_Y && iz<=HDIM_Z);
vecVertex &H = *(HASH[ix][iy][iz]);

// Search similar vertices in hash table
for (vecVertexIt T=H.begin(); T!=H.end(); T++)
{
Vertex *pBase = *T;
if (pBase->similar(*pTest,g_params().m_weld_distance))
{
while(pTest->m_adjacents.size())
pTest->m_adjacents.front()->VReplace(pTest, pBase);

lc_global_data()->destroy_vertex(lc_global_data()->g_vertices()[it]);
Vremoved += 1;
pTest = NULL;
break;
}
}

// If we get here - there is no similar vertices - register in hash tables
if (pTest)
{
H.push_back (pTest);

u32 ixE,iyE,izE;
ixE = iFloor((V.x+VMeps.x-VMmin.x)*scale.x);
iyE = iFloor((V.y+VMeps.y-VMmin.y)*scale.y);
izE = iFloor((V.z+VMeps.z-VMmin.z)*scale.z);
R_ASSERT(ixE<=HDIM_X && iyE<=HDIM_Y && izE<=HDIM_Z);

if (ixE!=ix) HASH[ixE][iy][iz]->push_back (pTest);
if (iyE!=iy) HASH[ix][iyE][iz]->push_back (pTest);
if (izE!=iz) HASH[ix][iy][izE]->push_back (pTest);
if ((ixE!=ix)&&(iyE!=iy)) HASH[ixE][iyE][iz]->push_back (pTest);
if ((ixE!=ix)&&(izE!=iz)) HASH[ixE][iy][izE]->push_back (pTest);
if ((iyE!=iy)&&(izE!=iz)) HASH[ix][iyE][izE]->push_back (pTest);
if ((ixE!=ix)&&(iyE!=iy)&&(izE!=iz)) HASH[ixE][iyE][izE]->push_back (pTest);
}
}

Status("Removing degenerated/duplicated faces...");
g_bUnregister = false;
for (u32 it=0; it<lc_global_data()->g_faces().size(); it++)
{
R_ASSERT (it>=0 && it<(int)lc_global_data()->g_faces().size());
Face* F = lc_global_data()->g_faces()[it];
if ( F->isDegenerated()) {
lc_global_data()->destroy_face (lc_global_data()->g_faces()[it]);
Fremoved ++;
} else {
// Check validity
F->Verify ( );
}
Progress (float(it)/float(lc_global_data()->g_faces().size()));
}
if (InvalideFaces())
{
err_save ();
if (lc_global_data()->skipInvalid())
clMsg("* Total %d invalid faces. Do something.", InvalideFaces());
else
Debug.fatal (DEBUG_INFO,"* FATAL: %d invalid faces. Compilation aborted",InvalideFaces());
}

Status ("Adjacency check...");
g_bUnregister = false;

for (u32 it = 0; it<lc_global_data()->g_vertices().size(); ++it)
{
if (lc_global_data()->g_vertices()[it] && (lc_global_data()->g_vertices()[it]->m_adjacents.empty()))
{
lc_global_data()->destroy_vertex (lc_global_data()->g_vertices()[it]);
++Vremoved;
}
}

Status ("Cleanup...");
lc_global_data()->g_vertices().erase (std::remove(lc_global_data()->g_vertices().begin(),lc_global_data()->g_vertices().end(),(Vertex*)0),lc_global_data()->g_vertices().end());
lc_global_data()->g_faces().erase (std::remove(lc_global_data()->g_faces().begin(),lc_global_data()->g_faces().end(),(Face*)0),lc_global_data()->g_faces().end());
{
for (int ix=0; ix<HDIM_X+1; ix++)
for (int iy=0; iy<HDIM_Y+1; iy++)
for (int iz=0; iz<HDIM_Z+1; iz++)
{
xr_delete(HASH[ix][iy][iz]);
}
}
mem_Compact ();
clMsg("%d vertices removed. (%d left)",Vcount-lc_global_data()->g_vertices().size(),lc_global_data()->g_vertices().size());
clMsg("%d faces removed. (%d left)", Fcount-lc_global_data()->g_faces().size(), lc_global_data()->g_faces().size());

// -------------------------------------------------------------
/*
int err_count =0 ;
for (int _1=0; _1<g_faces.size(); _1++)
{
Progress(float(_1)/float(g_faces.size()));
for (int _2=0; _2<g_faces.size(); _2++)
{
if (_1==_2) continue;
if (FaceEqual(*g_faces[_1],*g_faces[_2])) {
err_count ++;
}
}
}
clMsg ("! duplicate/same faces found:%d",err_count);
*/
// -------------------------------------------------------------
}


void CBuild::IsolateVertices (BOOL bProgress)
{
isolate_vertices<Vertex>( bProgress, lc_global_data()->g_vertices() );
}

Там понятное, только проверка на инвалиды (можно сперва запускать компил без ключа для чека). Остальное не понятно. Стоит ли пропускать эту фазу, может там что-то нужное, помимо кастрацииоптимизации геометрии?
А так получается, грубо говоря, +10/50 тыс. полигонов к остальным на уровень, но и мелкие объекты не порежет.
Перейти в начало страницы
 
abramcumner
сообщение 09.07.2021, 11:28
Сообщение #4751


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




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


Цитата(Yara @ 09.07.2021, 08:15) *
Стоит ли пропускать эту фазу, может там что-то нужное, помимо кастрацииоптимизации геометрии?

Именно в PreOptimize только удаление мелких полигонов.
Перейти в начало страницы
 
ZveroBoy95rus
сообщение 16.07.2021, 08:24
Сообщение #4752


Игрок
***

Репутация:   2  
Группа: Участник
Сообщений: 38
Награды: 1
Регистрация: 24.05.2016




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


AMD на днях выложила исходный код своей технологии FidelityFX Super Resolution.
Если кто то захочет эту фичу в X-Ray пихать то вот ссылка https://gpuopen.com/fidelityfx-superresolution/ laugh.gif
Перейти в начало страницы
 
Yara
сообщение 06.08.2021, 00:12
Сообщение #4753


Опытный Геймер
*******

Репутация:   50  
Группа: Участник
Сообщений: 157
Награды: 2
Регистрация: 20.03.2014




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


Помимо этой правки: исправлена путаница с синим и красным каналами при сжатии в dds
https://github.com/abramcumner/xray15/commi...6d33d9b05259a2d

нужно ещё где-то править, ибо с ней при конверте тга в ддс через сдк:


без неё:


CODE

Ещё в tPixel.h есть ошибка:

inline int operator == (const fpPixel& v1, const fpPixel& v2)
{
return
v1.a == v2.a &&
v1.r == v2.r &&
v1.b == v2.g && // здесь
v1.g == v2.b; //
}

И там же есть (в 3-х вариантах):

void SwapRB() // разрабы сами сделали фикс biggrin.gif
{

fpPixel * p = &m_pixels[0];
for(int i=0; i < m_width * m_height; i++ );
{

int r = p->r;
p->r = p->b;
p->b = r;
}
}

Перейти в начало страницы
 
Diesel
сообщение 06.08.2021, 01:20
Сообщение #4754


Почти Мастер
***********

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




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


abramcumner, вопрос на скрипты. ЧН 1.5 твоего разлива - не работает с логикой bak.
Давно я не тестировал сее творение, но по весне, там из за новых луа однако было страшно и печально одновременно.
Старую систему вернуть под визуалку 2019 я так думаю уже не возможно, но и с новой модить неприятно.

Тебе нужно как то адаптировать последнюю хотя бы логику bak для ЧН. Это сейчас очень востребовано, а без этого и люди будут стрематься от движка подальше.

Сообщение отредактировал Diesel - 06.08.2021, 01:25
Перейти в начало страницы
 
abramcumner
сообщение 06.08.2021, 12:51
Сообщение #4755


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




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


Цитата(Diesel @ 06.08.2021, 01:20) *
Давно я не тестировал сее творение, но по весне, там из за новых луа однако было страшно и печально одновременно.

А какого вида ошибки? Можешь выложить лог?
Перейти в начало страницы
 
Diesel
сообщение 06.08.2021, 12:56
Сообщение #4756


Почти Мастер
***********

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




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


abramcumner, не смогу в данный момент ( у меня вообще мало что осталось от Сталкера). Тебе проще самому проверить. Чистая ЧН, твой патч скриптов, логика bak.
Перейти в начало страницы
 
SamArt
сообщение 12.08.2021, 16:41
Сообщение #4757


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 4
Регистрация: 22.02.2019




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


Цитата(xrModder @ 13.08.2019, 22:51) *
Изменение движка для использования полноценных кубических карт неба, может кому-нибудь пригодится
В Environment_render.cpp заменить:
CODE
        {-1.f, -1.f, -1.f}, {-1.f, -1.01f, -1.f},     // down
{ 1.f, -1.f, -1.f}, { 1.f, -1.01f, -1.f}, // down
{-1.f, -1.f, 1.f}, {-1.f, -1.01f, 1.f}, // down
{ 1.f, -1.f, 1.f}, { 1.f, -1.01f, 1.f}, // down
{-1.f, 1.f, -1.f}, {-1.f, 1.f, -1.f},
{ 1.f, 1.f, -1.f}, { 1.f, 1.f, -1.f},
{-1.f, 1.f, 1.f}, {-1.f, 1.f, 1.f},
{ 1.f, 1.f, 1.f}, { 1.f, 1.f, 1.f},
{-1.f, 0.f, -1.f}, {-1.f, -1.f, -1.f}, // half
{ 1.f, 0.f, -1.f}, { 1.f, -1.f, -1.f}, // half
{ 1.f, 0.f, 1.f}, { 1.f, -1.f, 1.f}, // half
{-1.f, 0.f, 1.f}, {-1.f, -1.f, 1.f} // half
На:
CODE
        {-1.f, -1.f, -1.f}, {-1.f, -1.01f, -1.f},     // down
{ 1.f, -1.f, -1.f}, { 1.f, -1.01f, -1.f}, // down
{-1.f, -1.f, 1.f}, {-1.f, -1.01f, 1.f}, // down
{ 1.f, -1.f, 1.f}, { 1.f, -1.01f, 1.f}, // down
{-1.f, 1.f, -1.f}, {-1.f, 1.f, -1.f},
{ 1.f, 1.f, -1.f}, { 1.f, 1.f, -1.f},
{-1.f, 1.f, 1.f}, {-1.f, 1.f, 1.f},
{ 1.f, 1.f, 1.f}, { 1.f, 1.f, 1.f},
{-1.f, 1.f, -1.f}, {-1.f, 1.f, -1.f}, // half
{ 1.f, 1.f, -1.f}, { 1.f, 1.f, -1.f}, // half
{ 1.f, 1.f, 1.f}, { 1.f, 1.f, 1.f}, // half
{-1.f, 1.f, 1.f}, {-1.f, 1.f, 1.f} // half
Вертексы Skybox'а

* требуется пересобрать все используемые текстуры Skybox без растягивания:
Было
Стало


Спасибо, работает! biggrin.gif Только из-за этой правки я сел так основательно за визуалку. С 5 раза с Божьей помощью все скомпилировалось и заработало. Кривой скайбокс залогуспеха. laugh.gif Теперь надо будет переработать всё небо, но это уже дело макросов в Фотошопе. Вот прекрасный пример использования этой правки. Красыво имхо. ohmy.gif



Сообщение отредактировал SamArt - 12.08.2021, 16:42
Перейти в начало страницы
 
xrModder
сообщение 12.08.2021, 19:36
Сообщение #4758


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




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


SamArt, лучше используй вот этот код:
Код
        // Кубический SkyBox без нижней половины
        {-1.f, -1.f, -1.f}, {-1.f, -1.f, -1.f}, // down
        { 1.f, -1.f, -1.f}, { 1.f, -1.f, -1.f}, // down
        {-1.f, -1.f,  1.f}, {-1.f, -1.f,  1.f}, // down
        { 1.f, -1.f,  1.f}, { 1.f, -1.f,  1.f}, // down
        {-1.f,  1.f, -1.f}, {-1.f,  1.f, -1.f},
        { 1.f,  1.f, -1.f}, { 1.f,  1.f, -1.f},
        {-1.f,  1.f,  1.f}, {-1.f,  1.f,  1.f},
        { 1.f,  1.f,  1.f}, { 1.f,  1.f,  1.f},
        {-1.f,  0.f, -1.f}, {-1.f, -1.f, -1.f}, // half
        { 1.f,  0.f, -1.f}, { 1.f, -1.f, -1.f}, // half
        { 1.f,  0.f,  1.f}, { 1.f, -1.f,  1.f}, // half
        {-1.f,  0.f,  1.f}, {-1.f, -1.f,  1.f}  // half
или
Код
        // Кубический SkyBox
        {-1.f, -1.f, -1.f}, {-1.f, -1.f, -1.f}, // down
        { 1.f, -1.f, -1.f}, { 1.f, -1.f, -1.f}, // down
        {-1.f, -1.f,  1.f}, {-1.f, -1.f,  1.f}, // down
        { 1.f, -1.f,  1.f}, { 1.f, -1.f,  1.f}, // down
        {-1.f,  1.f, -1.f}, {-1.f,  1.f, -1.f},
        { 1.f,  1.f, -1.f}, { 1.f,  1.f, -1.f},
        {-1.f,  1.f,  1.f}, {-1.f,  1.f,  1.f},
        { 1.f,  1.f,  1.f}, { 1.f,  1.f,  1.f},
        {-1.f,  1.f, -1.f}, {-1.f,  1.f, -1.f}, // full
        { 1.f,  1.f, -1.f}, { 1.f,  1.f, -1.f}, // full
        { 1.f,  1.f,  1.f}, { 1.f,  1.f,  1.f}, // full
        {-1.f,  1.f,  1.f}, {-1.f,  1.f,  1.f}  // full

Тут координаты точные.

Для полной красоты можно убрать несколько проверок "высоты" Солнца (Луны) для вращения по кругу, добавить вращение скайбокса по вертикали и вращение облаков по горизонтали.
Перейти в начало страницы
 
Pavel_Blend
сообщение 25.08.2021, 17:21
Сообщение #4759


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

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




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


В шапке темы есть мёртвая ссылка на правленый движок 1.0007 от KD и Alpet (xp_dev). Я этот движок нашёл на github:
github.com/xer-urg/xp-dev_xray

У меня есть скомпилированная версия этого движка, но не последней версии. У меня билд 5578 за 14 мая 2014. А последний коммит на гитхабе за 13 августа 2016.

Как можно скомпилировать последний коммит? У меня в VS 2019 ошибки. Мне нравится эта версия движка из-за того, что включены команды g_god, g_unlimitammo. И нет правок, которые изменят ТЧ и ТЧ уже не будет ТЧ. То есть максимально каноничный движок.

Или может в сети есть уже скомпилированная последняя версия?

Сообщение отредактировал RayTwitty - 27.08.2021, 00:16
Причина редактирования: обновил ссылку на указанное репо


--------------------
Перейти в начало страницы
 
Pavel_Blend
сообщение 28.08.2021, 14:19
Сообщение #4760


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

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




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


Цитата(Pavel_Blend @ 25.08.2021, 17:21) *
Как можно скомпилировать последний коммит?

получилось скомпилировать в visual studio 2010. Только пришлось заменить библиотеки xrSound.dll и xrParticles.dll, так как были ошибки и некорректная работа.

Залил в релизы:
github.com/PavelBlend/xp-dev_xray

Но работоспособность не гарантирую, так как я первый раз компилировал движок и не знаю си++. У себя вылетов пока не заметил. Вроде бы корректно всё скомпилировалось.


--------------------
Перейти в начало страницы
 
sergy172
сообщение 28.08.2021, 16:20
Сообщение #4761


Босс
********************

Репутация:   447  
Группа: Участник
Сообщений: 4295
Награды: 6
Регистрация: 07.06.2008




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


Может кто нибудь помочь восстановить блеск поверхностей в шейдере\шейдерах Return to castle Wolfenstein?
Стандартный "блеск металла", такой же как Кваке3 если кто помнит (в самой Кваке, не проверял), и прочих поверхностей, с какого то времени не работает на картах Нвидиа.
Один человек это вроде как восстановил, но с одним жирнющим НО.
Делал он это для своего мода Веном и прописал в шейдер кучу, отсутствующих в оригинале текстур.
Может кто нибудь убрать лишнее из его шейдера или ещё лучше, переместить решение в оригинальный?
Если я правильно разобрался, то основная часть "отражений" содержится в walls.shader, но возможно и в других тоже.
По ссылке, sp_vpak7.pk3 с модифицированными шейдерами и соответственно sp_vpak7_old_original.pk3 с оригинальными из pak0.pk3 ГОГовского Return to castle Wolfenstein.
https://drive.google.com/drive/folders/1meX...kMH?usp=sharing


--------------------
...Где каждый в душе великий Кобзон,
А на деле банальный Сид Вишес...
Моя Музыка Наша Музыка
Самый последний Косметик мод
В контакте ЛаЖа Facebook
Я плюс... Потому что я плюс. (с) Дрянь Тань Ян из провинции Гас Коу Ань.
Никакой справедливости нет, все законы работают не правильно, месть разрушительна и бесперспективна, правда у каждого своя, разум вообще больной. Остаётся жить любовью? Это был риторический вопрос.
Перейти в начало страницы
 

242 страниц V  « < 236 237 238 239 240 > » 
Ответить в данную темуНачать новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 25.04.2024, 01:42