Files

6.9 KiB
Raw Permalink Blame History

PlayerGuide — текстуры

Все файлы — PNG с альфа-каналом, размеры — степень двойки (требование BLP-конвертера). Палитра канон-WotLK: золото (#ffd76a) на тёмно-коричневом (#1a1208).

Что есть

Файл Размер Куда
StageBadge-Active.png 64×64 Бейдж текущего этапа в цепочке.
StageBadge-Done.png 64×64 Бейдж завершённого этапа.
StageBadge-Locked.png 64×64 Бейдж недоступного этапа.
ProgressBar-Fill.png 128×16 Заливка прогресс-бара (BarTexture).
ProgressBar-BG.png 128×16 Подложка прогресс-бара.
Card-Background.png 256×256 Тайл-фон карточек (bgFile, tileable).
Card-Border.png 256×32 Рамка карточки (edgeFile, 8 сегментов 32×32: up/down/left/right/TL/TR/BL/BR).
Section-Divider.png 256×16 Декоративный разделитель секций.
Corner-Ornament.png 64×64 Угол декоративной рамки фрейма.
Top-Wave-Glow.png 512×64 «Волна» свечения сверху (как в оригинальном EJ).
Biome-Fire.png 256×128 Обложка рекомендации — огненные локации.
Biome-Arcane.png 256×128 Тайная магия.
Biome-Storm.png 256×128 Буря/вода.
Biome-Shadow.png 256×128 Тьма.
Biome-Nature.png 256×128 Природа.
Biome-Holy.png 256×128 Свет/нежить.
TypeIcon-Level.png 64×64 Иконка цели «уровень».
TypeIcon-Quest.png 64×64 «задание».
TypeIcon-QuestChain.png 64×64 «цепочка».
TypeIcon-Dungeon.png 64×64 «подземелье».
TypeIcon-Raid.png 64×64 «рейд».
TypeIcon-Boss.png 64×64 «босс».
TypeIcon-Achievement.png 64×64 «достижение».
TypeIcon-Reputation.png 64×64 «репутация».
TypeIcon-Profession.png 64×64 «профессия».
TypeIcon-Item.png 64×64 «предмет».
TypeIcon-Currency.png 64×64 «валюта».
TypeIcon-Custom.png 64×64 прочее.
TypeIcon-Done.png 64×64 Цель завершена (зелёная галочка).
TypeIcon-Locked.png 64×64 Цель заблокирована (замок).
Button-Up.png 128×32 Кнопка «Обновить», нормальное.
Button-Down.png 128×32 Кнопка нажата.
Button-Highlight.png 128×32 Hover.

Куда положить в проекте

MoonWellClient/EncounterJournal/Textures/PlayerGuide/
├── StageBadge-Active.blp
├── StageBadge-Done.blp
├── ...
└── Button-Highlight.blp

И в XML использовать пути:

file="Interface\AddOns\MoonWellClient\EncounterJournal\Textures\PlayerGuide\StageBadge-Active"

(WoW сам подставит .blp.)

Конвертация PNG → BLP

Любой из:

  • BLPNG Converter (Windows, GUI) — самый простой, drag-and-drop;
  • BLPLab — с предпросмотром;
  • CLI: blpconverter input.png output.blp (есть пайплайны на GitHub).

Параметры:

  • Compression: DXT5 для всего с альфой (всё, кроме Card-Background — для него DXT1 или Uncompressed, если хочется лучше);
  • Mipmaps: включить (Generate Mipmaps), кроме ProgressBar-Fill/BG (тонкие полоски ломаются на мипмапах — там лучше off);
  • Sampling: Bicubic или Lanczos.

Замена биом-обложек

Сейчас биом-обложки — стилизованные плашки с аркой и светящимся центром. Их можно полностью заменить вашими собственными — главное, оставить размер 256×128 и имена файлов. Если поменяете список биомов, поправьте таблицу BIOME_COLOR в PlayerGuide.lua.

Замена иконок типов целей

Если у вас есть атлас иконок WoW (например, из Interface/Icons/) — карта TYPE_ICON в PlayerGuide.lua уже использует встроенные текстуры клиента. Текстуры TypeIcon-* нужны, только если хочется единого визуального словаря (рамка + глиф).

Применение в XML (примеры)

<!-- Бейдж в цепочке этапов: меняем встроенный UI-Quickslot2 на наш -->
<Texture parentKey="BadgeBG"
         file="Interface\AddOns\MoonWellClient\EncounterJournal\Textures\PlayerGuide\StageBadge-Active">
  <Size><AbsDimension x="44" y="44"/></Size>
  <Anchors><Anchor point="CENTER"/></Anchors>
</Texture>

<!-- Прогресс-бар: BarTexture указывает на Fill, BG ставится в Layer BACKGROUND -->
<StatusBar parentKey="ProgressBar">
  <BarTexture file="Interface\AddOns\MoonWellClient\EncounterJournal\Textures\PlayerGuide\ProgressBar-Fill"/>
  <Layers>
    <Layer level="BACKGROUND">
      <Texture setAllPoints="true"
        file="Interface\AddOns\MoonWellClient\EncounterJournal\Textures\PlayerGuide\ProgressBar-BG"/>
    </Layer>
  </Layers>
</StatusBar>

<!-- Карточка цели: bgFile = Card-Background, edgeFile = Card-Border -->
<Backdrop bgFile="Interface\AddOns\MoonWellClient\EncounterJournal\Textures\PlayerGuide\Card-Background"
          edgeFile="Interface\AddOns\MoonWellClient\EncounterJournal\Textures\PlayerGuide\Card-Border"
          tile="true">
  <BackgroundInsets><AbsInset left="4" right="4" top="4" bottom="4"/></BackgroundInsets>
  <TileSize><AbsValue val="64"/></TileSize>
  <EdgeSize><AbsValue val="16"/></EdgeSize>
</Backdrop>

Сноска

Это плейсхолдеры на уровне «лучше, чем встроенные UI-Quickslot2». Если в проекте есть художник — финальные текстуры стоит делать в этом же визуальном словаре, чтобы Lua/XML менять не пришлось (только перерисовать PNG того же размера и сконвертировать).