В текстуре ui_details.dds, есть две текстуры: ui_inGame2_combobox и ui_inGame2_combobox_linetext.
Обе текстуры являются в свою очередь ещё раз составными. Первая состоит из 9 частей, вторая из трёх. Используются они движком для опций главного меню в качестве выпадающих линий. Оказалось, весьма непросто понять смысл их работы.
Схема построения комбобокса:
1)<texture id="ui_inGame2_combobox_lt"x="700"y="0"width="5" height="5"/>
2)<texture id="ui_inGame2_combobox_l"x="700"y="5"width="5"height="40"/>
3)<texture id="ui_inGame2_combobox_lb"x="700"y="45"width="5"height="5"/>
4)<texture id="ui_inGame2_combobox_t"x="705"y="0"width="165"height="5"/>
5)<texture id="ui_inGame2_combobox_back"x="705"y="5" width="165"height="40"/>
6)<texture id="ui_inGame2_combobox_b"x="705"y="45"width="165"height="5"/>
7)<texture id="ui_inGame2_combobox_rb"x="870"y="0"width="1"height="5"/>
8)<texture id="ui_inGame2_combobox_r"x="870"y="5"width="1"height="40"/>
9)<texture id="ui_inGame2_combobox_rt"x="870"y="45"width="1" ="5"/>
1-4-7
2-5-8
3-6-9
linetext строится по тому же принципу, но уже из 3 частей
1-2-3
Подробно принцип разделения можно посмотреть в самом файле ui_details.xml, смысл в том, что из частей собирается вся текстура. Т.е. делится на 9 и на 3 части соответственно и расписывается.
Предположительно это было сделано ПЫСовцами для «защиты наработок» или же просто из вредности. Эти текстуры запрашиваются разными конфигурацинными файлами и судя по их типу, ясно что составлялось это в самом начале. Всвязи с этим и такой гемор видимо
===========================================================
align="c"
Этот параметр существует для текстовых выражений в окне с заданными размерами и отвечает за выравнивание текста по центру. Т.е. мы пишем текст «я хочу разобраться в сталкере », при добавлении этого параметра в строку с текстом, в этом окне будет найден центр, в котором будет расположен текст. При отсутствии параметра, отсчёт координат идёт от левого верхнего угла окна в котором вписан текст.
align="r"
С этим параметром выравнивание идёт по правому краю.
align="l"
С этим параметром выравнивание идёт по левому краю.
--------------------------------------------------------------------------------------------------------------------
vert_align="c"
Выравнивает по центу по вертикали. При отсутствии параметра выравнивает по верхнему краю
===========================================================
always_show_scroll="0"
Этот параметр отвечает за наличие отображения ленты прокручивания(скролл-бара). При параметре "0" или "false" будет отсутствовать. При параметре "1" или же отсутствии всей строки в общем, будет всегда отображаться
=====================================================================
<auto_static x="" y="" width="" height="" stretch="1">
<texture> </texture>
</auto_static>
Инструмент для создания статичной картинки. Вводим координаты (относительно) окна, в которое вставляем текстурку, её высоту и длину, если хотим задать свою. Если хотим использовать дефолтную, то нужны только координаты и путь до текстуры, или её название, если она является частью сборной.
=====================================================================
<auto_frameline x="" y="" width="" height="">
<texture> </texture>
</auto_frameline>
Инструмент для создания линии. Используется в составном виде.
Пример:
ui_inGame2_edit_box
<texture id="ui_inGame2_edit_box_b" x="700" y="0" width="5" height="50" />
<texture id="ui_inGame2_edit_box_back" x="705" y="0" width="160" height="50" />
<texture id="ui_inGame2_edit_box_e" x="865" y="0" width="5" height="50" />
=====================================================================
<button h="20"/>
Этот параметр отвечает за высоту кнопок с текстом. Высота измеряется в пикселях
=====================================================================
can_select="1"
При добавлении этого параметра в текстовую строку или (возможно текстуру), объект станет интерактивным (кликабельным).
=====================================================================
color="white" || color name= r="255" g="255" b="255"
<text_color>
<e color="white"/>
</text_color>
Этот параметр отвечает за присвоение тексту цвета. Можно использовать в двух вариантах. Указывать RGB цвет, или же прописать текстом. Чтобы прописывать цвет текстом, необходимо, чтобы этот цвет уже был прописан в «color_defs.хml »
По умолчанию всегда везде и во всём используется белый цвет.
=====================================================================
«ТЕКСТ» complex_mode="1"
При этом значении текст будет расположен не горизонтально, а вертикально
«
Т
Е
К
С
Т
«
Если значение равно "0" то текст будет горизонтальным:
=====================================================================
invert="1"
Инвентирует(переворачивает) ползунок. (Используется в настройках графики)
=====================================================================
is_integer="1"
Отвечает за наличие ползунка на линии. (Используется в настройках графики)
=====================================================================
list_length="6"
Этот параметр добавляется в листы, где будет иметься возможность выбора вариантов.
«6» - количество строк, отображаемых. Всё остальное будет скрыто и будет прокручиваться. Имеет смысл выставлять сразу под количество отображаемых строк.
Пример окна – выбор рендеров или разрешений экрана. Какое число выставим, столько вариантов и будет отображаться
=====================================================================
<main_map_frame x="5" y="6" width="708" height="457" dx="0" dy="0" sx="0" sy="0">
</main_map_frame>
<! Окно с скролл-барами и кнопками навигации>
Для настройки отсупов скролл баров:
dx="0" dy="0" – настройки отступа по оси Х и У для вертикального и горизонтального скролл-баров
sx="0" sy="0" – настройки отступа по оси У и Х для вертикального и горизонтального скролл-баров
=====================================================================
radio="1"
Добавляет к тексту интерактивные кнопки для выбора опций. Используется в ПДА
=====================================================================
step="1"
Применятеся для ползунков и обозначает их шаг. Чем больше число, тем больше шаг. Настраивается в зависимости от самого значения. (Используется в настройках графики)
=====================================================================
stretch="1"
Этот параметр отвечает за применение заданных размеров текстуре/видео.
Должен стоять в той же строчке, что и размеры и координаты.
На координаты не влияет.
Если будет равным "0" или отсутствовать, то размер текстуры будет равен её настоящему размеру
Пример
<auto_static x="150" y="130" width="665" height="500" stretch="1" >
<texture>ui\Main_menu\ PDA_background </texture>
</auto_static>
При таком виде, текстура «PDA_background » имеющая размеры 1024х768 ужмётся в размеры 665х500 с сохранением пропорций и будет находиться по координатам x="150" y="130", если параметр будет stretch="0", то текстура «PDA_background » будет иметь свой первоначальный размер 1024х768 и соответственно занимать намного больше места, чем ей отводилось.
=====================================================================
<texture a="10">
Инструмент для задания прозрачности текстуре. 100 – полная непрозрачность
Работает с альфа-каналом текстуры
=====================================================================
vert_interval="12"
Этот параметр отвечает за отступ между текстом. Измеряется в пикселях.
При его отсутствии, интервал между строками будет равен нулю.
Используем там, где у нас будет много текста, чтобы он не накладывался друг на друга.
=====================================================================