mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-07-31 01:41:14 -04:00
The marks were text symbols, but the ImGui font has no code points for skull, cross, moon and most of the others, so they rendered as '?' boxes beside the name. Load Blizzard's UI-RaidTargetingIcon art instead and hang it over the unit's head like the original client, with the same textures reused at small size in the target, focus, minimap and party displays.
30 lines
1013 B
C++
30 lines
1013 B
C++
#pragma once
|
|
|
|
#include <vulkan/vulkan.h>
|
|
#include <cstdint>
|
|
|
|
namespace wowee {
|
|
namespace pipeline { class AssetManager; }
|
|
namespace ui {
|
|
|
|
/// Number of raid target markers: Star, Circle, Diamond, Triangle, Moon,
|
|
/// Square, Cross, Skull — in that order, matching the server's icon indices.
|
|
inline constexpr uint8_t kRaidTargetIconCount = 8;
|
|
|
|
/**
|
|
* Blizzard raid target marker artwork for an icon index, ready to hand to
|
|
* ImGui's AddImage/Image.
|
|
*
|
|
* These are drawn as textures rather than text symbols because the ImGui font
|
|
* has no code points for most of the marks (skull, cross, moon, ...), so a
|
|
* glyph-based version renders as '?' boxes.
|
|
*
|
|
* Textures are uploaded once and cached for the process. Returns
|
|
* VK_NULL_HANDLE if the icon index is out of range, the BLP is missing, or the
|
|
* upload fails — a failed upload is not cached, so it is retried next frame.
|
|
*/
|
|
VkDescriptorSet getRaidTargetIcon(uint8_t icon, pipeline::AssetManager* assetManager);
|
|
|
|
} // namespace ui
|
|
} // namespace wowee
|