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

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

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

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

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

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


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

Репутация:   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  « < 122 123 124 125 126 > »   
Начать новую тему
Ответов
ForserX
сообщение 25.04.2017, 16:04
Сообщение #2462


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

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




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


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

Цитата
# New player created.
* next key generated (seed=0x000010e2):eaf7c1afbb3a914ee2f64b9fab97559b6b3d695d7c2e111947e09f141233fd
4fa8fcd424569b6d49e3fcf9390f4fecb7e520ad4683e529554092f506c5231c29710b3135deed43
a
df465b0d398d6967c352bc617d20f61f32a77652b19b8cdaa
* next key generated (seed=0x000010e2):eaf7c1afbb3a914ee2f64b9fab97559b6b3d695d7c2e111947e09f141233fd
4fa8fcd424569b6d49e3fcf9390f4fecb7e520ad4683e529554092f506c5231c29710b3135deed43
a
df465b0d398d6967c352bc617d20f61f32a77652b19b8cdaa
* Sending profile data
* client : connection accepted - <All Ok>
--- net_start_client3: level_id [4], level_name[stohe_selo], level_version[1.0]
* phase time: 248 ms
* phase cmem: 451408 K
* phase time: 75 ms
* phase cmem: 451408 K

stack trace:
0x00007FFDF462C630 , memmove() + 768 byte(s)


Сообщение отредактировал Forser - 25.04.2017, 16:05


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

В армии по 01.07.2020.
Перейти в начало страницы
 
abramcumner
сообщение 25.04.2017, 16:25
Сообщение #2463


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

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




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


Цитата(Forser @ 25.04.2017, 16:07) *
Тааааакс, идём дальше. Пересобрал движок, скрипты работают, но вылезла очень интересная ошибка при загрузке игры.
Цитата

stack trace:
0x00007FFDF462C630 , memmove() + 768 byte(s)


Ты релиз что ли запускаешь? Что стектрейсы такие куцые?
Перейти в начало страницы
 
ForserX
сообщение 25.04.2017, 16:36
Сообщение #2464


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

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




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


Цитата(abramcumner @ 25.04.2017, 16:28) *
Ты релиз что ли запускаешь? Что стектрейсы такие куцые?

Mixed


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

В армии по 01.07.2020.
Перейти в начало страницы
 
abramcumner
сообщение 25.04.2017, 16:44
Сообщение #2465


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

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




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


Запускал бы Debug под отладчиком.
Перейти в начало страницы
 
ForserX
сообщение 25.04.2017, 17:04
Сообщение #2466


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

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




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


Цитата(abramcumner @ 25.04.2017, 16:48) *
Запускал бы Debug под отладчиком.

С этим у меня тяжёлая ситуация, есть тут одно подозрение, если не выйдет - придётся юзать дебаггер.

---
Цитата
FATAL ERROR

[error]Expression : fatal error
[error]Function : CLevel::Load_GameSpecific_CFORM
[error]File : Level_load.cpp
[error]Line : 218
[error]Description : <no expression>
[error]Arguments : Game material '1' not found

А, ну вот и вылезло.

---
Нашёл...

Сообщение отредактировал Forser - 25.04.2017, 17:11


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

В армии по 01.07.2020.
Перейти в начало страницы
 
ForserX
сообщение 25.04.2017, 17:35
Сообщение #2467


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

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




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





Что ещё поправить в xrCDB?


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

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


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

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




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


Кажись понял в чём дело, вопрос пока снят...


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

В армии по 01.07.2020.
Перейти в начало страницы
 
Карлан
сообщение 25.04.2017, 22:30
Сообщение #2469


Геймер
******

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




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


7.9, да не, связи между оптимизацией и экспортом никакой нет, ты вообще о драгдропе или о листбоксе с картинками? какой прорыв то они могут дать? а скриптовые реализации все уже видели к чему приводят smile.gif. драгдроп выгонять ты офигеешь, это прям если очень сильно надо скриптерам, я попробовал и забил, в совокупности проще и быстрее в движке делать темплейты и выгонять их в скрипты если так уж приспичило, но лучше в движке все большое сразу верстать (функционал можно вытягивать, вплоть до человеческого экспорта через пространство имен например).

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

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

Сообщение отредактировал Карлан - 25.04.2017, 22:33


--------------------
Перейти в начало страницы
 
7.9
сообщение 25.04.2017, 23:42
Сообщение #2470


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

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




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


Две стороны вопроса: дизайнерская и технологическая.

Дизайнерская: дизайнерам нужен список как в инвентаре - "список" из иконок. Это и даст (возможно) "прорыв" в дизайне интерфейсов.Драг-дроп -- не так-уж и важен...

Технологическия: ... А здесь мне и сказать особо нечего - не компетентен. Возможно надо делать как делали разработчики движка -- продолжая их тактику (что логично) - несколько дополнительных классов, функций и конфигов, в том-же стиле, "GUI-либа" в общем... Скорость работы интерфейса конечно важна.

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

Есть такой "калькулятор", ACalc назвали. Хоть в его создании я принимал участие - у меня его сейчас нет, но где-то наверняка есть ссылки. Он пересчитывает параметры из xml-файлов из того, что есть в (любые) нужные разрешения. То-есть - формула есть.

Ссылку нашёл (спасибо РедПитону).

Сообщение отредактировал 7.9 - 25.04.2017, 23:54


--------------------
Всё легко, но все хлюпики.
Перейти в начало страницы
 
Карлан
сообщение 26.04.2017, 00:53
Сообщение #2471


Геймер
******

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




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


в инвентаре драгдроп, в этом классе есть и список из иконок (другим классом делается). в чем прорыв я так и не понял, поясни на примере.

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

да я и не про добавления говорю, а про переделывание того что есть, расчет этих координат это опять же дело формулы, как ты верно заметил, а эти все калькуляторы опять время жрут, зачем сидеть за калькулятором, когда это сразу кодом можно высчитать, текстуры тут для облегчения можно нарисовать под более распространенные форматы (4/3, 16/9), а потом их уже дотягивать до 5/4 или 16/10 или еще что-нибудь. у меня какие-то там приблуды и работают, одна настройка подходит под три разрешения (на которых я долго тестировал), движок сам понимает шф или нет и там делит/умножает, существенно сокращается время настройки этих данных, но проблема с текстурами никуда не девается, нужно либо несколько текстур, либо одна большая, которую можно ресайзить без потери качества.

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

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


--------------------
Перейти в начало страницы
 
Winsor
сообщение 26.04.2017, 08:48
Сообщение #2472


Геймер
******

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




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


Да, возился. отличий особых между ТЧ и ЗП я не заметил. да, оптимизированы некоторые куски кода, некоторые классы называются немного по другому. переделан механизм работы с мультистрочным текстом - но чтобы это ускорило как то особо UI - я бы не сказал, более важное, наверное - появился UIRender.
Но после своих извращений над UI ТЧ я бы не сказал что оно медленное. Для ускорения работы самый лучший вариант - это как предлагали - делать темплейты в движке, в скрипты уже экспортировать готовые блочные решения. я не говорю что UI хорошее - нет. надо что-то делать с фокусом дочерних элементов, надо что-то делать с Z-уровнями (коих просто нет), что-то с окнами наподобие хинтов. но все это надо переделывать именно с нуля , с базовых классов. но зная эти проблемы - можно пойти на некоторые ухищрения (на которые шли сами ПЫСы, если посмотреть код скриптов - это очень заметно smile.gif ), которые позволяют обходить эти баги и при этом прекрасно пользоваться UI без коренной переделки. например, частичное портирование механизма подсветки итемов в инвентаре из ЗП не привело к падению производительности. был даже сделан вывод состояния предмета на иконку с поддержкой конфига xml (в ЗП он статичный, меняется только в исходниках) - после некоторых издевательств над кешированием параметров - скорость отрисовки выросла очень и очень.
Цитата(Карлан @ 26.04.2017, 00:57) *
да я и не про добавления говорю, а про переделывание того что есть, расчет этих координат это опять же дело формулы, как ты верно заметил, а эти все калькуляторы опять время жрут, зачем сидеть за калькулятором, когда это сразу кодом можно высчитать, текстуры тут для облегчения можно нарисовать под более распространенные форматы (4/3, 16/9), а потом их уже дотягивать до 5/4 или 16/10 или еще что-нибудь. у меня какие-то там приблуды и работают, одна настройка подходит под три разрешения (на которых я долго тестировал), движок сам понимает шф или нет и там делит/умножает, существенно сокращается время настройки этих данных, но проблема с текстурами никуда не девается, нужно либо несколько текстур, либо одна большая, которую можно ресайзить без потери качества.

я пошел другим путем - я научил движок распознавать 21 мониторы и читать конфиги UI *_21.xml и отдал дизайнерам (людям с чувством прекрасного). а они уже изменили конфиг так, чтобы он красиво смотрелся на каждом мониторе. в движке никакой статической привязки, все отдано в конфиги, надо просто гарантировать загрузку правильного smile.gif

Сообщение отредактировал Winsor - 26.04.2017, 08:51
Перейти в начало страницы
 
Карлан
сообщение 26.04.2017, 12:34
Сообщение #2473


Геймер
******

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




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


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

uirender никакого отношения к производительности не имеет, этот вариант я давно проверил (некоторые моменты пысовского рефакторинга (не связанные с uirender) у меня работают, но что-то там я прироста не наблюдаю). а все эти темплейты, скриптовые "ухищрения" это борьба со следствием, локальная оптимизация о которой я и говорил.

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

с чего думал начинать коренную переделку? какие мысли по архитектуре окон при стандартном дизайне? зпшную архитектуру тестил?


--------------------
Перейти в начало страницы
 
7.9
сообщение 26.04.2017, 15:33
Сообщение #2474


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

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




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


Цитата(Карлан)
в инвентаре драгдроп, в этом классе есть и список из иконок (другим классом делается).

Подскажи, каким "другим классом"?
Из скриптов доступно?

Сообщение отредактировал 7.9 - 26.04.2017, 15:34


--------------------
Всё легко, но все хлюпики.
Перейти в начало страницы
 
Карлан
сообщение 26.04.2017, 17:07
Сообщение #2475


Геймер
******

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




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


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

еще такой вопрос, на зп или тч кто-то писал реализацию fillvetricies для 3 и 4 скиннингов? в тч там просто неиспользуется, а в зп вообще грохнуто. единственный ощутимый затык при замене скелетов в тч на зп вариант чтобы все тянуть на уровне копипасты, либо опять резать контент, да и если тч модели поднимать на уровень засовывая туда все эти нанотехнологии, то опять же нужны эти функции будут.


--------------------
Перейти в начало страницы
 
mortan
сообщение 26.04.2017, 18:53
Сообщение #2476


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

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




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


блин, если кто-то рискнёт заниматься ui то это будет просто классно - было бы неплохо обновить функционал и стабильность. Например частый ресайз элементов приводит в вылетам:
Картинка

Вот как-то раз захотелось сделать ресайз под размер итема - минуты 2-3 работы такого инва и получаем вылет)
Перейти в начало страницы
 
Winsor
сообщение 27.04.2017, 09:01
Сообщение #2477


Геймер
******

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




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


Цитата(Карлан @ 26.04.2017, 12:38) *
а что не так с фокусом дочерних элементов, з-уровнями (а зачем они?) и что за окна на подобие хинтов? в зп этих хинтов по моему и так дофига, вот я выше как раз и написал на ходу идею о прикреплении таких окон, чтобы в хинт можно было элементы управления засовывать. в любом случае это все мишура, нового оно ничего не даст.

с чего думал начинать коренную переделку? какие мысли по архитектуре окон при стандартном дизайне? зпшную архитектуру тестил?

по фокусу - попробуй создать несколько комбобоксов подряд вертикально, причем по координатам последний - самый верхний. выпадающее окно списка будет открываться позади всех следующих элементов. второе - те же комбобоксы, созданые "правильно", под ним какой нибудь список - открыть комбобокс и "поездить" мышкой - видно как фокус (событие mousemove) "проваливается" через бокс, при этом в движке чего бы я не делал... и с SetCapture игрался и с (On)MouseEvent - победить так и не удалось, косяк где то глубоко спрятан, либо не там искал. ну и еще есть пару косяков некрасивых с "проваливающимися" событиями.
з-уровни как раз и нужны для нормальной обработки событий, для правильной отрисовки динамических элементов...
в хинт "засовывать" элементы я планирую в ближайшее время, уже есть пару задач smile.gif
зпшную архитектуру тестил? - нет, работаю на ТЧ. а в чем принципиальное отличие?
с чего думал начинать коренную переделку? - планировал разделить все таки рендеры "основного окна" и UI. пока только мысли.
Перейти в начало страницы
 
GermanAizek
сообщение 27.04.2017, 11:56
Сообщение #2478


Игрок
***

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




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


Каспер, ты где ведешь перенос проекта ле? Может у тебя есть репа.
Перейти в начало страницы
 
Карлан
сообщение 27.04.2017, 14:53
Сообщение #2479


Геймер
******

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




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


Цитата(Winsor @ 27.04.2017, 10:05) *
выпадающее окно списка будет открываться позади всех следующих элементов. второе - те же комбобоксы, созданые "правильно", под ним какой нибудь список - открыть комбобокс и "поездить" мышкой - видно как фокус (событие mousemove) "проваливается" через бокс, при этом в движке чего бы я не делал... и с SetCapture игрался и с (On)MouseEvent - победить так и не удалось, косяк где то глубоко спрятан, либо не там искал. ну и еще есть пару косяков некрасивых с "проваливающимися" событиями.

ничего удивительного тут нет, я такие классы перепиливаю по требованию, но и ошибка не в кривости этого класса, а в том что ты не то делаешь. в сталкере обновление элементов делается вручную, ты походу надеешся на чудо.

Цитата(Winsor @ 27.04.2017, 10:05) *
з-уровни как раз и нужны для нормальной обработки событий, для правильной отрисовки динамических элементов...

давай на примере, что за нормальная обработка событий? чем сейчас не нормальная? что за динамические элементы? чем сейчас динамические не нравятся?

Цитата(Winsor @ 27.04.2017, 10:05) *
зпшную архитектуру тестил? - нет, работаю на ТЧ. а в чем принципиальное отличие?

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

Цитата(Winsor @ 27.04.2017, 10:05) *
с чего думал начинать коренную переделку? - планировал разделить все таки рендеры "основного окна" и UI. пока только мысли.

зачем? впрочем я так и не понял что у тебя "основное окно", а что ui, и чем одно от другого отличается.


--------------------
Перейти в начало страницы
 
RedMagic
сообщение 27.04.2017, 15:55
Сообщение #2480


Высший Игровой Бог
************************

Репутация:   1747  
Группа: Супермодератор
Сообщений: 12594
Награды: 15
Регистрация: 05.11.2009




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


Цитата(Карлан @ 26.04.2017, 00:57) *
расчет этих координат это опять же дело формулы, как ты верно заметил, а эти все калькуляторы опять время жрут, зачем сидеть за калькулятором, когда это сразу кодом можно высчитать

Обычно это делают рады простоты/удобства кода. Расчет положения UI элементов не такая уже и затратная операция, поэтому экономить на спичечных головках нету смысла.

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


--------------------
Перейти в начало страницы
 
mortan
сообщение 27.04.2017, 16:34
Сообщение #2481


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

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




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


Вопрос по openxray - он ещё жив и стоит ли вообще качать и собирать последнюю версию? Будут ли с этим сложности ( нехватка либ, несовместимость с оригинальными ресурсами игры)? В последний раз когда пробовал - оно не собиралось, да и сборка через батник не есть гуд(
Перейти в начало страницы
 

242 страниц V  « < 122 123 124 125 126 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



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