И так камрады, новая информация об изменении интерфейса:
Структура файлов sprite боевого и стратегического интерфейса изменилась, в сторону значительного упрощения...
Далее распишу краткую инструкцию как конвертировать имеющийся интерфейс в новый формат:
Создаем новый файл xml (можно просто скопировать старый и удалить все содержимое)
И прописываем в нем следующий код:
Цитата
<sprite_definitions version="7">
</sprite_definitions>
Это главный контейнер который закрывается в конце файла, вся последующая информация помещается в нем
Далее открываем параллельно старый файл и находим запись
Цитата
<texture_pages count="4">
<page file="sharedpage_01.tga" width="512" height="512" force32bit="0"/>
<page file="sharedpage_00.tga" width="512" height="512" force32bit="0"/>
<page file="editor_shared01.tga" width="256" height="256" force32bit="0"/>
<page file="small_faction_logo.tga" width="256" height="256" force32bit="0"/>
</texture_pages>
Из него нам понадобятся только записи начинающиеся на <page file=
Копируем их и помещаем в середину контейнера, чтоб получилось:
Цитата
<sprite_definitions version="7">
<page file="sharedpage_01.tga" width="512" height="512" force32bit="0"/>
<page file="sharedpage_00.tga" width="512" height="512" force32bit="0"/>
<page file="editor_shared01.tga" width="256" height="256" force32bit="0"/>
<page file="small_faction_logo.tga" width="256" height="256" force32bit="0"/>
</sprite_definitions>
меняем значения атрибутов тега page на следующие:
width нужно заменить на w
height заменяем на h
force32bit="0 - удаляем
После чего нужно для для каждого <page file=.../> прописать закрывающий тег </page> в результате должно получится:
Цитата
<sprite_definitions version="7">
<page file="sharedpage_01.tga" w="512" h="512">
</page>
<page file="sharedpage_00.tga" w="512" h="512">
</page>
<page file="editor_shared01.tga" w="256" h="256">
</page>
<page file="small_faction_logo.tga" w="256" h="256"/>
</page>
</sprite_definitions>
После этого в каждый новообразованный контейнер page нужно поместить свой sprite:
Для этого находим в старом файле блок <sprites count=""> в середине него будут спрайты иконок к примеру:
<sprite index="0" name="NUMERAL_1" page="0" left="126" right="139" top="262" bottom="272" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
В данный момент нас интересует значение прописанное в атрибуте page=""
Примечание! значение в атрибуте page соответствует номеру рядка в старом формате записи:
Цитата
<texture_pages count="4">
<page file="sharedpage_01.tga" width="512" height="512" force32bit="0"/> Соответствует page="0"
<page file="sharedpage_00.tga" width="512" height="512" force32bit="0"/> Соответствует page="1"
<page file="editor_shared01.tga" width="256" height="256" force32bit="0"/> Соответствует page="2"
<page file="small_faction_logo.tga" width="256" height="256" force32bit="0"/> Соответствует page="3"
</texture_pages>
копируем все строки со значением page="0" в первый блок
Цитата
<page file="sharedpage_01.tga" w="512" h="512">
<sprite index="0" name="NUMERAL_1" page="0" left="126" right="139" top="262" bottom="272" x_offset="0" y_offset="0" alpha="1" cursor="0"/>
...
</page>
По аналогии проделываем тоже самое для page="1" и тд... помещаем их значения в соответствующий контейнер
После того как распределили строки по блокам page проделываем следующую манипуляцию:
удаляем все атрибуты index это можно сделать в нотепад++ с помощью регулярного выражения
( index="\w+") заменить на пустое поле
По аналогии проделіваем тоже самое с (page="\w+" )
Далее удаляем атрибуты если их значения равны нулю:
x_offset="0"
y_offset="0"
cursor="0"
После этого меняем атрибуты координат:
left= нужно заменить на x=
right= нужно заменить на y=
top= на w=
bottom= на h=
alpha остается без изменений
Для строк где значения больше нуля
x_offset= заменяем на hotspot_x=
y_offset= заменить на hotspot_y=
cursor="1" - остается без изменений
В результате должны получить структуру:
Цитата
<sprite_definitions version="7">
<page file="sharedpage_01.tga" w="512" h="512">
<sprite name="NUMERAL_10" x="237" y="262" w="14" h="11" alpha="1"/>
<sprite name="CURSOR_PH" x="255" y="41" w="24" h="29" alpha="1" cursor="1" hotspot_x="1" hotspot_y="2"/>
...
</page>
<page file="sharedpage_00.tga" w="512" h="512">
<sprite name="TEXT_BUTTON_BG_L_END" x="222" y="305" w="16" h="45" alpha="1"/>
...
</page>
</sprite_definitions>
суть в том что при необходимости можно легко добавить новый файл с изображением иконок и создать под него отельный контейнер <page file=.../></page>
<page file="new.tga" w="512" h="512"> где new.tga - название нового файла
и поместить его между тегами
<sprite_definitions version="7">
</sprite_definitions>
Без пересчета индексов и прочей муторной ерунды...