Шкурки. Теория - Справка Light Alloy

Как известно, внешний вид Light Alloy определяется шкурками. Шкурки позволяют определить внешний вид таких элементов:

Формат шкурки

Шкурка представляет собой файл с расширением LAS, расположенный в программной папке Light Alloy \ Skins. Фактически, это ZIP-архив с изменённым расширением. Это позволяет избегать вопросов пользователя о том, что делать с выкачанным архивом и куда класть распакованные файлы.

Стоит заметить, что в процессе разработки использовать ZIP-архив, да ещё и переименованный, неудобно. Поэтому Light Alloy способен работать и с другими форматами шкурок:

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

Распакованная шкурка - это просто папка с содержимым. Шкурка в таком виде отлично подходит для активной разработки, поскольку есть быстрый и прямой доступ ко всем файлам шкурки. Кроме того, помимо файлов в папке можно хранить также исходники и образцы. В меню настроек распакованные шкурки легко узнать: их название берётся в [квадратные скобки].

Состав файла шкурки

Внутри шкурки находятся такие файлы:

Пройдёмся по этим файлам подробнее.

Preview.png

Этот файл предпросмотра. Он служит за отображение изображения в настройках:

Параметры этого файла:

Что изображают в файле предпросмотра? В общем и целом, это остаётся на усмотрение автора, но основные направления этого изображения, обычно, таковы:

  1. Этот рисунок - визитка. Тут должно быть изображение, которое демонстрирует основную идею шкурки.
  2. Как правило, цветовая гамма предпросмотра перекликается с гаммой окна проигрывателя в этой шкурке.
  3. В большинстве случаев в предпросмотре изображается стилизованное название шкурки.
  4. Довольно часто изображается стилизованный логотип проигрывателя.

Обратите внимание: нет смысла изображать предпросмотр шкурки, поскольку двойной щелчок её примеривает на сам проигрыватель. А на нём, как очевидно, "предпросмотреть" шкурку намного удобнее и нагляднее.

SkinInfo.txt

Этот файл работает в паре с предыдущим. Он, в дополнение к Preview.png представляет шкурку в настройках. Но уже текстовую часть.

Параметры этого файла:

Внутри skinInfo.txt выглядит примерно так:

SkinTitle=Dub SkinAuthor=Dvigok, Gilorn SkinVer=4.7.3 SkinWWW=http://www.light-alloy.ru/forum/skins/dub/ SkinCmt=Official skin

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

Параметр Значение
SkinTitle Пишется название шкурки. Рекомендуется не использовать в названии [квадратные скобки], поскольку такими скобками обозначается распакованная шкурка.
SkinAuthor Указывается автор шкурки. Или несколько авторов. Здесь не указываются реставраторы шкурки (не касается расширенных портов и альтернативных версий шкурки; в таких случаях действуйте на своё усмотрение).
SkinVer Указывается версия шкурки. Сейчас используются два метода назначения версий шкурки:
  1. независимый:
    • стандартный подход, как у программ:
    • первая финальная версия - v1.0.0
    • исправление ошибок - v1.0.1
    • мелкое/среднее добавление или изменение - v1.1.0
    • крупное/глобальное изменение - v2.0.0
  2. зависимый:
    • идёт привязка к версиям Light Alloy:
    • первая финальная версия имеет версию, аналогичную той версии Light Alloy, на которой шкурка гарантированно будет работать, например - v4.7.0.1
    • если происходит изменение шкурки без использования дополнительных возможностей - v4.7.0.2
    • если происходит изменение шкурки с использованием дополнительных возможностей - например уточнением бордюра в соответствии с нововведением в Light Alloy 4.7.3 - v4.7.3.1
Только автор шкурки определяет, какой метод больше отвечает его интересам.
SkinWWW Адрес шкурки или адрес автора. в большинстве своём здесь указывают адрес шкурки на форуме Light Alloy. Чтобы не ошибиться, можно сперва создать тему на форуме, а уже после этого - вписать в шкурку адрес, упаковать её и опубликовать в той самой теме. Такой метод занимает не более пары минут, так что большинство форумчан не успевает заметить оформление темы в два подхода.
SkinCmt Любая дополнительная информация по шкуре. Помните: в окне настроек под неё отводится только одна строка. Учитывайте это. Кстати здесь можно указать имя (или псевдоним) реставратора шкурки.

Interface.xml

Это файл разметки. Он как бы объясняет, откуда именно брать графические элементы и куда именно их писать.

Параметры этого файла:

Interface.xml состоит из трёх частей:

<IMAGE id="Hint" file="main.bmp"> <AREA id="Lclick" pos="0,235" size="22,22"/> <AREA id="Rclick" pos="23,235" size="22,22"/> </IMAGE>

<FONT id="Digits" img="FT.Digits" chars="0123456789: &lt;&gt;_"/>

<CONTROL type="Panel" bg="Ft.PosBG" pos="145,38" size="130,18"> <CONTROL type="Text" pos="3,1" size="69,14" font="Digits" text=" {POS}_&gt;_"/> <CONTROL type="Text" pos="72,1" size="51,14" font="Digits_dur" text="{DUR}"/> </CONTROL>

Блоков каждого из трёх типов может быть несколько. Некоторые из блоков имеют фиксированные названия, некоторые - нет.

Подробности работы с "Interface.xml" будут описаны чуть позже.

Skin.bmp

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

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

Ограничения шкурок для Light Alloy

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

Есть ещё несколько оговорок, касающиеся отдельных элементов. О них будет сказано в своё время.