mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
feat: show quest POI markers on the world map overlay
Add QuestPoi struct and setQuestPois() to WorldMap, render quest objective markers as cyan circles with golden outlines and quest title labels. Wire gossipPois_ (from SMSG_QUEST_POI_QUERY_RESPONSE) through GameScreen to the world map so quest objectives are visible alongside party dots and taxi nodes.
This commit is contained in:
parent
3790adfa06
commit
5eaf738b66
3 changed files with 58 additions and 0 deletions
|
|
@ -67,6 +67,13 @@ public:
|
|||
void setServerExplorationMask(const std::vector<uint32_t>& masks, bool hasData);
|
||||
void setPartyDots(std::vector<WorldMapPartyDot> dots) { partyDots_ = std::move(dots); }
|
||||
void setTaxiNodes(std::vector<WorldMapTaxiNode> nodes) { taxiNodes_ = std::move(nodes); }
|
||||
|
||||
/// Quest POI marker for world map overlay (from SMSG_QUEST_POI_QUERY_RESPONSE).
|
||||
struct QuestPoi {
|
||||
float wowX = 0, wowY = 0; ///< Canonical WoW coordinates (centroid of POI area)
|
||||
std::string name; ///< Quest title
|
||||
};
|
||||
void setQuestPois(std::vector<QuestPoi> pois) { questPois_ = std::move(pois); }
|
||||
/// Set the player's corpse position for overlay rendering.
|
||||
/// @param hasCorpse True when the player is a ghost with an unclaimed corpse on this map.
|
||||
/// @param renderPos Corpse position in render-space coordinates.
|
||||
|
|
@ -148,6 +155,9 @@ private:
|
|||
std::vector<WorldMapTaxiNode> taxiNodes_;
|
||||
int currentMapId_ = -1; ///< WoW map ID currently loaded (set in loadZonesFromDBC)
|
||||
|
||||
// Quest POI markers (set each frame from the UI layer)
|
||||
std::vector<QuestPoi> questPois_;
|
||||
|
||||
// Corpse marker (ghost state — set each frame from the UI layer)
|
||||
bool hasCorpse_ = false;
|
||||
glm::vec3 corpseRenderPos_ = {};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue