feat: desaturate quest markers for trivial (gray) quests

Trivial/low-level quests now show gray '!' / '?' markers instead of
yellow, matching the in-game distinction between available and trivial
quests. Add grayscale parameter to QuestMarkerRenderer::setMarker and
the push-constant block; application sets grayscale=1.0 for trivial
markers and 0.0 for all others.
This commit is contained in:
Kelsi 2026-03-10 22:26:56 -07:00
parent 19eb7a1fb7
commit 6928b8ddf6
4 changed files with 16 additions and 7 deletions

View file

@ -35,8 +35,10 @@ public:
* @param position World position (NPC base position)
* @param markerType 0=available(!), 1=turnin(?), 2=incomplete(?)
* @param boundingHeight NPC bounding height (optional, default 2.0f)
* @param grayscale 0 = full colour, 1 = desaturated grey (trivial/low-level quests)
*/
void setMarker(uint64_t guid, const glm::vec3& position, int markerType, float boundingHeight = 2.0f);
void setMarker(uint64_t guid, const glm::vec3& position, int markerType,
float boundingHeight = 2.0f, float grayscale = 0.0f);
/**
* Remove a quest marker
@ -61,6 +63,7 @@ private:
glm::vec3 position;
int type; // 0=available, 1=turnin, 2=incomplete
float boundingHeight = 2.0f;
float grayscale = 0.0f; // 0 = colour, 1 = desaturated (trivial quests)
};
std::unordered_map<uint64_t, Marker> markers_;