ui/styles testing
Функция ui/styles (помещение альтернативных ХУДов в папку для легкой смены через настройки) не дает ожидаемых результатов на широкоформатном мониторе.
Общие проблемы: -Интерфейс "растягивается", возможно движок не читает .ltx файлы предназначенные для широких мониторов.
Пример №1: Перенос интерфейса ЧН напрямую из оригинальной игры (лёгкий перенос основных элементов, без адаптации. Перенос всех ui файлов ЧН дает мгновенный вылет что вполне натурально.)

-Миникарта и индикаторы видимости/звука остаются от оригинального интерфейса ЗП. То есть, круглые. -Шкала радиации не совпадает с картинкой. -Значки аномальных угроз справа светятся дефолтным радиоактивным знаком из-за их неиспользования -"Стрелка" шкалы радиации не шевелится когда игрок находится в источнике, в отличие от оригинала ЧН
Пример №2: Сравнение одинакового ХУДа в корневой папке ui и ui/styles
Вставление своего ХУДа в ui
-Все работает как надо
Теперь переносим в ui/styles. Просто копируем всю папку.
-Интерфейс заметно растянулся
-Миникарта сменила координаты под настройки 4:3
Проблемы из примера №2 исправил.
Проблемы из первого примера такие:
- Ты недоперенёс некоторые файлы.
- Значки аномальных угроз, скорее всего, не работают из-за того, что для них нет текстур и/или не хватает textures_descr.
- Круглая миникарта зашита в движке и я пока не придумал умного метода определения какую именно миникарту надо рисовать. (круглую или квадратную)
Кстати о UI, добавить возможность выравнивать текст по ширине (как justify в html), восстановить альфа-канал для видео роликов.
@xrModder создай, пожалуйста, отдельный issue на этот счёт, потому что эта тема только про систему стилей. 😃
- Круглая миникарта зашита в движке и я пока не придумал умного метода определения какую именно миникарту надо рисовать. (круглую или квадратную)
Возможное решение: добавить новый xml-ключ к zonemap типа type="round" и type="square"
@xrModder создай, пожалуйста, отдельный issue на этот счёт, потому что эта тема только про систему стилей.
Как скажешь.
Спасибо за добавление функции рестарта ui, крайне удобная вещь. Инвентарь теперь работает как по маслу, не плющится. Но несколько проблем ещё есть, сделал видео с интерфейсами в папке styles.
https://cdn.discordapp.com/attachments/395914970782760971/683530049718452293/ui_styles.webm
Пример №1 - Обычный HUD Пример №2 - Обычный HUD но в папке styles, при использовании растягивается Пример №3 - Прямой порт UI ЧН. В отличии от прошлого раза теперь motion icon из ТЧ включая шкалу выносливости Пример №4 - Пользовательский худ со своей текстурой и пути к ней. Движок не признает текстуру и использует дефолтную
Тестировалось на конфигурации Release.
- Да
- 16:9 не видит и включает 4:3. Странно. Попробую разобраться, почему так происходит.
- С motion icon из ТЧ такая же проблема, как и с круглой миникартой. Это зашито в движке и здесь я тоже ещё не придумал умного метода, который будет показывать motion icon только тогда, когда надо. Так как эти две проблемы не просто похожи, но ещё и связаны, то, пока что, возможно стоит попробовать круглую миникарту от ЗП, только с текстурой под стиль ЧН. :)
- Да, не весь UI полностью перезагружается. Это будет дорабатываться.
P.S. Чтобы не вводить постоянно ui_restart вручную, ты можешь в ui_mm_opt.xml заменить у опции стиля depend="restart" на depend="ui". Сейчас там стоит обычный restart потому что ui_restart ещё немного недоработан.
@Xottab-DUTY, не подскажешь как перенести круглую миникарту на ТЧ?
@xrModder, просто скопировать класс CUIMiniMap из ЗП. Потом, там надо будет сделать, чтобы метки тоже по кругу рисовались, а не по квадрату. Но, я пока ещё не нашёл где это управляется.
16:9 не видит и включает 4:3. Странно. Попробую разобраться, почему так происходит.
Не смог воспроизвести. Так не должно происходить. Попробуй проверить ещё раз.
С motion icon из ТЧ такая же проблема, как и с круглой миникартой. Это зашито в движке и здесь я тоже ещё не придумал умного метода, который будет показывать motion icon только тогда, когда надо. Так как эти две проблемы не просто похожи, но ещё и связаны, то, пока что, возможно стоит попробовать круглую миникарту от ЗП, только с текстурой под стиль ЧН. :)
Motion icon всё ещё захардкоден, но миникарту я исправил. Теперь движок сам определяет, когда нужно рисовать квадратную, а когда круглую.
Да, не весь UI полностью перезагружается. Это будет дорабатываться.
Теперь всё самое нужное должно перезагружаться. Разве что, по мелочи некоторые элементы всё ещё не перезагружаются. Тоже будет доделываться.
@Chocohex, привет. Можешь потестить со свежей версией движка и сказать, чего не хватает, где багует или всё работает хорошо?
Спасибо за добавление функции рестарта ui, крайне удобная вещь. Инвентарь теперь работает как по маслу, не плющится. Но несколько проблем ещё есть, сделал видео с интерфейсами в папке styles.
cdn.discordapp.com/attachments/395914970782760971/683530049718452293/ui_styles.webm
Пример №1 - Обычный HUD Пример №2 - Обычный HUD но в папке styles, при использовании растягивается Пример №3 - Прямой порт UI ЧН. В отличии от прошлого раза теперь motion icon из ТЧ включая шкалу выносливости Пример №4 - Пользовательский худ со своей текстурой и пути к ней. Движок не признает текстуру и использует дефолтную
Тестировалось на конфигурации Release.
Я, вот, не помню, поправил ли я все моменты здесь или нет.
Большинство багов по стилям уже починены и с системой стилей теперь можно взаимодействовать из Lua. Даже если остались какие-то баги, которые упомянуты тут, но не исправлены – всё равно закрою эту ишью, для уменьшения количества старых ишью :) А баги, рано или поздно, починятся)