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

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

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

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

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

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


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

Репутация:   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  « < 148 149 150 151 152 > »   
Начать новую тему
Ответов
abramcumner
сообщение 14.11.2017, 09:02
Сообщение #2982


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

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




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


Цитата(KrivoRuk @ 14.11.2017, 08:55) *
А у меня VS2017, а проект под VS2013 ..?

Ну ты же не используешь компилятор VS2012? Там нет 64-разрядного компилятора, с 2013 появился.
Или лучше переключи проекты на 2017 - там точно работает.

Сообщение отредактировал abramcumner - 14.11.2017, 09:05
Перейти в начало страницы
 
KrivoRuk
сообщение 14.11.2017, 15:12
Сообщение #2983


Игрок
***

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




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


Цитата(abramcumner @ 14.11.2017, 09:02) *
Или лучше переключи проекты на 2017 - там точно работает.

Не выходит - сыпятся ошибки в коде.(
В общем - кроме отключения оптимизации ничего не помогает.
Перейти в начало страницы
 
Xottab_DUTY
сообщение 14.11.2017, 18:51
Сообщение #2984


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

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




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


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


--------------------
OpenXRay – Ориентир на новое, с памятью о старом. © Collector
Перейти в начало страницы
 
aka_sektor
сообщение 15.11.2017, 21:55
Сообщение #2985


Грандмастер
**************

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




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


А вот в ТЧ двиге есть такой код:
Код
if(strstr(Core.Params,"designer"))    
{
    CMD1(CCC_DR_TakePoint,        "demo_record_take_point");
    CMD1(CCC_DR_ClearPoint,        "demo_record_clear_points");
    CMD4(CCC_DR_UsePoints,        "demo_record_use_points",    &g_bDR_LM_UsePointsBBox, 0, 1);
    CMD4(CCC_DR_UsePoints,        "demo_record_4step",        &g_bDR_LM_4Steps, 0, 1);
    CMD4(CCC_DR_UsePoints,        "demo_record_step",            &g_iDR_LM_Step, 0, 3);
}


Если в игре, в консоли ввести help, там таких нету. Они не работают выходит в релизе?


--------------------


Те кто играют уже не забудут ​​​​​​​© Алексей Сытянов
Перейти в начало страницы
 
macron
сообщение 15.11.2017, 22:08
Сообщение #2986


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

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




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


Цитата(aka_sektor @ 15.11.2017, 21:55) *
if(strstr(Core.Params,"designer"))

А ты сначала добавь в батник запуска параметр -designer и проверь.
Перейти в начало страницы
 
ForserX
сообщение 15.11.2017, 22:14
Сообщение #2987


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




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


Цитата(macron @ 15.11.2017, 22:08) *
designer

Без минуса.


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
macron
сообщение 15.11.2017, 22:19
Сообщение #2988


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

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




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


Цитата(nflaming @ 15.11.2017, 22:14) *
Без минуса.

Без разницы.
Перейти в начало страницы
 
Zagolski
сообщение 18.11.2017, 20:47
Сообщение #2989


Почти Игроман
*********

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




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


Включение HT на CPU (i7-2600K @4400 MHz) дает совсем малую прибавку в скорости при компиляции xrGame.dll: 737 против 700 сек, т.е. около 5%. С /MP, разумеется.

Сообщение отредактировал Zagolski - 18.11.2017, 20:55
Перейти в начало страницы
 
ForserX
сообщение 18.11.2017, 21:41
Сообщение #2990


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




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


Кто-то мерцающий текст на x64 исправлял?

Цитата(Zagolski @ 18.11.2017, 20:47) *
Включение HT на CPU (i7-2600K @4400 MHz) дает совсем малую прибавку в скорости при компиляции xrGame.dll: 737 против 700 сек, т.е. около 5%. С /MP, разумеется.

Если провести ряд работ по оптимизации сборки xrGame, можно добиться большего.


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
KrivoRuk
сообщение 21.11.2017, 10:36
Сообщение #2991


Игрок
***

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




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


Доброго времени суток. Ув. двигоправы, такой вопрос: вот мы имеем в гл.меню статическую картинку/заставку, в конфиге выглядит так:
Код
    <background x="0" y="0" width="1024" height="768">
        <auto_static x="0" y="0" width="1024" height="768" stretch="1">
            <texture x="0" y="0" width="1920" height="1080">ui\ui_background_new</texture>
        </auto_static>
    </background>

Вместо текстуры стоит видео(ogm) на весь экран, вот xотелось бы "впилить" сюда <random>, ну т.е. чтоб использовать на подобии, как рандомная музыка в гл.меню, что-то на подобии этого:
Код
    <background x="0" y="0" width="1024" height="768">
        <auto_static x="0" y="0" width="1024" height="768" stretch="1" random="0">
                <texture x="0" y="0" width="1920" height="1080">ui\ui_background_new_0</texture>
                <texture x="0" y="0" width="1920" height="1080">ui\ui_background_new_1</texture>
                <texture x="0" y="0" width="1920" height="1080">ui\ui_background_new_2</texture>
        </auto_static>
    </background>

Что-то вроде "динамической смены заставки гл.меню". Как я понял - надо смотреть в "xrGame\ui\UIXmlInit.cpp" функция:
Код
void CUIXmlInit::InitAutoStaticGroup(CUIXml& xml_doc, LPCSTR path, int index, CUIWindow* pParentWnd)
{
    XML_NODE* _stored_root                = xml_doc.GetLocalRoot();
    xml_doc.SetLocalRoot                (xml_doc.NavigateToNode(path,index));

    XML_NODE* curr_root                    = xml_doc.GetLocalRoot();
    if(!curr_root)
            curr_root                    = xml_doc.GetRoot();
    
    XML_NODE* node                        = curr_root->IterateChildren(NULL);
    int cnt_static                        = 0;
    int cnt_frameline                    = 0;
    int cnt_text                        = 0;
    string512                            buff;

    while(node)
    {
        LPCSTR node_name            = node->Value();
        if(0==stricmp(node_name,"auto_static"))
        {
            CUIStatic* pUIStatic        = xr_new<CUIStatic>();
            InitStatic                    (xml_doc, "auto_static", cnt_static, pUIStatic);
            xr_sprintf                    (buff,"auto_static_%d", cnt_static);
            pUIStatic->SetWindowName    (buff);
            pUIStatic->SetAutoDelete    (true);
            pParentWnd->AttachChild        (pUIStatic);

            ++cnt_static;
        }else
        if(0==stricmp(node_name,"auto_frameline"))
        {
            CUIFrameLineWnd* pUIFrameline = xr_new<CUIFrameLineWnd>();
            InitFrameLine                (xml_doc, "auto_frameline", cnt_frameline, pUIFrameline);
            xr_sprintf                    (buff,"auto_frameline_%d", cnt_frameline);
            pUIFrameline->SetWindowName    (buff);
            pUIFrameline->SetAutoDelete    (true);
            pParentWnd->AttachChild    (pUIFrameline);

            ++cnt_frameline;
        }else
        if(0==stricmp(node_name,"auto_text"))
        {
            ++cnt_text;
        }
        node                        = curr_root->IterateChildren(node);
    }
    xml_doc.SetLocalRoot                (_stored_root);
}

Или в другом месте копать? А то я тут не соображу, как сюда "внедрить" этот <random="0">..
П.С.: платформа ЗП(CoC_1.5_R6).

Перейти в начало страницы
 
abramcumner
сообщение 21.11.2017, 11:58
Сообщение #2992


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

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




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


Цитата(KrivoRuk @ 21.11.2017, 10:36) *
Или в другом месте копать? А то я тут не соображу, как сюда "внедрить" этот <random="0">..

Ну по логике надо копать глубже: открывать CUIStatic, там делать загрузку нескольких текстур и рандомный показ.
Ну или сделать обычный статик с именем, явную инициализацию с id и менять текстуру в mainmenu.script
Перейти в начало страницы
 
Trollz0r
сообщение 23.11.2017, 16:05
Сообщение #2993


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

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




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


Цитата(nflaming @ 10.11.2017, 09:31) *
Ты о дебаггере или lua_studio?
---->
Цитата(nflaming @ 10.11.2017, 13:47) *
Всё, что касается Луа - не помню.



Ок, кто-нибудь может рассказать, как использовать lua studio совместно с ЧН/ЗП движком?

И чем она лучше старой script ide?


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
ForserX
сообщение 30.11.2017, 23:11
Сообщение #2994


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




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


Итак, время глупых вопросов. Неизвестно когда полетело скрытие худовой модели при зуме. Как я понял за это должен был отвечать RenderHud(false). Итак вопрос, как это работало в оригинале и есть ли какие-нибудь способы скрыть худовый рендер ствола, оставив при этом его активным?

Цитата(RedPython @ 23.11.2017, 16:05) *
Ок, кто-нибудь может рассказать, как использовать lua studio совместно с ЧН/ЗП движком?

Макросс при компиляции выстави.

#Shoкer_Sin_RTwitty_Придите

Сообщение отредактировал nflaming - 30.11.2017, 23:44


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
Молния в вакууме
сообщение 30.11.2017, 23:39
Сообщение #2995


Почти Игроман
*********

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




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


В ТЧ движок для рендеринга некоторых эффектов обращался к RCache напрямую, в ЧН добавили DX10 и так стало делать нельзя.
Казалось бы, нужно добавить в интерфейс рендера функции, с помощью которых можно было реализовать всё что нужно, но нет,
ПЫС перенесли код отрисовки этих эффектов в рендер, добавили интерфейсы и фабрику. Но почему-то не для всех, трассеры от пуль рисуются UIRender'ом. Почему так сделали?
Перейти в начало страницы
 
Diesel
сообщение 30.11.2017, 23:46
Сообщение #2996


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

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




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


Цитата(saas @ 01.12.2017, 01:39) *
Но почему-то не для всех, трассеры от пуль рисуются UIRender'ом. Почему так сделали?

Потому что несколько видов. В режиме худ, трассеры летят из центра экрана. А для второго вида это не надо. Наверно, что бы было отключение рендера трассеров совместно с отключением рендера худа.

Сообщение отредактировал andreyholkin - 30.11.2017, 23:51
Перейти в начало страницы
 
Молния в вакууме
сообщение 01.12.2017, 00:53
Сообщение #2997


Почти Игроман
*********

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




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


Цитата(andreyholkin @ 30.11.2017, 23:46) *
Цитата(saas @ 01.12.2017, 01:39) *
Но почему-то не для всех, трассеры от пуль рисуются UIRender'ом. Почему так сделали?

Потому что несколько видов. В режиме худ, трассеры летят из центра экрана. А для второго вида это не надо. Наверно, что бы было отключение рендера трассеров совместно с отключением рендера худа.

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

Да и вопрос немного не про это.
Перейти в начало страницы
 
Diesel
сообщение 01.12.2017, 01:06
Сообщение #2998


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

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




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


Цитата(saas @ 01.12.2017, 02:53) *
Да и вопрос немного не про это.

#Shoкer_Sin_RTwitty_Придите biggrin.gif
Перейти в начало страницы
 
SkyLoader
сообщение 01.12.2017, 01:50
Сообщение #2999


Почти Игроман
*********

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




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


Цитата(saas @ 30.11.2017, 23:39) *
Но почему-то не для всех, трассеры от пуль рисуются UIRender'ом. Почему так сделали?

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

Сообщение отредактировал SkyLoader - 01.12.2017, 01:59
Перейти в начало страницы
 
ForserX
сообщение 02.12.2017, 23:15
Сообщение #3000


Почти Игроман
*********

Репутация:   91  
Группа: Модератор
Сообщений: 516
Награды: 4
Регистрация: 19.07.2015




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


Тут такой забавно момент нашёл, когда МП чистил. В движке нет ассертов на клавиши в текстах. То есть: если вы хотите вывести, на какую клавишу забиндено то или иное действие и допустите ошибку в названии, словите исключение.

Сообщение отредактировал ForserX - 02.12.2017, 23:16


--------------------

В армии по 01.07.2020.
Перейти в начало страницы
 
RayTwitty
сообщение 02.12.2017, 23:29
Сообщение #3001


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

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




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


Цитата(KrivoRuk @ 21.11.2017, 10:36) *
Как я понял - надо смотреть в "xrGame\ui\UIXmlInit.cpp" функция:

Не только здесь - UIXmlInit просто читает xml и создает объект, передавая в конструктор (или через методы класса) прочитанные данные. То есть, таким образом производится первоначальная установка параметров.
Сама реализация различных фич, как правило, находится внутри конкретного класса. Тебе нужно написать код, который при инициализации окна будет запускать рандом, после чего искать и устанавливать текстуру по шаблону: <путь_до_текстуры>_<сгенерированное_число>.

Там кстати могут быть нюансы, насколько я помню, объекты в главном меню создаются один раз при старте игры. Тогда придется тоже самое делать на события показа меню (метод Show).


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

242 страниц V  « < 148 149 150 151 152 > » 
Ответить в данную темуНачать новую тему
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 



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