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:
Kelsi 2026-03-20 15:00:29 -07:00
parent 3790adfa06
commit 5eaf738b66
3 changed files with 58 additions and 0 deletions

View file

@ -8539,6 +8539,19 @@ void GameScreen::renderWorldMap(game::GameHandler& gameHandler) {
wm->setTaxiNodes(std::move(taxiNodes));
}
// Quest POI markers on world map (from SMSG_QUEST_POI_QUERY_RESPONSE / gossip POIs)
{
std::vector<rendering::WorldMap::QuestPoi> qpois;
for (const auto& poi : gameHandler.getGossipPois()) {
rendering::WorldMap::QuestPoi qp;
qp.wowX = poi.x;
qp.wowY = poi.y;
qp.name = poi.name;
qpois.push_back(std::move(qp));
}
wm->setQuestPois(std::move(qpois));
}
// Corpse marker: show skull X on world map when ghost with unclaimed corpse
{
float corpseCanX = 0.0f, corpseCanY = 0.0f;